openvsx-webui-test 0.18.0-dev.1 → 0.18.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"extension-detail-reviews.d.ts","sourceRoot":"","sources":["../../../src/pages/extension-detail/extension-detail-reviews.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAc,EAAY,iBAAiB,EAAsD,MAAM,OAAO,CAAC;AAc/G,OAAO,EAAmB,SAAS,EAAuD,MAAM,gCAAgC,CAAC;AAQjI,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,2BAA2B,CAgOjF,CAAC;AAEF,MAAM,WAAW,2BAA2B;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAChC"}
1
+ {"version":3,"file":"extension-detail-reviews.d.ts","sourceRoot":"","sources":["../../../src/pages/extension-detail/extension-detail-reviews.tsx"],"names":[],"mappings":"AAAA;;;;;;;;kFAQkF;AAElF,OAAc,EAAY,iBAAiB,EAAsD,MAAM,OAAO,CAAC;AAc/G,OAAO,EAAmB,SAAS,EAAuD,MAAM,gCAAgC,CAAC;AAQjI,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,2BAA2B,CA2OjF,CAAC;AAEF,MAAM,WAAW,2BAA2B;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAChC"}
@@ -28,10 +28,12 @@ import { Timestamp } from '../../components/timestamp';
28
28
  import { ExtensionRatingStars } from './extension-rating-stars';
29
29
  import { ExtensionReviewDialog } from './extension-review-dialog';
30
30
  export const ExtensionDetailReviews = props => {
31
+ var _a;
31
32
  const [reviewList, setReviewList] = useState();
32
33
  const [loading, setLoading] = useState(true);
33
34
  const [revoked, setRevoked] = useState(false);
34
35
  const [removeDialogOpen, setRemoveDialogOpen] = useState(false);
36
+ const [removeCommentFromUser, setRemoveCommentFromUser] = useState(undefined);
35
37
  const [removeReviewSet, setRemoveReviewSet] = useState(new Set());
36
38
  const context = useContext(MainContext);
37
39
  const abortController = useRef(new AbortController());
@@ -92,36 +94,45 @@ export const ExtensionDetailReviews = props => {
92
94
  React.createElement(ExtensionReviewDialog, { saveCompleted: saveCompleted, extension: props.extension, reviewPostUrl: reviewList.postUrl }));
93
95
  }
94
96
  };
95
- const handleAdminRemoveReviewButton = (r) => __awaiter(void 0, void 0, void 0, function* () {
96
- addRemoveReviewRequest(r.user.loginName);
97
+ const handleAdminRemoveReviewButton = () => __awaiter(void 0, void 0, void 0, function* () {
98
+ if (removeCommentFromUser === undefined) {
99
+ return;
100
+ }
101
+ addRemoveReviewRequest(removeCommentFromUser.loginName);
97
102
  try {
98
- const result = yield context.service.deleteUserReview(abortController.current, props.extension, r.user);
103
+ const result = yield context.service.deleteUserReview(abortController.current, props.extension, removeCommentFromUser);
99
104
  if (isError(result)) {
100
105
  throw result;
101
106
  }
102
107
  saveCompleted();
108
+ setRemoveDialogOpen(false);
103
109
  }
104
110
  catch (err) {
105
111
  context.handleError(err);
106
112
  }
107
113
  finally {
108
- deleteRemoveReviewRequest(r.user.loginName);
114
+ deleteRemoveReviewRequest(removeCommentFromUser.loginName);
109
115
  }
110
116
  });
111
117
  const renderAdminRemoveButton = (r) => {
112
- return React.createElement(React.Fragment, null,
113
- React.createElement(Button, { variant: 'contained', color: 'error', onClick: () => setRemoveDialogOpen(true) }, "Remove review"),
114
- React.createElement(Dialog, { open: removeDialogOpen, onClose: () => setRemoveDialogOpen(false) },
115
- React.createElement(DialogTitle, null, "Remove Review"),
116
- React.createElement(DialogContent, null,
117
- React.createElement(DialogContentText, { component: 'div' },
118
- React.createElement(Typography, null,
119
- "Confirm removal of review comment from ",
120
- React.createElement("code", null, r.user.loginName),
121
- "?"))),
122
- React.createElement(DialogActions, null,
123
- React.createElement(Button, { variant: 'contained', color: 'primary', onClick: () => setRemoveDialogOpen(false) }, "Cancel"),
124
- React.createElement(ButtonWithProgress, { autoFocus: true, color: 'error', sx: { ml: 1 }, working: removeReviewSet.has(r.user.loginName), onClick: () => handleAdminRemoveReviewButton(r) }, "Remove review"))));
118
+ return React.createElement(Button, { variant: 'contained', color: 'error', sx: { ml: 1 }, onClick: () => {
119
+ setRemoveCommentFromUser(r.user);
120
+ setRemoveDialogOpen(true);
121
+ } }, "Remove review");
122
+ };
123
+ const renderAdminRemoveDialog = () => {
124
+ var _a;
125
+ return React.createElement(Dialog, { open: removeDialogOpen, onClose: () => setRemoveDialogOpen(false) },
126
+ React.createElement(DialogTitle, null, "Remove Review"),
127
+ React.createElement(DialogContent, null,
128
+ React.createElement(DialogContentText, { component: 'div' },
129
+ React.createElement(Typography, null,
130
+ "Confirm removal of review comment from ",
131
+ React.createElement("code", null, removeCommentFromUser === null || removeCommentFromUser === void 0 ? void 0 : removeCommentFromUser.loginName),
132
+ "?"))),
133
+ React.createElement(DialogActions, null,
134
+ React.createElement(Button, { variant: 'contained', color: 'primary', onClick: () => setRemoveDialogOpen(false) }, "Cancel"),
135
+ React.createElement(ButtonWithProgress, { autoFocus: true, color: 'error', sx: { ml: 1 }, working: removeReviewSet.has((_a = removeCommentFromUser === null || removeCommentFromUser === void 0 ? void 0 : removeCommentFromUser.loginName) !== null && _a !== void 0 ? _a : ''), onClick: () => handleAdminRemoveReviewButton() }, "Remove review")));
125
136
  };
126
137
  const renderReviewList = (list) => {
127
138
  if (!list) {
@@ -180,6 +191,7 @@ export const ExtensionDetailReviews = props => {
180
191
  React.createElement(Divider, null),
181
192
  React.createElement(Box, null,
182
193
  React.createElement(DelayedLoadIndicator, { loading: loading }),
183
- renderReviewList(reviewList)));
194
+ renderReviewList(reviewList),
195
+ ((_a = context.user) === null || _a === void 0 ? void 0 : _a.role) === 'admin' && renderAdminRemoveDialog()));
184
196
  };
185
197
  //# sourceMappingURL=extension-detail-reviews.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-detail-reviews.js","sourceRoot":"","sources":["../../../src/pages/extension-detail/extension-detail-reviews.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-detail-reviews.js","sourceRoot":"","sources":["../../../src/pages/extension-detail/extension-detail-reviews.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openvsx-webui-test",
3
- "version": "0.18.0-dev.1",
3
+ "version": "0.18.0-dev.2",
4
4
  "description": "User interface for Eclipse Open VSX",
5
5
  "keywords": [
6
6
  "react",
@@ -35,6 +35,7 @@ export const ExtensionDetailReviews: FunctionComponent<ExtensionDetailReviewsPro
35
35
  const [loading, setLoading] = useState<boolean>(true);
36
36
  const [revoked, setRevoked] = useState<boolean>(false);
37
37
  const [removeDialogOpen, setRemoveDialogOpen] = useState(false);
38
+ const [removeCommentFromUser, setRemoveCommentFromUser] = useState<UserData | undefined>(undefined);
38
39
  const [removeReviewSet, setRemoveReviewSet] = useState(new Set<string>());
39
40
  const context = useContext(MainContext);
40
41
  const abortController = useRef<AbortController>(new AbortController());
@@ -111,56 +112,65 @@ export const ExtensionDetailReviews: FunctionComponent<ExtensionDetailReviewsPro
111
112
  }
112
113
  };
113
114
 
114
- const handleAdminRemoveReviewButton = async (r: ExtensionReview) => {
115
- addRemoveReviewRequest(r.user.loginName);
115
+ const handleAdminRemoveReviewButton = async () => {
116
+ if (removeCommentFromUser === undefined) {
117
+ return;
118
+ }
119
+ addRemoveReviewRequest(removeCommentFromUser.loginName);
116
120
  try {
117
- const result = await context.service.deleteUserReview(abortController.current, props.extension, r.user);
121
+ const result = await context.service.deleteUserReview(abortController.current, props.extension, removeCommentFromUser);
118
122
  if (isError(result)) {
119
123
  throw result;
120
124
  }
121
125
  saveCompleted();
126
+ setRemoveDialogOpen(false);
122
127
  } catch (err) {
123
128
  context.handleError(err);
124
129
  } finally {
125
- deleteRemoveReviewRequest(r.user.loginName);
130
+ deleteRemoveReviewRequest(removeCommentFromUser.loginName);
126
131
  }
127
132
  };
128
133
 
129
134
  const renderAdminRemoveButton = (r: ExtensionReview): ReactNode => {
130
- return <>
131
- <Button
132
- variant='contained'
133
- color='error'
134
- onClick={() => setRemoveDialogOpen(true)} >
135
- Remove review
136
- </Button>
137
- <Dialog
138
- open={removeDialogOpen}
139
- onClose={() => setRemoveDialogOpen(false)}>
140
- <DialogTitle>Remove Review</DialogTitle>
141
- <DialogContent>
142
- <DialogContentText component='div'>
143
- <Typography>Confirm removal of review comment from <code>{r.user.loginName}</code>?</Typography>
144
- </DialogContentText>
145
- </DialogContent>
146
- <DialogActions>
147
- <Button
148
- variant='contained'
149
- color='primary'
150
- onClick={() => setRemoveDialogOpen(false)} >
151
- Cancel
152
- </Button>
153
- <ButtonWithProgress
154
- autoFocus
155
- color='error'
156
- sx={{ ml: 1 }}
157
- working={removeReviewSet.has(r.user.loginName)}
158
- onClick={() => handleAdminRemoveReviewButton(r)} >
159
- Remove review
160
- </ButtonWithProgress>
161
- </DialogActions>
162
- </Dialog>
163
- </>;
135
+ return <Button
136
+ variant='contained'
137
+ color='error'
138
+ sx={{ ml: 1 }}
139
+ onClick={() => {
140
+ setRemoveCommentFromUser(r.user);
141
+ setRemoveDialogOpen(true);
142
+ }}>
143
+ Remove review
144
+ </Button>;
145
+ };
146
+
147
+ const renderAdminRemoveDialog = () => {
148
+ return <Dialog
149
+ open={removeDialogOpen}
150
+ onClose={() => setRemoveDialogOpen(false)}>
151
+ <DialogTitle>Remove Review</DialogTitle>
152
+ <DialogContent>
153
+ <DialogContentText component='div'>
154
+ <Typography>Confirm removal of review comment from <code>{removeCommentFromUser?.loginName}</code>?</Typography>
155
+ </DialogContentText>
156
+ </DialogContent>
157
+ <DialogActions>
158
+ <Button
159
+ variant='contained'
160
+ color='primary'
161
+ onClick={() => setRemoveDialogOpen(false)} >
162
+ Cancel
163
+ </Button>
164
+ <ButtonWithProgress
165
+ autoFocus
166
+ color='error'
167
+ sx={{ ml: 1 }}
168
+ working={removeReviewSet.has(removeCommentFromUser?.loginName ?? '')}
169
+ onClick={() => handleAdminRemoveReviewButton()} >
170
+ Remove review
171
+ </ButtonWithProgress>
172
+ </DialogActions>
173
+ </Dialog>;
164
174
  };
165
175
 
166
176
  const renderReviewList = (list?: ExtensionReviewList): ReactNode => {
@@ -251,6 +261,7 @@ export const ExtensionDetailReviews: FunctionComponent<ExtensionDetailReviewsPro
251
261
  <Box>
252
262
  <DelayedLoadIndicator loading={loading}/>
253
263
  {renderReviewList(reviewList)}
264
+ {context.user?.role === 'admin' && renderAdminRemoveDialog()}
254
265
  </Box>
255
266
  </>;
256
267