@bigbinary/neeto-folders-frontend 2.0.19 → 2.0.21
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/README.md +3 -1
- package/dist/cjs/components.js +73 -30
- package/dist/cjs/components.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/components.js +74 -31
- package/dist/components.js.map +1 -1
- package/dist/hooks.js +1 -1
- package/dist/{useFolderActions-DihI8JD6.js → useFolderActions-D7o1zguS.js} +10 -2
- package/dist/useFolderActions-D7o1zguS.js.map +1 -0
- package/dist/{useFolderActions-bZjr1L8D.js → useFolderActions-DDxiCAwt.js} +10 -2
- package/dist/useFolderActions-DDxiCAwt.js.map +1 -0
- package/package.json +7 -7
- package/types.d.ts +13 -0
- package/dist/useFolderActions-DihI8JD6.js.map +0 -1
- package/dist/useFolderActions-bZjr1L8D.js.map +0 -1
package/dist/cjs/hooks.js
CHANGED
package/dist/components.js
CHANGED
|
@@ -7,7 +7,7 @@ import { buildUrl, showThumbsUpToastr } from '@bigbinary/neeto-commons-frontend/
|
|
|
7
7
|
import Alert from '@bigbinary/neetoui/Alert';
|
|
8
8
|
import { useTranslation as useTranslation$1, Trans } from 'react-i18next';
|
|
9
9
|
import { useHistory, Link, NavLink } from 'react-router-dom';
|
|
10
|
-
import { c as useFolderStore, d as useDestroyFolder, a as useFolders, e as useFetchFolders, f as useCreateFolder, g as useUpdateFolder, h as useReorderFolders, D as DEFAULT_CONFIG, u as useFolder, b as useFolderActions } from './useFolderActions-
|
|
10
|
+
import { c as useFolderStore, d as useDestroyFolder, a as useFolders, e as useFetchFolders, f as useCreateFolder, g as useUpdateFolder, h as useReorderFolders, D as DEFAULT_CONFIG, u as useFolder, b as useFolderActions } from './useFolderActions-D7o1zguS.js';
|
|
11
11
|
import { QUERY_KEYS } from './constants.js';
|
|
12
12
|
import { p as pathToFolder, t as treeToMap, m as measureDepth, a as mapToTree, b as mapToSortedTree } from './index-D5OZ9YKi.js';
|
|
13
13
|
import { a as isActiveFolder, g as getActiveFolderId, i as isArray, m as mapObj } from './internal-Bv2t6adO.js';
|
|
@@ -29,7 +29,7 @@ import Textarea from '@bigbinary/neetoui/formik/Textarea';
|
|
|
29
29
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
30
30
|
import useHotkeys from '@bigbinary/neeto-hotkeys';
|
|
31
31
|
import Button from '@bigbinary/neetoui/Button';
|
|
32
|
-
import { hyphenate, noop, isNotPresent } from '@bigbinary/neeto-cist';
|
|
32
|
+
import { hyphenate, noop, isNotPresent, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
33
33
|
import { isEmpty, assoc } from 'ramda';
|
|
34
34
|
import classNames from 'classnames';
|
|
35
35
|
import Radio from '@bigbinary/neetoui/Radio';
|
|
@@ -41,6 +41,7 @@ import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
|
|
|
41
41
|
import Checkbox from '@bigbinary/neetoui/Checkbox';
|
|
42
42
|
import Tree from '@bigbinary/neetoui/Tree';
|
|
43
43
|
import Lock from '@bigbinary/neeto-icons/Lock';
|
|
44
|
+
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
44
45
|
import { ConfigProvider, TreeSelect as TreeSelect$1 } from 'antd';
|
|
45
46
|
import { useField, useFormikContext } from 'formik';
|
|
46
47
|
import Down from '@bigbinary/neeto-icons/Down';
|
|
@@ -362,7 +363,7 @@ var REORDER_TREE_INDENT_WIDTH = 30;
|
|
|
362
363
|
var _excluded$5 = ["icon", "itemLabel", "folder", "folderLabel", "depth", "className", "onClick"];
|
|
363
364
|
function ownKeys$c(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; }
|
|
364
365
|
function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
365
|
-
var Node = function Node(_ref, ref) {
|
|
366
|
+
var Node$1 = function Node(_ref, ref) {
|
|
366
367
|
var _folder$children$leng, _folder$children;
|
|
367
368
|
var _ref$icon = _ref.icon,
|
|
368
369
|
icon = _ref$icon === void 0 ? null : _ref$icon,
|
|
@@ -413,7 +414,7 @@ var Node = function Node(_ref, ref) {
|
|
|
413
414
|
}))]
|
|
414
415
|
});
|
|
415
416
|
};
|
|
416
|
-
var Node$
|
|
417
|
+
var Node$2 = /*#__PURE__*/forwardRef(Node$1);
|
|
417
418
|
|
|
418
419
|
var _excluded$4 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
|
|
419
420
|
function ownKeys$b(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; }
|
|
@@ -456,7 +457,7 @@ var _SelectableNode = function SelectableNode(_ref) {
|
|
|
456
457
|
"opacity-60": isDisabled
|
|
457
458
|
}),
|
|
458
459
|
title: isDisabled ? t("moveToFolder.notAllowed") : undefined,
|
|
459
|
-
children: [/*#__PURE__*/jsx(Node$
|
|
460
|
+
children: [/*#__PURE__*/jsx(Node$2, _objectSpread$b(_objectSpread$b({}, _objectSpread$b(_objectSpread$b({}, rest), {}, {
|
|
460
461
|
depth: depth,
|
|
461
462
|
folder: folder,
|
|
462
463
|
folderLabel: folderLabel,
|
|
@@ -686,7 +687,7 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
|
|
|
686
687
|
});
|
|
687
688
|
};
|
|
688
689
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
689
|
-
children: [/*#__PURE__*/jsx(Node$
|
|
690
|
+
children: [/*#__PURE__*/jsx(Node$2, _objectSpread$9(_objectSpread$9(_objectSpread$9({}, rest), {}, {
|
|
690
691
|
className: classNames({
|
|
691
692
|
"neeto-ui-rounded-lg hover:neeto-ui-bg-gray-100 w-full min-w-0 cursor-move transition-colors": true,
|
|
692
693
|
"neeto-ui-bg-gray-100 opacity-50": isDragging,
|
|
@@ -837,7 +838,7 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
837
838
|
})]
|
|
838
839
|
}), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
|
|
839
840
|
zIndex: 99999,
|
|
840
|
-
children: dragItem && /*#__PURE__*/jsx(Node$
|
|
841
|
+
children: dragItem && /*#__PURE__*/jsx(Node$2, _objectSpread$8(_objectSpread$8({}, nodeProps), {}, {
|
|
841
842
|
className: "neeto-ui-bg-gray-200",
|
|
842
843
|
depth: 0,
|
|
843
844
|
folder: dragItem,
|
|
@@ -992,7 +993,7 @@ var _DraggableNode = function DraggableNode(_ref) {
|
|
|
992
993
|
}, "".concat(folder.id, "--container"));
|
|
993
994
|
};
|
|
994
995
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
995
|
-
children: [/*#__PURE__*/jsx(Node$
|
|
996
|
+
children: [/*#__PURE__*/jsx(Node$2, _objectSpread$7(_objectSpread$7({
|
|
996
997
|
depth: folder.meta.depth
|
|
997
998
|
}, _objectSpread$7(_objectSpread$7(_objectSpread$7(_objectSpread$7({}, rest), {}, {
|
|
998
999
|
folder: folder
|
|
@@ -1180,7 +1181,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1180
1181
|
})]
|
|
1181
1182
|
}), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
|
|
1182
1183
|
zIndex: 99999,
|
|
1183
|
-
children: dragState && /*#__PURE__*/jsx(Node$
|
|
1184
|
+
children: dragState && /*#__PURE__*/jsx(Node$2, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
|
|
1184
1185
|
className: "neeto-ui-bg-gray-200 pl-4 pr-12",
|
|
1185
1186
|
depth: 0,
|
|
1186
1187
|
folder: dragState.activeItem,
|
|
@@ -1342,7 +1343,7 @@ var FoldersList = function FoldersList(_ref) {
|
|
|
1342
1343
|
folder = _useFolder.folder;
|
|
1343
1344
|
var actions = useFolderActions(config);
|
|
1344
1345
|
var subFolders = folderId ? folder === null || folder === void 0 ? void 0 : folder.children : folders;
|
|
1345
|
-
if (isNotPresent(subFolders)) return null;
|
|
1346
|
+
if (isNotPresent(subFolders) || !Array.isArray(subFolders)) return null;
|
|
1346
1347
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
1347
1348
|
children: [/*#__PURE__*/jsx(Typography, {
|
|
1348
1349
|
className: "my-3",
|
|
@@ -1384,14 +1385,27 @@ var MoveToFolderPane = function MoveToFolderPane(_ref) {
|
|
|
1384
1385
|
});
|
|
1385
1386
|
};
|
|
1386
1387
|
|
|
1387
|
-
var
|
|
1388
|
+
var Node = function Node(_ref) {
|
|
1388
1389
|
var _isActive = _ref.isActive,
|
|
1389
|
-
|
|
1390
|
-
link = _ref.link
|
|
1390
|
+
node = _ref.node,
|
|
1391
|
+
link = _ref.link,
|
|
1392
|
+
config = _ref.config;
|
|
1391
1393
|
var _useTranslation = useTranslation(),
|
|
1392
1394
|
t = _useTranslation.t;
|
|
1393
|
-
var isPrivate =
|
|
1394
|
-
name =
|
|
1395
|
+
var isPrivate = node.isPrivate,
|
|
1396
|
+
name = node.name,
|
|
1397
|
+
_node$isFolder = node.isFolder,
|
|
1398
|
+
isFolder = _node$isFolder === void 0 ? true : _node$isFolder;
|
|
1399
|
+
var _ref2 = isFolder ? config.folderActions : config.itemActions,
|
|
1400
|
+
_ref2$getMoreActions = _ref2.getMoreActions,
|
|
1401
|
+
getMoreActions = _ref2$getMoreActions === void 0 ? noop : _ref2$getMoreActions,
|
|
1402
|
+
_ref2$getAddActions = _ref2.getAddActions,
|
|
1403
|
+
getAddActions = _ref2$getAddActions === void 0 ? noop : _ref2$getAddActions;
|
|
1404
|
+
var moreActions = getMoreActions(node) || [];
|
|
1405
|
+
var addActions = getAddActions(node) || [];
|
|
1406
|
+
var hasMoreActions = isNotEmpty(moreActions);
|
|
1407
|
+
var hasAddActions = isNotEmpty(addActions);
|
|
1408
|
+
var hasAnyActions = hasMoreActions || hasAddActions;
|
|
1395
1409
|
return /*#__PURE__*/jsx(NavLink, {
|
|
1396
1410
|
activeClassName: "active",
|
|
1397
1411
|
className: "neeto-sidebar-folders-tree__folder-node",
|
|
@@ -1400,20 +1414,48 @@ var FolderNode = function FolderNode(_ref) {
|
|
|
1400
1414
|
},
|
|
1401
1415
|
to: link,
|
|
1402
1416
|
children: /*#__PURE__*/jsxs("div", {
|
|
1403
|
-
className: "flex items-center",
|
|
1404
|
-
"data-cy": "".concat(hyphenate(name), "-folder-sublink"),
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
+
className: "flex items-center justify-between w-full group",
|
|
1418
|
+
"data-cy": "".concat(hyphenate(name), "-").concat(isFolder ? "folder" : "item", "-sublink"),
|
|
1419
|
+
title: "",
|
|
1420
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
1421
|
+
className: "flex items-center min-w-0 flex-1",
|
|
1422
|
+
children: [/*#__PURE__*/jsx(Typography, {
|
|
1423
|
+
className: "line-clamp-1 block truncate",
|
|
1424
|
+
component: "span",
|
|
1425
|
+
style: "body2",
|
|
1426
|
+
title: name,
|
|
1427
|
+
children: name
|
|
1428
|
+
}), isPrivate && /*#__PURE__*/jsx("span", {
|
|
1429
|
+
title: t("common.private"),
|
|
1430
|
+
children: /*#__PURE__*/jsx(Lock, {
|
|
1431
|
+
className: "flex-shrink-0 ml-1",
|
|
1432
|
+
size: 16
|
|
1433
|
+
})
|
|
1434
|
+
})]
|
|
1435
|
+
}), hasAnyActions && /*#__PURE__*/jsxs("div", {
|
|
1436
|
+
className: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",
|
|
1437
|
+
onClick: function onClick(e) {
|
|
1438
|
+
e.preventDefault();
|
|
1439
|
+
e.stopPropagation();
|
|
1440
|
+
},
|
|
1441
|
+
children: [hasAddActions && /*#__PURE__*/jsx(MoreDropdown, {
|
|
1442
|
+
dropdownProps: {
|
|
1443
|
+
icon: Plus
|
|
1444
|
+
},
|
|
1445
|
+
menuItems: addActions,
|
|
1446
|
+
dropdownButtonProps: {
|
|
1447
|
+
size: "small",
|
|
1448
|
+
tooltipProps: {
|
|
1449
|
+
content: "Add",
|
|
1450
|
+
position: "top"
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
}), hasMoreActions && /*#__PURE__*/jsx(MoreDropdown, {
|
|
1454
|
+
dropdownButtonProps: {
|
|
1455
|
+
size: "small"
|
|
1456
|
+
},
|
|
1457
|
+
menuItems: moreActions
|
|
1458
|
+
})]
|
|
1417
1459
|
})]
|
|
1418
1460
|
})
|
|
1419
1461
|
});
|
|
@@ -1539,8 +1581,9 @@ var FoldersTree = function FoldersTree(_ref) {
|
|
|
1539
1581
|
},
|
|
1540
1582
|
selectedKeys: [activeFolderSid],
|
|
1541
1583
|
titleRender: function titleRender(node) {
|
|
1542
|
-
return /*#__PURE__*/jsx(
|
|
1543
|
-
|
|
1584
|
+
return /*#__PURE__*/jsx(Node, {
|
|
1585
|
+
config: config,
|
|
1586
|
+
node: node,
|
|
1544
1587
|
isActive: node.sid === activeFolderSid,
|
|
1545
1588
|
link: node.link || buildUrl(config.folderPath, _objectSpread$1(_objectSpread$1({}, params), {}, {
|
|
1546
1589
|
folderId: node.sid
|