Modify change table editor so that all columns are in a single section
Previously the change table editor had a section for shown columns and a separate one for hidden columns. From the shown columns section, you could 'delete' a column, and from the hidden section, you could 'add' a column. This was confusing for users, particularly when there were no hidden columns. This change keeps all columns in the section, but instead adds checkbox indicating whether or not each column should be visible. Bug: Issue 5547 Change-Id: I65d1afd4c5e3e9cbbf823ad5773db1f13ca182ef
This commit is contained in:
parent
b3ae6f0d6a
commit
14aa6ab6fc
|
@ -19,22 +19,28 @@ limitations under the License.
|
||||||
|
|
||||||
/** @polymerBehavior Gerrit.ChangeTableBehavior */
|
/** @polymerBehavior Gerrit.ChangeTableBehavior */
|
||||||
var ChangeTableBehavior = {
|
var ChangeTableBehavior = {
|
||||||
CHANGE_TABLE_COLUMNS: [
|
properties: {
|
||||||
'Subject',
|
columnNames: {
|
||||||
'Status',
|
type: Array,
|
||||||
'Owner',
|
value: [
|
||||||
'Project',
|
'Subject',
|
||||||
'Branch',
|
'Status',
|
||||||
'Updated',
|
'Owner',
|
||||||
'Size',
|
'Project',
|
||||||
],
|
'Branch',
|
||||||
|
'Updated',
|
||||||
|
'Size',
|
||||||
|
],
|
||||||
|
readOnly: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the complement to the given column array
|
* Returns the complement to the given column array
|
||||||
* @param {Array} columns
|
* @param {Array} columns
|
||||||
*/
|
*/
|
||||||
getComplementColumns: function(columns) {
|
getComplementColumns: function(columns) {
|
||||||
return this.CHANGE_TABLE_COLUMNS.filter(function(column) {
|
return this.columnNames.filter(function(column) {
|
||||||
return columns.indexOf(column) === -1;
|
return columns.indexOf(column) === -1;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -151,7 +151,7 @@ limitations under the License.
|
||||||
|
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
|
|
||||||
element.CHANGE_TABLE_COLUMNS.forEach(function(column) {
|
element.columnNames.forEach(function(column) {
|
||||||
var elementClass = '.' + column.toLowerCase();
|
var elementClass = '.' + column.toLowerCase();
|
||||||
assert.isFalse(element.$$(elementClass).hidden);
|
assert.isFalse(element.$$(elementClass).hidden);
|
||||||
});
|
});
|
||||||
|
@ -170,7 +170,7 @@ limitations under the License.
|
||||||
|
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
|
|
||||||
element.CHANGE_TABLE_COLUMNS.forEach(function(column) {
|
element.columnNames.forEach(function(column) {
|
||||||
var elementClass = '.' + column.toLowerCase();
|
var elementClass = '.' + column.toLowerCase();
|
||||||
assert.isFalse(element.$$(elementClass).hidden);
|
assert.isFalse(element.$$(elementClass).hidden);
|
||||||
});
|
});
|
||||||
|
@ -188,7 +188,7 @@ limitations under the License.
|
||||||
|
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
|
|
||||||
element.CHANGE_TABLE_COLUMNS.forEach(function(column) {
|
element.columnNames.forEach(function(column) {
|
||||||
var elementClass = '.' + column.toLowerCase();
|
var elementClass = '.' + column.toLowerCase();
|
||||||
if (column === 'Project') {
|
if (column === 'Project') {
|
||||||
assert.isTrue(element.$$(elementClass).hidden);
|
assert.isTrue(element.$$(elementClass).hidden);
|
||||||
|
|
|
@ -111,18 +111,18 @@
|
||||||
|
|
||||||
_loadPreferences: function() {
|
_loadPreferences: function() {
|
||||||
return this._getLoggedIn().then(function(loggedIn) {
|
return this._getLoggedIn().then(function(loggedIn) {
|
||||||
this.changeTableColumns = this.CHANGE_TABLE_COLUMNS;
|
this.changeTableColumns = this.columnNames;
|
||||||
|
|
||||||
if (!loggedIn) {
|
if (!loggedIn) {
|
||||||
this.showNumber = false;
|
this.showNumber = false;
|
||||||
this.visibleChangeTableColumns = this.CHANGE_TABLE_COLUMNS;
|
this.visibleChangeTableColumns = this.columnNames;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return this._getPreferences().then(function(preferences) {
|
return this._getPreferences().then(function(preferences) {
|
||||||
this.showNumber = !!(preferences &&
|
this.showNumber = !!(preferences &&
|
||||||
preferences.legacycid_in_change_table);
|
preferences.legacycid_in_change_table);
|
||||||
this.visibleChangeTableColumns = preferences.change_table.length > 0 ?
|
this.visibleChangeTableColumns = preferences.change_table.length > 0 ?
|
||||||
preferences.change_table : this.CHANGE_TABLE_COLUMNS;
|
preferences.change_table : this.columnNames;
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
|
@ -266,7 +266,7 @@ limitations under the License.
|
||||||
});
|
});
|
||||||
|
|
||||||
test('all columns visible', function() {
|
test('all columns visible', function() {
|
||||||
element.CHANGE_TABLE_COLUMNS.forEach(function(column) {
|
element.columnNames.forEach(function(column) {
|
||||||
var elementClass = '.' + element._lowerCase(column);
|
var elementClass = '.' + element._lowerCase(column);
|
||||||
assert.isFalse(element.$$(elementClass).hidden);
|
assert.isFalse(element.$$(elementClass).hidden);
|
||||||
});
|
});
|
||||||
|
|
|
@ -25,21 +25,19 @@ limitations under the License.
|
||||||
<dom-module id="gr-change-table-editor">
|
<dom-module id="gr-change-table-editor">
|
||||||
<template>
|
<template>
|
||||||
<style>
|
<style>
|
||||||
|
table {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
th.nameHeader {
|
th.nameHeader {
|
||||||
width: 11em;
|
width: 11em;
|
||||||
}
|
}
|
||||||
tbody tr:first-of-type td .move-up-button,
|
td.checkboxContainer {
|
||||||
tbody tr:last-of-type td .move-down-button {
|
border: 1px solid #fff;
|
||||||
display: none;
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
.newTitleInput {
|
td.checkboxContainer:hover {
|
||||||
width: 10em;
|
border: 1px solid #ddd;
|
||||||
}
|
|
||||||
.newUrlInput {
|
|
||||||
width: 23em;
|
|
||||||
}
|
|
||||||
.addOptions {
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style include="gr-settings-styles"></style>
|
<style include="gr-settings-styles"></style>
|
||||||
|
@ -48,47 +46,24 @@ limitations under the License.
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="nameHeader">Column</th>
|
<th class="nameHeader">Column</th>
|
||||||
|
<th>Visible</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<template is="dom-repeat" items="[[changeTableItems]]">
|
<template is="dom-repeat" items="[[columnNames]]">
|
||||||
<tr>
|
<tr>
|
||||||
<td>[[item]]</td>
|
<td>[[item]]</td>
|
||||||
<td>
|
<td class="checkboxContainer"
|
||||||
<gr-button
|
on-tap="_handleTargetTap">
|
||||||
data-index="[[index]]"
|
<input
|
||||||
on-tap="_handleDeleteButton"
|
type="checkbox"
|
||||||
class="remove-button">Delete</gr-button>
|
name="[[item]]"
|
||||||
|
checked$="[[!isColumnHidden(item, displayedColumns)]]">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<template is="dom-if" if="[[changeTableNotDisplayed.length]]">
|
|
||||||
<table class="addOptions">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="nameHeader">Hidden</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<template is="dom-repeat" items="[[changeTableNotDisplayed]]">
|
|
||||||
<tr>
|
|
||||||
<td>[[item]]</td>
|
|
||||||
<td>
|
|
||||||
<gr-button
|
|
||||||
on-tap="_handleAddButton"
|
|
||||||
class="add-button"
|
|
||||||
data-index="[[index]]">
|
|
||||||
Add
|
|
||||||
</gr-button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</template>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</template>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script src="gr-change-table-editor.js"></script>
|
<script src="gr-change-table-editor.js"></script>
|
||||||
|
|
|
@ -18,33 +18,44 @@
|
||||||
is: 'gr-change-table-editor',
|
is: 'gr-change-table-editor',
|
||||||
|
|
||||||
properties: {
|
properties: {
|
||||||
changeTableItems: Array,
|
displayedColumns: {
|
||||||
changeTableNotDisplayed: Array,
|
type: Array,
|
||||||
|
notify: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
behaviors: [
|
behaviors: [
|
||||||
Gerrit.ChangeTableBehavior,
|
Gerrit.ChangeTableBehavior,
|
||||||
],
|
],
|
||||||
|
|
||||||
_handleDeleteButton: function(e) {
|
_getButtonText: function(isShown) {
|
||||||
var index = e.target.dataIndex;
|
return isShown ? 'Hide' : 'Show';
|
||||||
this.splice('changeTableItems', index, 1);
|
|
||||||
|
|
||||||
// Use the change table behavior to make sure ordering of unused
|
|
||||||
// columns ends up in the correct order. If the removed item is appended
|
|
||||||
// to the end, when it is saved, the unused column order may shift around.
|
|
||||||
this.set('changeTableNotDisplayed',
|
|
||||||
this.getComplementColumns(this.changeTableItems));
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleAddButton: function(e) {
|
_updateDisplayedColumns: function(displayedColumns, name, checked) {
|
||||||
var index = e.target.dataIndex;
|
if (!checked) {
|
||||||
var newColumn = this.changeTableNotDisplayed[index];
|
return displayedColumns.filter(function(column) {
|
||||||
this.splice('changeTableNotDisplayed', index, 1);
|
return name.toLowerCase() !== column.toLowerCase();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return displayedColumns.concat([name]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
this.splice('changeTableItems', this.getComplementColumns(
|
/**
|
||||||
this.changeTableNotDisplayed).indexOf(newColumn), 0, newColumn);
|
* Handles tap on either the checkbox itself or the surrounding table cell.
|
||||||
|
*/
|
||||||
|
_handleTargetTap: function(e) {
|
||||||
|
var checkbox = Polymer.dom(e.target).querySelector('input');
|
||||||
|
if (checkbox) {
|
||||||
|
checkbox.click();
|
||||||
|
} else {
|
||||||
|
// The target is the checkbox itself.
|
||||||
|
checkbox = Polymer.dom(event).rootTarget;
|
||||||
|
}
|
||||||
|
this.set('displayedColumns',
|
||||||
|
this._updateDisplayedColumns(
|
||||||
|
this.displayedColumns, checkbox.name, checkbox.checked));
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -31,22 +31,15 @@ limitations under the License.
|
||||||
</test-fixture>
|
</test-fixture>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
suite('gr-settings-view tests', function() {
|
suite('gr-change-table-editor tests', function() {
|
||||||
var element;
|
var element;
|
||||||
var columns;
|
var columns;
|
||||||
|
var sandbox;
|
||||||
// Click the up/down button (according to direction) for the index'th row.
|
|
||||||
// The index of the first row is 0, corresponding to the array.
|
|
||||||
function move(element, index, direction) {
|
|
||||||
var selector =
|
|
||||||
'tr:nth-child(' + (index + 1) + ') .move-' + direction + '-button';
|
|
||||||
var button = element.$$('tbody').querySelector(selector);
|
|
||||||
MockInteractions.tap(button);
|
|
||||||
flushAsynchronousOperations();
|
|
||||||
}
|
|
||||||
|
|
||||||
setup(function() {
|
setup(function() {
|
||||||
element = fixture('basic');
|
element = fixture('basic');
|
||||||
|
sandbox = sinon.sandbox.create();
|
||||||
|
|
||||||
columns = [
|
columns = [
|
||||||
'Subject',
|
'Subject',
|
||||||
'Status',
|
'Status',
|
||||||
|
@ -56,138 +49,104 @@ limitations under the License.
|
||||||
'Updated',
|
'Updated',
|
||||||
];
|
];
|
||||||
|
|
||||||
columnsNotDisplayed = ['Size'];
|
element.set('displayedColumns', columns);
|
||||||
|
|
||||||
element.set('changeTableItems', columns);
|
|
||||||
element.set('changeTableNotDisplayed', columnsNotDisplayed);
|
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
teardown(function() {
|
||||||
|
sandbox.restore();
|
||||||
|
});
|
||||||
|
|
||||||
test('renders', function() {
|
test('renders', function() {
|
||||||
var rows = element.$$('tbody').querySelectorAll('tr');
|
var rows = element.$$('tbody').querySelectorAll('tr');
|
||||||
var tds;
|
var tds;
|
||||||
|
|
||||||
assert.equal(rows.length, columns.length);
|
assert.equal(rows.length, element.columnNames.length);
|
||||||
for (var i = 0; i < columns.length; i++) {
|
for (var i = 0; i < columns.length; i++) {
|
||||||
tds = rows[i].querySelectorAll('td');
|
tds = rows[i].querySelectorAll('td');
|
||||||
assert.equal(tds[0].textContent, columns[i]);
|
assert.equal(tds[0].textContent, columns[i]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
test('add hidden item', function() {
|
test('hide item', function() {
|
||||||
var originalNumberColumns = element.changeTableItems.length;
|
var checkbox = element.$$('table input');
|
||||||
var originalNumberHiddenColumns = element.changeTableNotDisplayed.length;
|
var isChecked = checkbox.checked;
|
||||||
|
var displayedLength = element.displayedColumns.length;
|
||||||
|
assert.isTrue(isChecked);
|
||||||
|
|
||||||
var addBtn = element.$$('.addOptions gr-button');
|
MockInteractions.tap(checkbox);
|
||||||
var columnName = element.$$('.addOptions tr td').innerHTML;
|
|
||||||
|
|
||||||
assert.equal(element.$$('.addOptions').style.display, '');
|
|
||||||
|
|
||||||
MockInteractions.tap(addBtn);
|
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
|
|
||||||
assert.equal(element.changeTableItems.length, originalNumberColumns + 1);
|
assert.equal(element.displayedColumns.length,
|
||||||
assert.equal(element.changeTableNotDisplayed.length,
|
displayedLength - 1);
|
||||||
originalNumberHiddenColumns - 1);
|
|
||||||
|
|
||||||
assert.equal(
|
|
||||||
element.changeTableItems[element.changeTableItems.length - 1],
|
|
||||||
columnName);
|
|
||||||
|
|
||||||
assert.equal(element.$$('.addOptions').style.display, 'none');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('remove item', function() {
|
test('show item', function() {
|
||||||
var columns = element.changeTableItems.length;
|
element.set('displayedColumns', [
|
||||||
assert.deepEqual(element.changeTableItems, [
|
|
||||||
'Subject',
|
|
||||||
'Status',
|
'Status',
|
||||||
'Owner',
|
'Owner',
|
||||||
'Project',
|
'Project',
|
||||||
'Branch',
|
'Branch',
|
||||||
'Updated',
|
'Updated',
|
||||||
]);
|
]);
|
||||||
|
flushAsynchronousOperations();
|
||||||
|
var checkbox = element.$$('table input');
|
||||||
|
var isChecked = checkbox.checked;
|
||||||
|
var displayedLength = element.displayedColumns.length;
|
||||||
|
assert.isFalse(isChecked);
|
||||||
|
assert.equal(element.$$('table').style.display, '');
|
||||||
|
|
||||||
// Tap the delete button for the second item.
|
MockInteractions.tap(checkbox);
|
||||||
MockInteractions.tap(
|
flushAsynchronousOperations();
|
||||||
element.$$('tbody').querySelector('tr:nth-child(2) .remove-button'));
|
|
||||||
|
|
||||||
assert.deepEqual(element.changeTableItems, [
|
assert.equal(element.displayedColumns.length,
|
||||||
'Subject',
|
displayedLength + 1);
|
||||||
'Owner',
|
|
||||||
'Project',
|
|
||||||
'Branch',
|
|
||||||
'Updated',
|
|
||||||
]);
|
|
||||||
|
|
||||||
assert.deepEqual(element.changeTableNotDisplayed, [
|
|
||||||
'Status',
|
|
||||||
'Size',
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Delete remaining items.
|
|
||||||
for (var i = 0; i < columns - 1; i++) {
|
|
||||||
MockInteractions.tap(
|
|
||||||
element.$$('tbody').querySelector('tr:first-child .remove-button'));
|
|
||||||
}
|
|
||||||
assert.deepEqual(element.changeTableItems, []);
|
|
||||||
assert.deepEqual(element.changeTableNotDisplayed, [
|
|
||||||
'Subject',
|
|
||||||
'Status',
|
|
||||||
'Owner',
|
|
||||||
'Project',
|
|
||||||
'Branch',
|
|
||||||
'Updated',
|
|
||||||
'Size',
|
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
test('add item', function() {
|
test('_handleTargetTap', function() {
|
||||||
|
var checkbox = element.$$('table input');
|
||||||
|
var originalDisplayedColumns = element.displayedColumns;
|
||||||
|
var td = element.$$('table .checkboxContainer');
|
||||||
|
var displayedColumnStub =
|
||||||
|
sandbox.stub(element, '_updateDisplayedColumns');
|
||||||
|
|
||||||
element.set('changeTableItems', [
|
MockInteractions.tap(checkbox);
|
||||||
'Status',
|
assert.isTrue(displayedColumnStub.lastCall.calledWithExactly(
|
||||||
'Owner',
|
originalDisplayedColumns,
|
||||||
'Project',
|
checkbox.name,
|
||||||
'Branch',
|
checkbox.checked));
|
||||||
'Updated',
|
|
||||||
]);
|
|
||||||
|
|
||||||
element.set('changeTableNotDisplayed', ['Subject', 'Size']);
|
originalDisplayedColumns = element.displayedColumns;
|
||||||
|
MockInteractions.tap(td);
|
||||||
|
assert.isTrue(displayedColumnStub.lastCall.calledWithExactly(
|
||||||
|
originalDisplayedColumns,
|
||||||
|
checkbox.name,
|
||||||
|
checkbox.checked));
|
||||||
|
});
|
||||||
|
|
||||||
var columns = element.changeTableItems.length;
|
test('_updateDisplayedColumns', function() {
|
||||||
flushAsynchronousOperations();
|
var name = 'Subject';
|
||||||
|
var checked = false;
|
||||||
// Tap the add button for the second item.
|
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
|
||||||
MockInteractions.tap(
|
[
|
||||||
element.$$('.addOptions').querySelector(
|
'Status',
|
||||||
'tr:nth-child(2) .add-button'));
|
'Owner',
|
||||||
|
'Project',
|
||||||
flushAsynchronousOperations();
|
'Branch',
|
||||||
assert.deepEqual(element.changeTableItems, [
|
'Updated',
|
||||||
'Status',
|
]);
|
||||||
'Owner',
|
name = 'Size';
|
||||||
'Project',
|
checked = true;
|
||||||
'Branch',
|
assert.deepEqual(element._updateDisplayedColumns(columns, name, checked),
|
||||||
'Updated',
|
[
|
||||||
'Size',
|
'Subject',
|
||||||
]);
|
'Status',
|
||||||
assert.deepEqual(element.changeTableNotDisplayed, ['Subject']);
|
'Owner',
|
||||||
|
'Project',
|
||||||
// Add remaining item.
|
'Branch',
|
||||||
MockInteractions.tap(
|
'Updated',
|
||||||
element.$$('.addOptions').querySelector('.add-button'));
|
'Size',
|
||||||
flushAsynchronousOperations();
|
]);
|
||||||
|
|
||||||
assert.deepEqual(element.changeTableNotDisplayed, []);
|
|
||||||
assert.deepEqual(element.changeTableItems, [
|
|
||||||
'Subject',
|
|
||||||
'Status',
|
|
||||||
'Owner',
|
|
||||||
'Project',
|
|
||||||
'Branch',
|
|
||||||
'Updated',
|
|
||||||
'Size'
|
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -314,8 +314,7 @@ limitations under the License.
|
||||||
</h2>
|
</h2>
|
||||||
<fieldset id="changeTableColumns">
|
<fieldset id="changeTableColumns">
|
||||||
<gr-change-table-editor
|
<gr-change-table-editor
|
||||||
change-table-items="{{_localChangeTableColumns}}"
|
displayed-columns="{{_localChangeTableColumns}}">
|
||||||
change-table-not-displayed="{{_changeTableColumnsNotDisplayed}}">
|
|
||||||
</gr-change-table-editor>
|
</gr-change-table-editor>
|
||||||
<gr-button
|
<gr-button
|
||||||
id="saveChangeTable"
|
id="saveChangeTable"
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
'_handlePrefsChanged(_localPrefs.*)',
|
'_handlePrefsChanged(_localPrefs.*)',
|
||||||
'_handleDiffPrefsChanged(_diffPrefs.*)',
|
'_handleDiffPrefsChanged(_diffPrefs.*)',
|
||||||
'_handleMenuChanged(_localMenu.splices)',
|
'_handleMenuChanged(_localMenu.splices)',
|
||||||
'_handleChangeTableChanged(_localChangeTableColumns.splices)',
|
'_handleChangeTableChanged(_localChangeTableColumns)',
|
||||||
],
|
],
|
||||||
|
|
||||||
attached: function() {
|
attached: function() {
|
||||||
|
@ -220,7 +220,7 @@
|
||||||
var columns = this.prefs.change_table;
|
var columns = this.prefs.change_table;
|
||||||
|
|
||||||
if (columns.length === 0) {
|
if (columns.length === 0) {
|
||||||
columns = this.CHANGE_TABLE_COLUMNS;
|
columns = this.columnNames;
|
||||||
this._changeTableColumnsNotDisplayed = [];
|
this._changeTableColumnsNotDisplayed = [];
|
||||||
} else {
|
} else {
|
||||||
this._changeTableColumnsNotDisplayed = this.getComplementColumns(
|
this._changeTableColumnsNotDisplayed = this.getComplementColumns(
|
||||||
|
|
|
@ -71,6 +71,7 @@ limitations under the License.
|
||||||
'diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html',
|
'diff/gr-syntax-lib-loader/gr-syntax-lib-loader_test.html',
|
||||||
'gr-app_test.html',
|
'gr-app_test.html',
|
||||||
'settings/gr-account-info/gr-account-info_test.html',
|
'settings/gr-account-info/gr-account-info_test.html',
|
||||||
|
'settings/gr-change-table-editor/gr-change-table-editor_test.html',
|
||||||
'settings/gr-email-editor/gr-email-editor_test.html',
|
'settings/gr-email-editor/gr-email-editor_test.html',
|
||||||
'settings/gr-group-list/gr-group-list_test.html',
|
'settings/gr-group-list/gr-group-list_test.html',
|
||||||
'settings/gr-http-password/gr-http-password_test.html',
|
'settings/gr-http-password/gr-http-password_test.html',
|
||||||
|
|
Loading…
Reference in New Issue