Improve UI * Make tasks UI a tab * Make UI compatible with dark mode * Replace icon to show/hide tasks with a button * Fix color of links to be consistent * Fix font of 'Tasks' header to be consistent * Improve spacing in the UI to be consistent Change-Id: Ia46244492db050f5ae2c16f418d2b0e28c15b5ea
diff --git a/gr-task-plugin/gr-task-plugin.js b/gr-task-plugin/gr-task-plugin.js index 01d22e3..3efcc2b 100644 --- a/gr-task-plugin/gr-task-plugin.js +++ b/gr-task-plugin/gr-task-plugin.js
@@ -207,6 +207,14 @@ _switch_expand() { this._expand_all = !this._expand_all; } + + _computeShowAllLabelText(showAllSections) { + if (showAllSections) { + return 'Hide all'; + } else { + return 'Show all'; + } + } } customElements.define(GrTaskPlugin.is, GrTaskPlugin);
diff --git a/gr-task-plugin/gr-task-plugin_html.js b/gr-task-plugin/gr-task-plugin_html.js index 71c995c..f24c6bd 100644 --- a/gr-task-plugin/gr-task-plugin_html.js +++ b/gr-task-plugin/gr-task-plugin_html.js
@@ -16,65 +16,104 @@ */ export const htmlTemplate = Polymer.html` -<style> - ul { - padding-left: 0.5em; - margin-top: 0; - } - h3 { - padding-left: 0.1em; - margin: 0 0 0 0; - } - .cursor { cursor: pointer; } - .links { - color: blue; - cursor: pointer; - text-decoration: underline; - } - #tasks_header { - align-items: center; - background-color: #fafafa; - border-top: 1px solid #ddd; - display: flex; - padding: 6px 1rem; - } - .no-margins { margin: 0 0 0 0; } + <style include="gr-a11y-styles"> + /* Workaround for empty style block - see https://github.com/Polymer/tools/issues/408 */ + </style> + <style include="shared-styles"> + .header { + align-items: center; + background-color: var(--background-color-primary); + border-bottom: 1px solid var(--border-color); + display: flex; + padding: var(--spacing-s) var(--spacing-l); + z-index: 99; /* Less than gr-overlay's backdrop */ + } + .headerTitle { + align-items: center; + display: flex; + flex: 1; + } + .headerSubject { + font-family: var(--header-font-family); + font-size: var(--font-size-h3); + font-weight: var(--font-weight-h3); + line-height: var(--line-height-h3); + margin-left: var(--spacing-l); + } + paper-tabs { + background-color: var(--background-color-tertiary); + margin-top: var(--spacing-m); + height: calc(var(--line-height-h3) + var(--spacing-m)); + --paper-tabs-selection-bar-color: var(--link-color); + } + paper-tab { + box-sizing: border-box; + max-width: 12em; + --paper-tab-ink: var(--link-color); + } + section { + background-color: var(--view-background-color); + box-shadow: var(--elevation-level-1); + } + ul { + padding-left: 0.5em; + margin-top: 0; + } + .links { + color: var(--link-color); + cursor: pointer; + text-decoration: underline; + } + .show-all-button iron-icon { + color: inherit; + --iron-icon-height: 18px; + --iron-icon-width: 18px; + } + .no-margins { margin: 0 0 0 0; } </style> <div id="tasks" hidden$="[[!_tasks.length]]"> - <div id="tasks_header" style="display: flex;"> - <iron-icon - icon="gr-icons:expand-less" - hidden$="[[!_expand_all]]" - on-tap="_switch_expand" - class="cursor"> </iron-icon> - <iron-icon - icon="gr-icons:expand-more" - hidden$="[[_expand_all]]" - on-tap="_switch_expand" - class="cursor"> </iron-icon> - <div style="display: flex; align-items: center; column-gap: 1em;"> - <h3 class="no-margins" on-tap="_switch_expand" class="cursor"> Tasks </h3> + <paper-tabs id="secondaryTabs" selected="0"> + <paper-tab + data-name$="Tasks" + class="Tasks" + > + Tasks + </paper-tab> + </paper-tabs> + <section class="TasksList"> + <div style="display: flex; align-items: center; column-gap: 1em; padding-top: 12px; padding-left: 12px"> <template is="dom-if" if="[[_is_show_all(_show_all)]]"> - <p class="no-margins" >All ([[_all_count]]) | + <p> All ([[_all_count]]) | <span on-click="_needs_and_blocked_tap" class="links">Needs + Blocked ([[_ready_count]], [[_fail_count]])</span> <p> </template> <template is="dom-if" if="[[!_is_show_all(_show_all)]]"> - <p class="no-margins" > <span + <p> <span class="links" on-click="_show_all_tap">All ([[_all_count]])</span> | Needs + Blocked ([[_ready_count]], [[_fail_count]])</p> </template> + <gr-button link="" class="show-all-button" on-click="_switch_expand" + >[[_computeShowAllLabelText(_expand_all)]] + <iron-icon + icon="gr-icons:expand-more" + hidden$="[[_expand_all]]" + ></iron-icon + ><iron-icon + icon="gr-icons:expand-less" + hidden$="[[!_expand_all]]" + ></iron-icon> + </gr-button> </div> - </div> - <div hidden$="[[!_expand_all]]"> + <div hidden$="[[!_expand_all]]" style="padding-bottom: 12px"> <ul style="list-style-type:none;"> <gr-task-plugin-tasks tasks="[[_tasks]]" show_all$="[[_show_all]]"> </gr-task-plugin-tasks> </ul> </div> + </section> </div>`;