Add counts to Task headers Add the total count next to the "Show All" header, and add the counts for "Needs + Blocked" next to that header. Change-Id: Ie340f8a7b1758e9aca219878ea716b3a38832a5d
diff --git a/gr-task-plugin/gr-task-plugin.html b/gr-task-plugin/gr-task-plugin.html index 7125ee1..c5c04ff 100644 --- a/gr-task-plugin/gr-task-plugin.html +++ b/gr-task-plugin/gr-task-plugin.html
@@ -46,10 +46,11 @@ <template is="dom-if" if="[[_expand_all]]"> <gr-button on-tap="_show_all_tap" - disabled="[[_is_show_all(_show_all)]]"> Show All </gr-button> + disabled="[[_is_show_all(_show_all)]]"> Show All ([[_all_count]]) </gr-button> <gr-button on-tap="_needs_and_blocked_tap" - disabled="[[!_is_show_all(_show_all)]]"> Needs + Blocked</gr-button> + disabled="[[!_is_show_all(_show_all)]]"> + Needs + Blocked ([[_ready_count]], [[_fail_count]]) </gr-button> </template> </div> </div>
diff --git a/gr-task-plugin/gr-task-plugin.js b/gr-task-plugin/gr-task-plugin.js index a58623c..3f284de 100644 --- a/gr-task-plugin/gr-task-plugin.js +++ b/gr-task-plugin/gr-task-plugin.js
@@ -51,6 +51,24 @@ notify: true, value: true, }, + + _all_count: { + type: Number, + notify: true, + value: 0, + }, + + _ready_count: { + type: Number, + notify: true, + value: 0, + }, + + _fail_count: { + type: Number, + notify: true, + value: 0, + }, }, _is_show_all(show_all) { @@ -122,12 +140,25 @@ return false; }, + _compute_counts(task) { + this._all_count++; + switch (task.status) { + case 'FAIL': + this._fail_count++; + break; + case 'READY': + this._ready_count++; + break; + } + }, + _addTasks(tasks) { // rename to process, remove DOM bits if (!tasks) return []; tasks.forEach(task => { task.message = task.hint || task.name; task.icon = this._computeIcon(task); task.showOnFilter = this._computeShowOnNeedsAndBlockedFilter(task); + this._compute_counts(task); this._addTasks(task.sub_tasks); }); return tasks;