From c9cd8096c54f1c437eb0860def270ce3405a7e51 Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Tue, 14 May 2013 09:17:40 +0000 Subject: [PATCH] BIS-301 SP-630 : Added search functionality to the ipad-debug webapp SVN: 29119 --- .../1/as/webapps/ipad-debug/html/index.html | 67 +++++++++++-------- .../1/as/webapps/ipad-debug/html/webapp.js | 42 +++++++++++- 2 files changed, 81 insertions(+), 28 deletions(-) diff --git a/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/index.html b/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/index.html index 91617b2c543..4a8ed84ba02 100644 --- a/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/index.html +++ b/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/index.html @@ -16,6 +16,7 @@ <script type="text/javascript"> $(document).ready(function() { configureLoginPage(openbisServer, enterApp); + configureTabs(); }); </script> @@ -59,40 +60,52 @@ <div class="container"> <a class="brand" href="#">iPadUI (debug)</a> <ul class="nav"> - <li class="active"><a href="#">Home</a></li> - <li><a href="#about">About</a></li> + <li class="active"><a id="activate-home" href="#">Home</a></li> + <li><a id="activate-search" href="#search">Search</a></li> </ul> </div> </div> </div> - <div class="container"> - - <h1>Client Preferences</h1> - <div class="row-fluid"> - <div id="clientprefs" class="span12" style="overflow: auto;"></div> - </div> + <div id="home" class="container"> + <h1>Client Preferences</h1> + <div class="row-fluid"> + <div id="clientprefs" class="span12" style="overflow: auto;"></div> + </div> - <h1>Navigation</h1> - <div class="row-fluid"> - <div id="navigation" class="span12" style="overflow: auto;"></div> - </div> - <h1>Root</h1> - <div class="row-fluid"> - <div id="root" class="span12" style="height: 410px; overflow: auto;"></div> - </div> - <br> - <h1>Drill</h1> - <div class="row-fluid"> - <div id="drill" class="span12" style="overflow: auto;"></div> - </div> - <br> - <h1>Details</h1> - <div class="row-fluid"> - <div id="detail" class="span12" style="overflow: auto;"></div> - </div> - + <h1>Navigation</h1> + <div class="row-fluid"> + <div id="navigation" class="span12" style="overflow: auto;"></div> + </div> + <h1>Root</h1> + <div class="row-fluid"> + <div id="root" class="span12" style="height: 410px; overflow: auto;"></div> + </div> + <br> + <h1>Drill</h1> + <div class="row-fluid"> + <div id="drill" class="span12" style="overflow: auto;"></div> + </div> + <br> + <h1>Details</h1> + <div class="row-fluid"> + <div id="detail" class="span12" style="overflow: auto;"></div> + </div> </div> <!-- /container --> + <div id="search" class="container"> + <div class="row-fluid"> + <form id="search-form" class="well form-inline" action="javascript:"> + <input id="searchtext" type="text" placeholder="search text"> + <button id="search-button" type="submit" class="btn">Search</button> + </form> + </div> + + <h1>Results</h1> + <div class="row-fluid"> + <div id="searchresults" class="span12" style="overflow: auto;"></div> + </div> + </div> <!-- /container --> + </div> <!-- /main --> diff --git a/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/webapp.js b/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/webapp.js index 9ee4e8112a4..5e04735534b 100644 --- a/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/webapp.js +++ b/openbis-ipad/source/core-plugins/ipad-ui/1/as/webapps/ipad-debug/html/webapp.js @@ -52,13 +52,17 @@ IpadModel.prototype.selectNormalEntity = function(permId, refcon, d) { } } +IpadModel.prototype.setSearchText = function(searchText) { + searchForText(searchText); +} + /// The model that manages state and implements the operations var model; model = new IpadModel(); /// The visualization, referenced by functions that display content -var clientPrefs, navigation, root, drill, detail; +var clientPrefs, navigation, root, drill, detail, searchresults; /** * Create the DOM elements to store the visualization (tree + inspectors) @@ -73,6 +77,7 @@ function createVis() root = d3.select("#root"); drill = d3.select("#drill"); detail = d3.select("#detail"); + searchresults = d3.select("#searchresults"); didCreateVis = true; } @@ -152,6 +157,7 @@ function displayNavigation(data) { displayResults(navigation, data) } function displayRoot(data) { displayResults(root, data) } function displayDrill(data) { displayResults(drill, data) } function displayDetail(data) { displayResults(detail, data) } +function displaySearchResults(data) { displayResults(searchresults, data) } /** * Request the client perferences and show them in the page. @@ -203,6 +209,39 @@ function detailsForEntity(permId, refcon) openbisServer.createReportFromAggregationService("DSS1", "ipad-read-service-v1", parameters, displayDetail); } +function searchForText(searchText) +{ + var parameters = {requestKey : 'SEARCH', searchtext: searchText}; + + displayCallInProgress(searchresults); + openbisServer.createReportFromAggregationService("DSS1", "ipad-read-service-v1", parameters, displaySearchResults); +} + +function homeTab() +{ + $('#home').show(); + $('#search').hide(); + $('#activate-home').parent().addClass("active"); + $('#activate-search').parent().removeClass("active"); +} + +function searchTab() +{ + $('#home').hide(); + $('#search').show(); + $('#activate-home').parent().removeClass("active"); + $('#activate-search').parent().addClass("active"); +} + +function configureTabs() +{ + $('#activate-search').click(searchTab); + $('#activate-home').click(homeTab); + + $('#search-form').submit(function() { + model.setSearchText($.trim($('#searchtext').val())); + }); +} function enterApp(data) { @@ -214,6 +253,7 @@ function enterApp(data) $('#login').hide(); $('#main').show(); + $('#search').hide(); createVis(); listClientPreferences(); -- GitLab