From 0c186f6a4d37846b65155b828f10661d3daa2562 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Thu, 2 Apr 2015 09:11:06 +0000 Subject: [PATCH] SSDM-1683: operations column added to sample search result table SVN: 33778 --- .../html/js/controllers/MainController.js | 63 +++++++++++++++++++ .../SampleTable/SampleTableController.js | 61 +----------------- 2 files changed, 64 insertions(+), 60 deletions(-) diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js index dde65feec78..6c058b65fa8 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js @@ -546,6 +546,68 @@ function MainController(profile) { this.currentView = newView; } + this.createOperationsColumn = function() { + return { + label : "Operations", + property : 'operations', + sortable : false, + render : function(data) { + //Dropdown Setup + var $dropDownMenu = $("<span>", { class : 'dropdown' }); + var $caret = $("<a>", { 'href' : '#', 'data-toggle' : 'dropdown', class : 'dropdown-toggle btn btn-default'}).append("Operations ").append($("<b>", { class : 'caret' })); + var $list = $("<ul>", { class : 'dropdown-menu', 'role' : 'menu', 'aria-labelledby' :'sampleTableDropdown' }); + $dropDownMenu.append($caret); + $dropDownMenu.append($list); + + var clickFunction = function($dropDown) { + return function(event) { + event.stopPropagation(); + event.preventDefault(); + $caret.dropdown('toggle'); + }; + } + $dropDownMenu.dropdown(); + $dropDownMenu.click(clickFunction($dropDownMenu)); + + //Options + var $openOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open'}).append("Open")); + $openOption.click(function(e) { + mainController.changeView('showViewSamplePageFromPermId', data.permId); + }); + $list.append($openOption); + + var $openNewTabOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open in new Tab'}).append("Open in new Tab")); + $openNewTabOption.click(function(e) { + var url = document.location.href; + url = url.substring(0,url.lastIndexOf("/?") + 1); + url = url+"?viewName=showViewSamplePageFromPermId&viewData=" + data.permId + "&hideMenu=true"; + var newWindow = window.open(url); + }); + $list.append($openNewTabOption); + + var $openHierarchy = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open Hierarchy'}).append("Open Hierarchy")); + $openHierarchy.click(function(e) { + mainController.changeView('showSampleHierarchyPage', data.permId); + }); + $list.append($openHierarchy); + + var $openHierarchy = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open Hierarchy Table'}).append("Open Hierarchy Table")); + $openHierarchy.click(function(e) { + mainController.changeView('showSampleHierarchyTablePage', data.permId); + }); + $list.append($openHierarchy); + + return $dropDownMenu; + }, + filter : function(data, filter) { + return false; + }, + sort : function(data1, data2, asc) { + return 0; + } + } + } + this.lastSearchId = 0; //Used to discard search responses that don't pertain to the last search call. this._showSearchPage = function(value, searchDomain, searchDomainLabel) { @@ -639,6 +701,7 @@ function MainController(profile) { return 0; } }]; + columns.push(mainController.createOperationsColumn()); var getDataList = function(callback) { var dataList = []; diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js index 83146f8cf56..fc54d2c9ff8 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable/SampleTableController.js @@ -185,66 +185,7 @@ function SampleTableController(parentController, title, experimentIdentifier) { } } - columns.push({ - label : "Operations", - property : 'operations', - isExportable: false, - sortable : false, - render : function(data) { - //Dropdown Setup - var $dropDownMenu = $("<span>", { class : 'dropdown' }); - var $caret = $("<a>", { 'href' : '#', 'data-toggle' : 'dropdown', class : 'dropdown-toggle btn btn-default'}).append("Operations ").append($("<b>", { class : 'caret' })); - var $list = $("<ul>", { class : 'dropdown-menu', 'role' : 'menu', 'aria-labelledby' :'sampleTableDropdown' }); - $dropDownMenu.append($caret); - $dropDownMenu.append($list); - - var clickFunction = function($dropDown) { - return function(event) { - event.stopPropagation(); - event.preventDefault(); - $caret.dropdown('toggle'); - }; - } - $dropDownMenu.dropdown(); - $dropDownMenu.click(clickFunction($dropDownMenu)); - - //Options - var $openOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open'}).append("Open")); - $openOption.click(function(e) { - mainController.changeView('showViewSamplePageFromPermId', data.permId); - }); - $list.append($openOption); - - var $openNewTabOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open in new Tab'}).append("Open in new Tab")); - $openNewTabOption.click(function(e) { - var url = document.location.href; - url = url.substring(0,url.lastIndexOf("/?") + 1); - url = url+"?viewName=showViewSamplePageFromPermId&viewData=" + data.permId + "&hideMenu=true"; - var newWindow = window.open(url); - }); - $list.append($openNewTabOption); - - var $openHierarchy = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open Hierarchy'}).append("Open Hierarchy")); - $openHierarchy.click(function(e) { - mainController.changeView('showSampleHierarchyPage', data.permId); - }); - $list.append($openHierarchy); - - var $openHierarchy = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Open Hierarchy Table'}).append("Open Hierarchy Table")); - $openHierarchy.click(function(e) { - mainController.changeView('showSampleHierarchyTablePage', data.permId); - }); - $list.append($openHierarchy); - - return $dropDownMenu; - }, - filter : function(data, filter) { - return false; - }, - sort : function(data1, data2, asc) { - return 0; - } - }); + columns.push(mainController.createOperationsColumn()); //Fill data model var getDataList = function(callback) { -- GitLab