From 17e2bd38ad69870fabfe3e5e5a2dc05305265539 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 12:38:34 -0700 Subject: [PATCH 01/17] fixed tab highlighting issue for user->preferences --- client/galaxy/scripts/mvc/user/user-preferences.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/galaxy/scripts/mvc/user/user-preferences.js b/client/galaxy/scripts/mvc/user/user-preferences.js index ea92b5dfb50..3923d9f0b3c 100644 --- a/client/galaxy/scripts/mvc/user/user-preferences.js +++ b/client/galaxy/scripts/mvc/user/user-preferences.js @@ -101,6 +101,7 @@ var Model = Backbone.Model.extend({ /** View of the main user preference panel with links to individual user forms */ var View = Backbone.View.extend({ title: _l("User Preferences"), + active_tab: "user", initialize: function() { this.model = new Model(); this.setElement("
"); From 6bcbc54e6fbc25d832c776d3004cffb41b05c67f Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 13:13:25 -0700 Subject: [PATCH 02/17] fixed tab highlighting issue for user->preferences->forms --- client/galaxy/scripts/apps/analysis.js | 5 ++++- client/galaxy/scripts/mvc/form/form-wrapper.js | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 1648bf47b4b..10541165243 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -94,7 +94,10 @@ window.app = function app(options, bootstrapped) { var model = new UserPreferences.Model({ user_id: Galaxy.params.id }); - this.page.display(new FormWrapper.View(model.get(form_id))); + this.page.display(new FormWrapper.View(_.extend( + model.get(form_id), + {active_tab: "user"} + ))); }, show_visualizations: function(action_id) { diff --git a/client/galaxy/scripts/mvc/form/form-wrapper.js b/client/galaxy/scripts/mvc/form/form-wrapper.js index 07ea81de971..f74c41ae727 100644 --- a/client/galaxy/scripts/mvc/form/form-wrapper.js +++ b/client/galaxy/scripts/mvc/form/form-wrapper.js @@ -6,6 +6,7 @@ var View = Backbone.View.extend({ this.model = new Backbone.Model(options); this.url = this.model.get("url"); this.redirect = this.model.get("redirect"); + this.active_tab = options.active_tab; this.setElement("
"); this.render(); }, From e72b9aa6d0b66a2aa0c8eba904ac8bc7aa67f46a Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 13:27:01 -0700 Subject: [PATCH 03/17] fixed tab highlighting issue for user->custom builds --- client/galaxy/scripts/mvc/user/user-custom-builds.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/galaxy/scripts/mvc/user/user-custom-builds.js b/client/galaxy/scripts/mvc/user/user-custom-builds.js index b7a5d731981..d3eb594be52 100644 --- a/client/galaxy/scripts/mvc/user/user-custom-builds.js +++ b/client/galaxy/scripts/mvc/user/user-custom-builds.js @@ -15,6 +15,7 @@ var Collection = Backbone.Collection.extend({ var View = Backbone.View.extend({ initialize: function(options) { var self = this; + this.active_tab = "user"; var history_id = Galaxy.currHistoryPanel && Galaxy.currHistoryPanel.model.id; this.model = new Backbone.Model(); this.model.url = `${Galaxy.root}api/histories/${history_id}/custom_builds_metadata`; From 94404aa4ebe30c90c08cb555e66c993c91a1503c Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 13:45:33 -0700 Subject: [PATCH 04/17] linked /visualizations/(:action_id) to tab visualization --- client/galaxy/scripts/apps/analysis.js | 3 ++- client/galaxy/scripts/mvc/grid/grid-shared.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 10541165243..f7075f40c5c 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -105,7 +105,8 @@ window.app = function app(options, bootstrapped) { new GridShared.View({ action_id: action_id, plural: "Visualizations", - item: "visualization" + item: "visualization", + active_tab: "visualization" }) ); }, diff --git a/client/galaxy/scripts/mvc/grid/grid-shared.js b/client/galaxy/scripts/mvc/grid/grid-shared.js index c9dbb27a0cc..743c2af3fbb 100644 --- a/client/galaxy/scripts/mvc/grid/grid-shared.js +++ b/client/galaxy/scripts/mvc/grid/grid-shared.js @@ -9,6 +9,7 @@ var View = Backbone.View.extend({ this.model = new Backbone.Model(options); this.item = this.model.get("item"); this.title = this.model.get("plural"); + this.active_tab = options.active_tab; $.ajax({ url: `${Galaxy.root + this.item}/${this.model.get("action_id")}?${$.param(Galaxy.params)}`, success: function(response) { From f7f3698757d8b597d2da1bb917414ca4ee1b103f Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 14:30:22 -0700 Subject: [PATCH 05/17] linked /pages/create, /pages/edit/, /pages/(:action_id) to tab user --- client/galaxy/scripts/apps/analysis.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index f7075f40c5c..b0e7882a7a7 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -196,7 +196,8 @@ window.app = function app(options, bootstrapped) { new GridShared.View({ action_id: action_id, plural: "Pages", - item: "page" + item: "page", + active_tab: "user" }) ); }, @@ -205,7 +206,8 @@ window.app = function app(options, bootstrapped) { this.page.display( new FormWrapper.View({ url: "page/create", - redirect: "pages/list" + redirect: "pages/list", + active_tab: "user" }) ); }, @@ -214,7 +216,8 @@ window.app = function app(options, bootstrapped) { this.page.display( new FormWrapper.View({ url: `page/edit?id=${QueryStringParsing.get("id")}`, - redirect: "pages/list" + redirect: "pages/list", + active_tab: "user" }) ); }, From 00bf7f666ec863df2434eb056a4c436b33d125e6 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 14:34:43 -0700 Subject: [PATCH 06/17] linked /datasets/edit to tab user --- client/galaxy/scripts/mvc/dataset/dataset-edit-attributes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/galaxy/scripts/mvc/dataset/dataset-edit-attributes.js b/client/galaxy/scripts/mvc/dataset/dataset-edit-attributes.js index 4448b5809f4..adbb78fe1be 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-edit-attributes.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-edit-attributes.js @@ -12,6 +12,7 @@ var View = Backbone.View.extend({ }); this.message = new Ui.Message({ persistent: true }); this.tabs = this._createTabs(); + this.active_tab = "user"; this.$el .append($("

").append("Edit dataset attributes")) .append(this.message.$el) From 6202475532bc1e91f98e250fff9c32dab0f78493 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 14:37:16 -0700 Subject: [PATCH 07/17] linked /datasets/error to tab user --- client/galaxy/scripts/mvc/dataset/dataset-error.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/galaxy/scripts/mvc/dataset/dataset-error.js b/client/galaxy/scripts/mvc/dataset/dataset-error.js index b52019cd3e3..74f735eab7e 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-error.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-error.js @@ -9,6 +9,7 @@ var View = Backbone.View.extend({ this.model = new Backbone.Model({ dataset_id: Galaxy.params.dataset_id }); + this.active_tab = "user"; this.render(); }, From 8bac244d26ce403ddfa45cf8aa618a1cc9f9cb9c Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 14:48:40 -0700 Subject: [PATCH 08/17] linked /visualizations/edit to tab visualization --- client/galaxy/scripts/apps/analysis.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index b0e7882a7a7..a3d9ac1c0b1 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -115,7 +115,8 @@ window.app = function app(options, bootstrapped) { this.page.display( new FormWrapper.View({ url: `visualization/edit?id=${QueryStringParsing.get("id")}`, - redirect: "visualizations/list" + redirect: "visualizations/list", + active_tab: "visualization" }) ); }, From b8b0af37436e9a62111bf1085f671133df570176 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 14:52:14 -0700 Subject: [PATCH 09/17] linked /visualizations/dataset_id=(:dataset_id) to tab visualization --- client/galaxy/scripts/mvc/visualization/visualization-view.js | 1 + 1 file changed, 1 insertion(+) diff --git a/client/galaxy/scripts/mvc/visualization/visualization-view.js b/client/galaxy/scripts/mvc/visualization/visualization-view.js index 1e935a81f68..d7d495922c1 100644 --- a/client/galaxy/scripts/mvc/visualization/visualization-view.js +++ b/client/galaxy/scripts/mvc/visualization/visualization-view.js @@ -7,6 +7,7 @@ var View = Backbone.View.extend({ var self = this; this.setElement($("
")); this.model = new Backbone.Model(); + this.active_tab = "visualization"; $.ajax({ url: `${Galaxy.root}api/datasets/${options.dataset_id}` }).done(dataset => { From e21c3709f1479c10cf953c4f977dc6130f259e78 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 15:17:24 -0700 Subject: [PATCH 10/17] linked /workflows/create/, /workflows/import_workflow to tab workflow --- client/galaxy/scripts/apps/analysis.js | 3 ++- client/galaxy/scripts/mvc/workflow/workflow.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index a3d9ac1c0b1..25f04af9c42 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -231,7 +231,8 @@ window.app = function app(options, bootstrapped) { this.page.display( new FormWrapper.View({ url: `workflow/create`, - redirect: "workflow/editor" + redirect: "workflow/editor", + active_tab: "workflow" }) ); }, diff --git a/client/galaxy/scripts/mvc/workflow/workflow.js b/client/galaxy/scripts/mvc/workflow/workflow.js index c81fb9c36b0..7e1d699a2b9 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow.js +++ b/client/galaxy/scripts/mvc/workflow/workflow.js @@ -346,6 +346,7 @@ const WorkflowListView = Backbone.View.extend({ const ImportWorkflowView = Backbone.View.extend({ initialize: function() { this.setElement("
"); + this.active_tab = "workflow"; this.render(); }, From 79db9f51943663b69d4aa3eba58858b5e08893a2 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 20:51:49 -0700 Subject: [PATCH 11/17] linked /workflows/run/ to tab workflow --- client/galaxy/scripts/apps/analysis.js | 8 ++++++-- client/galaxy/scripts/mvc/tool/tool-form-composite.js | 1 + client/galaxy/scripts/mvc/ui/ui-misc.js | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 25f04af9c42..0e03db3cf7c 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -308,14 +308,18 @@ window.app = function app(options, bootstrapped) { Utils.get({ url: `${Galaxy.root}api/workflows/${Utils.getQueryString("id")}/download?style=run`, success: response => { - this.page.display(new ToolFormComposite.View(response)); + this.page.display(new ToolFormComposite.View(_.extend( + response, + {active_tab: "workflow"} + ))); }, error: response => { var error_msg = response.err_msg || "Error occurred while loading the resource."; var options = { message: error_msg, status: "danger", - persistent: true + persistent: true, + active_tab: "workflow" }; this.page.display(new Ui.Message(options)); } diff --git a/client/galaxy/scripts/mvc/tool/tool-form-composite.js b/client/galaxy/scripts/mvc/tool/tool-form-composite.js index 00a5e78f845..bd7dd35eef7 100644 --- a/client/galaxy/scripts/mvc/tool/tool-form-composite.js +++ b/client/galaxy/scripts/mvc/tool/tool-form-composite.js @@ -15,6 +15,7 @@ var View = Backbone.View.extend({ this.modal = parent.Galaxy.modal || new Modal.View(); this.model = (options && options.model) || new Backbone.Model(options); this.deferred = new Deferred(); + this.active_tab = options.active_tab || null; this.setElement( $("
") .addClass("ui-form-composite") diff --git a/client/galaxy/scripts/mvc/ui/ui-misc.js b/client/galaxy/scripts/mvc/ui/ui-misc.js index 7ad33d347c3..2b6dd885150 100644 --- a/client/galaxy/scripts/mvc/ui/ui-misc.js +++ b/client/galaxy/scripts/mvc/ui/ui-misc.js @@ -47,6 +47,7 @@ export var Message = Backbone.View.extend({ fade: true }).set(options); this.listenTo(this.model, "change", this.render, this); + this.active_tab = options.active_tab || null; this.render(); }, update: function(options) { From 7067c6c2f9633c08c64020247d7e185ff4b900c8 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 22:57:49 -0700 Subject: [PATCH 12/17] split /visualizations/(:action_id), make /list_published/ link to tab shared --- client/galaxy/scripts/apps/analysis.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 0e03db3cf7c..906e53bdc36 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -101,12 +101,18 @@ window.app = function app(options, bootstrapped) { }, show_visualizations: function(action_id) { + if (action_id == 'list_published'){ + var activeTab = "shared"; + } + else { + var activeTab = "visualization"; + } this.page.display( new GridShared.View({ action_id: action_id, plural: "Visualizations", item: "visualization", - active_tab: "visualization" + active_tab: activeTab }) ); }, From bbd51345eb2c3ab7d2daa4b19944b5d112a1aefa Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 23:18:03 -0700 Subject: [PATCH 13/17] changed to concise code for /visualizations/(:action_id) --- client/galaxy/scripts/apps/analysis.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 906e53bdc36..d5bd94085fd 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -101,12 +101,7 @@ window.app = function app(options, bootstrapped) { }, show_visualizations: function(action_id) { - if (action_id == 'list_published'){ - var activeTab = "shared"; - } - else { - var activeTab = "visualization"; - } + var activeTab = action_id=="list_published"?"shared":"visualization"; this.page.display( new GridShared.View({ action_id: action_id, From e9c60896a6e5e547695cc07d0dc34e0744127ba4 Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 23:33:10 -0700 Subject: [PATCH 14/17] split /histories/(:action_id), link 'list_published' to tab 'shared' and 'list' to 'user' --- client/galaxy/scripts/mvc/history/history-list.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/galaxy/scripts/mvc/history/history-list.js b/client/galaxy/scripts/mvc/history/history-list.js index d50cf00033c..4a470694915 100644 --- a/client/galaxy/scripts/mvc/history/history-list.js +++ b/client/galaxy/scripts/mvc/history/history-list.js @@ -107,6 +107,12 @@ var View = Backbone.View.extend({ var self = this; LoadingIndicator.markViewAsLoading(this); + if(options.action_id == "list_published"){ + this.active_tab = "shared"; + } + else if (options.action_id = "list"){ + this.active_tab = "user"; + } this.model = new Backbone.Model(); Utils.get({ url: `${Galaxy.root}history/${options.action_id}?${$.param(Galaxy.params)}`, From b7da6c5d25fef83b3f7af6f9bfe48ae85f44c70d Mon Sep 17 00:00:00 2001 From: qiagu Date: Sun, 11 Mar 2018 23:51:44 -0700 Subject: [PATCH 15/17] split /pages/(:action_id): link 'list_published' to tab 'shared' and others to 'user' --- client/galaxy/scripts/apps/analysis.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index d5bd94085fd..4a40a8119b9 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -194,12 +194,13 @@ window.app = function app(options, bootstrapped) { }, show_pages: function(action_id) { + var activeTab = action_id=="list_published"?"shared":"user"; this.page.display( new GridShared.View({ action_id: action_id, plural: "Pages", item: "page", - active_tab: "user" + active_tab: activeTab }) ); }, From abc1aa91e7dac993a0611f7e0fda06851b0b4301 Mon Sep 17 00:00:00 2001 From: qiagu Date: Mon, 12 Mar 2018 09:54:10 -0700 Subject: [PATCH 16/17] fixed the active_tab undefined issue --- client/galaxy/scripts/mvc/form/form-wrapper.js | 4 +++- client/galaxy/scripts/mvc/grid/grid-shared.js | 4 +++- client/galaxy/scripts/mvc/tool/tool-form-composite.js | 4 +++- client/galaxy/scripts/mvc/ui/ui-misc.js | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/client/galaxy/scripts/mvc/form/form-wrapper.js b/client/galaxy/scripts/mvc/form/form-wrapper.js index f74c41ae727..49247a8f8c0 100644 --- a/client/galaxy/scripts/mvc/form/form-wrapper.js +++ b/client/galaxy/scripts/mvc/form/form-wrapper.js @@ -6,7 +6,9 @@ var View = Backbone.View.extend({ this.model = new Backbone.Model(options); this.url = this.model.get("url"); this.redirect = this.model.get("redirect"); - this.active_tab = options.active_tab; + if (options && options.active_tab){ + this.active_tab = options.active_tab; + } this.setElement("
"); this.render(); }, diff --git a/client/galaxy/scripts/mvc/grid/grid-shared.js b/client/galaxy/scripts/mvc/grid/grid-shared.js index 743c2af3fbb..170ad392ba6 100644 --- a/client/galaxy/scripts/mvc/grid/grid-shared.js +++ b/client/galaxy/scripts/mvc/grid/grid-shared.js @@ -9,7 +9,9 @@ var View = Backbone.View.extend({ this.model = new Backbone.Model(options); this.item = this.model.get("item"); this.title = this.model.get("plural"); - this.active_tab = options.active_tab; + if (options && options.active_tab){ + this.active_tab = options.active_tab; + } $.ajax({ url: `${Galaxy.root + this.item}/${this.model.get("action_id")}?${$.param(Galaxy.params)}`, success: function(response) { diff --git a/client/galaxy/scripts/mvc/tool/tool-form-composite.js b/client/galaxy/scripts/mvc/tool/tool-form-composite.js index bd7dd35eef7..452ca2a90ca 100644 --- a/client/galaxy/scripts/mvc/tool/tool-form-composite.js +++ b/client/galaxy/scripts/mvc/tool/tool-form-composite.js @@ -15,7 +15,9 @@ var View = Backbone.View.extend({ this.modal = parent.Galaxy.modal || new Modal.View(); this.model = (options && options.model) || new Backbone.Model(options); this.deferred = new Deferred(); - this.active_tab = options.active_tab || null; + if (options && options.active_tab){ + this.active_tab = options.active_tab; + } this.setElement( $("
") .addClass("ui-form-composite") diff --git a/client/galaxy/scripts/mvc/ui/ui-misc.js b/client/galaxy/scripts/mvc/ui/ui-misc.js index 2b6dd885150..c5ee45392b8 100644 --- a/client/galaxy/scripts/mvc/ui/ui-misc.js +++ b/client/galaxy/scripts/mvc/ui/ui-misc.js @@ -47,7 +47,9 @@ export var Message = Backbone.View.extend({ fade: true }).set(options); this.listenTo(this.model, "change", this.render, this); - this.active_tab = options.active_tab || null; + if (options && options.active_tab){ + this.active_tab = options.active_tab; + } this.render(); }, update: function(options) { From 28877c55cf3e5b66124809f00eb8a06c261832ce Mon Sep 17 00:00:00 2001 From: qiagu Date: Fri, 16 Mar 2018 15:18:00 -0700 Subject: [PATCH 17/17] fix highlighting dropoff issue when clicking menu --- client/galaxy/scripts/layout/menu.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/galaxy/scripts/layout/menu.js b/client/galaxy/scripts/layout/menu.js index 49edea8089f..8af6fd22d16 100644 --- a/client/galaxy/scripts/layout/menu.js +++ b/client/galaxy/scripts/layout/menu.js @@ -340,11 +340,13 @@ var Tab = Backbone.View.extend({ .attr("title", this.model.get("tooltip")) .tooltip("destroy"); this.model.get("tooltip") && this.$toggle.tooltip({ placement: "bottom" }); - this.$dropdown - .removeClass() - .addClass("dropdown") - .addClass(this.model.get("disabled") && "disabled") - .addClass(this.model.get("active") && "active"); + if(!this.model.get("menu")){ + this.$dropdown + .removeClass() + .addClass("dropdown") + .addClass(this.model.get("disabled") && "disabled") + .addClass(this.model.get("active") && "active"); + }; if (this.model.get("menu") && this.model.get("show_menu")) { this.$menu.show(); $("#dd-helper")