Merge "Add ability to not pass in the server config to the gr-change-view"
This commit is contained in:
@@ -76,14 +76,14 @@
|
|||||||
},
|
},
|
||||||
backPage: String,
|
backPage: String,
|
||||||
hasParent: Boolean,
|
hasParent: Boolean,
|
||||||
serverConfig: {
|
|
||||||
type: Object,
|
|
||||||
observer: '_startUpdateCheckTimer',
|
|
||||||
},
|
|
||||||
keyEventTarget: {
|
keyEventTarget: {
|
||||||
type: Object,
|
type: Object,
|
||||||
value() { return document.body; },
|
value() { return document.body; },
|
||||||
},
|
},
|
||||||
|
_serverConfig: {
|
||||||
|
type: Object,
|
||||||
|
observer: '_startUpdateCheckTimer',
|
||||||
|
},
|
||||||
_diffPrefs: Object,
|
_diffPrefs: Object,
|
||||||
_numFilesShown: {
|
_numFilesShown: {
|
||||||
type: Number,
|
type: Number,
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
_replyDisabled: {
|
_replyDisabled: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
value: true,
|
value: true,
|
||||||
computed: '_computeReplyDisabled(serverConfig)',
|
computed: '_computeReplyDisabled(_serverConfig)',
|
||||||
},
|
},
|
||||||
_changeStatus: {
|
_changeStatus: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -206,6 +206,10 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
attached() {
|
attached() {
|
||||||
|
this._getServerConfig().then(config => {
|
||||||
|
this._serverConfig = config;
|
||||||
|
});
|
||||||
|
|
||||||
this._getLoggedIn().then(loggedIn => {
|
this._getLoggedIn().then(loggedIn => {
|
||||||
this._loggedIn = loggedIn;
|
this._loggedIn = loggedIn;
|
||||||
if (loggedIn) {
|
if (loggedIn) {
|
||||||
@@ -900,6 +904,10 @@
|
|||||||
return this.$.restAPI.getLoggedIn();
|
return this.$.restAPI.getLoggedIn();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_getServerConfig() {
|
||||||
|
return this.$.restAPI.getConfig();
|
||||||
|
},
|
||||||
|
|
||||||
_getProjectConfig() {
|
_getProjectConfig() {
|
||||||
return this.$.restAPI.getProjectConfig(this._change.project).then(
|
return this.$.restAPI.getProjectConfig(this._change.project).then(
|
||||||
config => {
|
config => {
|
||||||
@@ -1256,10 +1264,10 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
_startUpdateCheckTimer() {
|
_startUpdateCheckTimer() {
|
||||||
if (!this.serverConfig ||
|
if (!this._serverConfig ||
|
||||||
!this.serverConfig.change ||
|
!this._serverConfig.change ||
|
||||||
this.serverConfig.change.update_delay === undefined ||
|
this._serverConfig.change.update_delay === undefined ||
|
||||||
this.serverConfig.change.update_delay <= MIN_CHECK_INTERVAL_SECS) {
|
this._serverConfig.change.update_delay <= MIN_CHECK_INTERVAL_SECS) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1283,7 +1291,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, this.serverConfig.change.update_delay * 1000);
|
}, this._serverConfig.change.update_delay * 1000);
|
||||||
},
|
},
|
||||||
|
|
||||||
_cancelUpdateCheckTimer() {
|
_cancelUpdateCheckTimer() {
|
||||||
|
@@ -44,7 +44,7 @@ limitations under the License.
|
|||||||
sandbox = sinon.sandbox.create();
|
sandbox = sinon.sandbox.create();
|
||||||
showStub = sandbox.stub(page, 'show');
|
showStub = sandbox.stub(page, 'show');
|
||||||
stub('gr-rest-api-interface', {
|
stub('gr-rest-api-interface', {
|
||||||
getConfig() { return Promise.resolve({}); },
|
getConfig() { return Promise.resolve({test: 'config'}); },
|
||||||
getAccount() { return Promise.resolve(null); },
|
getAccount() { return Promise.resolve(null); },
|
||||||
});
|
});
|
||||||
element = fixture('basic');
|
element = fixture('basic');
|
||||||
@@ -167,6 +167,13 @@ limitations under the License.
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('fetches the server config on attached', done => {
|
||||||
|
flush(() => {
|
||||||
|
assert.equal(element._serverConfig.test, 'config');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
test('Diff preferences hidden when no prefs or logged out', () => {
|
test('Diff preferences hidden when no prefs or logged out', () => {
|
||||||
element._loggedIn = false;
|
element._loggedIn = false;
|
||||||
flushAsynchronousOperations();
|
flushAsynchronousOperations();
|
||||||
@@ -1125,7 +1132,7 @@ limitations under the License.
|
|||||||
|
|
||||||
test('reply button is disabled until server config is loaded', () => {
|
test('reply button is disabled until server config is loaded', () => {
|
||||||
assert.isTrue(element._replyDisabled);
|
assert.isTrue(element._replyDisabled);
|
||||||
element.serverConfig = {};
|
element._serverConfig = {};
|
||||||
assert.isFalse(element._replyDisabled);
|
assert.isFalse(element._replyDisabled);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1278,7 +1285,7 @@ limitations under the License.
|
|||||||
test('_startUpdateCheckTimer negative delay', () => {
|
test('_startUpdateCheckTimer negative delay', () => {
|
||||||
sandbox.stub(element, 'fetchIsLatestKnown');
|
sandbox.stub(element, 'fetchIsLatestKnown');
|
||||||
|
|
||||||
element.serverConfig = {change: {update_delay: -1}};
|
element._serverConfig = {change: {update_delay: -1}};
|
||||||
|
|
||||||
assert.isTrue(element._startUpdateCheckTimer.called);
|
assert.isTrue(element._startUpdateCheckTimer.called);
|
||||||
assert.isFalse(element.fetchIsLatestKnown.called);
|
assert.isFalse(element.fetchIsLatestKnown.called);
|
||||||
@@ -1288,7 +1295,7 @@ limitations under the License.
|
|||||||
sandbox.stub(element, 'fetchIsLatestKnown',
|
sandbox.stub(element, 'fetchIsLatestKnown',
|
||||||
() => { return Promise.resolve(true); });
|
() => { return Promise.resolve(true); });
|
||||||
|
|
||||||
element.serverConfig = {change: {update_delay: 12345}};
|
element._serverConfig = {change: {update_delay: 12345}};
|
||||||
|
|
||||||
assert.isTrue(element._startUpdateCheckTimer.called);
|
assert.isTrue(element._startUpdateCheckTimer.called);
|
||||||
assert.isTrue(element.fetchIsLatestKnown.called);
|
assert.isTrue(element.fetchIsLatestKnown.called);
|
||||||
@@ -1301,7 +1308,7 @@ limitations under the License.
|
|||||||
element.addEventListener('show-alert', () => {
|
element.addEventListener('show-alert', () => {
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
element.serverConfig = {change: {update_delay: 12345}};
|
element._serverConfig = {change: {update_delay: 12345}};
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -127,7 +127,6 @@ limitations under the License.
|
|||||||
<template is="dom-if" if="[[_showChangeView]]" restamp="true">
|
<template is="dom-if" if="[[_showChangeView]]" restamp="true">
|
||||||
<gr-change-view
|
<gr-change-view
|
||||||
params="[[params]]"
|
params="[[params]]"
|
||||||
server-config="[[_serverConfig]]"
|
|
||||||
view-state="{{_viewState.changeView}}"
|
view-state="{{_viewState.changeView}}"
|
||||||
back-page="[[_lastSearchPage]]"></gr-change-view>
|
back-page="[[_lastSearchPage]]"></gr-change-view>
|
||||||
</template>
|
</template>
|
||||||
|
Reference in New Issue
Block a user