ES6ify /gr-email-editor/*
Bug: Issue 6179 Change-Id: I10a6fd7ca939f1d33fde4d8cca003afbd66b88ae
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
_emails: Array,
|
||||
_emailsToRemove: {
|
||||
type: Array,
|
||||
value: function() { return []; },
|
||||
value() { return []; },
|
||||
},
|
||||
_newPreferred: {
|
||||
type: String,
|
||||
@@ -35,18 +35,17 @@
|
||||
},
|
||||
},
|
||||
|
||||
loadData: function() {
|
||||
return this.$.restAPI.getAccountEmails().then(function(emails) {
|
||||
loadData() {
|
||||
return this.$.restAPI.getAccountEmails().then(emails => {
|
||||
this._emails = emails;
|
||||
}.bind(this));
|
||||
});
|
||||
},
|
||||
|
||||
save: function() {
|
||||
var promises = [];
|
||||
save() {
|
||||
const promises = [];
|
||||
|
||||
for (var i = 0; i < this._emailsToRemove.length; i++) {
|
||||
promises.push(this.$.restAPI.deleteAccountEmail(
|
||||
this._emailsToRemove[i].email));
|
||||
for (const emailObj of this._emailsToRemove) {
|
||||
promises.push(this.$.restAPI.deleteAccountEmail(emailObj.email));
|
||||
}
|
||||
|
||||
if (this._newPreferred) {
|
||||
@@ -54,30 +53,30 @@
|
||||
this._newPreferred));
|
||||
}
|
||||
|
||||
return Promise.all(promises).then(function() {
|
||||
return Promise.all(promises).then(() => {
|
||||
this._emailsToRemove = [];
|
||||
this._newPreferred = null;
|
||||
this.hasUnsavedChanges = false;
|
||||
}.bind(this));
|
||||
});
|
||||
},
|
||||
|
||||
_handleDeleteButton: function(e) {
|
||||
var index = parseInt(e.target.getAttribute('data-index'));
|
||||
var email = this._emails[index];
|
||||
_handleDeleteButton(e) {
|
||||
const index = parseInt(e.target.getAttribute('data-index'));
|
||||
const email = this._emails[index];
|
||||
this.push('_emailsToRemove', email);
|
||||
this.splice('_emails', index, 1);
|
||||
this.hasUnsavedChanges = true;
|
||||
},
|
||||
|
||||
_handlePreferredControlTap: function(e) {
|
||||
_handlePreferredControlTap(e) {
|
||||
if (e.target.classList.contains('preferredControl')) {
|
||||
e.target.firstElementChild.click();
|
||||
}
|
||||
},
|
||||
|
||||
_handlePreferredChange: function(e) {
|
||||
var preferred = e.target.value;
|
||||
for (var i = 0; i < this._emails.length; i++) {
|
||||
_handlePreferredChange(e) {
|
||||
const preferred = e.target.value;
|
||||
for (let i = 0; i < this._emails.length; i++) {
|
||||
if (preferred === this._emails[i].email) {
|
||||
this.set(['_emails', i, 'preferred'], true);
|
||||
this._newPreferred = preferred;
|
||||
|
||||
@@ -33,18 +33,18 @@ limitations under the License.
|
||||
</test-fixture>
|
||||
|
||||
<script>
|
||||
suite('gr-email-editor tests', function() {
|
||||
var element;
|
||||
suite('gr-email-editor tests', () => {
|
||||
let element;
|
||||
|
||||
setup(function(done) {
|
||||
var emails = [
|
||||
setup(done => {
|
||||
const emails = [
|
||||
{email: 'email@one.com'},
|
||||
{email: 'email@two.com', preferred: true},
|
||||
{email: 'email@three.com'},
|
||||
];
|
||||
|
||||
stub('gr-rest-api-interface', {
|
||||
getAccountEmails: function() { return Promise.resolve(emails); },
|
||||
getAccountEmails() { return Promise.resolve(emails); },
|
||||
});
|
||||
|
||||
element = fixture('basic');
|
||||
@@ -52,8 +52,8 @@ limitations under the License.
|
||||
element.loadData().then(done);
|
||||
});
|
||||
|
||||
test('renders', function() {
|
||||
var rows = element.$$('table').querySelectorAll('tbody tr');
|
||||
test('renders', () => {
|
||||
const rows = element.$$('table').querySelectorAll('tbody tr');
|
||||
|
||||
assert.equal(rows.length, 3);
|
||||
|
||||
@@ -69,9 +69,9 @@ limitations under the License.
|
||||
assert.isFalse(element.hasUnsavedChanges);
|
||||
});
|
||||
|
||||
test('edit preferred', function() {
|
||||
var preferredChangedSpy = sinon.spy(element, '_handlePreferredChange');
|
||||
var radios = element.$$('table').querySelectorAll('input[type=radio]');
|
||||
test('edit preferred', () => {
|
||||
const preferredChangedSpy = sinon.spy(element, '_handlePreferredChange');
|
||||
const radios = element.$$('table').querySelectorAll('input[type=radio]');
|
||||
|
||||
assert.isFalse(element.hasUnsavedChanges);
|
||||
assert.isNotOk(element._newPreferred);
|
||||
@@ -92,8 +92,8 @@ limitations under the License.
|
||||
assert.isTrue(preferredChangedSpy.called);
|
||||
});
|
||||
|
||||
test('delete email', function() {
|
||||
var buttons = element.$$('table').querySelectorAll('gr-button');
|
||||
test('delete email', () => {
|
||||
const buttons = element.$$('table').querySelectorAll('gr-button');
|
||||
|
||||
assert.isFalse(element.hasUnsavedChanges);
|
||||
assert.isNotOk(element._newPreferred);
|
||||
@@ -110,11 +110,12 @@ limitations under the License.
|
||||
assert.equal(element._emailsToRemove[0].email, 'email@three.com');
|
||||
});
|
||||
|
||||
test('save changes', function(done) {
|
||||
var deleteEmailStub = sinon.stub(element.$.restAPI, 'deleteAccountEmail');
|
||||
var setPreferredStub = sinon.stub(element.$.restAPI,
|
||||
test('save changes', done => {
|
||||
const deleteEmailStub =
|
||||
sinon.stub(element.$.restAPI, 'deleteAccountEmail');
|
||||
const setPreferredStub = sinon.stub(element.$.restAPI,
|
||||
'setPreferredAccountEmail');
|
||||
var rows = element.$$('table').querySelectorAll('tbody tr');
|
||||
const rows = element.$$('table').querySelectorAll('tbody tr');
|
||||
|
||||
assert.isFalse(element.hasUnsavedChanges);
|
||||
assert.isNotOk(element._newPreferred);
|
||||
@@ -132,7 +133,7 @@ limitations under the License.
|
||||
assert.equal(element._emails.length, 2);
|
||||
|
||||
// Save the changes.
|
||||
element.save().then(function() {
|
||||
element.save().then(() => {
|
||||
assert.equal(deleteEmailStub.callCount, 1);
|
||||
assert.equal(deleteEmailStub.getCall(0).args[0], 'email@one.com');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user