PolyGerrit: Add support for showing or hiding the star from the change list
Bug: Issue 7406
Change-Id: Ia7be6898bc00dbe9273f061761566587786f930e
(cherry picked from commit 0771a491c8
)
This commit is contained in:
@@ -25,6 +25,7 @@ limitations under the License.
|
||||
columnNames: {
|
||||
type: Array,
|
||||
value: [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
|
@@ -58,6 +58,7 @@ limitations under the License.
|
||||
|
||||
test('getComplementColumns', () => {
|
||||
let columns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -70,6 +71,7 @@ limitations under the License.
|
||||
assert.deepEqual(element.getComplementColumns(columns), []);
|
||||
|
||||
columns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Assignee',
|
||||
@@ -84,6 +86,7 @@ limitations under the License.
|
||||
test('isColumnHidden', () => {
|
||||
const columnToCheck = 'Project';
|
||||
let columnsToDisplay = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -96,6 +99,7 @@ limitations under the License.
|
||||
assert.isFalse(element.isColumnHidden(columnToCheck, columnsToDisplay));
|
||||
|
||||
columnsToDisplay = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
|
@@ -109,7 +109,8 @@ limitations under the License.
|
||||
<td class="cell keyboard">
|
||||
<span class="positionIndicator">▶</span>
|
||||
</td>
|
||||
<td class="cell star" hidden$="[[!showStar]]" hidden>
|
||||
<td class="cell star"
|
||||
hidden$="[[_computeHideStar(loggedIn, visibleChangeTableColumns)]]">
|
||||
<gr-change-star change="{{change}}"></gr-change-star>
|
||||
</td>
|
||||
<td class="cell number" hidden$="[[!showNumber]]" hidden>
|
||||
|
@@ -29,11 +29,8 @@
|
||||
type: String,
|
||||
computed: '_computeChangeURL(change)',
|
||||
},
|
||||
showStar: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
showNumber: Boolean,
|
||||
loggedIn: Boolean,
|
||||
},
|
||||
|
||||
behaviors: [
|
||||
@@ -115,5 +112,10 @@
|
||||
if (!change.topic) { return ''; }
|
||||
return Gerrit.Nav.getUrlForTopic(change.topic);
|
||||
},
|
||||
|
||||
_computeHideStar(loggedIn, visibleChangeTableColumns) {
|
||||
return !loggedIn ||
|
||||
this.isColumnHidden('Star', visibleChangeTableColumns) ? true : false;
|
||||
},
|
||||
});
|
||||
})();
|
||||
|
@@ -116,6 +116,7 @@ limitations under the License.
|
||||
|
||||
test('no hidden columns', () => {
|
||||
element.visibleChangeTableColumns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -136,6 +137,7 @@ limitations under the License.
|
||||
|
||||
test('no hidden columns', () => {
|
||||
element.visibleChangeTableColumns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -156,6 +158,7 @@ limitations under the License.
|
||||
|
||||
test('project column hidden', () => {
|
||||
element.visibleChangeTableColumns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
|
@@ -64,8 +64,7 @@ limitations under the License.
|
||||
class$="[[_computeUserHeaderClass(_userId)]]"></gr-user-header>
|
||||
<gr-change-list
|
||||
changes="{{_changes}}"
|
||||
selected-index="{{viewState.selectedChangeIndex}}"
|
||||
show-star="[[loggedIn]]"></gr-change-list>
|
||||
selected-index="{{viewState.selectedChangeIndex}}"></gr-change-list>
|
||||
<nav>
|
||||
<a id="prevArrow"
|
||||
href$="[[_computeNavLink(_query, _offset, -1, _changesPerPage)]]"
|
||||
|
@@ -58,10 +58,11 @@ limitations under the License.
|
||||
<table id="changeList">
|
||||
<tr class="headerRow">
|
||||
<th class="topHeader keyboard"></th>
|
||||
<th class="topHeader star" hidden$="[[!showStar]]" hidden></th>
|
||||
<th class="topHeader star"
|
||||
hidden$="[[_computeHideStar(_loggedIn, visibleChangeTableColumns)]]"></th>
|
||||
<th class="topHeader number" hidden$="[[!showNumber]]" hidden>#</th>
|
||||
<template is="dom-repeat" items="[[changeTableColumns]]" as="item">
|
||||
<th class$="[[_lowerCase(item)]] topHeader"
|
||||
<th class$="topHeader [[_lowerCase(item)]]"
|
||||
hidden$="[[isColumnHidden(item, visibleChangeTableColumns)]]">
|
||||
[[item]]
|
||||
</th>
|
||||
@@ -100,8 +101,8 @@ limitations under the License.
|
||||
change="[[change]]"
|
||||
visible-change-table-columns="[[visibleChangeTableColumns]]"
|
||||
show-number="[[showNumber]]"
|
||||
show-star="[[showStar]]"
|
||||
label-names="[[labelNames]]"></gr-change-list-item>
|
||||
label-names="[[labelNames]]"
|
||||
logged-in="[[_loggedIn]]"></gr-change-list-item>
|
||||
</template>
|
||||
</template>
|
||||
</table>
|
||||
|
@@ -75,10 +75,6 @@
|
||||
notify: true,
|
||||
},
|
||||
showNumber: Boolean, // No default value to prevent flickering.
|
||||
showStar: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
showReviewedState: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
@@ -89,6 +85,10 @@
|
||||
},
|
||||
changeTableColumns: Array,
|
||||
visibleChangeTableColumns: Array,
|
||||
_loggedIn: {
|
||||
type: Boolean,
|
||||
value: false,
|
||||
},
|
||||
},
|
||||
|
||||
behaviors: [
|
||||
@@ -137,7 +137,11 @@
|
||||
|
||||
_loadPreferences() {
|
||||
return this._getLoggedIn().then(loggedIn => {
|
||||
this.changeTableColumns = this.columnNames;
|
||||
this._loggedIn = loggedIn;
|
||||
|
||||
this.changeTableColumns = this.columnNames.filter(column => {
|
||||
return column !== 'Star';
|
||||
});
|
||||
|
||||
if (!loggedIn) {
|
||||
this.showNumber = false;
|
||||
@@ -314,6 +318,11 @@
|
||||
return null;
|
||||
},
|
||||
|
||||
_computeHideStar(loggedIn, visibleChangeTableColumns) {
|
||||
return !loggedIn ||
|
||||
this.isColumnHidden('Star', visibleChangeTableColumns) ? true : false;
|
||||
},
|
||||
|
||||
_getListItems() {
|
||||
return Polymer.dom(this.root).querySelectorAll('gr-change-list-item');
|
||||
},
|
||||
|
@@ -301,6 +301,7 @@ limitations under the License.
|
||||
legacycid_in_change_table: true,
|
||||
time_format: 'HHMM_12',
|
||||
change_table: [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -332,6 +333,7 @@ limitations under the License.
|
||||
legacycid_in_change_table: true,
|
||||
time_format: 'HHMM_12',
|
||||
change_table: [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
|
@@ -43,7 +43,6 @@ limitations under the License.
|
||||
<div class="loading" hidden$="[[!_loading]]">Loading...</div>
|
||||
<div hidden$="[[_loading]]" hidden>
|
||||
<gr-change-list
|
||||
show-star
|
||||
show-reviewed-state
|
||||
account="[[account]]"
|
||||
selected-index="{{viewState.selectedChangeIndex}}"
|
||||
|
@@ -42,6 +42,7 @@ limitations under the License.
|
||||
sandbox = sinon.sandbox.create();
|
||||
|
||||
columns = [
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
@@ -147,6 +148,7 @@ limitations under the License.
|
||||
let checked = false;
|
||||
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
|
||||
[
|
||||
'Star',
|
||||
'Status',
|
||||
'Owner',
|
||||
'Assignee',
|
||||
@@ -158,6 +160,7 @@ limitations under the License.
|
||||
checked = true;
|
||||
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
|
||||
[
|
||||
'Star',
|
||||
'Subject',
|
||||
'Status',
|
||||
'Owner',
|
||||
|
Reference in New Issue
Block a user