Merge "Distinguish change and diff pages when reporting location changes"
This commit is contained in:
@@ -640,13 +640,24 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
page(pattern, this._loadUserMiddleware.bind(this), data => {
|
page(pattern, this._loadUserMiddleware.bind(this), data => {
|
||||||
this.$.reporting.locationChanged(handlerName);
|
this.$.reporting.locationChanged(this._getPageName(handlerName, data));
|
||||||
const promise = opt_authRedirect ?
|
const promise = opt_authRedirect ?
|
||||||
this._redirectIfNotLoggedIn(data) : Promise.resolve();
|
this._redirectIfNotLoggedIn(data) : Promise.resolve();
|
||||||
promise.then(() => { this[handlerName](data); });
|
promise.then(() => { this[handlerName](data); });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_getPageName(handlerName, ctx) {
|
||||||
|
switch (handlerName) {
|
||||||
|
case '_handleChangeOrDiffRoute': {
|
||||||
|
const isDiffView = ctx.params[8];
|
||||||
|
return isDiffView ? Gerrit.Nav.View.DIFF : Gerrit.Nav.View.CHANGE;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return handlerName;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
_startRouter() {
|
_startRouter() {
|
||||||
const base = this.getBaseUrl();
|
const base = this.getBaseUrl();
|
||||||
if (base) {
|
if (base) {
|
||||||
|
@@ -1320,6 +1320,12 @@ limitations under the License.
|
|||||||
assert.isTrue(normalizeRangeStub.called);
|
assert.isTrue(normalizeRangeStub.called);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('gr-reporting recognizes change page', () => {
|
||||||
|
const ctx = makeParams(null, '');
|
||||||
|
assert.equal(element._getPageName('_handleChangeOrDiffRoute', ctx),
|
||||||
|
Gerrit.Nav.View.CHANGE);
|
||||||
|
});
|
||||||
|
|
||||||
test('diff view', () => {
|
test('diff view', () => {
|
||||||
normalizeRangeStub.returns(false);
|
normalizeRangeStub.returns(false);
|
||||||
sandbox.stub(element, '_generateUrl').returns('foo');
|
sandbox.stub(element, '_generateUrl').returns('foo');
|
||||||
@@ -1337,6 +1343,12 @@ limitations under the License.
|
|||||||
assert.isFalse(redirectStub.called);
|
assert.isFalse(redirectStub.called);
|
||||||
assert.isTrue(normalizeRangeStub.called);
|
assert.isTrue(normalizeRangeStub.called);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('gr-reporting recognizes diff page', () => {
|
||||||
|
const ctx = makeParams('foo/bar/baz', 'b44');
|
||||||
|
assert.equal(element._getPageName('_handleChangeOrDiffRoute', ctx),
|
||||||
|
Gerrit.Nav.View.DIFF);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('_handleDiffEditRoute', () => {
|
test('_handleDiffEditRoute', () => {
|
||||||
|
Reference in New Issue
Block a user