gr-change-actions: use change-model for latestPatchNum
Release-Notes: skip
Change-Id: If2e8a7b3ce9825459d672feb30d16172312c9d6c
(cherry picked from commit f4ddeed6b61268535761b8310f4b272c90bdc3ac)
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
index 917b7ca..11269ed 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions.ts
@@ -48,7 +48,7 @@
isQuickLabelInfo,
LabelInfo,
NumericChangeId,
- PatchSetNum,
+ PatchSetNumber,
RequestPayload,
RevertSubmissionInfo,
ReviewInput,
@@ -107,6 +107,7 @@
import {rootUrl} from '../../../utils/url-util';
import {createSearchUrl} from '../../../models/views/search';
import {createChangeUrl} from '../../../models/views/change';
+import {subscribe} from '../../lit/subscription-controller';
const ERR_BRANCH_EMPTY = 'The destination branch can’t be empty.';
const ERR_COMMIT_EMPTY = 'The commit message can’t be empty.';
@@ -431,8 +432,7 @@
@property({type: Boolean})
hasParent?: boolean;
- @property({type: String})
- latestPatchNum?: PatchSetNum;
+ @state() latestPatchNum?: PatchSetNumber;
@property({type: String})
commitMessage = '';
@@ -552,6 +552,11 @@
this.addEventListener('fullscreen-overlay-closed', () =>
this.handleShowBackgroundContent()
);
+ subscribe(
+ this,
+ () => this.getChangeModel().latestPatchNum$,
+ x => (this.latestPatchNum = x)
+ );
}
override connectedCallback() {
@@ -1342,7 +1347,7 @@
}
// private but used in test
- getRevision(change: ChangeViewChangeInfo, patchNum?: PatchSetNum) {
+ getRevision(change: ChangeViewChangeInfo, patchNum?: PatchSetNumber) {
for (const rev of Object.values(change.revisions)) {
if (rev._number === patchNum) {
return rev;
diff --git a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
index 1b98c5d..7c04f7d 100644
--- a/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-change-actions/gr-change-actions_test.ts
@@ -36,7 +36,6 @@
ChangeSubmissionId,
CommitId,
NumericChangeId,
- PatchSetNum,
PatchSetNumber,
RepoName,
ReviewInput,
@@ -138,7 +137,7 @@
},
};
element.changeNum = 42 as NumericChangeId;
- element.latestPatchNum = 2 as PatchSetNum;
+ element.latestPatchNum = 2 as PatchSetNumber;
element.account = {
_account_id: 123 as AccountId,
};
@@ -529,7 +528,7 @@
rev2: {...createRevision(), _number: 2 as PatchSetNumber},
},
};
- element.latestPatchNum = 2 as PatchSetNum;
+ element.latestPatchNum = 2 as PatchSetNumber;
queryAndAssert<GrButton>(
element,
@@ -1808,7 +1807,7 @@
element.change!.is_private = false;
element.changeNum = 2 as NumericChangeId;
- element.latestPatchNum = 2 as PatchSetNum;
+ element.latestPatchNum = 2 as PatchSetNumber;
await element.updateComplete;
await element.reload();
@@ -1862,7 +1861,7 @@
element.change!.is_private = true;
element.changeNum = 2 as NumericChangeId;
- element.latestPatchNum = 2 as PatchSetNum;
+ element.latestPatchNum = 2 as PatchSetNumber;
await element.updateComplete;
await element.reload();
@@ -2331,7 +2330,7 @@
const reloadStub = sinon.stub(element, 'reload');
element.changeNum = 123 as NumericChangeId;
assert.isFalse(reloadStub.called);
- element.latestPatchNum = 456 as PatchSetNum;
+ element.latestPatchNum = 456 as PatchSetNumber;
assert.isFalse(reloadStub.called);
});
@@ -2427,7 +2426,7 @@
setup(async () => {
cleanup = sinon.stub();
element.changeNum = 42 as NumericChangeId;
- element.latestPatchNum = 12 as PatchSetNum;
+ element.latestPatchNum = 12 as PatchSetNumber;
element.change = {
...createChangeViewChange(),
revisions: createRevisions(element.latestPatchNum as number),
@@ -2695,7 +2694,7 @@
// set the following properties
element.change = createChangeViewChange();
element.changeNum = 42 as NumericChangeId;
- element.latestPatchNum = 2 as PatchSetNum;
+ element.latestPatchNum = 2 as PatchSetNumber;
stubRestApi('getRepoBranches').returns(Promise.resolve([]));
await element.updateComplete;
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 e9eed21..5a0f3bb 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
@@ -1401,7 +1401,6 @@
.changeNum=${this.changeNum}
.changeStatus=${this.change?.status}
.commitNum=${this.commitInfo?.commit}
- .latestPatchNum=${computeLatestPatchNum(this.allPatchSets)}
.commitMessage=${this.latestCommitMessage}
.editPatchsetLoaded=${this.patchRange
? hasEditPatchsetLoaded(this.patchRange)