@bigbinary/neeto-folders-frontend 2.0.9 → 2.0.11
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/cjs/components.js +90 -27
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/components.js +92 -29
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{useFolderActions-Bjx-yzjp.js → useFolderActions-DQUMayG_.js} +9 -5
- package/dist/useFolderActions-DQUMayG_.js.map +1 -0
- package/dist/{useFolderActions-69nKxJCT.js → useFolderActions-Ok2WR6Ht.js} +9 -5
- package/dist/useFolderActions-Ok2WR6Ht.js.map +1 -0
- package/package.json +5 -5
- package/dist/useFolderActions-69nKxJCT.js.map +0 -1
- package/dist/useFolderActions-Bjx-yzjp.js.map +0 -1
package/dist/cjs/components.js
CHANGED
|
@@ -9,7 +9,7 @@ var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
|
9
9
|
var Alert = require('@bigbinary/neetoui/Alert');
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
11
|
var reactRouterDom = require('react-router-dom');
|
|
12
|
-
var useFolderActions = require('../useFolderActions-
|
|
12
|
+
var useFolderActions = require('../useFolderActions-Ok2WR6Ht.js');
|
|
13
13
|
var constants = require('./constants.js');
|
|
14
14
|
var utils = require('../index-hg5oms4a.js');
|
|
15
15
|
var internal = require('../internal-CXN78HoA.js');
|
|
@@ -19,6 +19,7 @@ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
|
19
19
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
20
20
|
var React = require('react');
|
|
21
21
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
22
|
+
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
22
23
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
23
24
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
24
25
|
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
@@ -349,7 +350,8 @@ var AddEditPane = function AddEditPane(_ref) {
|
|
|
349
350
|
type = _useFolderStore.type,
|
|
350
351
|
item = _useFolderStore.item;
|
|
351
352
|
var _useFetchFolders = useFolderActions.useFetchFolders(config),
|
|
352
|
-
folders = _useFetchFolders.data
|
|
353
|
+
folders = _useFetchFolders.data,
|
|
354
|
+
isFetching = _useFetchFolders.isFetching;
|
|
353
355
|
var _useCreateFolder = useFolderActions.useCreateFolder(config),
|
|
354
356
|
createFolder = _useCreateFolder.mutate;
|
|
355
357
|
var _useUpdateFolder = useFolderActions.useUpdateFolder(config),
|
|
@@ -363,38 +365,59 @@ var AddEditPane = function AddEditPane(_ref) {
|
|
|
363
365
|
var isValidParent = (activeFolder === null || activeFolder === void 0 ? void 0 : activeFolder.meta.depth) < config.maxDepth;
|
|
364
366
|
var parentId = isValidParent ? activeFolder.id : null;
|
|
365
367
|
var extraAttributes = config.extraAttributes;
|
|
368
|
+
var handleError = function handleError(setStatus, error) {
|
|
369
|
+
var response = error.response;
|
|
370
|
+
if (response && response.data && response.data.errors) {
|
|
371
|
+
setStatus(response.data.errors);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
366
374
|
var onSubmitForm = /*#__PURE__*/function () {
|
|
367
|
-
var
|
|
368
|
-
var payload;
|
|
375
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(values, _ref2) {
|
|
376
|
+
var setStatus, payload, reactQueryOptions, config;
|
|
369
377
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
370
378
|
while (1) switch (_context.prev = _context.next) {
|
|
371
379
|
case 0:
|
|
380
|
+
setStatus = _ref2.setStatus;
|
|
372
381
|
payload = createPayload(values, extraAttributes);
|
|
382
|
+
reactQueryOptions = {
|
|
383
|
+
onSuccess: function onSuccess() {
|
|
384
|
+
utils$1.showThumbsUpToastr();
|
|
385
|
+
onClose();
|
|
386
|
+
},
|
|
387
|
+
onError: function onError(error) {
|
|
388
|
+
return handleError(setStatus, error);
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
config = {
|
|
392
|
+
showToastr: false
|
|
393
|
+
};
|
|
373
394
|
if (!isEditing) {
|
|
374
|
-
_context.next =
|
|
395
|
+
_context.next = 9;
|
|
375
396
|
break;
|
|
376
397
|
}
|
|
377
|
-
_context.next =
|
|
398
|
+
_context.next = 7;
|
|
378
399
|
return updateFolder({
|
|
379
400
|
id: item.id,
|
|
380
|
-
payload: payload
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
401
|
+
payload: payload,
|
|
402
|
+
config: config
|
|
403
|
+
}, reactQueryOptions);
|
|
404
|
+
case 7:
|
|
405
|
+
_context.next = 11;
|
|
384
406
|
break;
|
|
385
|
-
case 6:
|
|
386
|
-
_context.next = 8;
|
|
387
|
-
return createFolder(payload);
|
|
388
|
-
case 8:
|
|
389
|
-
onClose();
|
|
390
407
|
case 9:
|
|
408
|
+
_context.next = 11;
|
|
409
|
+
return createFolder({
|
|
410
|
+
payload: payload,
|
|
411
|
+
config: config
|
|
412
|
+
}, reactQueryOptions);
|
|
413
|
+
case 11:
|
|
391
414
|
case "end":
|
|
392
415
|
return _context.stop();
|
|
393
416
|
}
|
|
394
417
|
}, _callee);
|
|
395
418
|
}));
|
|
396
|
-
return function onSubmitForm(_x) {
|
|
397
|
-
return
|
|
419
|
+
return function onSubmitForm(_x, _x2) {
|
|
420
|
+
return _ref3.apply(this, arguments);
|
|
398
421
|
};
|
|
399
422
|
}();
|
|
400
423
|
var folderOptions = React.useMemo(function () {
|
|
@@ -405,6 +428,12 @@ var AddEditPane = function AddEditPane(_ref) {
|
|
|
405
428
|
parentId: parentId
|
|
406
429
|
}, extraAttributes);
|
|
407
430
|
}, [isEditing, item, parentId, extraAttributes]);
|
|
431
|
+
if (isFetching) {
|
|
432
|
+
return /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
433
|
+
className: "flex items-center justify-center",
|
|
434
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
435
|
+
});
|
|
436
|
+
}
|
|
408
437
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
409
438
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
410
439
|
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
@@ -419,8 +448,8 @@ var AddEditPane = function AddEditPane(_ref) {
|
|
|
419
448
|
validationSchema: FORM_VALIDATION_SCHEMA,
|
|
420
449
|
onSubmit: onSubmitForm
|
|
421
450
|
},
|
|
422
|
-
children: function children(
|
|
423
|
-
var dirty =
|
|
451
|
+
children: function children(_ref4) {
|
|
452
|
+
var dirty = _ref4.dirty;
|
|
424
453
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
425
454
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
426
455
|
className: "pb-6",
|
|
@@ -499,6 +528,7 @@ var Node = function Node(_ref, ref) {
|
|
|
499
528
|
onClick: onClick,
|
|
500
529
|
ref: ref
|
|
501
530
|
})), {}, {
|
|
531
|
+
"data-cy": "".concat(neetoCist.hyphenate(folder.name), "-folder-node"),
|
|
502
532
|
className: classNames("relative my-1 flex cursor-pointer items-center px-2 py-1", className),
|
|
503
533
|
children: [icon, /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
504
534
|
className: "ml-2",
|
|
@@ -571,6 +601,7 @@ var _SelectableNode = function SelectableNode(_ref) {
|
|
|
571
601
|
readOnly: true,
|
|
572
602
|
checked: selection === folder.id,
|
|
573
603
|
className: "neeto-ui-radio__container",
|
|
604
|
+
"data-cy": "".concat(neetoCist.hyphenate(folder.name), "-folder-option"),
|
|
574
605
|
name: "move-folder-option"
|
|
575
606
|
}),
|
|
576
607
|
onClick: isDisabled ? neetoCist.noop : function () {
|
|
@@ -603,7 +634,8 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
603
634
|
setFolderState = _useFolderStore.setFolderState;
|
|
604
635
|
var _useFetchFolders = useFolderActions.useFetchFolders(config),
|
|
605
636
|
_useFetchFolders$data = _useFetchFolders.data,
|
|
606
|
-
folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data
|
|
637
|
+
folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data,
|
|
638
|
+
isFetching = _useFetchFolders.isFetching;
|
|
607
639
|
var _useTranslation = useTranslation(config),
|
|
608
640
|
t = _useTranslation.t;
|
|
609
641
|
var _useFolderStore2 = useFolderActions.useFolderStore(function (store) {
|
|
@@ -642,6 +674,12 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
642
674
|
mode: "global",
|
|
643
675
|
enabled: !!type
|
|
644
676
|
});
|
|
677
|
+
if (isFetching) {
|
|
678
|
+
return /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
679
|
+
className: "flex items-center justify-center",
|
|
680
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
681
|
+
});
|
|
682
|
+
}
|
|
645
683
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
646
684
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane.Header, {
|
|
647
685
|
className: "flex items-center justify-between",
|
|
@@ -650,6 +688,7 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
650
688
|
children: t("moveToFolder.title")
|
|
651
689
|
}), /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
652
690
|
className: "mr-2",
|
|
691
|
+
"data-cy": "add-new-folder-button",
|
|
653
692
|
label: t("folders.add"),
|
|
654
693
|
style: "link",
|
|
655
694
|
onClick: onAddFolder
|
|
@@ -674,23 +713,29 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
674
713
|
className: "space-x-2",
|
|
675
714
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
676
715
|
className: "flex flex-1 space-x-2",
|
|
677
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$8({
|
|
716
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$8(_objectSpread$8({
|
|
678
717
|
disabled: selection === undefined,
|
|
679
718
|
label: t("common.save"),
|
|
680
719
|
style: "primary",
|
|
681
720
|
onClick: function onClick() {
|
|
682
721
|
return onSubmit(selection);
|
|
683
722
|
}
|
|
684
|
-
}, submitButtonProps)
|
|
723
|
+
}, submitButtonProps), {}, {
|
|
724
|
+
"data-cy": "save-changes-button"
|
|
725
|
+
})), /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$8(_objectSpread$8({
|
|
685
726
|
label: t("common.cancel"),
|
|
686
727
|
style: "text",
|
|
687
728
|
onClick: onClose
|
|
688
|
-
}, cancelButtonProps)
|
|
689
|
-
|
|
729
|
+
}, cancelButtonProps), {}, {
|
|
730
|
+
"data-cy": "cancel-button"
|
|
731
|
+
}))]
|
|
732
|
+
}), onRemove && /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$8(_objectSpread$8({
|
|
690
733
|
label: t("moveToFolder.remove"),
|
|
691
734
|
style: "tertiary",
|
|
692
735
|
onClick: onRemove
|
|
693
|
-
}, removeButtonProps)
|
|
736
|
+
}, removeButtonProps), {}, {
|
|
737
|
+
"data-cy": "remove-from-folder-button"
|
|
738
|
+
}))]
|
|
694
739
|
})]
|
|
695
740
|
});
|
|
696
741
|
};
|
|
@@ -813,7 +858,8 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
813
858
|
var _useTranslation = useTranslation(config),
|
|
814
859
|
t = _useTranslation.t;
|
|
815
860
|
var _useFetchFolders = useFolderActions.useFetchFolders(config),
|
|
816
|
-
folders = _useFetchFolders.data
|
|
861
|
+
folders = _useFetchFolders.data,
|
|
862
|
+
isFetching = _useFetchFolders.isFetching;
|
|
817
863
|
var _useReorderFolders = useFolderActions.useReorderFolders(config),
|
|
818
864
|
reorderFolders = _useReorderFolders.mutate;
|
|
819
865
|
var _useFolderStore = useFolderActions.useFolderStore(function (store) {
|
|
@@ -882,6 +928,12 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
882
928
|
className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
|
|
883
929
|
})
|
|
884
930
|
};
|
|
931
|
+
if (isFetching) {
|
|
932
|
+
return /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
933
|
+
className: "flex items-center justify-center",
|
|
934
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
935
|
+
});
|
|
936
|
+
}
|
|
885
937
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
886
938
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
887
939
|
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
@@ -1128,7 +1180,8 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1128
1180
|
var _useTranslation = useTranslation(config),
|
|
1129
1181
|
t = _useTranslation.t;
|
|
1130
1182
|
var _useFetchFolders = useFolderActions.useFetchFolders(config),
|
|
1131
|
-
folders = _useFetchFolders.data
|
|
1183
|
+
folders = _useFetchFolders.data,
|
|
1184
|
+
isFetching = _useFetchFolders.isFetching;
|
|
1132
1185
|
var _useReorderFolders = useFolderActions.useReorderFolders(config),
|
|
1133
1186
|
reorderFolders = _useReorderFolders.mutate;
|
|
1134
1187
|
var sensors = core.useSensors(core.useSensor(core.PointerSensor, sensorConfig));
|
|
@@ -1210,6 +1263,12 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1210
1263
|
className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
|
|
1211
1264
|
})
|
|
1212
1265
|
};
|
|
1266
|
+
if (isFetching) {
|
|
1267
|
+
return /*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
1268
|
+
className: "flex items-center justify-center",
|
|
1269
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
1270
|
+
});
|
|
1271
|
+
}
|
|
1213
1272
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1214
1273
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
1215
1274
|
children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
@@ -1357,6 +1416,7 @@ var FolderTile = function FolderTile(_ref) {
|
|
|
1357
1416
|
metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel).toLowerCase());
|
|
1358
1417
|
return /*#__PURE__*/jsxRuntime.jsxs(reactRouterDom.Link, {
|
|
1359
1418
|
className: "neeto-ui-bg-gray-50 neeto-ui-border-gray-200 neeto-ui-rounded-md hover:neeto-ui-border-primary-500 relative flex max-w-full items-start gap-2 border-2 p-3 transition-colors ease-in",
|
|
1419
|
+
"data-cy": "".concat(neetoCist.hyphenate(folder.name), "-folder-tile"),
|
|
1360
1420
|
to: link,
|
|
1361
1421
|
children: [/*#__PURE__*/jsxRuntime.jsx(Checkbox, {
|
|
1362
1422
|
checked: isSelected,
|
|
@@ -1372,6 +1432,7 @@ var FolderTile = function FolderTile(_ref) {
|
|
|
1372
1432
|
className: "flex min-w-0 flex-grow flex-col gap-2",
|
|
1373
1433
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
1374
1434
|
className: "-mt-0.5 line-clamp-2 break-words pr-8",
|
|
1435
|
+
"data-cy": "folder-name",
|
|
1375
1436
|
lineHeight: "snug",
|
|
1376
1437
|
style: "body1",
|
|
1377
1438
|
title: folder.name,
|
|
@@ -1422,6 +1483,7 @@ var FoldersList = function FoldersList(_ref) {
|
|
|
1422
1483
|
children: t("folders.title")
|
|
1423
1484
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1424
1485
|
className: "neeto-folders-grid-view-wrapper mb-10 grid w-full gap-4",
|
|
1486
|
+
"data-cy": "folders-list",
|
|
1425
1487
|
children: subFolders.map(function (folder) {
|
|
1426
1488
|
return /*#__PURE__*/React.createElement(FolderTile, {
|
|
1427
1489
|
actions: actions,
|
|
@@ -1472,6 +1534,7 @@ var FolderNode = function FolderNode(_ref) {
|
|
|
1472
1534
|
to: link,
|
|
1473
1535
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1474
1536
|
className: "flex items-center",
|
|
1537
|
+
"data-cy": "".concat(neetoCist.hyphenate(name), "-folder-sublink"),
|
|
1475
1538
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
1476
1539
|
className: "line-clamp-1 block truncate",
|
|
1477
1540
|
component: "span",
|