@wix/entity-advanced-permissions 1.960.0 → 1.962.0

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.
Files changed (47) hide show
  1. package/dist/cjs/components/EntityAdvancedPermissions.js +300 -143
  2. package/dist/cjs/components/EntityAdvancedPermissions.js.map +1 -1
  3. package/dist/cjs/components/EntityAdvancedPermissionsState.js +21 -8
  4. package/dist/cjs/components/EntityAdvancedPermissionsState.js.map +1 -1
  5. package/dist/cjs/components/EntityAdvancedPermissionsTypes.js +2 -2
  6. package/dist/cjs/components/EntityAdvancedPermissionsTypes.js.map +1 -1
  7. package/dist/cjs/components/Helper/helper.js +11 -0
  8. package/dist/cjs/components/Helper/helper.js.map +1 -0
  9. package/dist/cjs/components/HideFolderCheckbox/HideFolderCheckbox.js +48 -0
  10. package/dist/cjs/components/HideFolderCheckbox/HideFolderCheckbox.js.map +1 -0
  11. package/dist/cjs/components/PermissionsList/ViewRow.js +3 -3
  12. package/dist/cjs/components/PermissionsList/ViewRow.js.map +1 -1
  13. package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js +7 -5
  14. package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js.map +1 -1
  15. package/dist/cjs/components/SearchEntity/SearchEntity.js +5 -3
  16. package/dist/cjs/components/SearchEntity/SearchEntity.js.map +1 -1
  17. package/dist/cjs/components/SearchEntity/interfaces.js.map +1 -1
  18. package/dist/esm/components/EntityAdvancedPermissions.js +211 -84
  19. package/dist/esm/components/EntityAdvancedPermissions.js.map +1 -1
  20. package/dist/esm/components/EntityAdvancedPermissionsState.js +15 -7
  21. package/dist/esm/components/EntityAdvancedPermissionsState.js.map +1 -1
  22. package/dist/esm/components/EntityAdvancedPermissionsTypes.js +2 -2
  23. package/dist/esm/components/EntityAdvancedPermissionsTypes.js.map +1 -1
  24. package/dist/esm/components/Helper/helper.js +7 -0
  25. package/dist/esm/components/Helper/helper.js.map +1 -0
  26. package/dist/esm/components/HideFolderCheckbox/HideFolderCheckbox.js +18 -0
  27. package/dist/esm/components/HideFolderCheckbox/HideFolderCheckbox.js.map +1 -0
  28. package/dist/esm/components/PermissionsList/ViewRow.js.map +1 -1
  29. package/dist/esm/components/SearchEntity/DashboardMultiSelect.js +3 -2
  30. package/dist/esm/components/SearchEntity/DashboardMultiSelect.js.map +1 -1
  31. package/dist/esm/components/SearchEntity/SearchEntity.js +2 -2
  32. package/dist/esm/components/SearchEntity/SearchEntity.js.map +1 -1
  33. package/dist/statics/entity-advanced-permissions.umd.js +13 -9
  34. package/dist/statics/entity-advanced-permissions.umd.js.map +1 -1
  35. package/dist/statics/entity-advanced-permissions.umd.min.js +5 -5
  36. package/dist/statics/entity-advanced-permissions.umd.min.js.map +1 -1
  37. package/dist/statics/manifest.json +2 -2
  38. package/dist/statics/manifest.min.json +2 -2
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/dist/types/components/EntityAdvancedPermissionsState.d.ts +1 -0
  41. package/dist/types/components/EntityAdvancedPermissionsTypes.d.ts +26 -1
  42. package/dist/types/components/Helper/helper.d.ts +1 -0
  43. package/dist/types/components/HideFolderCheckbox/HideFolderCheckbox.d.ts +4 -0
  44. package/dist/types/components/PermissionsList/ViewRow.d.ts +1 -0
  45. package/dist/types/components/SearchEntity/DashboardMultiSelect.d.ts +2 -0
  46. package/dist/types/components/SearchEntity/interfaces.d.ts +3 -1
  47. package/package.json +2 -2
@@ -17,6 +17,7 @@ var _Error2 = _interopRequireDefault(require("wix-ui-icons-common/on-stage/Error
17
17
  var _SmallArrowLeftIcon = _interopRequireDefault(require("../assets/icons/SmallArrowLeftIcon.svg"));
18
18
  var _ChevronLeftSmall = _interopRequireDefault(require("wix-ui-icons-common/ChevronLeftSmall"));
19
19
  var _Dismiss = _interopRequireDefault(require("wix-ui-icons-common/Dismiss"));
20
+ var _lodash = require("lodash");
20
21
  var _EntityAdvancedPermissionsState = require("./EntityAdvancedPermissionsState");
21
22
  var _EntityAdvancedPermissionsTypes = require("./EntityAdvancedPermissionsTypes");
22
23
  var _he = _interopRequireDefault(require("he"));
@@ -24,6 +25,8 @@ var _SearchEntity = _interopRequireDefault(require("./SearchEntity/SearchEntity"
24
25
  var _PermissionsList = _interopRequireDefault(require("./PermissionsList/PermissionsList"));
25
26
  var _NotifyBox = _interopRequireDefault(require("./NotifyBox/NotifyBox"));
26
27
  var _reactScrollbarsCustom = require("react-scrollbars-custom");
28
+ var _helper = require("./Helper/helper");
29
+ var _HideFolderCheckbox = _interopRequireDefault(require("./HideFolderCheckbox/HideFolderCheckbox"));
27
30
  var _jsxFileName = "/home/builduser/work/4775e43efb305866/packages/entity-advanced-permissions/dist/cjs/components/EntityAdvancedPermissions.tsx";
28
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
29
32
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -64,7 +67,10 @@ function EntityAdvancedPermissions(props) {
64
67
  selectPermissionLabel = 'Select permission',
65
68
  saveSuccessMessage = 'Permissions successfully added',
66
69
  permissionRemovedMessage = 'Permission successfully removed',
67
- doneLabel = 'Done'
70
+ doneLabel = 'Done',
71
+ checkboxLabel_hiddenFolders = 'Make this folder hidden so only people with permissions will see it on your site.',
72
+ learnMore_hiddenFolders = 'Learn more',
73
+ hideFolderAndSiteVisitorErrorMessage = 'You’ve chosen to hide this folder. To save your changes, remove site visitors from the list.'
68
74
  },
69
75
  isModal = true,
70
76
  queryFunction,
@@ -77,11 +83,24 @@ function EntityAdvancedPermissions(props) {
77
83
  mobile = false,
78
84
  preloadRoles,
79
85
  theme = _EntityAdvancedPermissionsTypes.Theme.SITE,
80
- isSitePublished = 'true'
86
+ isSitePublished = 'true',
87
+ availability,
88
+ showHiddenFolder_BM
81
89
  } = props;
82
90
  const isDashboard = theme === _EntityAdvancedPermissionsTypes.Theme.DASHBOARD;
83
91
  const Provider = isDashboard ? _wixStyleReact.WixStyleReactProvider : _wixUiTpa.TPAComponentsProvider;
84
92
  const searchEntityRef = /*#__PURE__*/(0, _react.createRef)();
93
+ const [localItems, setLocalItems] = (0, _react.useState)(items);
94
+ const [initLocalItems, setInitLocalItems] = (0, _react.useState)(false);
95
+ const defaultIsHiddenFolder = availability == null ? void 0 : availability.includes('HIDDEN');
96
+ (0, _react.useEffect)(() => {
97
+ const oldItems = JSON.stringify(items);
98
+ const newItems = JSON.stringify(localItems);
99
+ if (oldItems !== newItems && !initLocalItems) {
100
+ setLocalItems([...items]);
101
+ setInitLocalItems(true);
102
+ }
103
+ }, [items]);
85
104
  const step2Permissions = (availablePermissions || []).filter(permission => !(permission.divider || permission.id === removePermissionCode));
86
105
  const [step, setStep] = (0, _react.useState)(STEP_1);
87
106
  const defaultPermissionId = availablePermissions.length ? availablePermissions[0].id : '';
@@ -98,7 +117,12 @@ function EntityAdvancedPermissions(props) {
98
117
  notifyMessage: '',
99
118
  chosenPermission: defaultPermissionId,
100
119
  saveState: _wixUiTpa.StatesButtonStates.IDLE,
101
- pendingSave: false
120
+ pendingSave: false,
121
+ isHidden: defaultIsHiddenFolder,
122
+ availabilityStatus: {
123
+ itemId: entityId,
124
+ availability: availability ? availability : ''
125
+ }
102
126
  };
103
127
  const [advancedPermissionState, setAdvancedPermissionState] = (0, _react.useReducer)(_EntityAdvancedPermissionsState.advancedPermissionReducer, defaultState);
104
128
  const closeCallback = () => onClose ? onClose({
@@ -130,8 +154,30 @@ function EntityAdvancedPermissions(props) {
130
154
  const getModalAlertVisible = () => {
131
155
  return changeValidationMsg.length > 0 && errorMessageText.length === 0;
132
156
  };
157
+ const removeFulfilledChanges = (promisesRes, chunkedPart) => {
158
+ const {
159
+ roleToPermission
160
+ } = advancedPermissionState;
161
+ const fulfilledIndices = promisesRes.map((res, index) => {
162
+ var _res$value;
163
+ return res.status === 'fulfilled' && ((_res$value = res.value) == null ? void 0 : _res$value.responseStatus) === _EntityAdvancedPermissionsTypes.ResponseStatus.Success ? index : -1;
164
+ }).filter(index => index !== -1);
165
+ for (const index of fulfilledIndices) {
166
+ const {
167
+ rolesChanged
168
+ } = chunkedPart[index];
169
+ rolesChanged.forEach(({
170
+ id
171
+ }) => {
172
+ if (roleToPermission != null && roleToPermission.has(id)) {
173
+ roleToPermission == null || roleToPermission.delete(id);
174
+ }
175
+ });
176
+ }
177
+ };
133
178
  const saveClicked = async () => {
134
- if (advancedPermissionState.saveState === _wixUiTpa.StatesButtonStates.IN_PROGRESS) {
179
+ var _fulfilledAPIs$value;
180
+ if (advancedPermissionState.saveState === _wixUiTpa.StatesButtonStates.IN_PROGRESS || advancedPermissionState.disableSave === true) {
135
181
  return;
136
182
  }
137
183
  if (!advancedPermissionState.pendingSave) {
@@ -151,94 +197,94 @@ function EntityAdvancedPermissions(props) {
151
197
  });
152
198
  const {
153
199
  roleToPermission,
154
- notify,
155
- notifyMessage,
156
- selectedRoles,
157
- chosenPermission
200
+ isHidden
158
201
  } = advancedPermissionState;
159
- const step2RolesToPermissions = new Map();
160
- (selectedRoles || []).forEach(({
161
- value
162
- }) => {
163
- step2RolesToPermissions.set(value, chosenPermission || '');
164
- });
165
- const roles = new Map([...(roleToPermission || new Map()), ...step2RolesToPermissions]);
166
- const notifyObj = step === STEP_2 ? {
167
- notify: notify || false,
168
- notifyMessage: (notifyMessage || '').trim()
169
- } : {};
202
+ const roles = new Map([...(roleToPermission || new Map())]);
203
+ const hide = isHidden !== defaultIsHiddenFolder ? isHidden : undefined;
204
+ const groups = (0, _lodash.groupBy)([...roles.values()], value => `${value.notify}-${value.notifyMessage.trim()}`);
205
+ const actionsPayload = [];
170
206
  const saveData = {
171
207
  entityId,
172
- ...notifyObj,
173
- rolesChanged: convertMapToArray(roles),
208
+ rolesChanged: [],
174
209
  reloadValue: step === STEP_2,
175
- modalAlertVisible
210
+ modalAlertVisible,
211
+ isHidden: hide
176
212
  };
177
- if (onSave) {
178
- try {
179
- const {
180
- responseStatus,
181
- availabilityStatus
182
- } = await onSave(saveData);
183
- if (responseStatus === _EntityAdvancedPermissionsTypes.ResponseStatus.Success) {
184
- setAdvancedPermissionState({
185
- type: _EntityAdvancedPermissionsState.RESET,
186
- ...defaultState,
187
- saveState: _wixUiTpa.StatesButtonStates.SUCCESS,
188
- availabilityStatus
189
- });
190
- if (step === STEP_1) {
191
- onClose && onClose({
192
- closeReason: _EntityAdvancedPermissionsTypes.CloseReason.SaveSucceed,
193
- availabilityStatus
194
- });
195
- } else {
196
- setStep(STEP_1);
197
- }
198
- } else {
199
- if (responseStatus === _EntityAdvancedPermissionsTypes.ResponseStatus.Failed) {
200
- let currErrorMessage;
201
- if (step === STEP_1) {
202
- currErrorMessage = step1SaveError;
203
- } else {
204
- currErrorMessage = step2SaveError;
205
- }
206
- setAdvancedPermissionState({
207
- type: _EntityAdvancedPermissionsState.SET_ERROR_MESSAGE,
208
- errorMessage: currErrorMessage
209
- });
210
- }
213
+ if (roles.size === 0) {
214
+ actionsPayload.push(saveData);
215
+ }
216
+ const newSaveData = {
217
+ ...saveData
218
+ };
219
+ for (const value of Object.values(groups)) {
220
+ newSaveData.rolesChanged = value.map(val => {
221
+ return {
222
+ id: val.roleId,
223
+ permissionId: val.level
224
+ };
225
+ });
226
+ if (value[0].notify) {
227
+ newSaveData.notify = value[0].notify;
228
+ newSaveData.notifyMessage = (value[0].notifyMessage || '').trim();
229
+ }
230
+ actionsPayload.push({
231
+ ...newSaveData
232
+ });
233
+ }
234
+ const chunks = (0, _lodash.chunk)(actionsPayload, 5);
235
+ let promisesResult = [];
236
+ await (0, _helper.asyncForEach)(chunks, async chunkedPart => {
237
+ if (onSave) {
238
+ try {
239
+ const promises = chunkedPart.map(payload => onSave(payload));
240
+ const promisesRes = await Promise.allSettled(promises);
241
+ removeFulfilledChanges(promisesRes, chunkedPart);
242
+ promisesResult = promisesResult.concat(promisesRes);
243
+ } catch (e) {
211
244
  setAdvancedPermissionState({
212
245
  type: _EntityAdvancedPermissionsState.SET_SAVE_STATE,
213
246
  saveState: _wixUiTpa.StatesButtonStates.IDLE
214
247
  });
215
248
  }
216
- } catch (e) {
217
- setAdvancedPermissionState({
218
- type: _EntityAdvancedPermissionsState.SET_SAVE_STATE,
219
- saveState: _wixUiTpa.StatesButtonStates.IDLE
220
- });
221
249
  }
222
- }
223
- };
224
- const savesStep1Silently = () => {
225
- const {
226
- roleToPermission
227
- } = advancedPermissionState;
228
- if (roleToPermission !== undefined && roleToPermission.size > 0) {
229
- const saveData = {
230
- entityId,
231
- rolesChanged: convertMapToArray(roleToPermission),
232
- reloadValue: true,
233
- modalAlertVisible
234
- };
250
+ });
251
+ const fulfilledAPIs = promisesResult.filter(res => {
252
+ var _res$value2;
253
+ return res.status === 'fulfilled' && ((_res$value2 = res.value) == null ? void 0 : _res$value2.responseStatus) === _EntityAdvancedPermissionsTypes.ResponseStatus.Success;
254
+ });
255
+ const isAllFulfilled = fulfilledAPIs.length === promisesResult.length;
256
+ const availability_status = fulfilledAPIs.length > 0 ? (_fulfilledAPIs$value = fulfilledAPIs[fulfilledAPIs.length - 1].value) == null ? void 0 : _fulfilledAPIs$value.availabilityStatus : advancedPermissionState.availabilityStatus;
257
+ if (isAllFulfilled) {
235
258
  setAdvancedPermissionState({
236
- type: _EntityAdvancedPermissionsState.SET_ROLE_TO_PERMISSION,
237
- roleToPermission: new Map()
259
+ type: _EntityAdvancedPermissionsState.RESET,
260
+ ...defaultState,
261
+ saveState: _wixUiTpa.StatesButtonStates.SUCCESS,
262
+ availabilityStatus: availability_status
238
263
  });
239
- if (onSave) {
240
- onSave(saveData).then(r => r).catch(e => console.error(e));
264
+ if (step === STEP_1) {
265
+ onClose && onClose({
266
+ closeReason: _EntityAdvancedPermissionsTypes.CloseReason.SaveSucceed,
267
+ availabilityStatus: availability_status
268
+ });
269
+ } else {
270
+ setStep(STEP_1);
271
+ }
272
+ } else {
273
+ let currErrorMessage;
274
+ if (step === STEP_1) {
275
+ currErrorMessage = step1SaveError;
276
+ } else {
277
+ currErrorMessage = step2SaveError;
241
278
  }
279
+ setAdvancedPermissionState({
280
+ type: _EntityAdvancedPermissionsState.SET_ERROR_MESSAGE,
281
+ errorMessage: currErrorMessage
282
+ });
283
+ setAdvancedPermissionState({
284
+ type: _EntityAdvancedPermissionsState.SET_SAVE_STATE,
285
+ saveState: _wixUiTpa.StatesButtonStates.IDLE,
286
+ availabilityStatus: availability_status
287
+ });
242
288
  }
243
289
  };
244
290
  const onCloseIconKeyDown = e => {
@@ -267,7 +313,16 @@ function EntityAdvancedPermissions(props) {
267
313
  if (roleToPermission.has(role.value)) {
268
314
  roleListChanged = true;
269
315
  }
270
- roleToPermission.set(role.value, defaultPermissionId || '');
316
+ roleToPermission.set(role.value, {
317
+ roleId: role.value,
318
+ notify: false,
319
+ notifyMessage: '',
320
+ level: defaultPermissionId || ''
321
+ });
322
+ updateLocalItems({
323
+ id: role.value,
324
+ permissionId: defaultPermissionId || ''
325
+ });
271
326
  });
272
327
  if (roleListChanged) {
273
328
  setAdvancedPermissionState({
@@ -276,7 +331,6 @@ function EntityAdvancedPermissions(props) {
276
331
  });
277
332
  }
278
333
  if (step === STEP_1 && !onlyInSelectList.length) {
279
- savesStep1Silently();
280
334
  setAdvancedPermissionState({
281
335
  type: _EntityAdvancedPermissionsState.SET_ERROR_MESSAGE,
282
336
  errorMessage: ''
@@ -317,7 +371,18 @@ function EntityAdvancedPermissions(props) {
317
371
  };
318
372
  const onRoleToPermissionChange = val => {
319
373
  const roleToPermission = advancedPermissionState.roleToPermission || new Map();
320
- roleToPermission.set(val.id, val.permissionId);
374
+ const currentPermissionValue = roleToPermission.get(val.id);
375
+ const newVal = currentPermissionValue && val.permissionId !== removePermissionCode ? {
376
+ ...currentPermissionValue,
377
+ level: val.permissionId
378
+ } : {
379
+ roleId: val.id,
380
+ notify: false,
381
+ notifyMessage: '',
382
+ level: val.permissionId
383
+ };
384
+ roleToPermission.set(val.id, newVal);
385
+ updateLocalItems(val);
321
386
  setAdvancedPermissionState({
322
387
  type: _EntityAdvancedPermissionsState.SET_ROLE_TO_PERMISSION,
323
388
  roleToPermission
@@ -326,29 +391,108 @@ function EntityAdvancedPermissions(props) {
326
391
  setFocus();
327
392
  }
328
393
  };
329
- const updatedItems = items.map(item => {
330
- var _advancedPermissionSt;
394
+ const addAndNotifyClick = () => {
331
395
  const {
332
- id
333
- } = item;
334
- const roleToPermission = (_advancedPermissionSt = advancedPermissionState.roleToPermission) == null ? void 0 : _advancedPermissionSt.get(id);
335
- if (roleToPermission !== undefined) {
336
- return {
337
- ...item,
338
- selectedPermission: roleToPermission
339
- };
396
+ selectedRoles,
397
+ chosenPermission,
398
+ roleToPermission,
399
+ notify,
400
+ notifyMessage
401
+ } = advancedPermissionState;
402
+ if (selectedRoles) {
403
+ const roleToPermissionMap = roleToPermission || new Map();
404
+ const selectedIds = selectedRoles.map(selectedRole => selectedRole.id);
405
+ setLocalItems(prevLocalItems => {
406
+ const updatedLocalItems = prevLocalItems.filter(item => !selectedIds.includes(item.id));
407
+ selectedRoles.forEach(role => {
408
+ const newItem = {
409
+ ...role,
410
+ id: role.id || '',
411
+ role: role.role || '',
412
+ description: role.description || '',
413
+ roleType: role.roleType || '',
414
+ icon: role.icon,
415
+ selectedPermission: chosenPermission || '',
416
+ options: _EntityAdvancedPermissionsTypes.DefaultPermissions
417
+ };
418
+ updatedLocalItems.push(newItem);
419
+ roleToPermissionMap.set(role.id, {
420
+ roleId: role.id,
421
+ notify: notify || false,
422
+ notifyMessage: (notifyMessage || '').trim(),
423
+ level: chosenPermission || ''
424
+ });
425
+ });
426
+ return updatedLocalItems;
427
+ });
428
+ if (roleToPermissionMap) {
429
+ setAdvancedPermissionState({
430
+ type: _EntityAdvancedPermissionsState.SET_ROLE_TO_PERMISSION,
431
+ roleToPermission: roleToPermissionMap
432
+ });
433
+ }
434
+ backToFirstView();
340
435
  }
341
- return item;
342
- });
436
+ };
437
+ const updatedItems = (0, _react.useMemo)(() => {
438
+ return localItems.map(item => {
439
+ var _advancedPermissionSt;
440
+ const {
441
+ id
442
+ } = item;
443
+ const roleToPermission = (_advancedPermissionSt = advancedPermissionState.roleToPermission) == null ? void 0 : _advancedPermissionSt.get(id);
444
+ if (roleToPermission !== undefined) {
445
+ return {
446
+ ...item,
447
+ selectedPermission: roleToPermission.level
448
+ };
449
+ }
450
+ return item;
451
+ });
452
+ }, [localItems]);
343
453
  const changeValidationMsg = validateChanges(updatedItems);
344
454
  const saveButtonText = step === STEP_1 ? save : advancedPermissionState.notify && isSitePublished === 'true' ? buttonAddNotify : add;
345
455
  const errorMessageText = advancedPermissionState.errorMessage || loading === _EntityAdvancedPermissionsTypes.Loading.Error && step === STEP_1 && rolesListError || '';
456
+ (0, _react.useEffect)(() => {
457
+ const {
458
+ isHidden
459
+ } = advancedPermissionState;
460
+ const isSiteVisitorsSelected = updatedItems.filter(item => item.selectedPermission !== removePermissionCode && item.roleType === 'SITE_VISITORS').length > 0;
461
+ if (isHidden && isSiteVisitorsSelected) {
462
+ setAdvancedPermissionState({
463
+ type: _EntityAdvancedPermissionsState.SET_ERROR_MESSAGE,
464
+ errorMessage: hideFolderAndSiteVisitorErrorMessage,
465
+ disableSave: true
466
+ });
467
+ return;
468
+ }
469
+ setAdvancedPermissionState({
470
+ type: _EntityAdvancedPermissionsState.SET_ERROR_MESSAGE,
471
+ errorMessage: '',
472
+ disableSave: false
473
+ });
474
+ }, [updatedItems, advancedPermissionState.isHidden]);
475
+ const updateLocalItems = val => {
476
+ if (step === STEP_1) {
477
+ setLocalItems(prevLocalItems => {
478
+ return prevLocalItems.map(item => {
479
+ if (item.id === val.id) {
480
+ return {
481
+ ...item,
482
+ selectedPermission: val.permissionId
483
+ };
484
+ }
485
+ return item;
486
+ });
487
+ });
488
+ }
489
+ };
346
490
  const backButtonSpan = /*#__PURE__*/_react.default.createElement("span", {
347
491
  className: _EntityAdvancedPermissionsSt.classes.backButtonSpan,
348
492
  __self: this,
349
493
  __source: {
350
494
  fileName: _jsxFileName,
351
- lineNumber: 430,
495
+ lineNumber: 597,
352
496
  columnNumber: 5
353
497
  }
354
498
  }, backButtonLabel || 'Back');
@@ -378,7 +522,7 @@ function EntityAdvancedPermissions(props) {
378
522
  __self: this,
379
523
  __source: {
380
524
  fileName: _jsxFileName,
381
- lineNumber: 445,
525
+ lineNumber: 612,
382
526
  columnNumber: 13
383
527
  }
384
528
  }, changeValidationMsg),
@@ -388,7 +532,7 @@ function EntityAdvancedPermissions(props) {
388
532
  __self: this,
389
533
  __source: {
390
534
  fileName: _jsxFileName,
391
- lineNumber: 443,
535
+ lineNumber: 610,
392
536
  columnNumber: 5
393
537
  }
394
538
  }) : /*#__PURE__*/_react.default.createElement(_wixUiTpa.SectionNotification, {
@@ -397,7 +541,7 @@ function EntityAdvancedPermissions(props) {
397
541
  __self: this,
398
542
  __source: {
399
543
  fileName: _jsxFileName,
400
- lineNumber: 451,
544
+ lineNumber: 618,
401
545
  columnNumber: 5
402
546
  }
403
547
  }, /*#__PURE__*/_react.default.createElement(_wixUiTpa.SectionNotification.Icon, {
@@ -405,14 +549,14 @@ function EntityAdvancedPermissions(props) {
405
549
  __self: this,
406
550
  __source: {
407
551
  fileName: _jsxFileName,
408
- lineNumber: 455,
552
+ lineNumber: 622,
409
553
  columnNumber: 39
410
554
  }
411
555
  }),
412
556
  __self: this,
413
557
  __source: {
414
558
  fileName: _jsxFileName,
415
- lineNumber: 455,
559
+ lineNumber: 622,
416
560
  columnNumber: 7
417
561
  }
418
562
  }), /*#__PURE__*/_react.default.createElement(_wixUiTpa.SectionNotification.Text, {
@@ -420,7 +564,7 @@ function EntityAdvancedPermissions(props) {
420
564
  __self: this,
421
565
  __source: {
422
566
  fileName: _jsxFileName,
423
- lineNumber: 456,
567
+ lineNumber: 623,
424
568
  columnNumber: 7
425
569
  }
426
570
  }, changeValidationMsg));
@@ -434,7 +578,7 @@ function EntityAdvancedPermissions(props) {
434
578
  __self: this,
435
579
  __source: {
436
580
  fileName: _jsxFileName,
437
- lineNumber: 467,
581
+ lineNumber: 634,
438
582
  columnNumber: 11
439
583
  }
440
584
  }, errorMessageText),
@@ -444,7 +588,7 @@ function EntityAdvancedPermissions(props) {
444
588
  __self: this,
445
589
  __source: {
446
590
  fileName: _jsxFileName,
447
- lineNumber: 465,
591
+ lineNumber: 632,
448
592
  columnNumber: 36
449
593
  }
450
594
  }) : '';
@@ -454,7 +598,7 @@ function EntityAdvancedPermissions(props) {
454
598
  __self: this,
455
599
  __source: {
456
600
  fileName: _jsxFileName,
457
- lineNumber: 480,
601
+ lineNumber: 647,
458
602
  columnNumber: 5
459
603
  }
460
604
  }, /*#__PURE__*/_react.default.createElement(_wixUiTpa.SectionNotification.Icon, {
@@ -462,21 +606,21 @@ function EntityAdvancedPermissions(props) {
462
606
  __self: this,
463
607
  __source: {
464
608
  fileName: _jsxFileName,
465
- lineNumber: 484,
609
+ lineNumber: 651,
466
610
  columnNumber: 39
467
611
  }
468
612
  }),
469
613
  __self: this,
470
614
  __source: {
471
615
  fileName: _jsxFileName,
472
- lineNumber: 484,
616
+ lineNumber: 651,
473
617
  columnNumber: 7
474
618
  }
475
619
  }), /*#__PURE__*/_react.default.createElement(_wixUiTpa.SectionNotification.Text, {
476
620
  __self: this,
477
621
  __source: {
478
622
  fileName: _jsxFileName,
479
- lineNumber: 485,
623
+ lineNumber: 652,
480
624
  columnNumber: 7
481
625
  }
482
626
  }, errorMessageText));
@@ -487,7 +631,7 @@ function EntityAdvancedPermissions(props) {
487
631
  __self: this,
488
632
  __source: {
489
633
  fileName: _jsxFileName,
490
- lineNumber: 490,
634
+ lineNumber: 657,
491
635
  columnNumber: 5
492
636
  }
493
637
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -503,7 +647,7 @@ function EntityAdvancedPermissions(props) {
503
647
  __self: this,
504
648
  __source: {
505
649
  fileName: _jsxFileName,
506
- lineNumber: 491,
650
+ lineNumber: 658,
507
651
  columnNumber: 7
508
652
  }
509
653
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -511,7 +655,7 @@ function EntityAdvancedPermissions(props) {
511
655
  __self: this,
512
656
  __source: {
513
657
  fileName: _jsxFileName,
514
- lineNumber: 497,
658
+ lineNumber: 664,
515
659
  columnNumber: 9
516
660
  }
517
661
  }, step === STEP_2 && mobile && /*#__PURE__*/_react.default.createElement(_SmallArrowLeftIcon.default, {
@@ -520,7 +664,7 @@ function EntityAdvancedPermissions(props) {
520
664
  __self: this,
521
665
  __source: {
522
666
  fileName: _jsxFileName,
523
- lineNumber: 499,
667
+ lineNumber: 666,
524
668
  columnNumber: 13
525
669
  }
526
670
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -530,7 +674,7 @@ function EntityAdvancedPermissions(props) {
530
674
  __self: this,
531
675
  __source: {
532
676
  fileName: _jsxFileName,
533
- lineNumber: 504,
677
+ lineNumber: 671,
534
678
  columnNumber: 11
535
679
  }
536
680
  }, isDashboard ? /*#__PURE__*/_react.default.createElement(_wixStyleReact.Box, {
@@ -539,7 +683,7 @@ function EntityAdvancedPermissions(props) {
539
683
  __self: this,
540
684
  __source: {
541
685
  fileName: _jsxFileName,
542
- lineNumber: 510,
686
+ lineNumber: 677,
543
687
  columnNumber: 15
544
688
  }
545
689
  }, /*#__PURE__*/_react.default.createElement(_wixStyleReact.Text, {
@@ -551,7 +695,7 @@ function EntityAdvancedPermissions(props) {
551
695
  __self: this,
552
696
  __source: {
553
697
  fileName: _jsxFileName,
554
- lineNumber: 511,
698
+ lineNumber: 678,
555
699
  columnNumber: 15
556
700
  }
557
701
  }, modalTitle), /*#__PURE__*/_react.default.createElement(_wixStyleReact.Text, {
@@ -561,7 +705,7 @@ function EntityAdvancedPermissions(props) {
561
705
  __self: this,
562
706
  __source: {
563
707
  fileName: _jsxFileName,
564
- lineNumber: 520,
708
+ lineNumber: 687,
565
709
  columnNumber: 15
566
710
  }
567
711
  }, entityTitle)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_wixUiTpa.Text, {
@@ -571,7 +715,7 @@ function EntityAdvancedPermissions(props) {
571
715
  __self: this,
572
716
  __source: {
573
717
  fileName: _jsxFileName,
574
- lineNumber: 530,
718
+ lineNumber: 697,
575
719
  columnNumber: 15
576
720
  }
577
721
  }, modalTitle), /*#__PURE__*/_react.default.createElement(_wixUiTpa.Text, {
@@ -581,7 +725,7 @@ function EntityAdvancedPermissions(props) {
581
725
  __self: this,
582
726
  __source: {
583
727
  fileName: _jsxFileName,
584
- lineNumber: 537,
728
+ lineNumber: 704,
585
729
  columnNumber: 15
586
730
  }
587
731
  }, entityTitle))), isModal && (isDashboard ? /*#__PURE__*/_react.default.createElement(_Dismiss.default, {
@@ -592,7 +736,7 @@ function EntityAdvancedPermissions(props) {
592
736
  __self: this,
593
737
  __source: {
594
738
  fileName: _jsxFileName,
595
- lineNumber: 550,
739
+ lineNumber: 717,
596
740
  columnNumber: 15
597
741
  }
598
742
  }) : /*#__PURE__*/_react.default.createElement(_Close.default, {
@@ -605,7 +749,7 @@ function EntityAdvancedPermissions(props) {
605
749
  __self: this,
606
750
  __source: {
607
751
  fileName: _jsxFileName,
608
- lineNumber: 557,
752
+ lineNumber: 724,
609
753
  columnNumber: 15
610
754
  }
611
755
  }))), /*#__PURE__*/_react.default.createElement(_reactScrollbarsCustom.Scrollbar, {
@@ -618,7 +762,7 @@ function EntityAdvancedPermissions(props) {
618
762
  __self: this,
619
763
  __source: {
620
764
  fileName: _jsxFileName,
621
- lineNumber: 568,
765
+ lineNumber: 735,
622
766
  columnNumber: 9
623
767
  }
624
768
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -628,7 +772,7 @@ function EntityAdvancedPermissions(props) {
628
772
  __self: this,
629
773
  __source: {
630
774
  fileName: _jsxFileName,
631
- lineNumber: 576,
775
+ lineNumber: 743,
632
776
  columnNumber: 11
633
777
  }
634
778
  }, /*#__PURE__*/_react.default.createElement(_SearchEntity.default, {
@@ -645,10 +789,11 @@ function EntityAdvancedPermissions(props) {
645
789
  numberOfResultsMessage: numberOfResultsMessage,
646
790
  pressDeleteToRemoveMessage: pressDeleteToRemoveMessage,
647
791
  isDashboard: isDashboard,
792
+ updatedItems: updatedItems,
648
793
  __self: this,
649
794
  __source: {
650
795
  fileName: _jsxFileName,
651
- lineNumber: 581,
796
+ lineNumber: 748,
652
797
  columnNumber: 13
653
798
  }
654
799
  }), step === STEP_2 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("label", {
@@ -657,7 +802,7 @@ function EntityAdvancedPermissions(props) {
657
802
  __self: this,
658
803
  __source: {
659
804
  fileName: _jsxFileName,
660
- lineNumber: 599,
805
+ lineNumber: 767,
661
806
  columnNumber: 17
662
807
  }
663
808
  }, _he.default.decode(selectPermissionLabel)), /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
@@ -674,7 +819,7 @@ function EntityAdvancedPermissions(props) {
674
819
  __self: this,
675
820
  __source: {
676
821
  fileName: _jsxFileName,
677
- lineNumber: 602,
822
+ lineNumber: 770,
678
823
  columnNumber: 17
679
824
  }
680
825
  }))), /*#__PURE__*/_react.default.createElement("div", {
@@ -683,7 +828,7 @@ function EntityAdvancedPermissions(props) {
683
828
  __self: this,
684
829
  __source: {
685
830
  fileName: _jsxFileName,
686
- lineNumber: 619,
831
+ lineNumber: 787,
687
832
  columnNumber: 11
688
833
  }
689
834
  }, errorMessageText.length > 0 && errorSectionNotification, step === STEP_1 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, modalAlertVisible && sectionNotification, /*#__PURE__*/_react.default.createElement(_PermissionsList.default, {
@@ -700,7 +845,7 @@ function EntityAdvancedPermissions(props) {
700
845
  __self: this,
701
846
  __source: {
702
847
  fileName: _jsxFileName,
703
- lineNumber: 625,
848
+ lineNumber: 793,
704
849
  columnNumber: 17
705
850
  }
706
851
  })), step === STEP_2 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_NotifyBox.default, {
@@ -715,7 +860,7 @@ function EntityAdvancedPermissions(props) {
715
860
  __self: this,
716
861
  __source: {
717
862
  fileName: _jsxFileName,
718
- lineNumber: 641,
863
+ lineNumber: 809,
719
864
  columnNumber: 15
720
865
  }
721
866
  }), isDashboard && wsrErrorNotification))), !isDashboard && /*#__PURE__*/_react.default.createElement(_wixUiTpa.Divider, {
@@ -723,7 +868,7 @@ function EntityAdvancedPermissions(props) {
723
868
  __self: this,
724
869
  __source: {
725
870
  fileName: _jsxFileName,
726
- lineNumber: 656,
871
+ lineNumber: 824,
727
872
  columnNumber: 27
728
873
  }
729
874
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -731,7 +876,7 @@ function EntityAdvancedPermissions(props) {
731
876
  __self: this,
732
877
  __source: {
733
878
  fileName: _jsxFileName,
734
- lineNumber: 657,
879
+ lineNumber: 825,
735
880
  columnNumber: 9
736
881
  }
737
882
  }, step === STEP_2 && !mobile && /*#__PURE__*/_react.default.createElement("span", {
@@ -744,7 +889,7 @@ function EntityAdvancedPermissions(props) {
744
889
  __self: this,
745
890
  __source: {
746
891
  fileName: _jsxFileName,
747
- lineNumber: 659,
892
+ lineNumber: 827,
748
893
  columnNumber: 13
749
894
  }
750
895
  }, isDashboard ? /*#__PURE__*/_react.default.createElement(_wixStyleReact.Button, {
@@ -753,14 +898,14 @@ function EntityAdvancedPermissions(props) {
753
898
  __self: this,
754
899
  __source: {
755
900
  fileName: _jsxFileName,
756
- lineNumber: 668,
901
+ lineNumber: 836,
757
902
  columnNumber: 17
758
903
  }
759
904
  }, /*#__PURE__*/_react.default.createElement(_ChevronLeftSmall.default, {
760
905
  __self: this,
761
906
  __source: {
762
907
  fileName: _jsxFileName,
763
- lineNumber: 669,
908
+ lineNumber: 837,
764
909
  columnNumber: 19
765
910
  }
766
911
  }), backButtonSpan) : /*#__PURE__*/_react.default.createElement(_wixUiTpa.IconToggle, {
@@ -771,22 +916,34 @@ function EntityAdvancedPermissions(props) {
771
916
  __self: this,
772
917
  __source: {
773
918
  fileName: _jsxFileName,
774
- lineNumber: 676,
919
+ lineNumber: 844,
775
920
  columnNumber: 25
776
921
  }
777
922
  }),
778
923
  __self: this,
779
924
  __source: {
780
925
  fileName: _jsxFileName,
781
- lineNumber: 673,
926
+ lineNumber: 841,
782
927
  columnNumber: 17
783
928
  }
784
- })), /*#__PURE__*/_react.default.createElement("div", {
929
+ })), showHiddenFolder_BM && step === STEP_1 && isDashboard && /*#__PURE__*/_react.default.createElement(_HideFolderCheckbox.default, {
930
+ isDashboard: isDashboard,
931
+ advancedPermissionState: advancedPermissionState,
932
+ setAdvancedPermissionState: setAdvancedPermissionState,
933
+ checkboxLabel: checkboxLabel_hiddenFolders,
934
+ checkboxLearnMore: learnMore_hiddenFolders,
935
+ __self: this,
936
+ __source: {
937
+ fileName: _jsxFileName,
938
+ lineNumber: 851,
939
+ columnNumber: 13
940
+ }
941
+ }), /*#__PURE__*/_react.default.createElement("div", {
785
942
  className: _EntityAdvancedPermissionsSt.classes.actionButtons,
786
943
  __self: this,
787
944
  __source: {
788
945
  fileName: _jsxFileName,
789
- lineNumber: 682,
946
+ lineNumber: 860,
790
947
  columnNumber: 11
791
948
  }
792
949
  }, step === STEP_1 && (isDashboard ? /*#__PURE__*/_react.default.createElement(_wixStyleReact.Button, {
@@ -799,7 +956,7 @@ function EntityAdvancedPermissions(props) {
799
956
  __self: this,
800
957
  __source: {
801
958
  fileName: _jsxFileName,
802
- lineNumber: 685,
959
+ lineNumber: 863,
803
960
  columnNumber: 17
804
961
  }
805
962
  }, cancel || 'Cancel') : /*#__PURE__*/_react.default.createElement(_wixUiTpa.Button, {
@@ -813,18 +970,18 @@ function EntityAdvancedPermissions(props) {
813
970
  __self: this,
814
971
  __source: {
815
972
  fileName: _jsxFileName,
816
- lineNumber: 700,
973
+ lineNumber: 878,
817
974
  columnNumber: 17
818
975
  }
819
976
  }, cancel || 'Cancel')), isDashboard ? /*#__PURE__*/_react.default.createElement(_wixStyleReact.Button, {
820
977
  "aria-label": advancedPermissionState.saveState === _wixUiTpa.StatesButtonStates.SUCCESS ? saveSuccessMessage : '',
821
978
  size: _wixUiTpa.ButtonSize.small,
822
- disabled: advancedPermissionState.saveState === _wixUiTpa.StatesButtonStates.IN_PROGRESS,
823
- onClick: saveClicked,
979
+ disabled: advancedPermissionState.saveState === _wixUiTpa.StatesButtonStates.IN_PROGRESS || step === STEP_1 && advancedPermissionState.disableSave,
980
+ onClick: step === STEP_2 ? addAndNotifyClick : saveClicked,
824
981
  __self: this,
825
982
  __source: {
826
983
  fileName: _jsxFileName,
827
- lineNumber: 714,
984
+ lineNumber: 892,
828
985
  columnNumber: 15
829
986
  }
830
987
  }, advancedPermissionState.saveState !== _wixUiTpa.StatesButtonStates.IN_PROGRESS ? advancedPermissionState.pendingSave ? saveButtonText || 'Save' : doneLabel : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_wixStyleReact.Loader, {
@@ -832,7 +989,7 @@ function EntityAdvancedPermissions(props) {
832
989
  __self: this,
833
990
  __source: {
834
991
  fileName: _jsxFileName,
835
- lineNumber: 737,
992
+ lineNumber: 916,
836
993
  columnNumber: 19
837
994
  }
838
995
  }))) : /*#__PURE__*/_react.default.createElement(_wixUiTpa.StatesButton, {
@@ -843,7 +1000,7 @@ function EntityAdvancedPermissions(props) {
843
1000
  __self: this,
844
1001
  __source: {
845
1002
  fileName: _jsxFileName,
846
- lineNumber: 754,
1003
+ lineNumber: 933,
847
1004
  columnNumber: 19
848
1005
  }
849
1006
  }),
@@ -861,7 +1018,7 @@ function EntityAdvancedPermissions(props) {
861
1018
  __self: this,
862
1019
  __source: {
863
1020
  fileName: _jsxFileName,
864
- lineNumber: 742,
1021
+ lineNumber: 921,
865
1022
  columnNumber: 15
866
1023
  }
867
1024
  })))))