Merge "Update regex for topic page to match any character"
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 55c84c1..c05b865 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
@@ -1371,13 +1371,12 @@
if (!this._patchRange)
throw new Error('missing required _patchRange property');
const hash = PREFIX + e.detail.id;
- const url = GerritNav.getUrlForChange(
- this._change,
- this._patchRange.patchNum,
- this._patchRange.basePatchNum,
- this._editMode,
- hash
- );
+ const url = GerritNav.getUrlForChange(this._change, {
+ patchNum: this._patchRange.patchNum,
+ basePatchNum: this._patchRange.basePatchNum,
+ isEdit: this._editMode,
+ messageHash: hash,
+ });
history.replaceState(null, '', url);
}
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 fbdef64..21c5f03 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
@@ -399,7 +399,7 @@
new CustomEvent('message-anchor-tap', {detail: {id: 'a12345'}})
);
- assert.equal(getUrlStub.lastCall.args[4], '#message-a12345');
+ assert.equal(getUrlStub.lastCall.args[1]!.messageHash, '#message-a12345');
assert.isTrue(replaceStateStub.called);
});
diff --git a/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation.ts b/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation.ts
index 5f4dfb1..f73b703 100644
--- a/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation.ts
+++ b/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation.ts
@@ -389,6 +389,10 @@
forceReload?: boolean;
}
+interface ChangeUrlParams extends NavigateToChangeParams {
+ messageHash?: string;
+}
+
// TODO(dmfilippov) Convert to class, extract consts, give better name and
// expose as a service from appContext
export const GerritNav = {
@@ -563,12 +567,9 @@
*/
getUrlForChange(
change: Pick<ChangeInfo, '_number' | 'project' | 'internalHost'>,
- patchNum?: PatchSetNum,
- basePatchNum?: BasePatchSetNum,
- isEdit?: boolean,
- messageHash?: string,
- forceReload?: boolean
+ options: ChangeUrlParams = {}
) {
+ let {patchNum, basePatchNum, isEdit, messageHash, forceReload} = options;
if (basePatchNum === ParentPatchSetNum) {
basePatchNum = undefined;
}
@@ -615,14 +616,12 @@
) {
const {patchNum, basePatchNum, isEdit, forceReload, redirect} = options;
this._navigate(
- this.getUrlForChange(
- change,
+ this.getUrlForChange(change, {
patchNum,
basePatchNum,
isEdit,
- undefined,
- forceReload
- ),
+ forceReload,
+ }),
redirect
);
},
diff --git a/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation_test.js b/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation_test.js
index 93a1e9e..40a06bc 100644
--- a/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation_test.js
+++ b/polygerrit-ui/app/elements/core/gr-navigation/gr-navigation_test.js
@@ -20,7 +20,7 @@
suite('gr-navigation tests', () => {
test('invalid patch ranges throw exceptions', () => {
- assert.throw(() => GerritNav.getUrlForChange('123', undefined, 12));
+ assert.throw(() => GerritNav.getUrlForChange('123', {basePatchNum: 12}));
assert.throw(() => GerritNav.getUrlForDiff('123', 'x.c', undefined, 12));
});
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
index 8767924..8daddde 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view.ts
@@ -1254,11 +1254,10 @@
if (!patchRange) return '';
const range = this._getChangeUrlRange(patchRange, revisions);
- return GerritNav.getUrlForChange(
- change,
- range.patchNum,
- range.basePatchNum
- );
+ return GerritNav.getUrlForChange(change, {
+ patchNum: range.patchNum,
+ basePatchNum: range.basePatchNum,
+ });
}
_navigateToChange(
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
index 7fa7abb..8c39882 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.js
@@ -1038,7 +1038,8 @@
sinon.stub(
GerritNav
, 'getUrlForChange')
- .callsFake((c, pn, bpn) => `${c._number}-${pn}-${bpn}`);
+ .callsFake((c, ops) =>
+ `${c._number}-${ops.patchNum}-${ops.basePatchNum}`);
});
test('_formattedFiles', () => {
diff --git a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.ts b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.ts
index f0e727f..9890bb2 100644
--- a/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.ts
+++ b/polygerrit-ui/app/elements/shared/gr-rest-api-interface/gr-rest-api-interface.ts
@@ -238,6 +238,7 @@
[paramName: string]: string | undefined | null | number;
s: string;
n?: number;
+ p?: string;
}
interface QuerySuggestedReviewersParams {