@bigbinary/neeto-folders-frontend 2.0.1 → 2.0.3

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.
@@ -41,6 +41,7 @@ import { createPortal } from 'react-dom';
41
41
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
42
42
  import Checkbox from '@bigbinary/neetoui/Checkbox';
43
43
  import Tree from '@bigbinary/neetoui/Tree';
44
+ import Lock from '@bigbinary/neeto-icons/Lock';
44
45
  import 'zustand';
45
46
 
46
47
  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; }
@@ -111,9 +112,10 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
111
112
  if (isActive && folders) {
112
113
  var path = pathToFolder(folders, item.id);
113
114
  var parent = path[path.length - 2];
114
- history.replace(buildUrl(config.folderPath, _objectSpread$d(_objectSpread$d({}, queryParams), {}, {
115
- folderId: parent ? parent.sid : ""
116
- })));
115
+ var redirectUrl = parent ? buildUrl(config.folderPath, _objectSpread$d(_objectSpread$d({}, queryParams), {}, {
116
+ folderId: parent.sid
117
+ })) : "/";
118
+ history.replace(redirectUrl);
117
119
  }
118
120
  };
119
121
  destroyFolder(item.id, {
@@ -314,7 +316,7 @@ var createInitialValues = function createInitialValues(defaults, extraAttrs) {
314
316
  var createPayload = function createPayload(values, extraAttrs) {
315
317
  var payload = {
316
318
  name: values.name,
317
- parentId: values.parentId
319
+ parentId: values.parentId || ""
318
320
  };
319
321
  extraAttrs === null || extraAttrs === void 0 || extraAttrs.forEach(function (_ref2) {
320
322
  var name = _ref2.name;
@@ -572,7 +574,7 @@ var PaneBody = function PaneBody(_ref) {
572
574
  onSubmit = _ref.onSubmit,
573
575
  onClose = _ref.onClose,
574
576
  onRemove = _ref.onRemove;
575
- var _useState = useState(null),
577
+ var _useState = useState(undefined),
576
578
  _useState2 = _slicedToArray(_useState, 2),
577
579
  selection = _useState2[0],
578
580
  setSelection = _useState2[1];
@@ -587,6 +589,13 @@ var PaneBody = function PaneBody(_ref) {
587
589
  folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
588
590
  var _useTranslation = useTranslation(config),
589
591
  t = _useTranslation.t;
592
+ var tree = useMemo(function () {
593
+ return [{
594
+ name: "/",
595
+ id: null,
596
+ children: folders
597
+ }];
598
+ }, [folders]);
590
599
  var folderDepth = 0;
591
600
  if (item) {
592
601
  // If item is a folder, measure the current depth from current folder to longest leaf.
@@ -594,7 +603,7 @@ var PaneBody = function PaneBody(_ref) {
594
603
  var folder = foldersMap[item.id];
595
604
  if (folder) folderDepth = measureDepth(folder);
596
605
  }
597
- var maxDepth = config.maxDepth - folderDepth;
606
+ var maxDepth = config.maxDepth - folderDepth + 1;
598
607
  var onAddFolder = function onAddFolder() {
599
608
  setFolderState({
600
609
  paneState: {
@@ -617,7 +626,7 @@ var PaneBody = function PaneBody(_ref) {
617
626
  })]
618
627
  }), /*#__PURE__*/jsx(Pane.Body, {
619
628
  className: "pb-6",
620
- children: folders.map(function (folder) {
629
+ children: tree.map(function (folder) {
621
630
  return /*#__PURE__*/createElement(_SelectableNode, {
622
631
  config: config,
623
632
  folder: folder,
@@ -637,7 +646,7 @@ var PaneBody = function PaneBody(_ref) {
637
646
  children: [/*#__PURE__*/jsxs("div", {
638
647
  className: "flex flex-1 space-x-2",
639
648
  children: [/*#__PURE__*/jsx(Button, _objectSpread$8({
640
- disabled: !selection,
649
+ disabled: selection === undefined,
641
650
  label: t("common.save"),
642
651
  style: "primary",
643
652
  onClick: function onClick() {
@@ -1315,8 +1324,7 @@ var FoldersList = function FoldersList(_ref) {
1315
1324
  var actions = useFolderActions(config);
1316
1325
  var subFolders = folderId ? folder === null || folder === void 0 ? void 0 : folder.children : folders;
1317
1326
  if (isNotPresent(subFolders)) return null;
1318
- return /*#__PURE__*/jsxs(FoldersContext, {
1319
- config: config,
1327
+ return /*#__PURE__*/jsxs(Fragment, {
1320
1328
  children: [/*#__PURE__*/jsx(Typography, {
1321
1329
  className: "my-3",
1322
1330
  style: "h4",
@@ -1361,19 +1369,32 @@ var FolderNode = function FolderNode(_ref) {
1361
1369
  var _isActive = _ref.isActive,
1362
1370
  folder = _ref.folder,
1363
1371
  link = _ref.link;
1372
+ var _useTranslation = useTranslation(),
1373
+ t = _useTranslation.t;
1374
+ var isPrivate = folder.isPrivate,
1375
+ name = folder.name;
1364
1376
  return /*#__PURE__*/jsx(NavLink, {
1365
1377
  activeClassName: "active",
1366
- className: "neeto-sidebar-folders-tree__folder-node block",
1378
+ className: "neeto-sidebar-folders-tree__folder-node",
1367
1379
  isActive: function isActive() {
1368
1380
  return _isActive;
1369
1381
  },
1370
1382
  to: link,
1371
- children: /*#__PURE__*/jsx(Typography, {
1372
- className: "line-clamp-1 block truncate",
1373
- component: "span",
1374
- style: "body2",
1375
- title: folder.name,
1376
- children: folder.name
1383
+ children: /*#__PURE__*/jsxs("div", {
1384
+ className: "flex items-center",
1385
+ children: [/*#__PURE__*/jsx(Typography, {
1386
+ className: "line-clamp-1 block truncate",
1387
+ component: "span",
1388
+ style: "body2",
1389
+ title: name,
1390
+ children: name
1391
+ }), isPrivate && /*#__PURE__*/jsx("span", {
1392
+ title: t("common.private"),
1393
+ children: /*#__PURE__*/jsx(Lock, {
1394
+ className: "flex-shrink-0",
1395
+ size: 20
1396
+ })
1397
+ })]
1377
1398
  })
1378
1399
  });
1379
1400
  };