diff options
Diffstat (limited to 'container-search-gui/src/main/resources/gui/_includes/index.html')
-rw-r--r-- | container-search-gui/src/main/resources/gui/_includes/index.html | 255 |
1 files changed, 79 insertions, 176 deletions
diff --git a/container-search-gui/src/main/resources/gui/_includes/index.html b/container-search-gui/src/main/resources/gui/_includes/index.html index 3faf3f09243..8537609478f 100644 --- a/container-search-gui/src/main/resources/gui/_includes/index.html +++ b/container-search-gui/src/main/resources/gui/_includes/index.html @@ -1,15 +1,12 @@ <!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> <!DOCTYPE html> -<html> +<html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <title>Vespa. Big data. Real time.</title> + <title>Vespa Querybuilder</title> <meta name="viewport" content="width=device-width"> - <meta name="description" content=" Your big data processing and serving system - deep learning, - search applications, ad selection system, personalized - recommendation systems, and more..."> - + <meta name="description" content="Vespa Querybuilder - use to generate Vespa Query API requests"> <!-- Site icons - generated using http://realfavicongenerator.net/ --> <link rel="apple-touch-icon" sizes="180x180" href="/querybuilder/icons/apple-touch-icon.png"> @@ -28,160 +25,90 @@ <link href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700' rel='stylesheet' type='text/css'> - <title>Vespa - Big Data. Real time.</title> - - <meta http-equiv="content-type" content="text/html; charset=utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content=""> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> - <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> - - </head> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> +</head> <body id="page-top" class="index"> - -<style type="text/css"></style> - - <link href="/querybuilder/_includes/css/agency.css" rel="stylesheet" type="text/css"> <link href="/querybuilder/_includes/css/bootstrap.min.css" rel="stylesheet" type="text/css"> <link href="/querybuilder/_includes/css/vespa.css" rel="stylesheet" type="text/css"> <nav class="navbar navbar-default navbar-fixed-top"> - <div class="container"> - <!-- Brand and toggle get grouped for better mobile display --> - <div class="navbar-header"> - <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="https://vespa.ai">Vespa. Big data. Real time.</a> - </div> + <div class="container"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="https://vespa.ai">Vespa.ai</a> + </div> - <!-- Collect the nav links, forms, and other content for toggling --> - <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> - <ul class="nav navbar-nav navbar-right"> - <li class="hidden"><a href="#page-top"></a> - <li><a href="https://blog.vespa.ai/">Blog</a> - <li><a href="https://twitter.com/vespaengine">Twitter</a> - <li><a href="https://docs.vespa.ai">Docs</a> - <li><a href="https://github.com/vespa-engine">GitHub</a> - <li><a href="https://docs.vespa.ai/en/getting-started.html">Get Started Now</a> - </ul> - </div> + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> + <ul class="nav navbar-nav navbar-right"> + <li><a href="https://docs.vespa.ai/en/query-api.html">Documentation</a></li> + <li><a href="https://github.com/vespa-engine/vespa/issues">Report issue</a></li> + </ul> </div> - </nav> + </div> +</nav> <!-- Header --> - <header> - <div class="layer"> - <div class="intro container"> - <div class="intro-lead-in">Vespa Search Engine</div> - <div class="intro-long">Select the method for sending requests and construct a query.</div> - <select class="methodselector" onchange="chooseMethod();" id="method"> - <option class="options" value="POST">POST</option> - <option class="options" value="GET">GET</option> - </select> - <input type="text" class="textbox" name="value" value="http://localhost:8080/search/" id="url" size="30"> - <button class="button" onclick="startSending();" id="send">Send</button> +<header> + <div class="layer"> + <div class="intro container"> + <div class="intro-lead-in">Vespa Querybuilder</div> + <div class="intro-long">Select the method for sending requests and construct a query:</div> + <select class="methodselector" onchange="chooseMethod();" id="method"> + <option class="options" value="POST">POST</option> + <option class="options" value="GET">GET</option> + </select> + <input type="text" class="textbox" name="value" value="http://localhost:8080/search/" id="url" size="30" /> + <button class="button" onclick="startSending();" id="send">Send</button> + + <br/><br/> - <br/> - <div id="request"> - </br> - <div class="intro-param">Construct a query by adding parameters or pasting a JSON.</div> - </div> - <br/> - <button class="addRow"onclick="addNewRow()" id="addRow">+</button> - <br/> - <button class="pasteJSON"onclick="pasteJSON();" id="pasteJSON"><img src="/querybuilder/img/paste.svg" height="16" width="16" style="margin-top:-2px; margin-right: 3px;"/> Paste JSON</button> - </br> - <button class="showJSON"onclick="showJSON();" id="showJSON">Show query JSON</button> - </br> - <textarea class="responsebox" id="jsonquery" cols=70 rows=15 style="display:none;"readonly></textarea> - </br> - <button class="copyJSON"onclick="copyToClipboard(jsonquery);" id="copyJSON"><img src="/querybuilder/img/copy.svg" height="17" width="17" /> Copy as JSON</button> - <button class="copyURL"onclick="copyURL();" id="copyURL"><img src="/querybuilder/img/copy.svg" height="17" width="17" /> Copy as URL</button> - <br/> + <div id="request"> + <div class="intro-param">Construct a query by adding parameters or pasting a JSON:</div> + </div> + <br/> + <button class="addRow" onclick="addNewRow()" id="addRow">+</button> + <br/> + <button class="pasteJSON" onclick="pasteJSON();" id="pasteJSON"> + <img src="/querybuilder/img/paste.svg" + height="16" width="16" style="margin-top:-2px; margin-right: 3px;" alt="paste"/> + Paste JSON + </button> + <button class="showJSON" onclick="showJSON();" id="showJSON">Show query JSON</button> + <textarea class="responsebox" id="jsonquery" cols=70 rows=15 style="display:none;"readonly></textarea> + <button class="copyJSON" onclick="copyToClipboard(jsonquery);" id="copyJSON"> + <img src="/querybuilder/img/copy.svg" height="17" width="17" alt="Copy as JSON"/> Copy as JSON + </button> + <button class="copyURL" onclick="copyURL();" id="copyURL"> + <img src="/querybuilder/img/copy.svg" height="17" width="17" alt="Copy as URL"/> Copy as URL + </button> + <br/> - <div class="response">Response</div> - <input class="responseinfo" id="reponsestatus" value="" readonly></input></br> - <textarea class="responsebox" id="response" cols=70 rows=25 readonly></textarea> - <div id="div" > - <div > + <div class="response">Response:</div> + <input class="responseinfo" id="reponsestatus" value="" readonly /> + <textarea class="responsebox" id="response" cols=70 rows=25 readonly></textarea> + <div id="div" > + <div> <div class="intro-copy" onclick="copyToClipboard(response);" style="cursor:pointer;"> - <img src="/querybuilder/img/copy.svg" height="30" width="30" /> - </div> - <div class="intro-refresh" onclick="refresh();" style="cursor:pointer;"> - <img src="/querybuilder/img/reload.svg" height="30" width="30" /> - </div> - </br> - </br> - <div id="helpbutton" class="intro-help" onclick="toggleHelp();" style="cursor:pointer;"> - <img src="/querybuilder/img/features-help.png" height="47" width="138" style="margin-left: -1px;"/> + <img src="/querybuilder/img/copy.svg" height="30" width="30" alt="Copy to clipboard"/> </div> - <div id="help" style="display: none;"> - <div class="intro-param" id="help"> - </br> - <div class="help-title">Features</div> - <span> ○ Autocompletion of YQL-syntax</span> </br> - <span> ○ Drop-down lists of all valid parameters</span> </br> - <span> ○ Sending both POST and GET-requests to <i>Vespa</i></span> </br> - <span> ○ Easy access to the <a href="https://docs.vespa.ai/en/reference/query-api-reference.html">documentation</a> of each parameter</span> </br> - <span> ○ Conversion of POST- to GET-query</span> </br> - <span> ○ Pasting already built JSON-query</span> </br> - <span> ○ View and copy the response of queries</span> </br> - <span> ○ View the finished JSON-query as you build </span> </br> - </div> - </br> - <div class="intro-param" id="help"> - <div class="help-title">Help</div> - <span>Please submit a pull request or create an <a href="https://github.com/vespa-engine/vespa/issues">issue</a> for fixes to the querybuilder.</span> </br> - </div> - </div> - </div> - </div> + </div> </div> </div> - </header> - <footer> - <div class="container"> - <div class="row"> - <div class="col-xs-2 quicklink-section"> - <div class="footer-title">Resources</div> - <ul class="quicklinks"> - <li><a href="https://docs.vespa.ai/en/vespa-quick-start.html">Getting Started</a> - <li><a href="https://docs.vespa.ai">Documentation</a> - <li><a href="https://github.com/vespa-engine/vespa">Open source</a> - </ul> - </div> - <div class="col-xs-2 quicklink-section"> - <div class="footer-title">Contact</div> - <ul class="quicklinks"> - <li><a href="https://twitter.com/vespaengine">Twitter</a> - <li><a href="mailto:info@vespa.ai">info@vespa.ai</a> - <li><a href="https://github.com/vespa-engine/vespa/issues">Issues</a> - </ul> - </div> - <div class="col-xs-2 quicklink-section"> - <div class="footer-title">Community</div> - <ul class="quicklinks"> - <li><a href="https://github.com/vespa-engine/vespa/blob/master/CONTRIBUTING.md">Contributing</a> - <li><a href="https://stackoverflow.com/questions/tagged/vespa">Stack Overflow</a> - <li><a href="https://gitter.im/vespa-engine/Lobby">Gitter</a> - </ul> - </div> - <div class="col-xs-6 quicklink-section"> - <div class="credits"> - <span>Copyright Yahoo</span> - Licensed under <a href="https://github.com/vespa-engine/vespa/blob/master/LICENSE">Apache License 2.0</a> - , <a href="https://github.com/y7kim/agency-jekyll-theme">Theme</a> by Rick K. - </div> - </div> - </div> - </div> - </footer> + </div> +</header> <!-- jQuery Version 1.11.0 --> <script src="/querybuilder/js/jquery-1.11.0.js"></script> @@ -229,7 +156,6 @@ childrenProps["ranking.properties"] = window.CONFIG.ranking_properties; } addNewRow(); - getSearchApiReference(); }, 250); }; var stringType = ["yql", "queryProfile", "searchChain", "model.defaultIndex", "model.encoding", "model.language", @@ -247,19 +173,6 @@ var yqlID = "v1"; - - function toggleHelp(){ - var div = document.getElementById("help"); - var buttonDiv = document.getElementById("helpbutton"); - if (div.style.display === "none") { - div.style.display = "block"; - buttonDiv.style.backgroundColor = '#4EA2D6'; - } else { - div.style.display = "none"; - buttonDiv.style.backgroundColor = 'transparent'; - } - } - function updateFields(){ var temp = number; while (temp > 0){ @@ -449,6 +362,7 @@ newButton.classList.add("removeRow"); var br = document.createElement("br"); br.id = "br"+temp + /* var img = document.createElement("img"); img.src = "/querybuilder/img/information.svg"; img.height = "15"; @@ -463,11 +377,12 @@ a.id = "inf"+temp a.appendChild(img); a.appendChild(span); + */ var div = document.createElement("div"); div.id = number; div.appendChild(newInput); div.appendChild(newDatalist); - div.appendChild(a); + //div.appendChild(a); div.appendChild(newInputVal); div.appendChild(newDatalist2); div.appendChild(newButton); @@ -490,6 +405,7 @@ generateJSON(); return temp; } + /* ToDo: remove completely function showInformation(no, key){ var a = document.getElementById("inf"+no); if(validKey(no, key)){ @@ -504,6 +420,7 @@ a.style = "visibility: hidden;" } } + */ function validKey(no, possibleKey){ if (contains(possible, possibleKey)){return true;} for (var key in childrenProps){ @@ -528,7 +445,7 @@ } function keySelected(no, value){ var key = document.getElementById("i"+no).value; - showInformation(no, key); + //showInformation(no, key); ToDo: remove completely findUsedProps(); var fullKey = getFullName(no, key); if(fullKey in childrenProps){ @@ -728,6 +645,7 @@ b.innerHTML = ' ↳ '; var margin = 20*(temp).length; b.style = "padding-left:"+margin+"px;"; + /* var img = document.createElement("img"); img.src = "/querybuilder/img/information.svg"; img.height = "15"; @@ -742,10 +660,11 @@ a.id = "inf"+temp a.appendChild(img); a.appendChild(span); + */ div.appendChild(b); div.appendChild(newInput); div.appendChild(newDatalist); - div.append(a); + //div.append(a); div.appendChild(newInputVal); div.appendChild(newDatalist2); div.appendChild(newButton); @@ -789,9 +708,7 @@ } return false; } - function refresh(){ - document.location.reload(true); - } + function generateJSON(){ json = JSON.parse("{}"); buildJSON(json, number, 0); @@ -940,20 +857,6 @@ copyURL.style.display = "none"; } } - function getSearchApiReference(){ - var div = document.getElementById("div"); - var object = document.createElement("object"); - object.data = "/querybuilder/_includes/search-api-reference.html"; - object.type ="text/html"; - object.style = "visibility: hidden; height: 1px; width: 200px;" - div.appendChild(object); - setTimeout(function(){ - searchApiReference = object.contentDocument; - setTimeout(function(){ - div.removeChild(object); - }, 20); - }, 150); - } function changeInformation(no,key){ if (key===""){return "Choose a parameter for information"} if (getFullName(no,key) in childrenProps){return "Add parameters under the parent ''" + getFullName(no,key) + "'"} |