@bigbinary/neeto-access-control-frontend 1.3.2 → 1.3.3
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.
- package/dist/index.cjs.js +63 -95
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +7 -6
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
package/dist/index.cjs.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
4
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
5
|
var react = require('react');
|
|
@@ -42,10 +40,7 @@ var formik = require('formik');
|
|
|
42
40
|
var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
|
|
43
41
|
var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
|
|
44
42
|
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
function _interopNamespace(e) {
|
|
48
|
-
if (e && e.__esModule) return e;
|
|
43
|
+
function _interopNamespaceDefault(e) {
|
|
49
44
|
var n = Object.create(null);
|
|
50
45
|
if (e) {
|
|
51
46
|
Object.keys(e).forEach(function (k) {
|
|
@@ -58,52 +53,24 @@ function _interopNamespace(e) {
|
|
|
58
53
|
}
|
|
59
54
|
});
|
|
60
55
|
}
|
|
61
|
-
n
|
|
56
|
+
n.default = e;
|
|
62
57
|
return Object.freeze(n);
|
|
63
58
|
}
|
|
64
59
|
|
|
65
|
-
var
|
|
66
|
-
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
67
|
-
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
68
|
-
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
|
|
69
|
-
var Scrollable__default = /*#__PURE__*/_interopDefaultLegacy(Scrollable);
|
|
70
|
-
var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
|
|
71
|
-
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
72
|
-
var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
|
|
73
|
-
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
|
74
|
-
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
75
|
-
var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
|
|
76
|
-
var Delete__default = /*#__PURE__*/_interopDefaultLegacy(Delete);
|
|
77
|
-
var SubHeader__default = /*#__PURE__*/_interopDefaultLegacy(SubHeader);
|
|
78
|
-
var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
|
|
79
|
-
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
|
80
|
-
var Button__default$1 = /*#__PURE__*/_interopDefaultLegacy(Button$1);
|
|
81
|
-
var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
|
|
82
|
-
var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
|
|
83
|
-
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
|
84
|
-
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
85
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
86
|
-
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
87
|
-
var MultiEmailInput__default = /*#__PURE__*/_interopDefaultLegacy(MultiEmailInput);
|
|
88
|
-
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
89
|
-
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
90
|
-
var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
|
|
91
|
-
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
92
|
-
var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
|
|
93
|
-
var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
|
|
60
|
+
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
94
61
|
|
|
95
62
|
var ACCESS_CONTROL_BASE_PATH = "/secure/api/v1";
|
|
96
63
|
|
|
97
64
|
var invitationsPath = "".concat(ACCESS_CONTROL_BASE_PATH, "/configuration/invitations");
|
|
98
65
|
var list = function list(params) {
|
|
99
|
-
return
|
|
66
|
+
return axios.get(invitationsPath, {
|
|
100
67
|
params: params
|
|
101
68
|
});
|
|
102
69
|
};
|
|
103
70
|
var bulkCreate = function bulkCreate(_ref) {
|
|
104
71
|
var configurationId = _ref.configurationId,
|
|
105
72
|
payload = _ref.payload;
|
|
106
|
-
return
|
|
73
|
+
return axios.post("".concat(invitationsPath, "/bulk_create"), payload, {
|
|
107
74
|
params: {
|
|
108
75
|
neetoAccessControlConfigurationId: configurationId
|
|
109
76
|
}
|
|
@@ -112,7 +79,7 @@ var bulkCreate = function bulkCreate(_ref) {
|
|
|
112
79
|
var bulkDestroy = function bulkDestroy(_ref2) {
|
|
113
80
|
var configurationId = _ref2.configurationId,
|
|
114
81
|
payload = _ref2.payload;
|
|
115
|
-
return
|
|
82
|
+
return axios.post("".concat(invitationsPath, "/bulk_destroy"), payload, {
|
|
116
83
|
params: {
|
|
117
84
|
neetoAccessControlConfigurationId: configurationId
|
|
118
85
|
}
|
|
@@ -131,12 +98,12 @@ var QUERY_KEYS = {
|
|
|
131
98
|
|
|
132
99
|
var _excluded = ["ownerId", "ownerType"];
|
|
133
100
|
function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
134
|
-
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) {
|
|
101
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
135
102
|
var ACCESS_CONTROL_CONFIGURATION_INVITATIONS$1 = QUERY_KEYS.ACCESS_CONTROL_CONFIGURATION_INVITATIONS;
|
|
136
103
|
var useListInvitations = function useListInvitations(_ref, options) {
|
|
137
104
|
var ownerId = _ref.ownerId,
|
|
138
105
|
ownerType = _ref.ownerType,
|
|
139
|
-
otherParams =
|
|
106
|
+
otherParams = _objectWithoutProperties(_ref, _excluded);
|
|
140
107
|
return reactQuery.useQuery(_objectSpread$3({
|
|
141
108
|
queryKey: [ACCESS_CONTROL_CONFIGURATION_INVITATIONS$1, ownerType, ownerId, otherParams],
|
|
142
109
|
queryFn: function queryFn() {
|
|
@@ -212,7 +179,7 @@ var AddEmails = function AddEmails(_ref) {
|
|
|
212
179
|
}
|
|
213
180
|
});
|
|
214
181
|
};
|
|
215
|
-
return /*#__PURE__*/jsxRuntime.jsxs(
|
|
182
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Form, {
|
|
216
183
|
className: "mb-5 flex w-full space-x-5",
|
|
217
184
|
formikProps: {
|
|
218
185
|
initialValues: ADD_EMAILS_FORM_INIT_VALUES,
|
|
@@ -221,14 +188,14 @@ var AddEmails = function AddEmails(_ref) {
|
|
|
221
188
|
},
|
|
222
189
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
223
190
|
className: "flex-grow",
|
|
224
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
191
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MultiEmailInput, {
|
|
225
192
|
helpText: t("neetoAccessControl.addEmails.helpText"),
|
|
226
193
|
label: t("neetoAccessControl.titles.emails"),
|
|
227
194
|
name: "emails",
|
|
228
195
|
placeholder: t("neetoAccessControl.addEmails.placeholder"),
|
|
229
196
|
ref: emailsInputRef
|
|
230
197
|
})
|
|
231
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
198
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
232
199
|
className: "flex-shrink-0 self-center whitespace-nowrap",
|
|
233
200
|
label: t("neetoAccessControl.buttons.invite"),
|
|
234
201
|
type: "submit"
|
|
@@ -246,14 +213,14 @@ var defaultColumnData = function defaultColumnData(_ref) {
|
|
|
246
213
|
render: function render(email, inviteData) {
|
|
247
214
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
248
215
|
className: "flex items-center justify-between gap-x-3",
|
|
249
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
216
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip, {
|
|
250
217
|
content: email,
|
|
251
218
|
disabled: email.length < TRUNCATE_LENGTH,
|
|
252
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
219
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
253
220
|
style: "body2",
|
|
254
221
|
children: neetoCist.truncate(email, TRUNCATE_LENGTH)
|
|
255
222
|
})
|
|
256
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
223
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
|
|
257
224
|
dropdownProps: {
|
|
258
225
|
strategy: "fixed"
|
|
259
226
|
},
|
|
@@ -306,15 +273,15 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
306
273
|
_ref$onDestroyInvitat = _ref.onDestroyInvitationsSuccess,
|
|
307
274
|
onDestroyInvitationsSuccess = _ref$onDestroyInvitat === void 0 ? neetoCist.noop : _ref$onDestroyInvitat;
|
|
308
275
|
var _useState = react.useState([]),
|
|
309
|
-
_useState2 =
|
|
276
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
310
277
|
selectedEmails = _useState2[0],
|
|
311
278
|
setSelectedEmails = _useState2[1];
|
|
312
279
|
var _useState3 = react.useState(false),
|
|
313
|
-
_useState4 =
|
|
280
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
314
281
|
showDeleteAlert = _useState4[0],
|
|
315
282
|
setShowDeleteAlert = _useState4[1];
|
|
316
283
|
var _useState5 = react.useState(constants.DEFAULT_PAGE_INDEX),
|
|
317
|
-
_useState6 =
|
|
284
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
318
285
|
page = _useState6[0],
|
|
319
286
|
setPage = _useState6[1];
|
|
320
287
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -364,25 +331,25 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
364
331
|
setShowDeleteAlert(true);
|
|
365
332
|
};
|
|
366
333
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
367
|
-
children: [/*#__PURE__*/jsxRuntime.jsxs(
|
|
334
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane, {
|
|
368
335
|
isOpen: isOpen,
|
|
369
336
|
size: "large",
|
|
370
337
|
onClose: handleOnClose,
|
|
371
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
372
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
338
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
339
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
373
340
|
style: "h2",
|
|
374
341
|
weight: "semibold",
|
|
375
342
|
children: t("neetoAccessControl.titles.invitations")
|
|
376
343
|
})
|
|
377
|
-
}), /*#__PURE__*/jsxRuntime.jsxs(
|
|
344
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(Pane.Body, {
|
|
378
345
|
className: "pt-2",
|
|
379
346
|
children: [!hideAddEmailsForm && /*#__PURE__*/jsxRuntime.jsx(AddEmails, {
|
|
380
347
|
configurationId: configurationId,
|
|
381
348
|
ownerId: ownerId,
|
|
382
349
|
ownerType: ownerType
|
|
383
350
|
}), neetoCist.isNotEmpty(invitations) ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
384
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
385
|
-
leftActionBlock: ramda.isEmpty(selectedEmails) ? /*#__PURE__*/jsxRuntime.jsx(
|
|
351
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(SubHeader, {
|
|
352
|
+
leftActionBlock: ramda.isEmpty(selectedEmails) ? /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
386
353
|
className: "min-h-8",
|
|
387
354
|
component: "h4",
|
|
388
355
|
style: "h4",
|
|
@@ -391,14 +358,14 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
391
358
|
})
|
|
392
359
|
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
393
360
|
className: "flex items-center gap-x-4",
|
|
394
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
361
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
395
362
|
style: "h4",
|
|
396
363
|
children: t("neetoAccessControl.titles.selectedEmailsWithCount", {
|
|
397
364
|
count: selectedEmails.length,
|
|
398
365
|
totalCount: totalCount
|
|
399
366
|
})
|
|
400
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
401
|
-
icon:
|
|
367
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
368
|
+
icon: Delete,
|
|
402
369
|
style: "secondary",
|
|
403
370
|
tooltipProps: {
|
|
404
371
|
content: t("neetoAccessControl.labels.delete")
|
|
@@ -408,9 +375,9 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
408
375
|
}
|
|
409
376
|
})]
|
|
410
377
|
})
|
|
411
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
378
|
+
}), /*#__PURE__*/jsxRuntime.jsx(TableWrapper, {
|
|
412
379
|
hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE,
|
|
413
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
380
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Table, {
|
|
414
381
|
totalCount: totalCount,
|
|
415
382
|
fixedHeight: true,
|
|
416
383
|
rowSelection: true,
|
|
@@ -430,15 +397,15 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
430
397
|
})]
|
|
431
398
|
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
432
399
|
className: "flex h-full w-full justify-center",
|
|
433
|
-
children: [!isLoading && /*#__PURE__*/jsxRuntime.jsx(
|
|
400
|
+
children: [!isLoading && /*#__PURE__*/jsxRuntime.jsx(NoData, {
|
|
434
401
|
title: t("neetoAccessControl.labels.noInvitations")
|
|
435
402
|
}), isLoading && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
436
403
|
className: "flex h-full w-full items-center justify-center",
|
|
437
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
404
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
438
405
|
})]
|
|
439
406
|
})]
|
|
440
407
|
})]
|
|
441
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
408
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Alert, {
|
|
442
409
|
isOpen: showDeleteAlert,
|
|
443
410
|
isSubmitting: isPending,
|
|
444
411
|
submitButtonLabel: t("neetoAccessControl.labels.delete"),
|
|
@@ -465,7 +432,7 @@ var Invitations$1 = function Invitations(_ref) {
|
|
|
465
432
|
|
|
466
433
|
var configurationPath = "".concat(ACCESS_CONTROL_BASE_PATH, "/configuration");
|
|
467
434
|
var show = function show(params) {
|
|
468
|
-
return
|
|
435
|
+
return axios.get(configurationPath, {
|
|
469
436
|
params: params
|
|
470
437
|
});
|
|
471
438
|
};
|
|
@@ -473,7 +440,7 @@ var update = function update(_ref) {
|
|
|
473
440
|
var ownerId = _ref.ownerId,
|
|
474
441
|
ownerType = _ref.ownerType,
|
|
475
442
|
payload = _ref.payload;
|
|
476
|
-
return
|
|
443
|
+
return axios.put(configurationPath, {
|
|
477
444
|
configuration: payload
|
|
478
445
|
}, {
|
|
479
446
|
params: {
|
|
@@ -488,7 +455,7 @@ var configurationsApi = {
|
|
|
488
455
|
};
|
|
489
456
|
|
|
490
457
|
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
491
|
-
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) {
|
|
458
|
+
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
492
459
|
var ACCESS_CONTROL_CONFIGURATION = QUERY_KEYS.ACCESS_CONTROL_CONFIGURATION,
|
|
493
460
|
ACCESS_CONTROL_CONFIGURATION_INVITATIONS = QUERY_KEYS.ACCESS_CONTROL_CONFIGURATION_INVITATIONS;
|
|
494
461
|
var useShowConfiguration = function useShowConfiguration(_ref) {
|
|
@@ -530,22 +497,23 @@ var AUTH = {
|
|
|
530
497
|
var AUTH_OPTIONS = [{
|
|
531
498
|
label: i18next.t("neetoAccessControl.auth.no"),
|
|
532
499
|
value: AUTH.NO,
|
|
533
|
-
"data-cy":
|
|
500
|
+
"data-cy": "access-control-public-access-radio-input"
|
|
534
501
|
}, {
|
|
535
502
|
label: i18next.t("neetoAccessControl.auth.basic"),
|
|
536
503
|
value: AUTH.BASIC,
|
|
537
|
-
"data-cy":
|
|
504
|
+
"data-cy": "access-control-password-protected-radio-input"
|
|
538
505
|
}, {
|
|
539
506
|
label: i18next.t("neetoAccessControl.auth.invited"),
|
|
540
|
-
value: AUTH.INVITED
|
|
507
|
+
value: AUTH.INVITED,
|
|
508
|
+
"data-cy": "access-control-only-invited-people-radio-input"
|
|
541
509
|
}, {
|
|
542
510
|
label: i18next.t("neetoAccessControl.auth.email"),
|
|
543
511
|
value: AUTH.EMAIL,
|
|
544
|
-
"data-cy":
|
|
512
|
+
"data-cy": "access-control-secure-by-email-patterns-radio-input"
|
|
545
513
|
}, {
|
|
546
514
|
label: i18next.t("neetoAccessControl.auth.session"),
|
|
547
515
|
value: AUTH.SESSION,
|
|
548
|
-
"data-cy":
|
|
516
|
+
"data-cy": "access-control-logged-in-members-only-radio-input"
|
|
549
517
|
}];
|
|
550
518
|
var CONFIGURATION_VALIDATION_SCHEMA = yup__namespace.object({
|
|
551
519
|
auth: yup__namespace.string().required(i18next.t("neetoAccessControl.inputs.validation.authRequired")),
|
|
@@ -602,7 +570,7 @@ var renderLabelWithViewInvitation = function renderLabelWithViewInvitation(_ref2
|
|
|
602
570
|
return /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
603
571
|
i18nKey: "neetoAccessControl.auth.invitedWithViewButton",
|
|
604
572
|
components: {
|
|
605
|
-
button: /*#__PURE__*/jsxRuntime.jsx(
|
|
573
|
+
button: /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
606
574
|
className: "mt-1",
|
|
607
575
|
size: "small",
|
|
608
576
|
style: "link",
|
|
@@ -624,18 +592,18 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
624
592
|
var showDeleteButton = allowedKeywords.length > 1 || neetoCist.isNotEmpty(allowedKeywords[0]);
|
|
625
593
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
626
594
|
className: "space-y-4",
|
|
627
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
595
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
628
596
|
children: label
|
|
629
597
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
630
598
|
className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6",
|
|
631
599
|
children: [allowedKeywords.map(function (_, index) {
|
|
632
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
600
|
+
return /*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
633
601
|
className: "w-full",
|
|
634
602
|
name: "".concat(name, ".").concat(index),
|
|
635
603
|
placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
|
|
636
|
-
suffix: showDeleteButton && /*#__PURE__*/jsxRuntime.jsx(
|
|
604
|
+
suffix: showDeleteButton && /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
637
605
|
"data-cy": "allowed-keyword-delete-button",
|
|
638
|
-
icon:
|
|
606
|
+
icon: Delete,
|
|
639
607
|
size: "small",
|
|
640
608
|
style: "text",
|
|
641
609
|
onClick: function onClick() {
|
|
@@ -647,7 +615,7 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
647
615
|
}
|
|
648
616
|
})
|
|
649
617
|
}, index);
|
|
650
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
618
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button$1, {
|
|
651
619
|
className: "pt-2",
|
|
652
620
|
"data-cy": "add-allowed-keyword-button",
|
|
653
621
|
label: t("neetoAccessControl.actions.addKeyword"),
|
|
@@ -663,16 +631,16 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
|
|
|
663
631
|
});
|
|
664
632
|
|
|
665
633
|
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
666
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) {
|
|
634
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
667
635
|
var Header = function Header(_ref) {
|
|
668
636
|
var headerProps = _ref.headerProps;
|
|
669
637
|
var title = headerProps.title,
|
|
670
638
|
helpLink = headerProps.helpLink,
|
|
671
639
|
description = headerProps.description;
|
|
672
|
-
return /*#__PURE__*/jsxRuntime.jsx(
|
|
640
|
+
return /*#__PURE__*/jsxRuntime.jsx(NeetoHeader, _objectSpread$1(_objectSpread$1({}, headerProps), {}, {
|
|
673
641
|
title: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
674
642
|
className: "flex",
|
|
675
|
-
children: [title, /*#__PURE__*/jsxRuntime.jsx(
|
|
643
|
+
children: [title, /*#__PURE__*/jsxRuntime.jsx(HelpPopover, {
|
|
676
644
|
description: description,
|
|
677
645
|
title: title,
|
|
678
646
|
className: "ml-2 self-center",
|
|
@@ -685,7 +653,7 @@ var Header = function Header(_ref) {
|
|
|
685
653
|
};
|
|
686
654
|
|
|
687
655
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
688
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
|
|
656
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
689
657
|
var Configuration = function Configuration(_ref) {
|
|
690
658
|
var ownerId = _ref.ownerId,
|
|
691
659
|
ownerType = _ref.ownerType,
|
|
@@ -705,7 +673,7 @@ var Configuration = function Configuration(_ref) {
|
|
|
705
673
|
onDestroyInvitationsSuccess = _ref$onDestroyInvitat === void 0 ? neetoCist.noop : _ref$onDestroyInvitat,
|
|
706
674
|
children = _ref.children;
|
|
707
675
|
var _useState = react.useState(false),
|
|
708
|
-
_useState2 =
|
|
676
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
709
677
|
showInviationsPane = _useState2[0],
|
|
710
678
|
setShowInviationsPane = _useState2[1];
|
|
711
679
|
var _useTranslation = reactI18next.useTranslation(),
|
|
@@ -746,16 +714,16 @@ var Configuration = function Configuration(_ref) {
|
|
|
746
714
|
var handleShowInvitations = onConfigurationChangedToInviteOnly === neetoCist.noop ? function () {
|
|
747
715
|
return setShowInviationsPane(true);
|
|
748
716
|
} : onConfigurationChangedToInviteOnly;
|
|
749
|
-
return /*#__PURE__*/jsxRuntime.jsxs(
|
|
717
|
+
return /*#__PURE__*/jsxRuntime.jsxs(Container, {
|
|
750
718
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
751
719
|
headerProps: headerProps
|
|
752
720
|
}), isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
753
721
|
className: "flex h-full w-full items-center justify-center",
|
|
754
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
755
|
-
}) : /*#__PURE__*/jsxRuntime.jsxs(
|
|
722
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
723
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs(Scrollable, {
|
|
756
724
|
className: "w-full",
|
|
757
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
758
|
-
className:
|
|
725
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Form, {
|
|
726
|
+
className: classNames("space-y-6", className),
|
|
759
727
|
formikProps: {
|
|
760
728
|
initialValues: configurationInitialValues,
|
|
761
729
|
validationSchema: CONFIGURATION_VALIDATION_SCHEMA,
|
|
@@ -766,16 +734,16 @@ var Configuration = function Configuration(_ref) {
|
|
|
766
734
|
children: function children(_ref3) {
|
|
767
735
|
var values = _ref3.values;
|
|
768
736
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
769
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(
|
|
737
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
|
|
770
738
|
className: "neeto-ui-text-base",
|
|
771
739
|
children: t("neetoAccessControl.inputs.labels.visibility")
|
|
772
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
740
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Radio, {
|
|
773
741
|
stacked: true,
|
|
774
742
|
name: "auth",
|
|
775
743
|
children: AUTH_OPTIONS.map(function (props) {
|
|
776
|
-
return /*#__PURE__*/react.createElement(
|
|
744
|
+
return /*#__PURE__*/react.createElement(Radio.Item, _objectSpread(_objectSpread({}, props), {}, {
|
|
777
745
|
key: props.value,
|
|
778
|
-
className:
|
|
746
|
+
className: classNames({
|
|
779
747
|
"items-start": (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === props.value && (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === AUTH.INVITED
|
|
780
748
|
}),
|
|
781
749
|
label: (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === props.value && (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === AUTH.INVITED ? renderLabelWithViewInvitation({
|
|
@@ -784,7 +752,7 @@ var Configuration = function Configuration(_ref) {
|
|
|
784
752
|
}
|
|
785
753
|
}) : props.label,
|
|
786
754
|
labelProps: {
|
|
787
|
-
className:
|
|
755
|
+
className: classNames({
|
|
788
756
|
"flex flex-col items-start justify-start": (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === props.value && (configuration === null || configuration === void 0 ? void 0 : configuration.auth) === AUTH.INVITED
|
|
789
757
|
})
|
|
790
758
|
}
|
|
@@ -792,7 +760,7 @@ var Configuration = function Configuration(_ref) {
|
|
|
792
760
|
})
|
|
793
761
|
}), values.auth === AUTH.BASIC && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
794
762
|
className: "space-y-4 pb-2",
|
|
795
|
-
children: /*#__PURE__*/jsxRuntime.jsx(
|
|
763
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
796
764
|
autoFocus: true,
|
|
797
765
|
required: true,
|
|
798
766
|
unlimitedChars: true,
|
|
@@ -804,7 +772,7 @@ var Configuration = function Configuration(_ref) {
|
|
|
804
772
|
}), values.auth === AUTH.EMAIL && /*#__PURE__*/jsxRuntime.jsx(AllowedKeywords, {
|
|
805
773
|
label: t("neetoAccessControl.inputs.labels.keywords"),
|
|
806
774
|
name: "allowedKeywords"
|
|
807
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
775
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
808
776
|
cancelButtonProps: {
|
|
809
777
|
onClick: handleCancel
|
|
810
778
|
},
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"pt-2\">\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.invited\"),\n value: AUTH.INVITED,\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label, Spinner } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n onDestroyInvitationsSuccess = noop,\n children,\n}) => {\n const [showInviationsPane, setShowInviationsPane] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInviationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () => setShowInviationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n </>\n )}\n </Form>\n <Invitations\n {...{ onDestroyInvitationsSuccess, ownerId, ownerType }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInviationsPane && !isFetching}\n onClose={() => setShowInviationsPane(false)}\n />\n {children}\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","AUTH_OPTIONS","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","showInviationsPane","setShowInviationsPane","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","onSettled","Container","Scrollable","classNames","enableReinitialize","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"pt-2\">\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.invited\"),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label, Spinner } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n onDestroyInvitationsSuccess = noop,\n children,\n}) => {\n const [showInviationsPane, setShowInviationsPane] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInviationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () => setShowInviationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n </>\n )}\n </Form>\n <Invitations\n {...{ onDestroyInvitationsSuccess, ownerId, ownerType }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInviationsPane && !isFetching}\n onClose={() => setShowInviationsPane(false)}\n />\n {children}\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","AUTH_OPTIONS","value","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","showInviationsPane","setShowInviationsPane","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","onSettled","Container","Scrollable","classNames","enableReinitialize","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
3
|
import { useRef, useState, createElement } from 'react';
|
|
4
4
|
import classNames from 'classnames';
|
|
5
|
-
import { truncate, humanize, isNotEmpty, noop
|
|
5
|
+
import { truncate, humanize, isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
6
6
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
7
7
|
import Scrollable from '@bigbinary/neeto-molecules/Scrollable';
|
|
8
8
|
import Label from '@bigbinary/neetoui/Label';
|
|
@@ -476,22 +476,23 @@ var AUTH = {
|
|
|
476
476
|
var AUTH_OPTIONS = [{
|
|
477
477
|
label: t("neetoAccessControl.auth.no"),
|
|
478
478
|
value: AUTH.NO,
|
|
479
|
-
"data-cy":
|
|
479
|
+
"data-cy": "access-control-public-access-radio-input"
|
|
480
480
|
}, {
|
|
481
481
|
label: t("neetoAccessControl.auth.basic"),
|
|
482
482
|
value: AUTH.BASIC,
|
|
483
|
-
"data-cy":
|
|
483
|
+
"data-cy": "access-control-password-protected-radio-input"
|
|
484
484
|
}, {
|
|
485
485
|
label: t("neetoAccessControl.auth.invited"),
|
|
486
|
-
value: AUTH.INVITED
|
|
486
|
+
value: AUTH.INVITED,
|
|
487
|
+
"data-cy": "access-control-only-invited-people-radio-input"
|
|
487
488
|
}, {
|
|
488
489
|
label: t("neetoAccessControl.auth.email"),
|
|
489
490
|
value: AUTH.EMAIL,
|
|
490
|
-
"data-cy":
|
|
491
|
+
"data-cy": "access-control-secure-by-email-patterns-radio-input"
|
|
491
492
|
}, {
|
|
492
493
|
label: t("neetoAccessControl.auth.session"),
|
|
493
494
|
value: AUTH.SESSION,
|
|
494
|
-
"data-cy":
|
|
495
|
+
"data-cy": "access-control-logged-in-members-only-radio-input"
|
|
495
496
|
}];
|
|
496
497
|
var CONFIGURATION_VALIDATION_SCHEMA = yup.object({
|
|
497
498
|
auth: yup.string().required(t("neetoAccessControl.inputs.validation.authRequired")),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"pt-2\">\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.invited\"),\n value: AUTH.INVITED,\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label, Spinner } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n onDestroyInvitationsSuccess = noop,\n children,\n}) => {\n const [showInviationsPane, setShowInviationsPane] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInviationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () => setShowInviationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n </>\n )}\n </Form>\n <Invitations\n {...{ onDestroyInvitationsSuccess, ownerId, ownerType }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInviationsPane && !isFetching}\n onClose={() => setShowInviationsPane(false)}\n />\n {children}\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","AUTH_OPTIONS","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","showInviationsPane","setShowInviationsPane","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","onSettled","Container","Scrollable","classNames","enableReinitialize","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/apis/invitations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useInvitationsApi.js","../app/javascript/src/components/Configuration/Invitations/constants.js","../app/javascript/src/components/Configuration/Invitations/AddEmails.jsx","../app/javascript/src/components/Configuration/Invitations/utils.jsx","../app/javascript/src/components/Configuration/Invitations/index.jsx","../app/javascript/src/apis/configurations.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.jsx","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx","../index.js"],"sourcesContent":["export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst invitationsPath = `${ACCESS_CONTROL_BASE_PATH}/configuration/invitations`;\n\nconst list = params => axios.get(invitationsPath, { params });\n\nconst bulkCreate = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_create`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst bulkDestroy = ({ configurationId, payload }) =>\n axios.post(`${invitationsPath}/bulk_destroy`, payload, {\n params: { neetoAccessControlConfigurationId: configurationId },\n });\n\nconst invitationsApi = { list, bulkDestroy, bulkCreate };\n\nexport default invitationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS:\n \"access-control-configuration-invitations\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport invitationsApi from \"apis/invitations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS } = QUERY_KEYS;\n\nexport const useListInvitations = (\n { ownerId, ownerType, ...otherParams },\n options\n) =>\n useQuery({\n queryKey: [\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n ownerType,\n ownerId,\n otherParams,\n ],\n queryFn: () => invitationsApi.list(otherParams),\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport const useBulkCreateInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkCreate({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n\nexport const useBulkDestroyInvitations = (\n { configurationId, ownerId, ownerType },\n options\n) =>\n useMutationWithInvalidation(\n payload => invitationsApi.bulkDestroy({ configurationId, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const TRUNCATE_LENGTH = 45;\n\nexport const ADD_EMAILS_FORM_INIT_VALUES = { emails: [] };\n\nexport const ADD_EMAILS_FORM_VALDATION_SCHEMA = yup.object().shape({\n emails: yup\n .array()\n .test(\n \"are-all-emails-valid\",\n t(\"neetoAccessControl.inputs.validation.emailAddress\"),\n emails => emails.every(prop(\"valid\"))\n ),\n});\n","import { useRef } from \"react\";\n\nimport { Form, MultiEmailInput, Button } from \"neetoui/formik\";\nimport { pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\n\nimport {\n ADD_EMAILS_FORM_INIT_VALUES,\n ADD_EMAILS_FORM_VALDATION_SCHEMA,\n} from \"./constants\";\n\nconst AddEmails = ({ configurationId, ownerType, ownerId }) => {\n const { t } = useTranslation();\n\n const emailsInputRef = useRef();\n\n const { mutate: addEmails } = useBulkCreateInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleAddEmails = ({ emails }, { setSubmitting, resetForm }) => {\n const payload = { emails: pluck(\"value\", emails) };\n\n addEmails(payload, {\n onSuccess: () => {\n setSubmitting(false);\n resetForm();\n },\n onError: () => setSubmitting(false),\n });\n };\n\n return (\n <Form\n className=\"mb-5 flex w-full space-x-5\"\n formikProps={{\n initialValues: ADD_EMAILS_FORM_INIT_VALUES,\n onSubmit: handleAddEmails,\n validationSchema: ADD_EMAILS_FORM_VALDATION_SCHEMA,\n }}\n >\n <div className=\"flex-grow\">\n <MultiEmailInput\n helpText={t(\"neetoAccessControl.addEmails.helpText\")}\n label={t(\"neetoAccessControl.titles.emails\")}\n name=\"emails\"\n placeholder={t(\"neetoAccessControl.addEmails.placeholder\")}\n ref={emailsInputRef}\n />\n </div>\n {/* Cancel button is not required in this case */}\n {/* eslint-disable-next-line @bigbinary/neeto/use-neetoui-action-block-in-formik-forms */}\n <Button\n className=\"flex-shrink-0 self-center whitespace-nowrap\"\n label={t(\"neetoAccessControl.buttons.invite\")}\n type=\"submit\"\n />\n </Form>\n );\n};\n\nexport default AddEmails;\n","import { t } from \"i18next\";\nimport { humanize, truncate } from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport { indexBy, mergeDeepRight, prop, values } from \"ramda\";\n\nimport { TRUNCATE_LENGTH } from \"./constants\";\n\nconst defaultColumnData = ({ onDelete }) => [\n {\n title: t(\"neetoAccessControl.titles.emails\"),\n dataIndex: \"email\",\n key: \"email\",\n width: 75,\n render: (email, inviteData) => (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Tooltip content={email} disabled={email.length < TRUNCATE_LENGTH}>\n <Typography style=\"body2\">\n {truncate(email, TRUNCATE_LENGTH)}\n </Typography>\n </Tooltip>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n menuItems={[\n {\n key: \"delete\",\n label: t(\"neetoAccessControl.labels.delete\"),\n onClick: () => onDelete(inviteData),\n },\n ]}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoAccessControl.titles.status\"),\n dataIndex: \"status\",\n key: \"status\",\n width: 75,\n render: status => humanize(status),\n },\n];\n\nconst mergeByKey = (key, a, b) => {\n const merge = mergeDeepRight(indexBy(prop(key), a), indexBy(prop(key), b));\n\n return values(merge);\n};\n\nexport const renderColumnData = ({ onDelete, extraColumnsData = [] }) =>\n mergeByKey(\"key\", defaultColumnData({ onDelete }), extraColumnsData);\n","import { useState } from \"react\";\n\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { Delete } from \"neetoicons\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport {\n Alert,\n Button,\n NoData,\n Pane,\n Spinner,\n Table,\n Typography,\n} from \"neetoui\";\nimport { isEmpty, pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n useBulkDestroyInvitations,\n useListInvitations,\n} from \"hooks/reactQuery/useInvitationsApi\";\n\nimport AddEmails from \"./AddEmails\";\nimport { renderColumnData } from \"./utils\";\n\nconst Invitations = ({\n extraColumnsData = [],\n configurationId,\n ownerType = null,\n ownerId = null,\n isOpen,\n onClose,\n hideAddEmailsForm = false,\n onDestroyInvitationsSuccess = noop,\n}) => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [showDeleteAlert, setShowDeleteAlert] = useState(false);\n const [page, setPage] = useState(DEFAULT_PAGE_INDEX);\n\n const { t } = useTranslation();\n\n const {\n data: { invitations = [], totalCount = 0 } = {},\n isFetching,\n isLoading,\n } = useListInvitations(\n {\n neetoAccessControlConfigurationId: configurationId,\n ownerType,\n ownerId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n },\n { enabled: isOpen }\n );\n\n const { mutate: deleteEmailInvites, isPending } = useBulkDestroyInvitations({\n configurationId,\n ownerType,\n ownerId,\n });\n\n const handleOnClose = () => {\n onClose();\n setSelectedEmails([]);\n };\n\n const handleDeleteEmailInvites = () => {\n const payload = { emails: pluck(\"email\", selectedEmails) };\n\n deleteEmailInvites(payload, {\n onSuccess: () => {\n setSelectedEmails([]);\n setShowDeleteAlert(false);\n onDestroyInvitationsSuccess();\n },\n });\n };\n\n const handleDeleteAction = inviteData => {\n setSelectedEmails([inviteData]);\n setShowDeleteAlert(true);\n };\n\n return (\n <>\n <Pane {...{ isOpen }} size=\"large\" onClose={handleOnClose}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoAccessControl.titles.invitations\")}\n </Typography>\n </Pane.Header>\n <Pane.Body className=\"pt-2\">\n {!hideAddEmailsForm && (\n <AddEmails {...{ configurationId, ownerId, ownerType }} />\n )}\n {isNotEmpty(invitations) ? (\n <>\n <SubHeader\n leftActionBlock={\n isEmpty(selectedEmails) ? (\n <Typography className=\"min-h-8\" component=\"h4\" style=\"h4\">\n {t(\"neetoAccessControl.titles.emailsWithCount\", {\n count: totalCount,\n })}\n </Typography>\n ) : (\n <div className=\"flex items-center gap-x-4\">\n <Typography style=\"h4\">\n {t(\n \"neetoAccessControl.titles.selectedEmailsWithCount\",\n { count: selectedEmails.length, totalCount }\n )}\n </Typography>\n <Button\n icon={Delete}\n style=\"secondary\"\n tooltipProps={{\n content: t(\"neetoAccessControl.labels.delete\"),\n }}\n onClick={() => setShowDeleteAlert(true)}\n />\n </div>\n )\n }\n />\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n rowSelection\n currentPageNumber={page}\n handlePageChange={setPage}\n loading={isFetching}\n rowData={invitations}\n selectedRowKeys={pluck(\"id\", selectedEmails)}\n columnData={renderColumnData({\n onDelete: handleDeleteAction,\n extraColumnsData,\n })}\n onRowSelect={(_, selectedRows) =>\n setSelectedEmails(selectedRows)\n }\n />\n </TableWrapper>\n </>\n ) : (\n <div className=\"flex h-full w-full justify-center\">\n {!isLoading && (\n <NoData title={t(\"neetoAccessControl.labels.noInvitations\")} />\n )}\n {isLoading && (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n )}\n </div>\n )}\n </Pane.Body>\n </Pane>\n <Alert\n isOpen={showDeleteAlert}\n isSubmitting={isPending}\n submitButtonLabel={t(\"neetoAccessControl.labels.delete\")}\n message={\n <Trans\n components={[{ strong: <strong /> }]}\n i18nKey=\"neetoAccessControl.alerts.deleteInviation.message\"\n values={{\n count: selectedEmails.length,\n email: selectedEmails[0]?.email,\n }}\n />\n }\n title={t(\"neetoAccessControl.alerts.deleteInviation.title\", {\n count: selectedEmails.length,\n })}\n onClose={() => setShowDeleteAlert(false)}\n onSubmit={handleDeleteEmailInvites}\n />\n </>\n );\n};\nexport default Invitations;\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst {\n ACCESS_CONTROL_CONFIGURATION,\n ACCESS_CONTROL_CONFIGURATION_INVITATIONS,\n} = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [\n [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n [ACCESS_CONTROL_CONFIGURATION_INVITATIONS, ownerType, ownerId],\n ],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n INVITED: \"invited\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": \"access-control-public-access-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": \"access-control-password-protected-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.invited\"),\n value: AUTH.INVITED,\n \"data-cy\": \"access-control-only-invited-people-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": \"access-control-secure-by-email-patterns-radio-input\",\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": \"access-control-logged-in-members-only-radio-input\",\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { Button } from \"neetoui\";\nimport { isEmpty, pick, pipe, reject, trim } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n\nexport const renderLabelWithViewInvitation = ({ onViewInvites }) => (\n <Trans\n i18nKey=\"neetoAccessControl.auth.invitedWithViewButton\"\n components={{\n button: (\n <Button\n className=\"mt-1\"\n size=\"small\"\n style=\"link\"\n onClick={onViewInvites}\n />\n ),\n }}\n />\n);\n","import { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import { useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label, Spinner } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Invitations from \"components/Configuration/Invitations\";\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport {\n buildConfigurationInitialValues,\n buildPayload,\n renderLabelWithViewInvitation,\n} from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n onConfigurationChangedToInviteOnly = noop,\n invitationsTableExtraColumnsData = [],\n hideAddEmailsFromInvitationPane = false,\n onDestroyInvitationsSuccess = noop,\n children,\n}) => {\n const [showInviationsPane, setShowInviationsPane] = useState(false);\n\n const { t } = useTranslation();\n\n const {\n data: configuration = {},\n isLoading,\n isFetching,\n } = useShowConfiguration({ ownerId, ownerType });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n {\n onSuccess: values => {\n const { configuration: { auth } = {} } = values;\n if (auth === AUTH.INVITED) {\n handleShowInvitations();\n }\n onSuccess(values);\n },\n }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n const handleShowInvitations =\n onConfigurationChangedToInviteOnly === noop\n ? () => setShowInviationsPane(true)\n : onConfigurationChangedToInviteOnly;\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item\n {...props}\n key={props.value}\n className={classNames({\n \"items-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n })}\n label={\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED\n ? renderLabelWithViewInvitation({\n onViewInvites: () => setShowInviationsPane(true),\n })\n : props.label\n }\n labelProps={{\n className: classNames({\n \"flex flex-col items-start justify-start\":\n configuration?.auth === props.value &&\n configuration?.auth === AUTH.INVITED,\n }),\n }}\n />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n submitButtonProps={\n values.auth === AUTH.INVITED\n ? {\n label: t(\n \"neetoAccessControl.buttons.saveChangesAndInvite\"\n ),\n }\n : {}\n }\n />\n </>\n )}\n </Form>\n <Invitations\n {...{ onDestroyInvitationsSuccess, ownerId, ownerType }}\n configurationId={configuration.id}\n extraColumnsData={invitationsTableExtraColumnsData}\n hideAddEmailsForm={hideAddEmailsFromInvitationPane}\n isOpen={showInviationsPane && !isFetching}\n onClose={() => setShowInviationsPane(false)}\n />\n {children}\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n","import Configuration from \"components/Configuration\";\nimport InvitationsPane from \"components/Configuration/Invitations\";\nimport { useShowConfiguration } from \"hooks/reactQuery/useConfigurationsApi\";\nimport { useBulkCreateInvitations } from \"hooks/reactQuery/useInvitationsApi\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION_INVITATIONS: INVITATIONS_QUERY_KEY } =\n QUERY_KEYS;\n\nconst Invitations = {\n InvitationsPane,\n useBulkCreateInvitations,\n INVITATIONS_QUERY_KEY,\n};\n\nexport { Configuration, Invitations, useShowConfiguration };\n"],"names":["ACCESS_CONTROL_BASE_PATH","invitationsPath","concat","list","params","axios","get","bulkCreate","_ref","configurationId","payload","post","neetoAccessControlConfigurationId","bulkDestroy","_ref2","invitationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","ACCESS_CONTROL_CONFIGURATION_INVITATIONS","useListInvitations","options","ownerId","ownerType","otherParams","_objectWithoutProperties","_excluded","useQuery","_objectSpread","queryKey","queryFn","staleTime","DEFAULT_STALE_TIME","useBulkCreateInvitations","useMutationWithInvalidation","keysToInvalidate","useBulkDestroyInvitations","_ref3","TRUNCATE_LENGTH","ADD_EMAILS_FORM_INIT_VALUES","emails","ADD_EMAILS_FORM_VALDATION_SCHEMA","yup","object","shape","array","test","t","every","prop","AddEmails","_useTranslation","useTranslation","emailsInputRef","useRef","_useBulkCreateInvitat","addEmails","mutate","handleAddEmails","setSubmitting","resetForm","pluck","onSuccess","onError","_jsxs","Form","className","formikProps","initialValues","onSubmit","validationSchema","children","_jsx","MultiEmailInput","helpText","label","name","placeholder","ref","Button","type","defaultColumnData","onDelete","title","dataIndex","key","width","render","email","inviteData","Tooltip","content","disabled","length","Typography","style","truncate","MoreDropdown","dropdownProps","strategy","menuItems","onClick","status","humanize","mergeByKey","a","b","merge","mergeDeepRight","indexBy","values","renderColumnData","_ref2$extraColumnsDat","extraColumnsData","Invitations","_selectedEmails$","_ref$extraColumnsData","_ref$ownerType","_ref$ownerId","isOpen","onClose","_ref$hideAddEmailsFor","hideAddEmailsForm","_ref$onDestroyInvitat","onDestroyInvitationsSuccess","noop","_useState","useState","_useState2","_slicedToArray","selectedEmails","setSelectedEmails","_useState3","_useState4","showDeleteAlert","setShowDeleteAlert","_useState5","DEFAULT_PAGE_INDEX","_useState6","page","setPage","_useListInvitations","pageSize","DEFAULT_PAGE_SIZE","enabled","_useListInvitations$d","data","_useListInvitations$d2","_useListInvitations$d3","invitations","_useListInvitations$d4","totalCount","isFetching","isLoading","_useBulkDestroyInvita","deleteEmailInvites","isPending","handleOnClose","handleDeleteEmailInvites","handleDeleteAction","_Fragment","Pane","size","Header","weight","Body","isNotEmpty","SubHeader","leftActionBlock","isEmpty","component","count","icon","Delete","tooltipProps","TableWrapper","hasPagination","Table","fixedHeight","rowSelection","currentPageNumber","handlePageChange","loading","rowData","selectedRowKeys","columnData","onRowSelect","_","selectedRows","NoData","Spinner","Alert","isSubmitting","submitButtonLabel","message","Trans","components","strong","i18nKey","configurationPath","show","update","put","configuration","configurationsApi","useShowConfiguration","select","useUpdateConfiguration","AUTH","NO","EMAIL","BASIC","SESSION","INVITED","AUTH_OPTIONS","value","CONFIGURATION_VALIDATION_SCHEMA","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","push","removeKeyword","arrayHelpers","index","remove","buildPayload","pick","rejectEmptyKeywords","reject","pipe","renderLabelWithViewInvitation","onViewInvites","button","AllowedKeywords","withT","_ref$label","FieldArray","form","showDeleteButton","Label","map","Input","suffix","headerProps","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","_ref$handleCancel","handleCancel","_ref$onConfigurationC","onConfigurationChangedToInviteOnly","_ref$invitationsTable","invitationsTableExtraColumnsData","_ref$hideAddEmailsFro","hideAddEmailsFromInvitationPane","showInviationsPane","setShowInviationsPane","_useShowConfiguration","_useShowConfiguration2","configurationInitialValues","_useUpdateConfigurati","_values$configuration","_values$configuration2","handleShowInvitations","updateConfiguration","handleSubmit","onSettled","Container","Scrollable","classNames","enableReinitialize","Radio","stacked","props","_createElement","Item","labelProps","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","id","INVITATIONS_QUERY_KEY","InvitationsPane"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-access-control-frontend",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Neeto access control",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/bigbinary/neeto-access-control-nano",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"module": "dist/index.js",
|
|
19
19
|
"types": "types.d.ts",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"build": "NODE_ENV=production rollup -c --environment production",
|
|
21
|
+
"build": "NODE_ENV=production rollup --bundleConfigAsCjs -c --environment production",
|
|
22
22
|
"build-preview": "NODE_ENV=production webpack",
|
|
23
23
|
"prepare": "husky install",
|
|
24
24
|
"release": "yarn build && yalc push --sig"
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
51
51
|
"@bigbinary/eslint-plugin-neeto": "1.5.4",
|
|
52
52
|
"@bigbinary/neeto-cist": "1.0.12",
|
|
53
|
-
"@bigbinary/neeto-commons-frontend": "4.6
|
|
54
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
53
|
+
"@bigbinary/neeto-commons-frontend": "4.8.6",
|
|
54
|
+
"@bigbinary/neeto-filters-frontend": "4.3.5",
|
|
55
55
|
"@bigbinary/neeto-icons": "1.20.8",
|
|
56
|
-
"@bigbinary/neeto-molecules": "3.7.
|
|
57
|
-
"@bigbinary/neetoui": "8.2.
|
|
56
|
+
"@bigbinary/neeto-molecules": "3.7.24",
|
|
57
|
+
"@bigbinary/neetoui": "8.2.25",
|
|
58
58
|
"@emotion/is-prop-valid": "1.2.0",
|
|
59
59
|
"@faker-js/faker": "8.2.0",
|
|
60
60
|
"@honeybadger-io/js": "^6.4.1",
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"react-router-dom": "5.3.3",
|
|
129
129
|
"react-toastify": "8.0.2",
|
|
130
130
|
"react_ujs": "^3.1.1",
|
|
131
|
-
"rollup": "
|
|
131
|
+
"rollup": "^4.24.0",
|
|
132
132
|
"rollup-plugin-analyzer": "4.0.0",
|
|
133
133
|
"rollup-plugin-cleaner": "1.0.0",
|
|
134
134
|
"rollup-plugin-copy": "^3.5.0",
|
|
@@ -156,11 +156,11 @@
|
|
|
156
156
|
"peerDependencies": {
|
|
157
157
|
"@babel/runtime": "7.19.0",
|
|
158
158
|
"@bigbinary/neeto-cist": "1.0.12",
|
|
159
|
-
"@bigbinary/neeto-commons-frontend": "4.6
|
|
160
|
-
"@bigbinary/neeto-filters-frontend": "4.3.
|
|
159
|
+
"@bigbinary/neeto-commons-frontend": "4.8.6",
|
|
160
|
+
"@bigbinary/neeto-filters-frontend": "4.3.5",
|
|
161
161
|
"@bigbinary/neeto-icons": "1.20.8",
|
|
162
|
-
"@bigbinary/neeto-molecules": "3.7.
|
|
163
|
-
"@bigbinary/neetoui": "8.2.
|
|
162
|
+
"@bigbinary/neeto-molecules": "3.7.24",
|
|
163
|
+
"@bigbinary/neetoui": "8.2.25",
|
|
164
164
|
"@honeybadger-io/js": "^6.4.1",
|
|
165
165
|
"@honeybadger-io/react": "^6.1.3",
|
|
166
166
|
"@tanstack/react-query": "5.40.0",
|