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