Chromium Code Reviews| Index: go/src/infra/appengine/sheriff-o-matic/elements/som-app.html |
| diff --git a/go/src/infra/appengine/sheriff-o-matic/elements/som-app.html b/go/src/infra/appengine/sheriff-o-matic/elements/som-app.html |
| index 55249ea53920097c95f5b5556392f8ce40da332d..f2d920dd187452009e12732704152715f407180d 100644 |
| --- a/go/src/infra/appengine/sheriff-o-matic/elements/som-app.html |
| +++ b/go/src/infra/appengine/sheriff-o-matic/elements/som-app.html |
| @@ -21,6 +21,8 @@ |
| <link rel="import" href="/elements/som-bug-queue.html"> |
| <link rel="import" href="/elements/som-drawer.html"> |
| <link rel="import" href="/elements/som-examine.html"> |
| +<link rel="import" href="/elements/pages/som-help.html"> |
| +<link rel="import" href="/elements/pages/som-rotation-calendar.html"> |
| <dom-module id="som-app"> |
| <template> |
| @@ -34,41 +36,34 @@ |
| paper-header-panel /deep/ #mainContainer { |
| @apply(--layout-vertical); |
| } |
| - .last-updated, .user-name { |
| - text-align: right; |
| - padding-right: 1em; |
| - } |
| paper-header-panel[main] { |
| --paper-header-panel-body: { |
| background: #eee; |
| } |
| } |
| - .title { |
| - font-size: big; |
| - } |
| - .som-title { |
| - font-weight: bold; |
| + #alertsList { |
| + padding: 0; |
| } |
| - .list-item { |
| - @apply(--layout-flex); |
| - @apply(--layout-vertical); |
| + #noAlerts { |
| margin: 1em; |
| - border-bottom: 1px solid #ddd; |
| + text-align: center; |
| + font-size: 2.5em; |
| + line-height: 150%; |
| } |
| #refresh { |
| width: 25px; |
| height: 25px; |
| padding: 0; |
| } |
| - #alertsList { |
| - background: white; |
| - border-left: 1px solid #ddd; |
| + .last-updated, .user-name { |
| + text-align: right; |
| + padding-right: 1em; |
| } |
| - #noAlerts { |
| + .list-item { |
| + @apply(--layout-flex); |
| + @apply(--layout-vertical); |
| margin: 1em; |
| - text-align: center; |
| - font-size: 2.5em; |
| - line-height: 150%; |
| + border-bottom: 1px solid #ddd; |
| } |
| .notification { |
| box-sizing: border-box; |
| @@ -78,7 +73,17 @@ |
| border: 1px solid #666; |
| border-radius: 5px; |
| } |
| - |
| + .page-body { |
| + background: white; |
| + border-left: 1px solid #ddd; |
| + padding: 1em; |
| + } |
| + .som-title { |
| + font-weight: bold; |
| + } |
| + .title { |
| + font-size: big; |
| + } |
| @media (max-width: 1024px) { |
| .last-updated, .user-name { |
| padding-right: 0.5em; |
| @@ -106,7 +111,7 @@ |
| <paper-toolbar> |
| <span class="som-title">Sheriff-o-Matic</span> |
| </paper-toolbar> |
| - <som-drawer id="drawer" tree="[[_tree]]" path="{{_path}}" show-infra-failures="{{showInfraFailures}}" trees="{{_trees}}"></som-drawer> |
| + <som-drawer id="drawer" tree="[[_tree]]" path="{{_path}}" static-pages="[[_staticPages]]" show-infra-failures="{{showInfraFailures}}" trees="{{_trees}}"></som-drawer> |
| </paper-header-panel> |
| <paper-header-panel main id="mainHeaderPanel" class="flex layout vertical"> |
| <paper-toolbar> |
| @@ -123,40 +128,40 @@ |
| </div> |
| <paper-spinner active="[[_fetchingAlerts]]"></paper-spinner> |
| </paper-toolbar> |
| - <div class="flex layout vertical"> |
| - <iron-pages attr-for-selected='id' selected="[[_selectedPage]]" class="flex layout vertical"> |
| - <div id="alertsList"> |
| - <div class="list-item" hidden$="[[_hideWebkitNotice]]"> |
| - <div class="notification"> |
| - Chromium sheriffs: you now need to handle WebKit bot failures too. <a href="http://www.chromium.org/blink/sheriffing" target="_blank">More information</a>. |
| - </div> |
| - </div> |
| - <div id="noAlerts" hidden$="[[_haveAlerts]]"> |
| - No alerts! |
| - <br> |
| - <img src="/images/jparent-jump.gif" alt="Julie Jumping" title="Julie Jumping"> |
| - </div> |
| - <div id="alertsListInner"> |
| - <template is="dom-repeat" items="[[_alerts]]" as="alert"> |
| - <div class="list-item" tabindex$="[[tabIndex]]"> |
| - <som-alert-item |
| - alert="{{alert}}" |
| - tree="[[_tree]]" |
| - selected="[[selected]]" |
| - annotation="[[_computeAnnotation(annotations, alert)]]" |
| - on-annotation-change="_handleAnnotation" |
| - on-link-bug="_handleLinkBug" |
| - on-snooze="_handleSnooze" |
| - ></som-alert-item> |
| - </div> |
| - </template> |
| + <iron-pages attr-for-selected='id' selected="[[_selectedPage]]" class="flex layout vertical"> |
| + <div id="alertsList" class="page-body"> |
| + <div class="list-item" hidden$="[[_hideWebkitNotice]]"> |
| + <div class="notification"> |
| + Chromium sheriffs: you now need to handle WebKit bot failures too. <a href="http://www.chromium.org/blink/sheriffing" target="_blank">More information</a>. |
| </div> |
| </div> |
| - <div id="examineAlert" class="flex layout vertical"> |
| - <som-examine alert="[[_examinedAlert]]" class="flex layout vertical"></som-examine> |
| + <div id="noAlerts" hidden$="[[_haveAlerts]]"> |
| + No alerts! |
| + <br> |
| + <img src="/images/jparent-jump.gif" alt="Julie Jumping" title="Julie Jumping"> |
| </div> |
| - </iron-pages> |
| - </div> |
| + <div id="alertsListInner"> |
| + <template is="dom-repeat" items="[[_alerts]]" as="alert"> |
| + <div class="list-item" tabindex$="[[tabIndex]]"> |
| + <som-alert-item |
| + alert="{{alert}}" |
| + tree="[[_tree]]" |
| + selected="[[selected]]" |
| + annotation="[[_computeAnnotation(annotations, alert)]]" |
| + on-annotation-change="_handleAnnotation" |
| + on-link-bug="_handleLinkBug" |
| + on-snooze="_handleSnooze" |
| + ></som-alert-item> |
| + </div> |
| + </template> |
| + </div> |
| + </div> |
| + <div id="examineAlert" class="flex layout vertical page-body"> |
| + <som-examine alert="[[_examinedAlert]]" class="flex layout vertical"></som-examine> |
| + </div> |
| + <som-help id="helpSOM" class="page-body"></som-help> |
| + <som-rotation-calendar id="rotationCalendar" class="flex layout vertical page-body"></som-rotation-calendar> |
| + </iron-pages> |
| </paper-header-panel> |
| </paper-drawer-panel> |
| <paper-dialog id="bugDialog" with-backdrop entry-animation="scale-up-animation" exit-animation="fade-out-animation" on-iron-overlay-closed="_resetBugDialog"> |
| @@ -288,6 +293,19 @@ |
| type: String, |
| computed: '_computeTree(_path)', |
| }, |
| + _staticPages: { |
| + type: Object, |
| + value: { |
| + "help-som" : { |
| + pageId : "helpSOM", |
| + displayText : "How to Use", |
| + }, |
| + "calendar" : { |
| + pageId : "rotationCalendar", |
| + displayText : "Rotation Calendar", |
| + }, |
| + }, |
| + }, |
| _examinedAlert: { |
| type: Object, |
| computed: '_computeExaminedAlert(_alerts, _examinedAlertKey)', |
| @@ -332,7 +350,7 @@ |
| }, |
| _computeAlertsGroups: function(tree, trees) { |
| - if (tree === '') { |
| + if (tree === '' || tree in this._staticPages) { |
| return []; |
| } |
| @@ -350,10 +368,15 @@ |
| _computeSelectedPage: function(path) { |
| let pathParts = path.split('/'); |
| if (pathParts.length < 2) { |
| - console.error('error: pathParts < 2', pathParts); |
|
martiniss
2016/06/30 00:40:15
Why'd the semi-colon go away?
Tiff
2016/06/30 00:44:16
Oops, this was a mistake! Thanks! :D
|
| + console.error('error: pathParts < 2', pathParts) |
| } |
| - if (pathParts.length < 3) { |
| - return 'alertsList'; |
| + if (pathParts.length == 2) { |
| + if (pathParts[1] in this._staticPages) { |
| + return this._staticPages[pathParts[1]].pageId; |
| + } else { |
| + // On the page for a tree |
| + return 'alertsList'; |
| + } |
| } |
| if (pathParts[2] == 'examine') { |
| return 'examineAlert'; |