summaryrefslogtreecommitdiffstats
path: root/container-search-gui/src/main/resources/gui/_includes/index.html
diff options
context:
space:
mode:
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.html255
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) + "'"}