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 91617b2c543a8af8fa1a7e9892b0f0920357f293..4a8ed84ba027e4026ad238044fc7bc03a74e0cf6 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 9ee4e8112a43a2fdcb4e52939eff6280fb09a7fd..5e04735534bfd78534e432532af13b4a515c18f3 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();