Merge "ES6ify /gr-menu-editor/*"
This commit is contained in:
@@ -23,28 +23,28 @@
|
|||||||
_newUrl: String,
|
_newUrl: String,
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleMoveUpButton: function(e) {
|
_handleMoveUpButton(e) {
|
||||||
var index = e.target.dataIndex;
|
const index = e.target.dataIndex;
|
||||||
if (index === 0) { return; }
|
if (index === 0) { return; }
|
||||||
var row = this.menuItems[index];
|
const row = this.menuItems[index];
|
||||||
var prev = this.menuItems[index - 1];
|
const prev = this.menuItems[index - 1];
|
||||||
this.splice('menuItems', index - 1, 2, row, prev);
|
this.splice('menuItems', index - 1, 2, row, prev);
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleMoveDownButton: function(e) {
|
_handleMoveDownButton(e) {
|
||||||
var index = e.target.dataIndex;
|
const index = e.target.dataIndex;
|
||||||
if (index === this.menuItems.length - 1) { return; }
|
if (index === this.menuItems.length - 1) { return; }
|
||||||
var row = this.menuItems[index];
|
const row = this.menuItems[index];
|
||||||
var next = this.menuItems[index + 1];
|
const next = this.menuItems[index + 1];
|
||||||
this.splice('menuItems', index, 2, next, row);
|
this.splice('menuItems', index, 2, next, row);
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleDeleteButton: function(e) {
|
_handleDeleteButton(e) {
|
||||||
var index = e.target.dataIndex;
|
const index = e.target.dataIndex;
|
||||||
this.splice('menuItems', index, 1);
|
this.splice('menuItems', index, 1);
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleAddButton: function() {
|
_handleAddButton() {
|
||||||
if (this._computeAddDisabled(this._newName, this._newUrl)) { return; }
|
if (this._computeAddDisabled(this._newName, this._newUrl)) { return; }
|
||||||
|
|
||||||
this.splice('menuItems', this.menuItems.length, 0, {
|
this.splice('menuItems', this.menuItems.length, 0, {
|
||||||
@@ -57,11 +57,11 @@
|
|||||||
this._newUrl = '';
|
this._newUrl = '';
|
||||||
},
|
},
|
||||||
|
|
||||||
_computeAddDisabled: function(newName, newUrl) {
|
_computeAddDisabled(newName, newUrl) {
|
||||||
return !newName.length || !newUrl.length;
|
return !newName.length || !newUrl.length;
|
||||||
},
|
},
|
||||||
|
|
||||||
_handleInputKeydown: function(e) {
|
_handleInputKeydown(e) {
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
this._handleAddButton();
|
this._handleAddButton();
|
||||||
|
|||||||
@@ -33,14 +33,14 @@ limitations under the License.
|
|||||||
</test-fixture>
|
</test-fixture>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
suite('gr-settings-view tests', function() {
|
suite('gr-settings-view tests', () => {
|
||||||
var element;
|
let element;
|
||||||
var menu;
|
let menu;
|
||||||
|
|
||||||
function assertMenuNamesEqual(element, expected) {
|
function assertMenuNamesEqual(element, expected) {
|
||||||
var names = element.menuItems.map(function(i) { return i.name; });
|
const names = element.menuItems.map(i => { return i.name; });
|
||||||
assert.equal(names.length, expected.length);
|
assert.equal(names.length, expected.length);
|
||||||
for (var i = 0; i < names.length; i++) {
|
for (let i = 0; i < names.length; i++) {
|
||||||
assert.equal(names[i], expected[i]);
|
assert.equal(names[i], expected[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -48,13 +48,13 @@ limitations under the License.
|
|||||||
// Click the up/down button (according to direction) for the index'th row.
|
// 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.
|
// The index of the first row is 0, corresponding to the array.
|
||||||
function move(element, index, direction) {
|
function move(element, index, direction) {
|
||||||
var selector =
|
const selector =
|
||||||
'tr:nth-child(' + (index + 1) + ') .move-' + direction + '-button';
|
'tr:nth-child(' + (index + 1) + ') .move-' + direction + '-button';
|
||||||
var button = element.$$('tbody').querySelector(selector);
|
const button = element.$$('tbody').querySelector(selector);
|
||||||
MockInteractions.tap(button);
|
MockInteractions.tap(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
setup(function() {
|
setup(() => {
|
||||||
element = fixture('basic');
|
element = fixture('basic');
|
||||||
menu = [
|
menu = [
|
||||||
{url: '/first/url', name: 'first name', target: '_blank'},
|
{url: '/first/url', name: 'first name', target: '_blank'},
|
||||||
@@ -65,12 +65,12 @@ limitations under the License.
|
|||||||
Polymer.dom.flush();
|
Polymer.dom.flush();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('renders', function() {
|
test('renders', () => {
|
||||||
var rows = element.$$('tbody').querySelectorAll('tr');
|
const rows = element.$$('tbody').querySelectorAll('tr');
|
||||||
var tds;
|
let tds;
|
||||||
|
|
||||||
assert.equal(rows.length, menu.length);
|
assert.equal(rows.length, menu.length);
|
||||||
for (var i = 0; i < menu.length; i++) {
|
for (let i = 0; i < menu.length; i++) {
|
||||||
tds = rows[i].querySelectorAll('td');
|
tds = rows[i].querySelectorAll('td');
|
||||||
assert.equal(tds[0].textContent, menu[i].name);
|
assert.equal(tds[0].textContent, menu[i].name);
|
||||||
assert.equal(tds[1].textContent, menu[i].url);
|
assert.equal(tds[1].textContent, menu[i].url);
|
||||||
@@ -80,23 +80,23 @@ limitations under the License.
|
|||||||
element._newUrl));
|
element._newUrl));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('_computeAddDisabled', function() {
|
test('_computeAddDisabled', () => {
|
||||||
assert.isTrue(element._computeAddDisabled('', ''));
|
assert.isTrue(element._computeAddDisabled('', ''));
|
||||||
assert.isTrue(element._computeAddDisabled('name', ''));
|
assert.isTrue(element._computeAddDisabled('name', ''));
|
||||||
assert.isTrue(element._computeAddDisabled('', 'url'));
|
assert.isTrue(element._computeAddDisabled('', 'url'));
|
||||||
assert.isFalse(element._computeAddDisabled('name', 'url'));
|
assert.isFalse(element._computeAddDisabled('name', 'url'));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('add a new menu item', function() {
|
test('add a new menu item', () => {
|
||||||
var newName = 'new name';
|
const newName = 'new name';
|
||||||
var newUrl = 'new url';
|
const newUrl = 'new url';
|
||||||
|
|
||||||
element._newName = newName;
|
element._newName = newName;
|
||||||
element._newUrl = newUrl;
|
element._newUrl = newUrl;
|
||||||
assert.isFalse(element._computeAddDisabled(element._newName,
|
assert.isFalse(element._computeAddDisabled(element._newName,
|
||||||
element._newUrl));
|
element._newUrl));
|
||||||
|
|
||||||
var originalMenuLength = element.menuItems.length;
|
const originalMenuLength = element.menuItems.length;
|
||||||
|
|
||||||
element._handleAddButton();
|
element._handleAddButton();
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ limitations under the License.
|
|||||||
assert.equal(element.menuItems[element.menuItems.length - 1].url, newUrl);
|
assert.equal(element.menuItems[element.menuItems.length - 1].url, newUrl);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('move items down', function() {
|
test('move items down', () => {
|
||||||
assertMenuNamesEqual(element,
|
assertMenuNamesEqual(element,
|
||||||
['first name', 'second name', 'third name']);
|
['first name', 'second name', 'third name']);
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ limitations under the License.
|
|||||||
['first name', 'third name', 'second name']);
|
['first name', 'third name', 'second name']);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('move items up', function() {
|
test('move items up', () => {
|
||||||
assertMenuNamesEqual(element,
|
assertMenuNamesEqual(element,
|
||||||
['first name', 'second name', 'third name']);
|
['first name', 'second name', 'third name']);
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ limitations under the License.
|
|||||||
['third name', 'first name', 'second name']);
|
['third name', 'first name', 'second name']);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('remove item', function() {
|
test('remove item', () => {
|
||||||
assertMenuNamesEqual(element,
|
assertMenuNamesEqual(element,
|
||||||
['first name', 'second name', 'third name']);
|
['first name', 'second name', 'third name']);
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ limitations under the License.
|
|||||||
assertMenuNamesEqual(element, ['first name', 'third name']);
|
assertMenuNamesEqual(element, ['first name', 'third name']);
|
||||||
|
|
||||||
// Delete remaining items.
|
// Delete remaining items.
|
||||||
for (var i = 0; i < 2; i++) {
|
for (let i = 0; i < 2; i++) {
|
||||||
MockInteractions.tap(
|
MockInteractions.tap(
|
||||||
element.$$('tbody').querySelector('tr:first-child .remove-button'));
|
element.$$('tbody').querySelector('tr:first-child .remove-button'));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user