@bigbinary/neeto-folders-frontend 2.0.4 → 2.0.5
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 -3
- package/app/javascript/src/translations/en.json +2 -4
- package/dist/cjs/components.js +147 -78
- package/dist/cjs/components.js.map +1 -1
- package/dist/components.js +147 -78
- package/dist/components.js.map +1 -1
- package/package.json +14 -12
package/README.md
CHANGED
|
@@ -222,7 +222,7 @@ import * as components from "@bigbinary/neeto-folders-frontend/components";
|
|
|
222
222
|
/>;
|
|
223
223
|
```
|
|
224
224
|
|
|
225
|
-
4. `
|
|
225
|
+
4. `MoveToFolderPane`: This component can be used in host applications to move
|
|
226
226
|
items to a folder. Component renders current list of folders in pane with
|
|
227
227
|
radio buttons and invokes callbacks for folder selections.
|
|
228
228
|
|
|
@@ -255,9 +255,9 @@ import * as components from "@bigbinary/neeto-folders-frontend/components";
|
|
|
255
255
|
Sample usage:
|
|
256
256
|
|
|
257
257
|
```jsx
|
|
258
|
-
import {
|
|
258
|
+
import { MoveToFolderPane } from "@bigbinary/neeto-folders-frontend/components";
|
|
259
259
|
// ....
|
|
260
|
-
<
|
|
260
|
+
<MoveToFolderPane
|
|
261
261
|
item={itemToMove}
|
|
262
262
|
onSelect={onSelectFolder}
|
|
263
263
|
selection={folderSelection}
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"folders": "Folders",
|
|
11
11
|
"item": "Item",
|
|
12
12
|
"items": "Items",
|
|
13
|
-
"private": "Private"
|
|
13
|
+
"private": "Private",
|
|
14
|
+
"moveToFolder": "Move to folder"
|
|
14
15
|
},
|
|
15
|
-
|
|
16
16
|
"createFolder": {
|
|
17
17
|
"parentInfo": "Leave the option empty to create {{ folder }} at the root level",
|
|
18
18
|
"parentTitle": "Parent {{ folder }}"
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
"add": "Add new {{ folder }}",
|
|
27
27
|
"edit": "Edit {{ folder }}",
|
|
28
28
|
"name": "{{ folder }} name",
|
|
29
|
-
"subfolderCount": "{{count}} sub {{ folders }}",
|
|
30
29
|
"noFolders": "No {{ folder }} to show"
|
|
31
30
|
},
|
|
32
31
|
"moveToFolder": {
|
|
@@ -38,7 +37,6 @@
|
|
|
38
37
|
"reorderFolder": {
|
|
39
38
|
"title": "Reorder {{ folders }}"
|
|
40
39
|
},
|
|
41
|
-
|
|
42
40
|
"errors": {
|
|
43
41
|
"blank": "{{entity}} cannot be blank"
|
|
44
42
|
}
|
package/dist/cjs/components.js
CHANGED
|
@@ -18,10 +18,10 @@ var Pane = require('@bigbinary/neetoui/Pane');
|
|
|
18
18
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
19
19
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
20
20
|
var React = require('react');
|
|
21
|
-
var formik = require('formik');
|
|
22
21
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
23
22
|
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
24
23
|
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
24
|
+
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
25
25
|
var i18next = require('i18next');
|
|
26
26
|
var yup = require('yup');
|
|
27
27
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
@@ -30,9 +30,11 @@ var Textarea = require('@bigbinary/neetoui/formik/Textarea');
|
|
|
30
30
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
31
31
|
var antd = require('antd');
|
|
32
32
|
var classNames = require('classnames');
|
|
33
|
+
var formik = require('formik');
|
|
33
34
|
var Down = require('@bigbinary/neeto-icons/Down');
|
|
34
35
|
var Label = require('@bigbinary/neetoui/Label');
|
|
35
36
|
var ramda = require('ramda');
|
|
37
|
+
var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
36
38
|
var Button = require('@bigbinary/neetoui/Button');
|
|
37
39
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
38
40
|
var Radio = require('@bigbinary/neetoui/Radio');
|
|
@@ -250,7 +252,7 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
250
252
|
suffixIcon: /*#__PURE__*/jsxRuntime.jsx(Down, {}),
|
|
251
253
|
treeNodeFilterProp: (_fieldNames$label = fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.label) !== null && _fieldNames$label !== void 0 ? _fieldNames$label : "title",
|
|
252
254
|
value: field.value || undefined,
|
|
253
|
-
className: classNames("neeto-ui-tree-select__wrapper", className, {
|
|
255
|
+
className: classNames("neeto-ui-tree-select__wrapper nf-tree-select", className, {
|
|
254
256
|
"neeto-ui-tree-select__error": meta.error
|
|
255
257
|
}),
|
|
256
258
|
switcherIcon: function switcherIcon(props) {
|
|
@@ -405,54 +407,55 @@ var AddEditPane = function AddEditPane(_ref) {
|
|
|
405
407
|
style: "h2",
|
|
406
408
|
children: isEditing ? t("folders.edit") : t("folders.add")
|
|
407
409
|
})
|
|
408
|
-
}), /*#__PURE__*/jsxRuntime.jsx(
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
410
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Form, {
|
|
411
|
+
className: "flex flex-grow flex-col",
|
|
412
|
+
formikProps: {
|
|
413
|
+
initialValues: initialValues,
|
|
414
|
+
enableReinitialize: true,
|
|
415
|
+
validationSchema: FORM_VALIDATION_SCHEMA,
|
|
416
|
+
onSubmit: onSubmitForm
|
|
417
|
+
},
|
|
418
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
419
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
420
|
+
className: "pb-6",
|
|
421
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
422
|
+
className: "w-full space-y-5",
|
|
423
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
|
|
424
|
+
required: true,
|
|
425
|
+
label: t("folders.name"),
|
|
426
|
+
name: "name",
|
|
427
|
+
ref: setFocusField
|
|
428
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ExtraAttributes, {
|
|
429
|
+
attributes: extraAttributes
|
|
430
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
431
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(TreeSelect, {
|
|
432
|
+
allowClear: true,
|
|
433
|
+
showSearch: true,
|
|
434
|
+
label: t("createFolder.parentTitle"),
|
|
435
|
+
name: "parentId",
|
|
436
|
+
treeData: folderOptions
|
|
437
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
438
|
+
className: "mt-1",
|
|
439
|
+
style: "body3",
|
|
440
|
+
children: t("createFolder.parentInfo")
|
|
438
441
|
})]
|
|
439
|
-
})
|
|
440
|
-
})
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
}
|
|
446
|
-
})
|
|
447
|
-
})
|
|
448
|
-
}
|
|
442
|
+
})]
|
|
443
|
+
})
|
|
444
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Pane.Footer, {
|
|
445
|
+
children: /*#__PURE__*/jsxRuntime.jsx(ActionBlock, {
|
|
446
|
+
cancelButtonProps: {
|
|
447
|
+
onClick: onClose
|
|
448
|
+
}
|
|
449
|
+
})
|
|
450
|
+
})]
|
|
451
|
+
})
|
|
449
452
|
})]
|
|
450
453
|
});
|
|
451
454
|
};
|
|
452
455
|
|
|
453
456
|
var REORDER_TREE_INDENT_WIDTH = 30;
|
|
454
457
|
|
|
455
|
-
var _excluded$4 = ["icon", "itemLabel", "folder", "depth", "className", "onClick"];
|
|
458
|
+
var _excluded$4 = ["icon", "itemLabel", "folder", "folderLabel", "depth", "className", "onClick"];
|
|
456
459
|
function ownKeys$a(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; }
|
|
457
460
|
function _objectSpread$a(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$a(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
458
461
|
var Node = function Node(_ref, ref) {
|
|
@@ -461,18 +464,15 @@ var Node = function Node(_ref, ref) {
|
|
|
461
464
|
icon = _ref$icon === void 0 ? null : _ref$icon,
|
|
462
465
|
itemLabel = _ref.itemLabel,
|
|
463
466
|
folder = _ref.folder,
|
|
467
|
+
folderLabel = _ref.folderLabel,
|
|
464
468
|
depth = _ref.depth,
|
|
465
469
|
className = _ref.className,
|
|
466
470
|
onClick = _ref.onClick,
|
|
467
471
|
rest = _objectWithoutProperties(_ref, _excluded$4);
|
|
468
|
-
var _useTranslation = reactI18next.useTranslation(),
|
|
469
|
-
t = _useTranslation.t;
|
|
470
472
|
var metaInfo = [];
|
|
471
473
|
var childCount = (_folder$children$leng = (_folder$children = folder.children) === null || _folder$children === void 0 ? void 0 : _folder$children.length) !== null && _folder$children$leng !== void 0 ? _folder$children$leng : 0;
|
|
472
|
-
childCount > 0 && metaInfo.push(
|
|
473
|
-
|
|
474
|
-
}));
|
|
475
|
-
folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel));
|
|
474
|
+
childCount > 0 && metaInfo.push("".concat(childCount, " ").concat(folderLabel).toLowerCase());
|
|
475
|
+
folder.itemCount > 0 && metaInfo.push("".concat(folder.itemCount, " ").concat(itemLabel).toLowerCase());
|
|
476
476
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
477
477
|
className: "flex w-full min-w-0",
|
|
478
478
|
children: [Array.from({
|
|
@@ -514,6 +514,7 @@ var _excluded$3 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
|
|
|
514
514
|
function ownKeys$9(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; }
|
|
515
515
|
function _objectSpread$9(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$9(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$9(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
516
516
|
var _SelectableNode = function SelectableNode(_ref) {
|
|
517
|
+
var _folder$children$leng, _folder$children;
|
|
517
518
|
var folder = _ref.folder,
|
|
518
519
|
item = _ref.item,
|
|
519
520
|
_ref$depth = _ref.depth,
|
|
@@ -527,6 +528,8 @@ var _SelectableNode = function SelectableNode(_ref) {
|
|
|
527
528
|
var _useTranslation = useTranslation(config),
|
|
528
529
|
t = _useTranslation.t;
|
|
529
530
|
var isDisabled = disabled || (item === null || item === void 0 ? void 0 : item.id) === folder.id || depth > maxDepth;
|
|
531
|
+
var itemLabel = config.labels[folder.itemCount > 1 ? "items" : "item"];
|
|
532
|
+
var folderLabel = config.labels[((_folder$children$leng = (_folder$children = folder.children) === null || _folder$children === void 0 ? void 0 : _folder$children.length) !== null && _folder$children$leng !== void 0 ? _folder$children$leng : 0) > 1 ? "folders" : "folder"];
|
|
530
533
|
var renderChildren = function renderChildren() {
|
|
531
534
|
if (neetoCist.isNotPresent(folder.children)) return null;
|
|
532
535
|
return folder.children.map(function (child) {
|
|
@@ -550,7 +553,9 @@ var _SelectableNode = function SelectableNode(_ref) {
|
|
|
550
553
|
title: isDisabled ? t("moveToFolder.notAllowed") : undefined,
|
|
551
554
|
children: [/*#__PURE__*/jsxRuntime.jsx(Node$1, _objectSpread$9(_objectSpread$9({}, _objectSpread$9(_objectSpread$9({}, rest), {}, {
|
|
552
555
|
depth: depth,
|
|
553
|
-
folder: folder
|
|
556
|
+
folder: folder,
|
|
557
|
+
folderLabel: folderLabel,
|
|
558
|
+
itemLabel: itemLabel
|
|
554
559
|
})), {}, {
|
|
555
560
|
icon: /*#__PURE__*/jsxRuntime.jsx(Radio.Item, {
|
|
556
561
|
readOnly: true,
|
|
@@ -591,6 +596,13 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
591
596
|
folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
|
|
592
597
|
var _useTranslation = useTranslation(config),
|
|
593
598
|
t = _useTranslation.t;
|
|
599
|
+
var _useFolderStore2 = useFolderActions.useFolderStore(function (store) {
|
|
600
|
+
var _store$paneState;
|
|
601
|
+
return {
|
|
602
|
+
type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
|
|
603
|
+
};
|
|
604
|
+
}, shallow.shallow),
|
|
605
|
+
type = _useFolderStore2.type;
|
|
594
606
|
var tree = React.useMemo(function () {
|
|
595
607
|
return [{
|
|
596
608
|
name: "/",
|
|
@@ -614,6 +626,12 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
614
626
|
}
|
|
615
627
|
});
|
|
616
628
|
};
|
|
629
|
+
useHotkeys(["command+enter", "enter"], function () {
|
|
630
|
+
return onSubmit(selection);
|
|
631
|
+
}, {
|
|
632
|
+
mode: "global",
|
|
633
|
+
enabled: !!type
|
|
634
|
+
});
|
|
617
635
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
618
636
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Pane.Header, {
|
|
619
637
|
className: "flex items-center justify-between",
|
|
@@ -636,7 +654,6 @@ var PaneBody = function PaneBody(_ref) {
|
|
|
636
654
|
maxDepth: maxDepth,
|
|
637
655
|
selection: selection,
|
|
638
656
|
disabled: (item === null || item === void 0 ? void 0 : item.id) === folder.id || maxDepth <= 0,
|
|
639
|
-
itemLabel: config.labels.item,
|
|
640
657
|
key: folder.id,
|
|
641
658
|
onSelect: function onSelect(folder) {
|
|
642
659
|
return setSelection(folder.id);
|
|
@@ -700,13 +717,16 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
|
|
|
700
717
|
});
|
|
701
718
|
};
|
|
702
719
|
|
|
703
|
-
var _excluded$2 = ["folder", "depth"];
|
|
720
|
+
var _excluded$2 = ["folder", "depth", "config", "folderLabel", "itemLabel"];
|
|
704
721
|
function ownKeys$7(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; }
|
|
705
722
|
function _objectSpread$7(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$7(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
706
723
|
var _DraggableNode$1 = function DraggableNode(_ref) {
|
|
707
724
|
var folder = _ref.folder,
|
|
708
725
|
_ref$depth = _ref.depth,
|
|
709
726
|
depth = _ref$depth === void 0 ? 0 : _ref$depth,
|
|
727
|
+
config = _ref.config,
|
|
728
|
+
folderLabel = _ref.folderLabel,
|
|
729
|
+
itemLabel = _ref.itemLabel,
|
|
710
730
|
rest = _objectWithoutProperties(_ref, _excluded$2);
|
|
711
731
|
var _useDraggable = core.useDraggable({
|
|
712
732
|
id: "draggable-item--".concat(folder.id),
|
|
@@ -727,10 +747,15 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
|
|
|
727
747
|
var renderChildren = function renderChildren() {
|
|
728
748
|
if (neetoCist.isNotPresent(folder.children) || isDragging) return null;
|
|
729
749
|
return folder.children.map(function (child) {
|
|
730
|
-
|
|
750
|
+
var _child$children$lengt, _child$children;
|
|
751
|
+
return /*#__PURE__*/React.createElement(_DraggableNode$1, _objectSpread$7(_objectSpread$7({}, _objectSpread$7(_objectSpread$7({}, rest), {}, {
|
|
752
|
+
config: config
|
|
753
|
+
})), {}, {
|
|
731
754
|
depth: depth + 1,
|
|
732
755
|
folder: child,
|
|
733
|
-
|
|
756
|
+
itemLabel: config.labels[(child === null || child === void 0 ? void 0 : child.itemCount) > 1 ? "items" : "item"],
|
|
757
|
+
key: child.id,
|
|
758
|
+
folderLabel: config.labels[((_child$children$lengt = child === null || child === void 0 || (_child$children = child.children) === null || _child$children === void 0 ? void 0 : _child$children.length) !== null && _child$children$lengt !== void 0 ? _child$children$lengt : 0) > 1 ? "folders" : "folder"]
|
|
734
759
|
}));
|
|
735
760
|
});
|
|
736
761
|
};
|
|
@@ -742,10 +767,13 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
|
|
|
742
767
|
"neeto-ui-border-primary-500 border": isOver,
|
|
743
768
|
"border border-transparent": !isOver
|
|
744
769
|
})
|
|
745
|
-
}, _objectSpread$7(_objectSpread$7({
|
|
770
|
+
}, _objectSpread$7(_objectSpread$7(_objectSpread$7({
|
|
746
771
|
depth: depth,
|
|
747
772
|
folder: folder
|
|
748
|
-
}, attributes), listeners)
|
|
773
|
+
}, attributes), listeners), {}, {
|
|
774
|
+
folderLabel: folderLabel,
|
|
775
|
+
itemLabel: itemLabel
|
|
776
|
+
})), {}, {
|
|
749
777
|
ref: function ref(_ref2) {
|
|
750
778
|
setDroppableRef(_ref2);
|
|
751
779
|
setDraggableRef(_ref2);
|
|
@@ -757,6 +785,7 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
|
|
|
757
785
|
function ownKeys$6(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; }
|
|
758
786
|
function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
759
787
|
var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
788
|
+
var _tree$children$length, _tree$children, _dragItem$children$le, _dragItem$children;
|
|
760
789
|
var config = _ref.config,
|
|
761
790
|
onClose = _ref.onClose;
|
|
762
791
|
var _useState = React.useState(null),
|
|
@@ -773,6 +802,13 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
773
802
|
folders = _useFetchFolders.data;
|
|
774
803
|
var _useReorderFolders = useFolderActions.useReorderFolders(config),
|
|
775
804
|
reorderFolders = _useReorderFolders.mutate;
|
|
805
|
+
var _useFolderStore = useFolderActions.useFolderStore(function (store) {
|
|
806
|
+
var _store$paneState;
|
|
807
|
+
return {
|
|
808
|
+
type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
|
|
809
|
+
};
|
|
810
|
+
}, shallow.shallow),
|
|
811
|
+
type = _useFolderStore.type;
|
|
776
812
|
var _useStateWithDependen = reactUtils.useStateWithDependency(function () {
|
|
777
813
|
return {
|
|
778
814
|
name: "/",
|
|
@@ -819,11 +855,14 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
819
855
|
onSuccess: onClose
|
|
820
856
|
});
|
|
821
857
|
};
|
|
858
|
+
useHotkeys(["command+enter", "enter"], onSubmit, {
|
|
859
|
+
mode: "global",
|
|
860
|
+
enabled: !!type
|
|
861
|
+
});
|
|
822
862
|
var nodeProps = {
|
|
823
863
|
icon: /*#__PURE__*/jsxRuntime.jsx(Reorder, {
|
|
824
864
|
className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
|
|
825
|
-
})
|
|
826
|
-
itemLabel: config.labels.item
|
|
865
|
+
})
|
|
827
866
|
};
|
|
828
867
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
829
868
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
@@ -839,9 +878,13 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
839
878
|
},
|
|
840
879
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
841
880
|
className: "pb-6",
|
|
842
|
-
children: /*#__PURE__*/React.createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
|
|
881
|
+
children: /*#__PURE__*/React.createElement(_DraggableNode$1, _objectSpread$6(_objectSpread$6({}, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
|
|
882
|
+
config: config
|
|
883
|
+
})), {}, {
|
|
843
884
|
folder: tree,
|
|
844
|
-
|
|
885
|
+
itemLabel: config.labels[(tree === null || tree === void 0 ? void 0 : tree.itemCount) > 1 ? "items" : "item"],
|
|
886
|
+
key: tree.id,
|
|
887
|
+
folderLabel: config.labels[((_tree$children$length = tree === null || tree === void 0 || (_tree$children = tree.children) === null || _tree$children === void 0 ? void 0 : _tree$children.length) !== null && _tree$children$length !== void 0 ? _tree$children$length : 0) > 1 ? "folders" : "folder"]
|
|
845
888
|
}))
|
|
846
889
|
}), /*#__PURE__*/jsxRuntime.jsxs(Pane.Footer, {
|
|
847
890
|
className: "gap-2",
|
|
@@ -860,7 +903,9 @@ var RearrangeFoldersPane = function RearrangeFoldersPane(_ref) {
|
|
|
860
903
|
children: dragItem && /*#__PURE__*/jsxRuntime.jsx(Node$1, _objectSpread$6(_objectSpread$6({}, nodeProps), {}, {
|
|
861
904
|
className: "neeto-ui-bg-gray-200",
|
|
862
905
|
depth: 0,
|
|
863
|
-
folder: dragItem
|
|
906
|
+
folder: dragItem,
|
|
907
|
+
folderLabel: config.labels[((_dragItem$children$le = dragItem === null || dragItem === void 0 || (_dragItem$children = dragItem.children) === null || _dragItem$children === void 0 ? void 0 : _dragItem$children.length) !== null && _dragItem$children$le !== void 0 ? _dragItem$children$le : 0) > 1 ? "folders" : "folder"],
|
|
908
|
+
itemLabel: config.labels[(dragItem === null || dragItem === void 0 ? void 0 : dragItem.itemCount) > 1 ? "items" : "item"]
|
|
864
909
|
}))
|
|
865
910
|
}), document.body)]
|
|
866
911
|
})]
|
|
@@ -958,13 +1003,16 @@ var PlaceholderNode = function PlaceholderNode(_ref) {
|
|
|
958
1003
|
});
|
|
959
1004
|
};
|
|
960
1005
|
|
|
961
|
-
var _excluded$1 = ["folder", "dragState"];
|
|
1006
|
+
var _excluded$1 = ["folder", "config", "dragState", "folderLabel", "itemLabel"];
|
|
962
1007
|
function ownKeys$5(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; }
|
|
963
1008
|
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
964
1009
|
var _DraggableNode = function DraggableNode(_ref) {
|
|
965
1010
|
var _overItem$meta$parent;
|
|
966
1011
|
var folder = _ref.folder,
|
|
1012
|
+
config = _ref.config,
|
|
967
1013
|
dragState = _ref.dragState,
|
|
1014
|
+
folderLabel = _ref.folderLabel,
|
|
1015
|
+
itemLabel = _ref.itemLabel,
|
|
968
1016
|
rest = _objectWithoutProperties(_ref, _excluded$1);
|
|
969
1017
|
var overItem = dragState.overItem;
|
|
970
1018
|
var isOverItem = folder.id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
|
|
@@ -992,12 +1040,16 @@ var _DraggableNode = function DraggableNode(_ref) {
|
|
|
992
1040
|
dragState: dragState,
|
|
993
1041
|
folder: folder
|
|
994
1042
|
}), internal.isArray(folder.children) && folder.children.map(function (child) {
|
|
1043
|
+
var _child$children$lengt, _child$children;
|
|
995
1044
|
return /*#__PURE__*/React.createElement(_DraggableNode, _objectSpread$5(_objectSpread$5({}, _objectSpread$5(_objectSpread$5({}, rest), {}, {
|
|
1045
|
+
config: config,
|
|
996
1046
|
dragState: dragState
|
|
997
1047
|
})), {}, {
|
|
998
1048
|
depth: child.meta.depth,
|
|
999
1049
|
folder: child,
|
|
1000
|
-
|
|
1050
|
+
itemLabel: config.labels[(child === null || child === void 0 ? void 0 : child.itemCount) > 1 ? "items" : "item"],
|
|
1051
|
+
key: child.id,
|
|
1052
|
+
folderLabel: config.labels[((_child$children$lengt = child === null || child === void 0 || (_child$children = child.children) === null || _child$children === void 0 ? void 0 : _child$children.length) !== null && _child$children$lengt !== void 0 ? _child$children$lengt : 0) > 1 ? "folders" : "folder"]
|
|
1001
1053
|
}));
|
|
1002
1054
|
})]
|
|
1003
1055
|
}, "".concat(folder.id, "--container"));
|
|
@@ -1005,9 +1057,12 @@ var _DraggableNode = function DraggableNode(_ref) {
|
|
|
1005
1057
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1006
1058
|
children: [/*#__PURE__*/jsxRuntime.jsx(Node$1, _objectSpread$5(_objectSpread$5({
|
|
1007
1059
|
depth: folder.meta.depth
|
|
1008
|
-
}, _objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
|
|
1060
|
+
}, _objectSpread$5(_objectSpread$5(_objectSpread$5(_objectSpread$5({}, rest), {}, {
|
|
1009
1061
|
folder: folder
|
|
1010
|
-
}, attributes), listeners)
|
|
1062
|
+
}, attributes), listeners), {}, {
|
|
1063
|
+
folderLabel: folderLabel,
|
|
1064
|
+
itemLabel: itemLabel
|
|
1065
|
+
})), {}, {
|
|
1011
1066
|
className: classNames({
|
|
1012
1067
|
"hover:neeto-ui-bg-gray-100 w-full cursor-move transition-colors": true,
|
|
1013
1068
|
"neeto-ui-bg-gray-100 opacity-50": isDragging,
|
|
@@ -1041,6 +1096,7 @@ var measuringConfig = {
|
|
|
1041
1096
|
|
|
1042
1097
|
// Reorder with support for position adjustment
|
|
1043
1098
|
var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
1099
|
+
var _tree$children$length, _tree$children, _dragState$activeItem, _dragState$activeItem2, _dragState$activeItem3;
|
|
1044
1100
|
var config = _ref.config,
|
|
1045
1101
|
onClose = _ref.onClose;
|
|
1046
1102
|
var _useState = React.useState(initialDragState),
|
|
@@ -1058,6 +1114,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1058
1114
|
var _useReorderFolders = useFolderActions.useReorderFolders(config),
|
|
1059
1115
|
reorderFolders = _useReorderFolders.mutate;
|
|
1060
1116
|
var sensors = core.useSensors(core.useSensor(core.PointerSensor, sensorConfig));
|
|
1117
|
+
var _useFolderStore = useFolderActions.useFolderStore(function (store) {
|
|
1118
|
+
var _store$paneState;
|
|
1119
|
+
return {
|
|
1120
|
+
type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
|
|
1121
|
+
};
|
|
1122
|
+
}, shallow.shallow),
|
|
1123
|
+
type = _useFolderStore.type;
|
|
1061
1124
|
var _useStateWithDependen = reactUtils.useStateWithDependency(function () {
|
|
1062
1125
|
return {
|
|
1063
1126
|
name: "/",
|
|
@@ -1116,11 +1179,14 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1116
1179
|
onSuccess: onClose
|
|
1117
1180
|
});
|
|
1118
1181
|
};
|
|
1182
|
+
useHotkeys(["command+enter", "enter"], onSubmit, {
|
|
1183
|
+
mode: "global",
|
|
1184
|
+
enabled: !!type
|
|
1185
|
+
});
|
|
1119
1186
|
var nodeProps = {
|
|
1120
1187
|
icon: /*#__PURE__*/jsxRuntime.jsx(Reorder, {
|
|
1121
1188
|
className: "neeto-ui-text-gray-500 relative -left-[0.3125rem] flex-shrink-0"
|
|
1122
|
-
})
|
|
1123
|
-
itemLabel: config.labels.item
|
|
1189
|
+
})
|
|
1124
1190
|
};
|
|
1125
1191
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1126
1192
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Header, {
|
|
@@ -1144,10 +1210,13 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1144
1210
|
children: [/*#__PURE__*/jsxRuntime.jsx(Pane.Body, {
|
|
1145
1211
|
className: "pb-6",
|
|
1146
1212
|
children: /*#__PURE__*/React.createElement(_DraggableNode, _objectSpread$4(_objectSpread$4({}, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
|
|
1213
|
+
config: config,
|
|
1147
1214
|
dragState: dragState
|
|
1148
1215
|
})), {}, {
|
|
1149
1216
|
folder: tree,
|
|
1150
|
-
|
|
1217
|
+
itemLabel: config.labels[(tree === null || tree === void 0 ? void 0 : tree.itemCount) > 1 ? "items" : "item"],
|
|
1218
|
+
key: tree.id,
|
|
1219
|
+
folderLabel: config.labels[((_tree$children$length = tree === null || tree === void 0 || (_tree$children = tree.children) === null || _tree$children === void 0 ? void 0 : _tree$children.length) !== null && _tree$children$length !== void 0 ? _tree$children$length : 0) > 1 ? "folders" : "folder"]
|
|
1151
1220
|
}))
|
|
1152
1221
|
}), /*#__PURE__*/jsxRuntime.jsxs(Pane.Footer, {
|
|
1153
1222
|
className: "gap-2",
|
|
@@ -1166,7 +1235,9 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
|
|
|
1166
1235
|
children: dragState && /*#__PURE__*/jsxRuntime.jsx(Node$1, _objectSpread$4(_objectSpread$4({}, nodeProps), {}, {
|
|
1167
1236
|
className: "neeto-ui-bg-gray-200 pl-4 pr-12",
|
|
1168
1237
|
depth: 0,
|
|
1169
|
-
folder: dragState.activeItem
|
|
1238
|
+
folder: dragState.activeItem,
|
|
1239
|
+
folderLabel: config.labels[((_dragState$activeItem = (_dragState$activeItem2 = dragState.activeItem) === null || _dragState$activeItem2 === void 0 || (_dragState$activeItem2 = _dragState$activeItem2.children) === null || _dragState$activeItem2 === void 0 ? void 0 : _dragState$activeItem2.length) !== null && _dragState$activeItem !== void 0 ? _dragState$activeItem : 0) > 1 ? "folders" : "folder"],
|
|
1240
|
+
itemLabel: config.labels[((_dragState$activeItem3 = dragState.activeItem) === null || _dragState$activeItem3 === void 0 ? void 0 : _dragState$activeItem3.itemCount) > 1 ? "items" : "item"]
|
|
1170
1241
|
}))
|
|
1171
1242
|
}), document.body)]
|
|
1172
1243
|
})]
|
|
@@ -1228,10 +1299,9 @@ var FoldersContext = function FoldersContext(_ref) {
|
|
|
1228
1299
|
};
|
|
1229
1300
|
|
|
1230
1301
|
var FolderTile = function FolderTile(_ref) {
|
|
1231
|
-
var _folder$children$leng, _folder$children;
|
|
1302
|
+
var _folder$children$leng, _folder$children, _folder$children$leng2, _folder$children2;
|
|
1232
1303
|
var isSelected = _ref.isSelected,
|
|
1233
1304
|
link = _ref.link,
|
|
1234
|
-
itemLabel = _ref.itemLabel,
|
|
1235
1305
|
folder = _ref.folder,
|
|
1236
1306
|
actions = _ref.actions,
|
|
1237
1307
|
config = _ref.config,
|
|
@@ -1250,7 +1320,7 @@ var FolderTile = function FolderTile(_ref) {
|
|
|
1250
1320
|
onClick: actionCallback(actions.onEdit)
|
|
1251
1321
|
}, {
|
|
1252
1322
|
key: "move",
|
|
1253
|
-
label: t("common.
|
|
1323
|
+
label: t("common.moveToFolder"),
|
|
1254
1324
|
onClick: actionCallback(actions.onMove)
|
|
1255
1325
|
}, {
|
|
1256
1326
|
key: "delete",
|
|
@@ -1259,10 +1329,10 @@ var FolderTile = function FolderTile(_ref) {
|
|
|
1259
1329
|
}];
|
|
1260
1330
|
var metaInfo = [];
|
|
1261
1331
|
var childCount = (_folder$children$leng = (_folder$children = folder.children) === null || _folder$children === void 0 ? void 0 : _folder$children.length) !== null && _folder$children$leng !== void 0 ? _folder$children$leng : 0;
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel));
|
|
1332
|
+
var itemLabel = config.labels[folder.itemCount > 1 ? "items" : "item"];
|
|
1333
|
+
var folderLabel = config.labels[((_folder$children$leng2 = (_folder$children2 = folder.children) === null || _folder$children2 === void 0 ? void 0 : _folder$children2.length) !== null && _folder$children$leng2 !== void 0 ? _folder$children$leng2 : 0) > 1 ? "folders" : "folder"];
|
|
1334
|
+
childCount > 0 && metaInfo.push("".concat(childCount, " ").concat(folderLabel).toLowerCase());
|
|
1335
|
+
metaInfo.push("".concat(folder.itemCount || 0, " ").concat(itemLabel).toLowerCase());
|
|
1266
1336
|
return /*#__PURE__*/jsxRuntime.jsxs(reactRouterDom.Link, {
|
|
1267
1337
|
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",
|
|
1268
1338
|
to: link,
|
|
@@ -1337,7 +1407,6 @@ var FoldersList = function FoldersList(_ref) {
|
|
|
1337
1407
|
folder: folder,
|
|
1338
1408
|
onSelect: onSelect,
|
|
1339
1409
|
isSelected: selection.includes(folder.id),
|
|
1340
|
-
itemLabel: config.labels.item,
|
|
1341
1410
|
key: folder.id,
|
|
1342
1411
|
link: utils$1.buildUrl(config.folderPath, _objectSpread$2(_objectSpread$2({}, params), {}, {
|
|
1343
1412
|
folderId: folder.sid
|
|
@@ -1468,7 +1537,7 @@ var FoldersTree = function FoldersTree(_ref) {
|
|
|
1468
1537
|
|
|
1469
1538
|
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
1470
1539
|
|
|
1471
|
-
var css = ".neeto-sidebar-folders-tree__folder-node{color:inherit!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper{min-width:0;padding-inline:6px!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:rgb(var(--neeto-ui-white));color:rgb(var(--neeto-ui-accent-800))!important;font-weight:500}.neeto-sidebar-folders-tree.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{position:relative}.neeto-folders-grid-view-wrapper{grid-template-columns:repeat(auto-fill,minmax(256px,1fr))}\n/*# sourceMappingURL=data:application/json;base64,
|
|
1540
|
+
var css = ".neeto-sidebar-folders-tree__folder-node{color:inherit!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper{min-width:0;padding-inline:6px!important}.neeto-sidebar-folders-tree.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:rgb(var(--neeto-ui-white));color:rgb(var(--neeto-ui-accent-800))!important;font-weight:500}.neeto-sidebar-folders-tree.ant-tree .ant-tree-switcher .ant-tree-switcher-icon{position:relative}.neeto-folders-grid-view-wrapper{grid-template-columns:repeat(auto-fill,minmax(256px,1fr))}.nf-tree-select .ant-select-clear{height:16px;margin-top:-8px;width:16px}.nf-tree-select .ant-select-clear svg{height:16px;width:16px}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9qYXZhc2NyaXB0L3NyYy9jb21wb25lbnRzL25lZXRvLWZvbGRlcnMtbmFuby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUNFLHVCQUNGLENBRUEsb0VBRUUsV0FBQSxDQURBLDRCQUVGLENBRUEsMkZBR0UsMkNBQUEsQ0FEQSwrQ0FBQSxDQUVBLGVBQUYsQ0FHQSxnRkFHRSxpQkFGRixDQUtBLGlDQUNFLHlEQUZGLENBTUUsa0NBRUUsV0FBQSxDQUNBLGVBQUEsQ0FGQSxVQURKLENBS0ksc0NBRUUsV0FBQSxDQURBLFVBRk4iLCJzb3VyY2VzQ29udGVudCI6WyIubmVldG8tc2lkZWJhci1mb2xkZXJzLXRyZWVfX2ZvbGRlci1ub2RlIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlIC5hbnQtdHJlZS1ub2RlLWNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmctaW5saW5lOiA2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ubmVldG8tc2lkZWJhci1mb2xkZXJzLXRyZWUuYW50LXRyZWVcbiAgLmFudC10cmVlLW5vZGUtY29udGVudC13cmFwcGVyLmFudC10cmVlLW5vZGUtc2VsZWN0ZWQge1xuICBjb2xvcjogcmdiKHZhcigtLW5lZXRvLXVpLWFjY2VudC04MDApKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tbmVldG8tdWktd2hpdGUpKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm5lZXRvLXNpZGViYXItZm9sZGVycy10cmVlLmFudC10cmVlXG4gIC5hbnQtdHJlZS1zd2l0Y2hlclxuICAuYW50LXRyZWUtc3dpdGNoZXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5lZXRvLWZvbGRlcnMtZ3JpZC12aWV3LXdyYXBwZXIge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNTZweCwgMWZyKSk7XG59XG5cbi5uZi10cmVlLXNlbGVjdCB7XG4gIC5hbnQtc2VsZWN0LWNsZWFyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */";
|
|
1472
1541
|
n(css,{});
|
|
1473
1542
|
|
|
1474
1543
|
exports.FoldersContext = FoldersContext;
|