| <!-- | 
 | @license | 
 | Copyright (C) 2016 The Android Open Source Project | 
 |  | 
 | Licensed under the Apache License, Version 2.0 (the "License"); | 
 | you may not use this file except in compliance with the License. | 
 | You may obtain a copy of the License at | 
 |  | 
 | http://www.apache.org/licenses/LICENSE-2.0 | 
 |  | 
 | Unless required by applicable law or agreed to in writing, software | 
 | distributed under the License is distributed on an "AS IS" BASIS, | 
 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | See the License for the specific language governing permissions and | 
 | limitations under the License. | 
 | --> | 
 | <link rel="import" href="../../../bower_components/polymer/polymer.html"> | 
 | <link rel="import" href="../../shared/gr-autocomplete/gr-autocomplete.html"> | 
 | <link rel="import" href="../../shared/gr-button/gr-button.html"> | 
 | <link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html"> | 
 | <link rel="import" href="../../../styles/gr-form-styles.html"> | 
 | <link rel="import" href="../../../styles/shared-styles.html"> | 
 |  | 
 | <dom-module id="gr-watched-projects-editor"> | 
 |   <template> | 
 |     <style include="shared-styles"></style> | 
 |     <style include="gr-form-styles"> | 
 |       #watchedProjects .notifType { | 
 |         text-align: center; | 
 |         padding: 0 0.4em; | 
 |       } | 
 |       .notifControl { | 
 |         cursor: pointer; | 
 |         text-align: center; | 
 |       } | 
 |       .notifControl:hover { | 
 |         outline: 1px solid var(--border-color); | 
 |       } | 
 |       .projectFilter { | 
 |         color: var(--deemphasized-text-color); | 
 |         font-style: italic; | 
 |         margin-left: 1em; | 
 |       } | 
 |       .newFilterInput { | 
 |         width: 100%; | 
 |       } | 
 |     </style> | 
 |     <div class="gr-form-styles"> | 
 |       <table id="watchedProjects"> | 
 |         <thead> | 
 |           <tr> | 
 |             <th>Repo</th> | 
 |             <template is="dom-repeat" items="[[_getTypes()]]"> | 
 |               <th class="notifType">[[item.name]]</th> | 
 |             </template> | 
 |             <th></th> | 
 |           </tr> | 
 |         </thead> | 
 |         <tbody> | 
 |           <template | 
 |               is="dom-repeat" | 
 |               items="[[_projects]]" | 
 |               as="project" | 
 |               index-as="projectIndex"> | 
 |             <tr> | 
 |               <td> | 
 |                 [[project.project]] | 
 |                 <template is="dom-if" if="[[project.filter]]"> | 
 |                   <div class="projectFilter">[[project.filter]]</div> | 
 |                 </template> | 
 |               </td> | 
 |               <template | 
 |                   is="dom-repeat" | 
 |                   items="[[_getTypes()]]" | 
 |                   as="type"> | 
 |                 <td class="notifControl" on-tap="_handleNotifCellTap"> | 
 |                   <input | 
 |                       type="checkbox" | 
 |                       data-index$="[[projectIndex]]" | 
 |                       data-key$="[[type.key]]" | 
 |                       on-change="_handleCheckboxChange" | 
 |                       checked$="[[_computeCheckboxChecked(project, type.key)]]"> | 
 |                 </td> | 
 |               </template> | 
 |               <td> | 
 |                 <gr-button | 
 |                     link | 
 |                     data-index$="[[projectIndex]]" | 
 |                     on-tap="_handleRemoveProject">Delete</gr-button> | 
 |               </td> | 
 |             </tr> | 
 |           </template> | 
 |         </tbody> | 
 |         <tfoot> | 
 |           <tr> | 
 |             <th> | 
 |               <gr-autocomplete | 
 |                   id="newProject" | 
 |                   query="[[_query]]" | 
 |                   threshold="1" | 
 |                   allow-non-suggested-values | 
 |                   tab-complete | 
 |                   placeholder="Repo"></gr-autocomplete> | 
 |             </th> | 
 |             <th colspan$="[[_getTypeCount()]]"> | 
 |               <input | 
 |                   id="newFilter" | 
 |                   class="newFilterInput" | 
 |                   is="iron-input" | 
 |                   placeholder="branch:name, or other search expression"> | 
 |             </th> | 
 |             <th> | 
 |               <gr-button link on-tap="_handleAddProject">Add</gr-button> | 
 |             </th> | 
 |           </tr> | 
 |         </tfoot> | 
 |       </table> | 
 |     </div> | 
 |     <gr-rest-api-interface id="restAPI"></gr-rest-api-interface> | 
 |   </template> | 
 |   <script src="gr-watched-projects-editor.js"></script> | 
 | </dom-module> |