@bigbinary/neeto-folders-frontend 2.0.26 → 2.0.27

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,10 +9,10 @@ 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-BqMYtjKs.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
17
  var Pane = require('@bigbinary/neetoui/Pane');
18
18
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
@@ -426,7 +426,7 @@ 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,
@@ -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,19 +638,27 @@ 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
  };