Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / ui / ct-tree-select.html
1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file.
5 -->
6
7 <polymer-element name="ct-tree-select" attributes="tree treeList">
8   <template>
9     <select id='treeSelect' on-change="{{ _updateTree }}" value="{{ tree }}">
10       <template repeat="{{ s in treeList.trees }}">
11         <option value="{{ s.name }}">{{ s.displayName }}</option>
12       </template>
13     </select>
14   </template>
15   <script>
16   (function() {
17     Polymer({
18       publish: {
19         tree: {
20           reflect: true,
21         },
22       },
23
24       _updateTree: function(event) {
25         this.asyncFire('navigate', {
26           url: event.target.value
27         });
28       },
29
30       treeChanged: function() {
31         if (!this.tree.length)
32           return;
33
34         // Enforce the tree list, so we don't show a blank select value.
35         var option = this.$.treeSelect.querySelector('option[value="' + this.tree + '"]');
36         if (!option) {
37           // URL is incorrect. Replace with the root so we use the default tree.
38           this.asyncFire('navigate', {
39             url: '/',
40             replaceState: true
41           });
42         }
43       },
44     });
45   })();
46   </script>
47 </polymer-element>