example-queries.html 3.36 KB
Newer Older
Tristan Cavelier's avatar
Tristan Cavelier committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Complex Queries Example</title>
  <style type="text/css" media="screen">
    table, textarea, input {
        width: 100%;
    }
    textarea {
        height: 10em;
    }
  </style>
</head>
<body>
  <table>
    <tr>
      <td>Query (String):<br /><textarea id="str">1:abc AND 2:def</textarea></td>
Tristan Cavelier's avatar
Tristan Cavelier committed
19
      <td>Query (Object):<br /><textarea id="obj">{&quot;type&quot;:&quot;complex&quot;,&quot;operator&quot;:&quot;AND&quot;,&quot;query_list&quot;:[{&quot;type&quot;:&quot;simple&quot;,&quot;operator&quot;:&quot;=&quot;,&quot;key&quot;:&quot;1&quot;,&quot;value&quot;:&quot;abc&quot;},{&quot;type&quot;:&quot;simple&quot;,&quot;operator&quot;:&quot;=&quot;,&quot;key&quot;:&quot;2&quot;,&quot;value&quot;:&quot;def&quot;}]}</textarea></td>
Tristan Cavelier's avatar
Tristan Cavelier committed
20 21
    </tr>
    <tr>
Tristan Cavelier's avatar
Tristan Cavelier committed
22 23
      <td>Item list (to filter, from 'Query (Object)'):<br /><textarea id="list">[{&quot;1&quot;:&quot;abc&quot;,&quot;2&quot;:&quot;def&quot;},{&quot;1&quot;:&quot;def&quot;,&quot;2&quot;:&quot;abc&quot;}]</textarea></td>
      <td>Result list:<br /><textarea id="result">[{&quot;1&quot;:&quot;abc&quot;,&quot;2&quot;:&quot;def&quot;}]</textarea></td>
Tristan Cavelier's avatar
Tristan Cavelier committed
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
    </tr>
    <tr>
      <td><label for="wildcard">Wildcard char: </label></td>
      <td><input type="text" id="wildcard" name="wildcard" value="%" /></td>
    </tr>
    <tr>
      <td><label for="sort_on">Sort on: </label></td>
      <td><input type="text" id="sort_on" name="sort_on" value="[[&quot;1&quot;,&quot;ascending&quot;],[&quot;2&quot;,&quot;descending&quot;]]" /></td>
    </tr>
    <tr>
      <td><label for="select_list">Select_list: </label></td>
      <td><input type="text" id="select_list" name="select_list" value="[&quot;1&quot;,&quot;2&quot;]" /></td>
    </tr>
    <tr>
      <td><label for="limit">Limit: </label></td>
      <td><input type="text" id="limit" name="limit" value="[0,100]" /></td>
    </tr>
  </table>
Tristan Cavelier's avatar
Tristan Cavelier committed
42 43
  <button onclick="searchTextToJson()">Search text to JSON</button>
  <button onclick="jsonToSearchText()">JSON to Search text</button>
Tristan Cavelier's avatar
Tristan Cavelier committed
44
  <button onclick="query()">Query</button>
45 46 47
  <script type="text/javascript" src="../lib/md5/md5.js"></script>
  <script type="text/javascript" src="../lib/jsSha2/sha2.js"></script>
  <script type="text/javascript" src="../lib/sjcl/sjcl.min.js"></script>
Tristan Cavelier's avatar
Tristan Cavelier committed
48
  <script type="text/javascript" src="../jio.min.js"></script>
49
  <script type="text/javascript" src="../complex_queries.min.js"></script>
50
  <script type="text/javascript"
51
    src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
Tristan Cavelier's avatar
Tristan Cavelier committed
52 53
  <script type="text/javascript">
    <!--
Tristan Cavelier's avatar
Tristan Cavelier committed
54 55
var searchTextToJson = function () {
  $("#obj").attr("value", JSON.stringify(complex_queries.Query.parseStringToObject($("#str").attr("value"))));
Tristan Cavelier's avatar
Tristan Cavelier committed
56
};
Tristan Cavelier's avatar
Tristan Cavelier committed
57 58
var jsonToSearchText = function () {
  $("#str").attr("value", complex_queries.QueryFactory.create(JSON.parse($("#obj").attr("value"))).toString());
Tristan Cavelier's avatar
Tristan Cavelier committed
59 60
};
var query = function () {
Tristan Cavelier's avatar
Tristan Cavelier committed
61 62 63 64 65 66 67 68 69 70 71
  var list = JSON.parse($("#list").attr("value"));
  $("#str").attr("value", complex_queries.QueryFactory.create(JSON.parse($("#obj").attr("value"))).exec(
    list,
    {
      "wildcard_character": $('#wildcard').attr('value'),
      "sort_on": JSON.parse($("#sort_on").attr("value")),
      "limit": JSON.parse($("#limit").attr("value")),
      "select_list": JSON.parse($("#select_list").attr("value"))
    }
  ));
  $("#result").attr("value", JSON.stringify(list));
Tristan Cavelier's avatar
Tristan Cavelier committed
72 73 74 75 76
};
        // -->
  </script>
</body>
</html>