From 9250f1907c77d50fa55f87f01a5924786cb64752 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Tue, 24 Apr 2018 18:10:22 +0200 Subject: [PATCH] Quick semi-temporary fix for removed column.isOfType --- Resources/Plugins/clear-columns/.meta | 2 +- Resources/Plugins/clear-columns/browser.js | 7 +-- Resources/Plugins/reply-account/browser.js | 2 +- Resources/Scripts/code.js | 51 ++++++++++++---------- 4 files changed, 32 insertions(+), 30 deletions(-) diff --git a/Resources/Plugins/clear-columns/.meta b/Resources/Plugins/clear-columns/.meta index a65591cd..ff645374 100644 --- a/Resources/Plugins/clear-columns/.meta +++ b/Resources/Plugins/clear-columns/.meta @@ -9,7 +9,7 @@ Clear columns chylex [version] -1.2 +1.2.1 [website] https://tweetduck.chylex.com diff --git a/Resources/Plugins/clear-columns/browser.js b/Resources/Plugins/clear-columns/browser.js index 2843a5ff..c3eb6571 100644 --- a/Resources/Plugins/clear-columns/browser.js +++ b/Resources/Plugins/clear-columns/browser.js @@ -7,17 +7,12 @@ constructor(){ enabled(){ // prepare variables and functions var clearColumn = (columnName) => { - let col = TD.controller.columnManager.get(columnName); - return if !col.isClearable(); - - col.clear(); + TD.controller.columnManager.get(columnName).clear(); TD.controller.stats.columnActionClick("clear"); }; var resetColumn = (columnName) => { let col = TD.controller.columnManager.get(columnName); - return if !col.isClearable(); - col.model.setClearedTimestamp(0); col.reloadTweets(); }; diff --git a/Resources/Plugins/reply-account/browser.js b/Resources/Plugins/reply-account/browser.js index 8fdff4f5..0f27fa0d 100644 --- a/Resources/Plugins/reply-account/browser.js +++ b/Resources/Plugins/reply-account/browser.js @@ -40,7 +40,7 @@ enabled(){ columnAccount = ""; } - try{ + try{ // TODO isOfType is removed query = configuration.customSelector(columnTitle, columnAccount, column, section.hasClass("column-temp")); }catch(e){ $TD.alert("warning", "Plugin reply-account has invalid configuration: customSelector threw an error: "+e.message); diff --git a/Resources/Scripts/code.js b/Resources/Scripts/code.js index ad962576..f4c5ac98 100644 --- a/Resources/Scripts/code.js +++ b/Resources/Scripts/code.js @@ -25,26 +25,23 @@ const app = $(document.body).children(".js-app"); // - // Constant: Column types mapped to their titles. + // Constant: Column icon classes mapped to their titles. // - const columnTypes = { - "col_home": "Home", - "col_timeline" : "Home", - "col_mentions": "Mentions", - "col_me": "Mentions", - "col_inbox": "Messages", - "col_messages": "Messages", - "col_interactions": "Notifications", - "col_followers": "Followers", - "col_activity": "Activity", - "col_favorites": "Likes", - "col_usertweets": "User", - "col_search": "Search", - "col_list": "List", - "col_customtimeline": "Timeline", - "col_dataminr": "Dataminr", - "col_livevideo": "Live video", - "col_scheduled": "Scheduled" + const columnTitles = { + "icon-home": "Home", + "icon-mention": "Mentions", + "icon-message": "Messages", + "icon-notifications": "Notifications", + "icon-follow": "Followers", + "icon-activity": "Activity", + "icon-favorite": "Likes", + "icon-user": "User", + "icon-search": "Search", + "icon-list": "List", + "icon-custom-timeline": "Timeline", + "icon-dataminr": "Dataminr", + "icon-play-video": "Live video", + "icon-schedule": "Scheduled" }; // @@ -99,10 +96,20 @@ }; // - // Function: Retrieves column name + // Function: Attempts to retrieve the column icon class. Returns undefined on failure. + // + const getColumnIconClass = function(column){ + if (ensurePropertyExists(column, "ui", "_$chirpContainer")){ + return column.ui._$chirpContainer.closest(".js-column").attr("data-td-icon"); + } + }; + + // + // Function: Retrieves column name and caches it. + // const getColumnName = function(column){ - let cached = column._tduck_type || (column._tduck_type = Object.keys(columnTypes).find(type => column.isOfType(type))); - return columnTypes[cached] || ""; + let cached = column._tduck_icon || (column._tduck_icon = getColumnIconClass(column)); + return columnTitles[cached] || ""; }; //