| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | <!DOCTYPE html><html><!--Copyright 2007 The Closure Library Authors. All Rights Reserved.Use of this source code is governed by the Apache License, Version 2.0.See the COPYING file for details.--><!----><head>  <title>goog.ui.ac.RichRemote</title>  <script src="../base.js"></script>  <script>    goog.require("goog.array");    goog.require("goog.dom");    goog.require("goog.ui.ac.RichRemote");    goog.require('goog.dom.TagName');  </script>  <link rel="stylesheet" href="css/demo.css">  <link rel="stylesheet" href="../css/autocomplete.css">  <style type="text/css">    .apple {      background-color: #990033;      color: #FFFFFF;      margin: 3px;      font-style: italic;    }    .citrus {      background-color: #CCCC33;      color: #FFFFFF;      margin: 3px;      font-style: italic;    }    .berry {      background-color: #009933;      color: #FFFFFF;      margin: 3px;      font-style: italic;    }  </style></head><body>  <h1>goog.ui.ac.RichRemote</h1>  <p>    Fruit Selector:<br>    <input type="text" id="txtInput" style="width:500px"/>    <input type="checkbox" id="berryAllergy" onclick="setFilter()"/>    <label for="berryAllergy">berry allergy</label>    <input type="checkbox" id="setHighlighting"        onclick="setHighlighting()"/>    <label for="setHighlighting">standard highlighting</label>    <p>      This data is being pulled from the server at      <a href="autocompleterichremotedata.js">autocompleterichremotedata.js</a>.    </p>    <p>      Ideally the server would perform a search on the query and would only      return relevant results; however, this response is static.    </p>  </p>  <iframe id="wikipedia" width="900" height="600"></iframe>  <script>    var makeRichRow_ = function(item, itemType, itemClassName) {      item.type = itemType;      item.render = function(node, token) {        var dom_ = goog.dom.getDomHelper(node);        var typeNode = dom_.createDom(goog.dom.TagName.SPAN, itemClassName);        dom_.appendChild(typeNode, dom_.createTextNode(itemType));        var nameNode = dom_.createDom(goog.dom.TagName.SPAN);        dom_.appendChild(nameNode, dom_.createTextNode(item.name));        dom_.appendChild(node, typeNode);        dom_.appendChild(node, nameNode);      };      item.select = function(target) {        target.value = item.name;        wikipedia.src = item.url;      };      return item;    };    var apple = function(item) {      return makeRichRow_(item, "Apple", "apple");    };    var citrus = function(item) {      return makeRichRow_(item, "Citrus", "citrus");    };    var berry = function(item) {      return makeRichRow_(item, "Berry", "berry");    };    var input = document.getElementById("txtInput");    var wikipedia = document.getElementById("wikipedia");    var ac = new goog.ui.ac.RichRemote("autocompleterichremotedata.js",        input);    // Set the autocomplete"s rowFilter appropriately    var setFilter = function() {      var checkbox = document.getElementById("berryAllergy");      if (checkbox.checked) {        ac.setRowFilter(filterOutBerries);      } else {        ac.setRowFilter();      }    };    // Set the autocomplete"s standard highlighting    var setHighlighting = function() {      var checkbox = document.getElementById("setHighlighting");      ac.setUseStandardHighlighting(checkbox.checked);    };    // Do not include berries in the search results    var filterOutBerries = function(rows) {      var filterFunction = function(item) { return item.type != "Berry"; };      return goog.array.filter(rows, filterFunction);    };    // When the page loads, make sure to set the filter appropriately    window.onload = function() {      setFilter();      setHighlighting();    };  </script></body></html>
 |