OLD | NEW |
1 <!-- | 1 <!-- |
2 Copyright 2017 The LUCI Authors. All rights reserved. | 2 Copyright 2017 The LUCI Authors. All rights reserved. |
3 Use of this source code is governed under the Apache License, Version 2.0 | 3 Use of this source code is governed under the Apache License, Version 2.0 |
4 that can be found in the LICENSE file. | 4 that can be found in the LICENSE file. |
5 --> | 5 --> |
6 | 6 |
7 <link rel="import" href="../../bower_components/app-layout/app-layout.html"> | 7 <link rel="import" href="../../bower_components/app-layout/app-layout.html"> |
8 <link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html"> | 8 <link rel="import" href="../../bower_components/iron-ajax/iron-ajax.html"> |
9 <link rel="import" href="../../bower_components/paper-button/paper-button.html"> | 9 <link rel="import" href="../../bower_components/paper-button/paper-button.html"> |
10 <link rel="import" href="../../bower_components/paper-search/paper-search-bar.ht
ml"> | 10 <link rel="import" href="../../bower_components/paper-search/paper-search-bar.ht
ml"> |
(...skipping 30 matching lines...) Expand all Loading... |
41 | 41 |
42 paper-search-bar { | 42 paper-search-bar { |
43 @apply --shadow-elevation-4dp; | 43 @apply --shadow-elevation-4dp; |
44 width: 40%; | 44 width: 40%; |
45 height: 100%; | 45 height: 100%; |
46 margin: auto; | 46 margin: auto; |
47 } | 47 } |
48 </style> | 48 </style> |
49 | 49 |
50 <iron-ajax | 50 <iron-ajax |
51 auto | |
52 id="requestConfigs" | 51 id="requestConfigs" |
53 url="/_ah/api/config/v1/config-sets?include_last_import_attempt=true" | 52 url="/_ah/api/config/v1/config-sets?include_last_import_attempt=true" |
54 handle-as="json" | 53 handle-as="json" |
55 on-response="_onGotConfigSets" | 54 on-response="_onGotConfigSets" |
56 headers="[[auth_headers]]"> | 55 headers="[[auth_headers]]"> |
57 </iron-ajax> | 56 </iron-ajax> |
58 | 57 |
59 <div class="search-bar"> | 58 <div class="search-bar"> |
60 <paper-search-bar | 59 <paper-search-bar |
61 query="{{query}}" | 60 query="{{query}}" |
(...skipping 21 matching lines...) Expand all Loading... |
83 </template> | 82 </template> |
84 </template> | 83 </template> |
85 </template> | 84 </template> |
86 </div> | 85 </div> |
87 </template> | 86 </template> |
88 <script> | 87 <script> |
89 Polymer({ | 88 Polymer({ |
90 is: 'front-page', | 89 is: 'front-page', |
91 | 90 |
92 properties: { | 91 properties: { |
| 92 auth_headers: { |
| 93 type: Object, |
| 94 value: () => null, |
| 95 observer: '_fetchConfigs' |
| 96 }, |
| 97 |
93 configSetList: { | 98 configSetList: { |
94 type: Array, | 99 type: Array, |
95 value: () => [] | 100 value: () => [] |
96 }, | 101 }, |
97 | 102 |
98 isLoading: { | 103 isLoading: { |
99 type: Boolean, | 104 type: Boolean, |
100 value: true | 105 value: true |
101 }, | 106 }, |
102 | 107 |
103 query: { | 108 query: { |
104 type: String, | 109 type: String, |
105 observer: '_updateSearchResults' | 110 observer: '_updateSearchResults' |
106 }, | 111 }, |
107 | 112 |
108 searchResults: { | 113 searchResults: { |
109 type: Array, | 114 type: Array, |
110 value: () => [] | 115 value: () => [] |
| 116 }, |
| 117 |
| 118 user: { |
| 119 type: Object, |
| 120 value: () => null, |
| 121 notify: true, |
| 122 observer: '_fetchConfigs' |
111 } | 123 } |
112 }, | 124 }, |
113 | 125 |
| 126 _fetchConfigs: function() { |
| 127 if (this.initialized && this.user) { |
| 128 if (this.user.getBasicProfile()) { |
| 129 if (this.auth_headers) { |
| 130 this.isLoading = true; |
| 131 this.$.requestConfigs.generateRequest(); |
| 132 } |
| 133 } else { |
| 134 this.isLoading = true; |
| 135 this.$.requestConfigs.generateRequest(); |
| 136 } |
| 137 } |
| 138 }, |
| 139 |
114 _formatName: function(name) { | 140 _formatName: function(name) { |
115 var tempName = name.substring(name.indexOf("/") + 1); | 141 var tempName = name.substring(name.indexOf("/") + 1); |
116 return tempName.includes("/") ? | 142 return tempName.includes("/") ? |
117 tempName.substring(0, tempName.indexOf("/")) : tempName; | 143 tempName.substring(0, tempName.indexOf("/")) : tempName; |
118 }, | 144 }, |
119 | 145 |
120 _getLastImportAttempt: function(lastImportAttempt) { | 146 _getLastImportAttempt: function(lastImportAttempt) { |
121 if (lastImportAttempt) { | 147 if (lastImportAttempt) { |
122 return lastImportAttempt; | 148 return lastImportAttempt; |
123 } else { | 149 } else { |
(...skipping 22 matching lines...) Expand all Loading... |
146 var tempResults = this.configSetList.filter(e => e.config_set.includes(t
his.query)); | 172 var tempResults = this.configSetList.filter(e => e.config_set.includes(t
his.query)); |
147 tempResults.sort(function(a, b) { | 173 tempResults.sort(function(a, b) { |
148 return this._formatName(a.config_set).localeCompare(this._formatName(b
.config_set)); | 174 return this._formatName(a.config_set).localeCompare(this._formatName(b
.config_set)); |
149 }.bind(this)); | 175 }.bind(this)); |
150 this.searchResults = tempResults; | 176 this.searchResults = tempResults; |
151 }, | 177 }, |
152 | 178 |
153 }); | 179 }); |
154 </script> | 180 </script> |
155 </dom-module> | 181 </dom-module> |
OLD | NEW |