Refactor navigateToChange to take options
Instead of specifying 5 undefined parameters if we want to do a force
reload, specify the necessary parameter only.
Change-Id: Ibae0a57c29f115ef3fdb5c7d381ff1b350b2775d
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
index 8a28cb1..55c84c1 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.ts
@@ -1593,7 +1593,9 @@
fireAlert(this, 'Base is already selected.');
return;
}
- GerritNav.navigateToChange(this._change, this._patchRange.patchNum);
+ GerritNav.navigateToChange(this._change, {
+ patchNum: this._patchRange.patchNum,
+ });
}
_handleDiffBaseAgainstLeft() {
@@ -1604,7 +1606,9 @@
fireAlert(this, 'Left is already base.');
return;
}
- GerritNav.navigateToChange(this._change, this._patchRange.basePatchNum);
+ GerritNav.navigateToChange(this._change, {
+ patchNum: this._patchRange.basePatchNum,
+ });
}
_handleDiffAgainstLatest() {
@@ -1616,11 +1620,10 @@
fireAlert(this, 'Latest is already selected.');
return;
}
- GerritNav.navigateToChange(
- this._change,
- latestPatchNum,
- this._patchRange.basePatchNum
- );
+ GerritNav.navigateToChange(this._change, {
+ patchNum: latestPatchNum,
+ basePatchNum: this._patchRange.basePatchNum,
+ });
}
_handleDiffRightAgainstLatest() {
@@ -1632,11 +1635,10 @@
fireAlert(this, 'Right is already latest.');
return;
}
- GerritNav.navigateToChange(
- this._change,
- latestPatchNum,
- this._patchRange.patchNum as BasePatchSetNum
- );
+ GerritNav.navigateToChange(this._change, {
+ patchNum: latestPatchNum,
+ basePatchNum: this._patchRange.patchNum as BasePatchSetNum,
+ });
}
_handleDiffBaseAgainstLatest() {
@@ -1651,7 +1653,7 @@
fireAlert(this, 'Already diffing base against latest.');
return;
}
- GerritNav.navigateToChange(this._change, latestPatchNum);
+ GerritNav.navigateToChange(this._change, {patchNum: latestPatchNum});
}
_handleToggleChangeStar() {
@@ -2055,14 +2057,9 @@
loadData(isLocationChange?: boolean, clearPatchset?: boolean): Promise<void> {
if (this.isChangeObsolete()) return Promise.resolve();
if (clearPatchset && this._change) {
- GerritNav.navigateToChange(
- this._change,
- undefined,
- undefined,
- undefined,
- undefined,
- true
- );
+ GerritNav.navigateToChange(this._change, {
+ forceReload: true,
+ });
return Promise.resolve();
}
this._loading = true;
@@ -2497,7 +2494,7 @@
);
if (editInfo) {
- GerritNav.navigateToChange(this._change, EditPatchSetNum);
+ GerritNav.navigateToChange(this._change, {patchNum: EditPatchSetNum});
return;
}
@@ -2511,28 +2508,21 @@
) {
patchNum = this._patchRange.patchNum;
}
- GerritNav.navigateToChange(
- this._change,
+ GerritNav.navigateToChange(this._change, {
patchNum,
- undefined,
- true,
- undefined,
- true
- );
+ isEdit: true,
+ forceReload: true,
+ });
}
_handleStopEditTap() {
assertIsDefined(this._change, '_change');
if (!this._patchRange)
throw new Error('missing required _patchRange property');
- GerritNav.navigateToChange(
- this._change,
- this._patchRange.patchNum,
- undefined,
- undefined,
- undefined,
- true
- );
+ GerritNav.navigateToChange(this._change, {
+ patchNum: this._patchRange.patchNum,
+ forceReload: true,
+ });
}
_resetReplyOverlayFocusStops() {
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
index 72cd91e..fbdef64 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view_test.ts
@@ -416,7 +416,7 @@
assert(navigateToChangeStub.called);
const args = navigateToChangeStub.getCall(0).args;
assert.equal(args[0], element._change);
- assert.equal(args[1], 3 as PatchSetNum);
+ assert.equal(args[1]!.patchNum, 3 as PatchSetNum);
});
test('_handleDiffAgainstLatest', () => {
@@ -432,8 +432,8 @@
assert(navigateToChangeStub.called);
const args = navigateToChangeStub.getCall(0).args;
assert.equal(args[0], element._change);
- assert.equal(args[1], 10 as PatchSetNum);
- assert.equal(args[2], 1 as BasePatchSetNum);
+ assert.equal(args[1]!.patchNum, 10 as PatchSetNum);
+ assert.equal(args[1]!.basePatchNum, 1 as BasePatchSetNum);
});
test('_handleDiffBaseAgainstLeft', () => {
@@ -449,7 +449,7 @@
assert(navigateToChangeStub.called);
const args = navigateToChangeStub.getCall(0).args;
assert.equal(args[0], element._change);
- assert.equal(args[1], 1 as PatchSetNum);
+ assert.equal(args[1]!.patchNum, 1 as PatchSetNum);
});
test('_handleDiffRightAgainstLatest', () => {
@@ -464,8 +464,8 @@
element._handleDiffRightAgainstLatest();
assert(navigateToChangeStub.called);
const args = navigateToChangeStub.getCall(0).args;
- assert.equal(args[1], 10 as PatchSetNum);
- assert.equal(args[2], 3 as BasePatchSetNum);
+ assert.equal(args[1]!.patchNum, 10 as PatchSetNum);
+ assert.equal(args[1]!.basePatchNum, 3 as BasePatchSetNum);
});
test('_handleDiffBaseAgainstLatest', () => {
@@ -480,8 +480,8 @@
element._handleDiffBaseAgainstLatest();
assert(navigateToChangeStub.called);
const args = navigateToChangeStub.getCall(0).args;
- assert.equal(args[1], 10 as PatchSetNum);
- assert.isNotOk(args[2]);
+ assert.equal(args[1]!.patchNum, 10 as PatchSetNum);
+ assert.isNotOk(args[1]!.basePatchNum);
});
test('toggle attention set status', async () => {
@@ -2080,7 +2080,7 @@
const promise = mockPromise();
sinon.stub(GerritNav, 'navigateToChange').callsFake((...args) => {
assert.equal(args.length, 2);
- assert.equal(args[1], EditPatchSetNum); // patchNum
+ assert.equal(args[1]!.patchNum, EditPatchSetNum); // patchNum
promise.resolve();
});
@@ -2096,9 +2096,9 @@
test('no edit exists in revisions, non-latest patchset', async () => {
const promise = mockPromise();
sinon.stub(GerritNav, 'navigateToChange').callsFake((...args) => {
- assert.equal(args.length, 6);
- assert.equal(args[1], 1 as PatchSetNum); // patchNum
- assert.equal(args[3], true); // opt_isEdit
+ assert.equal(args.length, 2);
+ assert.equal(args[1]!.patchNum, 1 as PatchSetNum); // patchNum
+ assert.equal(args[1]!.isEdit, true); // opt_isEdit
promise.resolve();
});
@@ -2113,10 +2113,10 @@
test('no edit exists in revisions, latest patchset', async () => {
const promise = mockPromise();
sinon.stub(GerritNav, 'navigateToChange').callsFake((...args) => {
- assert.equal(args.length, 6);
+ assert.equal(args.length, 2);
// No patch should be specified when patchNum == latest.
- assert.isNotOk(args[1]); // patchNum
- assert.equal(args[3], true); // opt_isEdit
+ assert.isNotOk(args[1]!.patchNum); // patchNum
+ assert.equal(args[1]!.isEdit, true); // opt_isEdit
promise.resolve();
});
@@ -2137,8 +2137,8 @@
navigateToChangeStub.restore();
const promise = mockPromise();
sinon.stub(GerritNav, 'navigateToChange').callsFake((...args) => {
- assert.equal(args.length, 6);
- assert.equal(args[1], 1 as PatchSetNum); // patchNum
+ assert.equal(args.length, 2);
+ assert.equal(args[1]!.patchNum, 1 as PatchSetNum); // patchNum
promise.resolve();
});