src/cm/media/js/lib/yui/yui_3.10.3/docs/autocomplete/ac-datasource.html
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Example: Remote Data via DataSource</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
            <h1>Example: Remote Data via DataSource</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
                <div class="content"><style scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
#ac-input { width: 250px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
This example demonstrates how to provide autocomplete suggestions using a <a href="../datasource/index.html">DataSource</a> instance. While AutoComplete supports a variety of result sources without requiring a DataSource, using a DataSource can give you more control over how results are retrieved and processed, and also allows you to share data with other DataSource-based widgets on the page.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
Type in the name of a city in the US to see the suggestions. Ex. New York, Chicago, etc.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
<div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    <div id="demo" class="yui3-skin-sam"> <!-- You need this skin class -->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
  <label for="ac-input">US city:</label><br>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
  <input id="ac-input" type="text">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
YUI().use('autocomplete', 'autocomplete-highlighters', 'datasource-get', function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
  // Create a DataSource instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
  var ds = new Y.DataSource.Get({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    source: 'http://query.yahooapis.com/v1/public/yql?format=json'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
  Y.one('#ac-input').plug(Y.Plugin.AutoComplete, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    maxResults: 10,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    resultHighlighter: 'phraseMatch',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    resultTextLocator: function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
      return result.name + ', ' + result.admin1.content + ', ' + result.country.content;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    // Use the DataSource instance as the result source.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    source: ds,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    // YQL query to use for each request. This will be appended to the URL 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    // that was supplied to the DataSource's "source" config above.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    requestTemplate: '&q=select * from geo.places where text="{query}" and placeTypeName.content="Town" and country.content="United States"',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    // Custom result list locator to parse the results out of the YQL response.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    // This is necessary because YQL sometimes returns an array of results, and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    // sometimes just a single result that isn't in an array.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    resultListLocator: function (response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
      var results = response[0].query.results &&
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            response[0].query.results.place;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
      if (results && !Y.Lang.isArray(results)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        results = [results];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
      }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
      return results || [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
<h2>HTML</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
<strong>Note:</strong> be sure to add the <code>yui3-skin-sam</code> classname to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
page's <code>&lt;body&gt;</code> element or to a parent element of the widget in order to apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
the default CSS skin. See <a href="http://yuilibrary.com/yui/docs/tutorials/skins/">Understanding Skinning</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
<pre class="code prettyprint">&lt;div id=&quot;demo&quot; class=&quot;yui3-skin-sam&quot;&gt; &lt;!-- You need this skin class --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
  &lt;label for=&quot;ac-input&quot;&gt;US city:&lt;&#x2F;label&gt;&lt;br&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
  &lt;input id=&quot;ac-input&quot; type=&quot;text&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
<h2>JavaScript</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
<pre class="code prettyprint">YUI().use(&#x27;autocomplete&#x27;, &#x27;autocomplete-highlighters&#x27;, &#x27;datasource-get&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
  &#x2F;&#x2F; Create a DataSource instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
  var ds = new Y.DataSource.Get({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    source: &#x27;http:&#x2F;&#x2F;query.yahooapis.com&#x2F;v1&#x2F;public&#x2F;yql?format=json&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
  Y.one(&#x27;#ac-input&#x27;).plug(Y.Plugin.AutoComplete, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
    maxResults: 10,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    resultHighlighter: &#x27;phraseMatch&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    resultTextLocator: function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
      return result.name + &#x27;, &#x27; + result.admin1.content + &#x27;, &#x27; + result.country.content;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    &#x2F;&#x2F; Use the DataSource instance as the result source.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
    source: ds,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
    &#x2F;&#x2F; YQL query to use for each request. This will be appended to the URL 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    &#x2F;&#x2F; that was supplied to the DataSource&#x27;s &quot;source&quot; config above.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
    requestTemplate: &#x27;&amp;q=select * from geo.places where text=&quot;{query}&quot; and placeTypeName.content=&quot;Town&quot; and country.content=&quot;United States&quot;&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    &#x2F;&#x2F; Custom result list locator to parse the results out of the YQL response.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
    &#x2F;&#x2F; This is necessary because YQL sometimes returns an array of results, and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
    &#x2F;&#x2F; sometimes just a single result that isn&#x27;t in an array.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    resultListLocator: function (response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
      var results = response[0].query.results &amp;&amp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
            response[0].query.results.place;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
      if (results &amp;&amp; !Y.Lang.isArray(results)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
        results = [results];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
      }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
      return results || [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
<h2>Complete Example Source</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
<pre class="code prettyprint">&lt;div id=&quot;demo&quot; class=&quot;yui3-skin-sam&quot;&gt; &lt;!-- You need this skin class --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
  &lt;label for=&quot;ac-input&quot;&gt;US city:&lt;&#x2F;label&gt;&lt;br&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
  &lt;input id=&quot;ac-input&quot; type=&quot;text&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
YUI().use(&#x27;autocomplete&#x27;, &#x27;autocomplete-highlighters&#x27;, &#x27;datasource-get&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
  &#x2F;&#x2F; Create a DataSource instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
  var ds = new Y.DataSource.Get({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
    source: &#x27;http:&#x2F;&#x2F;query.yahooapis.com&#x2F;v1&#x2F;public&#x2F;yql?format=json&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
  Y.one(&#x27;#ac-input&#x27;).plug(Y.Plugin.AutoComplete, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
    maxResults: 10,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
    resultHighlighter: &#x27;phraseMatch&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
    resultTextLocator: function (result) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
      return result.name + &#x27;, &#x27; + result.admin1.content + &#x27;, &#x27; + result.country.content;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    &#x2F;&#x2F; Use the DataSource instance as the result source.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
    source: ds,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
    &#x2F;&#x2F; YQL query to use for each request. This will be appended to the URL 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    &#x2F;&#x2F; that was supplied to the DataSource&#x27;s &quot;source&quot; config above.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    requestTemplate: &#x27;&amp;q=select * from geo.places where text=&quot;{query}&quot; and placeTypeName.content=&quot;Town&quot; and country.content=&quot;United States&quot;&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    &#x2F;&#x2F; Custom result list locator to parse the results out of the YQL response.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
    &#x2F;&#x2F; This is necessary because YQL sometimes returns an array of results, and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    &#x2F;&#x2F; sometimes just a single result that isn&#x27;t in an array.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    resultListLocator: function (response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
      var results = response[0].query.results &amp;&amp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
            response[0].query.results.place;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
      if (results &amp;&amp; !Y.Lang.isArray(results)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        results = [results];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
      }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
      return results || [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
  });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
                                        <li data-description="How to provide autocomplete suggestions from a local array.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
                                            <a href="ac-local.html">Basic Local Data</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
                                        <li data-description="How to provide autocomplete suggestions using a remote JSONP source.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
                                            <a href="ac-jsonp.html">Remote Data via JSONP</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
                                        <li data-description="How to provide autocomplete suggestions using a YQL query source.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
                                            <a href="ac-yql.html">Remote Data via YQL</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
                                        <li data-description="How to provide autocomplete suggestions using a DataSource instance.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
                                            <a href="ac-datasource.html">Remote Data via DataSource</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
                                        <li data-description="How to implement delimited tag completion.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
                                            <a href="ac-tagging.html">Tag Completion Using Query Delimiters</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
                                        <li data-description="How to find and select Flickr photos using a YQL source and a custom autocomplete result formatter.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
                                            <a href="ac-flickr.html">Find Photos on Flickr (Custom Formatting, YQL Source)</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
                                        <li data-description="How to use autocomplete-base to filter a set of existing items on a page.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
                                            <a href="ac-filter.html">Filter a Set of Existing Items on a Page</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
                                        <li data-description="How to find an address using a YQL source calling Google&#x27;s Geocoding Service">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
                                            <a href="ac-geocode.html">Address Completion on Google&#x27;s Geocoding Service</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    assets: '../assets/autocomplete',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
    name: 'ac-datasource',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
    title: 'Remote Data via DataSource',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
YUI.Env.Tests.examples.push('ac-local');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
YUI.Env.Tests.examples.push('ac-jsonp');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
YUI.Env.Tests.examples.push('ac-yql');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
YUI.Env.Tests.examples.push('ac-datasource');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
YUI.Env.Tests.examples.push('ac-tagging');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
YUI.Env.Tests.examples.push('ac-flickr');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
YUI.Env.Tests.examples.push('ac-filter');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
YUI.Env.Tests.examples.push('ac-geocode');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
</html>