Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2b188e0

Browse files
feat(mr): change reviewers.
1 parent f5ec00a commit 2b188e0

File tree

6 files changed

+26
-24
lines changed

6 files changed

+26
-24
lines changed

‎src/extension.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export async function activate(context: vscode.ExtensionContext) {
6161
Panel.currentPanel?.broadcast(`mr.update.activities`, activityResp.data);
6262
});
6363
codingSrv.getMRReviewers(mr.iid).then((reviewerResp) => {
64-
Panel.currentPanel?.broadcast(`mr.update.reviewers`, reviewerResp.data);
64+
Panel.currentPanel?.broadcast(`mr.reviewers.init`, reviewerResp.data);
6565
});
6666
codingSrv.getMRComments(mr.iid).then((commentResp) => {
6767
Panel.currentPanel?.broadcast(`mr.udpate.comments`, commentResp.data);

‎src/panel.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ export class Panel {
106106
break;
107107
case 'mr.update.reviewers': {
108108
try {
109-
const [iid, selected]: [string,number[]] = args;
109+
const {iid, list: selected}: {iid: string;list: number[]} = args;
110110
const {
111111
data: { list: memberList },
112112
} = await this._codingSrv.getProjectMembers();
@@ -140,7 +140,7 @@ export class Panel {
140140

141141
await Promise.all(tasks);
142142
const resp = await this._codingSrv.getMRReviewers(iid);
143-
this.broadcast(command, resp.data);
143+
this._replyMessage(message, resp.data);
144144
} catch (err) {}
145145
break;
146146
}

‎src/typings/respResult.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,13 @@ export interface IReviewer {
165165
volunteer: string;
166166
}
167167

168+
export interface IMRReviewers {
169+
volunteer_reviewers: IReviewer[];
170+
reviewers: IReviewer[];
171+
}
172+
168173
export interface IMRReviewersResponse extends CodingResponse {
169-
data: {
170-
volunteer_reviewers: IReviewer[];
171-
reviewers: IReviewer[];
172-
};
174+
data: IMRReviewers;
173175
}
174176

175177
export interface IComment {

‎webviews/hooks/messageTransferHook.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { actions } from 'webviews/store/constants';
55
export default function messageTransferHook() {
66
useEffect(() => {
77
window.addEventListener('message', (ev) => {
8-
const { updateCurrentMR, toggleMRLoading } = appStore;
8+
const { updateCurrentMR, toggleMRLoading, initMRReviewers } = appStore;
99
const { command, res } = ev?.data;
1010

1111
switch (command) {
@@ -17,6 +17,10 @@ export default function messageTransferHook() {
1717
updateCurrentMR(res);
1818
break;
1919
}
20+
case actions.MR_REVIEWERS_INIT: {
21+
initMRReviewers(res);
22+
break;
23+
}
2024
default:
2125
break;
2226
}

‎webviews/store/appStore.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,26 @@
11
import { autoEffect, clearEffect, store } from '@risingstack/react-easy-state';
22
import { IMRWebViewDetail } from 'src/typings/commonTypes';
3-
import { IActivity, IReviewer,IComment } from 'src/typings/respResult';
3+
import { IActivity, IComment,IMRReviewers } from 'src/typings/respResult';
44
import { vscode } from 'webviews/constants/vscode';
55
import { actions } from 'webviews/store/constants';
66
import { MERGE_STATUS } from 'webviews/constants/mergeRequest';
77
import { getMessageHandler } from 'webviews/utils/message';
88

9-
interface IReviewers {
10-
volunteer_reviewers: IReviewer[];
11-
reviewers: IReviewer[];
12-
}
13-
149
const appStore = store({
1510
currentMR: (vscode.getState()?.currentMR || {}) as IMRWebViewDetail,
1611
activities: (vscode.getState()?.activities || []) as IActivity[],
1712
reviewers: (vscode.getState()?.reviewers || {
1813
volunteer_reviewers: [],
1914
reviewers: [],
20-
}) as IReviewers,
15+
}) as IMRReviewers,
2116
comments: (vscode.getState()?.comments || []) as IComment[],
2217
updateCurrentMR(data: IMRWebViewDetail) {
2318
appStore.currentMR = data;
2419
},
2520
updateMRActivities(data: IActivity[]) {
2621
appStore.activities = data;
2722
},
28-
updateMRReviewers(data: IReviewers) {
23+
updateMRReviewers(data: IMRReviewers) {
2924
appStore.reviewers = data;
3025
},
3126
updateMRComments(data: IComment[]) {
@@ -115,11 +110,12 @@ const appStore = store({
115110
return result;
116111
},
117112
async updateReviewers(iid: string, list: number[]) {
118-
const result = await getMessageHandler(appStore.messageHandler)().postMessage({
113+
const resp = await getMessageHandler(appStore.messageHandler)().postMessage({
119114
command: actions.MR_UPDATE_REVIEWERS,
120-
args: [iid, list],
115+
args: {iid, list},
121116
});
122-
return result;
117+
appStore.reviewers = resp;
118+
return;
123119
},
124120
toggleUpdatingDesc(status?: boolean) {
125121
if (typeof status === `undefined`) {
@@ -149,8 +145,11 @@ const appStore = store({
149145
addComment(comment: IComment) {
150146
appStore.comments.push(comment);
151147
},
148+
initMRReviewers(list: IMRReviewers) {
149+
appStore.reviewers = list;
150+
},
152151
messageHandler(message: any) {
153-
const { updateMRActivities, updateMRReviewers,updateMRComments } = appStore;
152+
const { updateMRActivities, updateMRComments } = appStore;
154153
const { command, res } = message;
155154

156155
switch (command) {
@@ -162,10 +161,6 @@ const appStore = store({
162161
updateMRComments(res);
163162
break;
164163
}
165-
case actions.MR_UPDATE_REVIEWERS: {
166-
res && updateMRReviewers(res);
167-
break;
168-
}
169164
case actions.MR_ADD_COMMENT: {
170165
}
171166
default:

‎webviews/store/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ export enum actions {
1212
MR_TOGGLE_LOADING = `mr.update.toggleLoading`,
1313
MR_UPDATE_REVIEWERS = `mr.update.reviewers`,
1414
MR_UPDATE_DESC = `mr.update.desc`,
15+
MR_REVIEWERS_INIT = `mr.reviewers.init`,
1516
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /