@bigbinary/neeto-folders-frontend 2.0.26 → 2.0.28

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.
@@ -9,11 +9,12 @@ 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-hz2Q6yci.js');
12
+ var useFolderActions = require('../useFolderActions-4NdTAEfb.js');
13
13
  var constants = require('./constants.js');
14
- var utils = require('../index-DshpXNOY.js');
15
- var internal = require('../internal-D5q2PCbM.js');
14
+ var utils = require('../index-DxzvHr2u.js');
15
+ var internal = require('../internal-DKHdgJas.js');
16
16
  var jsxRuntime = require('react/jsx-runtime');
17
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
17
18
  var Pane = require('@bigbinary/neetoui/Pane');
18
19
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
19
20
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
@@ -25,7 +26,6 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
25
26
  var Form = require('@bigbinary/neetoui/formik/Form');
26
27
  var i18next = require('i18next');
27
28
  var yup = require('yup');
28
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
29
29
  var Switch = require('@bigbinary/neetoui/formik/Switch');
30
30
  var Textarea = require('@bigbinary/neetoui/formik/Textarea');
31
31
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
@@ -147,7 +147,7 @@ var FORM_VALIDATION_SCHEMA = yup.object().shape({
147
147
  }))
148
148
  });
149
149
 
150
- var _excluded$6 = ["type"];
150
+ var _excluded$7 = ["type"];
151
151
  function ownKeys$h(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; }
152
152
  function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
153
153
  var typeComponentMap = {
@@ -160,7 +160,7 @@ var ExtraAttributes = function ExtraAttributes(_ref) {
160
160
  if (!Array.isArray(attributes)) return null;
161
161
  return attributes.map(function (_ref2) {
162
162
  var type = _ref2.type,
163
- rest = _objectWithoutProperties(_ref2, _excluded$6);
163
+ rest = _objectWithoutProperties(_ref2, _excluded$7);
164
164
  var Component = typeComponentMap[type];
165
165
  if (!Component) return null;
166
166
  return /*#__PURE__*/React.createElement(Component, _objectSpread$h(_objectSpread$h({}, rest), {}, {
@@ -362,7 +362,7 @@ var AddEditPane = function AddEditPane(_ref) {
362
362
 
363
363
  var REORDER_TREE_INDENT_WIDTH = 30;
364
364
 
365
- var _excluded$5 = ["icon", "itemLabel", "folder", "folderLabel", "depth", "className", "onClick"];
365
+ var _excluded$6 = ["icon", "itemLabel", "folder", "folderLabel", "depth", "className", "onClick"];
366
366
  function ownKeys$g(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; }
367
367
  function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
368
368
  var Node$1 = function Node(_ref, ref) {
@@ -375,7 +375,7 @@ var Node$1 = function Node(_ref, ref) {
375
375
  depth = _ref.depth,
376
376
  className = _ref.className,
377
377
  onClick = _ref.onClick,
378
- rest = _objectWithoutProperties(_ref, _excluded$5);
378
+ rest = _objectWithoutProperties(_ref, _excluded$6);
379
379
  var metaInfo = [];
380
380
  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;
381
381
  childCount > 0 && metaInfo.push("".concat(childCount, " ").concat(folderLabel).toLowerCase());
@@ -418,7 +418,7 @@ var Node$1 = function Node(_ref, ref) {
418
418
  };
419
419
  var Node$2 = /*#__PURE__*/React.forwardRef(Node$1);
420
420
 
421
- var _excluded$4 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
421
+ var _excluded$5 = ["folder", "item", "depth", "maxDepth", "disabled", "config"];
422
422
  function ownKeys$f(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; }
423
423
  function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
424
424
  var _SelectableNode = function SelectableNode(_ref) {
@@ -426,11 +426,11 @@ var _SelectableNode = function SelectableNode(_ref) {
426
426
  var folder = _ref.folder,
427
427
  item = _ref.item,
428
428
  _ref$depth = _ref.depth,
429
- depth = _ref$depth === void 0 ? 0 : _ref$depth,
429
+ depth = _ref$depth === void 0 ? 1 : _ref$depth,
430
430
  maxDepth = _ref.maxDepth,
431
431
  disabled = _ref.disabled,
432
432
  config = _ref.config,
433
- rest = _objectWithoutProperties(_ref, _excluded$4);
433
+ rest = _objectWithoutProperties(_ref, _excluded$5);
434
434
  var selection = rest.selection,
435
435
  onSelect = rest.onSelect;
436
436
  var _useTranslation = useTranslation(config),
@@ -481,8 +481,17 @@ var _SelectableNode = function SelectableNode(_ref) {
481
481
 
482
482
  function ownKeys$e(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; }
483
483
  function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
484
+ var createTree = function createTree(folders, isRootEnabled) {
485
+ return isRootEnabled ? [{
486
+ name: "/",
487
+ id: null,
488
+ children: folders
489
+ }] : folders;
490
+ };
484
491
  var PaneBody = function PaneBody(_ref) {
485
- var item = _ref.item,
492
+ var _ref$isRootEnabled = _ref.isRootEnabled,
493
+ isRootEnabled = _ref$isRootEnabled === void 0 ? true : _ref$isRootEnabled,
494
+ item = _ref.item,
486
495
  config = _ref.config,
487
496
  submitButtonProps = _ref.submitButtonProps,
488
497
  cancelButtonProps = _ref.cancelButtonProps,
@@ -516,20 +525,19 @@ var PaneBody = function PaneBody(_ref) {
516
525
  }, shallow.shallow),
517
526
  type = _useFolderStore2.type;
518
527
  var tree = React.useMemo(function () {
519
- return [{
520
- name: "/",
521
- id: null,
522
- children: folders
523
- }];
524
- }, [folders]);
525
- var folderDepth = 0;
528
+ return createTree(folders, isRootEnabled);
529
+ }, [folders, isRootEnabled]);
530
+ var maxDepth = Number.POSITIVE_INFINITY;
526
531
  if (item) {
527
532
  // If item is a folder, measure the current depth from current folder to longest leaf.
528
533
  var foldersMap = utils.treeToMap(folders);
529
534
  var folder = foldersMap[item.id];
530
- if (folder) folderDepth = utils.measureDepth(folder);
535
+ if (folder) {
536
+ var folderDepth = utils.measureDepth(folder) + 1; // +1 for own depth;
537
+ maxDepth = config.maxDepth - folderDepth;
538
+ if (isRootEnabled) maxDepth += 1; // +1 for root folder.
539
+ }
531
540
  }
532
- var maxDepth = config.maxDepth - folderDepth + 1;
533
541
  var onAddFolder = function onAddFolder() {
534
542
  setFolderState({
535
543
  paneState: {
@@ -584,14 +592,14 @@ var PaneBody = function PaneBody(_ref) {
584
592
  children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
585
593
  className: "flex flex-1 space-x-2",
586
594
  children: [/*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$e(_objectSpread$e({
587
- disabled: selection === parent,
588
595
  label: t("common.save"),
589
596
  style: "primary",
590
597
  onClick: function onClick() {
591
598
  return onSubmit(selection);
592
599
  }
593
600
  }, submitButtonProps), {}, {
594
- "data-cy": "save-changes-button"
601
+ "data-cy": "save-changes-button",
602
+ disabled: selection === parent || (submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.disabled)
595
603
  })), /*#__PURE__*/jsxRuntime.jsx(Button, _objectSpread$e(_objectSpread$e({
596
604
  label: t("common.cancel"),
597
605
  style: "text",
@@ -621,6 +629,7 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
621
629
  }, shallow.shallow),
622
630
  item = _useFolderStore.item;
623
631
  var _useUpdateFolder = useFolderActions.useUpdateFolder(config),
632
+ isPending = _useUpdateFolder.isPending,
624
633
  updateFolder = _useUpdateFolder.mutate;
625
634
  var onSaveSelection = function onSaveSelection(parentId) {
626
635
  var payload = {
@@ -629,24 +638,32 @@ var MoveFolderPane = function MoveFolderPane(_ref) {
629
638
  };
630
639
  updateFolder({
631
640
  id: item.id,
632
- payload: payload
641
+ payload: payload,
642
+ config: {
643
+ showToastr: false
644
+ }
633
645
  }, {
634
646
  onSuccess: function onSuccess() {
635
647
  var _config$onUpdateSucce;
636
648
  onClose();
637
649
  (_config$onUpdateSucce = config.onUpdateSuccess) === null || _config$onUpdateSucce === void 0 || _config$onUpdateSucce.call(config);
638
- }
650
+ },
651
+ onError: internal.toastApiError
639
652
  });
640
653
  };
641
654
  return /*#__PURE__*/jsxRuntime.jsx(PaneBody, {
642
655
  config: config,
643
656
  item: item,
644
657
  onClose: onClose,
658
+ submitButtonProps: {
659
+ loading: isPending,
660
+ disabled: isPending
661
+ },
645
662
  onSubmit: onSaveSelection
646
663
  });
647
664
  };
648
665
 
649
- var _excluded$3 = ["folder", "depth", "config", "folderLabel", "itemLabel"];
666
+ var _excluded$4 = ["folder", "depth", "config", "folderLabel", "itemLabel"];
650
667
  function ownKeys$d(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; }
651
668
  function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
652
669
  var _DraggableNode$1 = function DraggableNode(_ref) {
@@ -656,7 +673,7 @@ var _DraggableNode$1 = function DraggableNode(_ref) {
656
673
  config = _ref.config,
657
674
  folderLabel = _ref.folderLabel,
658
675
  itemLabel = _ref.itemLabel,
659
- rest = _objectWithoutProperties(_ref, _excluded$3);
676
+ rest = _objectWithoutProperties(_ref, _excluded$4);
660
677
  var _useDraggable = core.useDraggable({
661
678
  id: "draggable-item--".concat(folder.id),
662
679
  data: folder,
@@ -943,7 +960,7 @@ var PlaceholderNode = function PlaceholderNode(_ref) {
943
960
  });
944
961
  };
945
962
 
946
- var _excluded$2 = ["folder", "config", "dragState", "folderLabel", "itemLabel"];
963
+ var _excluded$3 = ["folder", "config", "dragState", "folderLabel", "itemLabel"];
947
964
  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; }
948
965
  function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$b(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
949
966
  var _DraggableNode = function DraggableNode(_ref) {
@@ -953,7 +970,7 @@ var _DraggableNode = function DraggableNode(_ref) {
953
970
  dragState = _ref.dragState,
954
971
  folderLabel = _ref.folderLabel,
955
972
  itemLabel = _ref.itemLabel,
956
- rest = _objectWithoutProperties(_ref, _excluded$2);
973
+ rest = _objectWithoutProperties(_ref, _excluded$3);
957
974
  var overItem = dragState.overItem;
958
975
  var isOverItem = folder.id === (overItem === null || overItem === void 0 ? void 0 : overItem.id);
959
976
  var isOverParent = folder.id === (overItem === null || overItem === void 0 || (_overItem$meta$parent = overItem.meta.parent) === null || _overItem$meta$parent === void 0 ? void 0 : _overItem$meta$parent.id);
@@ -1195,6 +1212,7 @@ var ReorderFoldersPane = function ReorderFoldersPane(_ref) {
1195
1212
  });
1196
1213
  };
1197
1214
 
1215
+ var _excluded$2 = ["type"];
1198
1216
  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; }
1199
1217
  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; }
1200
1218
  var FoldersPane = function FoldersPane(_ref) {
@@ -1202,32 +1220,30 @@ var FoldersPane = function FoldersPane(_ref) {
1202
1220
  var config = _objectSpread$9(_objectSpread$9({}, useFolderActions.DEFAULT_CONFIG), configProps);
1203
1221
  var _useFolderStore = useFolderActions.useFolderStore(function (store) {
1204
1222
  return {
1223
+ paneState: store["paneState"],
1205
1224
  setFolderState: store["setFolderState"]
1206
1225
  };
1207
1226
  }, shallow.shallow),
1227
+ paneState = _useFolderStore.paneState,
1208
1228
  setFolderState = _useFolderStore.setFolderState;
1209
- var _useFolderStore2 = useFolderActions.useFolderStore(function (store) {
1210
- var _store$paneState;
1211
- return {
1212
- type: (_store$paneState = store["paneState"]) === null || _store$paneState === void 0 ? void 0 : _store$paneState["type"]
1213
- };
1214
- }, shallow.shallow),
1215
- type = _useFolderStore2.type;
1229
+ var _ref2 = paneState || {},
1230
+ type = _ref2.type,
1231
+ rest = _objectWithoutProperties(_ref2, _excluded$2);
1216
1232
  var onClose = function onClose() {
1217
1233
  return setFolderState({
1218
1234
  paneState: null
1219
1235
  });
1220
1236
  };
1221
- var commonProps = {
1237
+ var commonProps = _objectSpread$9({
1222
1238
  config: config,
1223
1239
  onClose: onClose
1224
- };
1240
+ }, rest);
1225
1241
  var ReorderPaneComponent = config.reorderMode === "reorder" ? ReorderFoldersPane : RearrangeFoldersPane;
1226
1242
  return /*#__PURE__*/jsxRuntime.jsx(Pane, {
1227
1243
  onClose: onClose,
1228
1244
  isOpen: !!type,
1229
- children: function children(_ref2) {
1230
- var setFocusField = _ref2.setFocusField;
1245
+ children: function children(_ref3) {
1246
+ var setFocusField = _ref3.setFocusField;
1231
1247
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
1232
1248
  children: [(type === "edit" || type === "add") && /*#__PURE__*/jsxRuntime.jsx(AddEditPane, _objectSpread$9({}, _objectSpread$9({
1233
1249
  setFocusField: setFocusField