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

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) {
@@ -154,7 +165,7 @@ export const ExtensionDetailReviews = props => {
154
165
  React.createElement(Box, { overflow: 'auto' },
155
166
  React.createElement(Typography, { variant: 'body1', sx: { overflow: 'hidden', textOverflow: 'ellipsis' } }, r.comment))),
156
167
  ((_a = context.user) === null || _a === void 0 ? void 0 : _a.role) === 'admin' ?
157
- React.createElement(Box, { mb: 2, display: 'flex', alignItems: 'end' }, renderAdminRemoveButton(r))
168
+ React.createElement(Box, { mb: 2, sx: { mb: 2, minWidth: 160 }, display: 'flex', alignItems: 'end' }, renderAdminRemoveButton(r))
158
169
  :
159
170
  null),
160
171
  React.createElement(Divider, null));
@@ -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-rc.1",
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 => {
@@ -212,7 +222,7 @@ export const ExtensionDetailReviews: FunctionComponent<ExtensionDetailReviewsPro
212
222
  </Box>
213
223
  {
214
224
  context.user?.role === 'admin' ?
215
- <Box mb={2} display='flex' alignItems='end'>
225
+ <Box mb={2} sx={{ mb:2, minWidth: 160 }} display='flex' alignItems='end'>
216
226
  {renderAdminRemoveButton(r)}
217
227
  </Box>
218
228
  :
@@ -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