@bigbinary/neeto-folders-frontend 2.0.0 → 2.0.2

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.
@@ -20,6 +20,8 @@ import { useField, Formik, Form } from 'formik';
20
20
  import Typography from '@bigbinary/neetoui/Typography';
21
21
  import Input from '@bigbinary/neetoui/formik/Input';
22
22
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
23
+ import { t as t$1 } from 'i18next';
24
+ import { object, string } from 'yup';
23
25
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
24
26
  import Switch from '@bigbinary/neetoui/formik/Switch';
25
27
  import Textarea from '@bigbinary/neetoui/formik/Textarea';
@@ -39,7 +41,6 @@ import { createPortal } from 'react-dom';
39
41
  import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
40
42
  import Checkbox from '@bigbinary/neetoui/Checkbox';
41
43
  import Tree from '@bigbinary/neetoui/Tree';
42
- import 'i18next';
43
44
  import 'zustand';
44
45
 
45
46
  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; }
@@ -132,6 +133,12 @@ var FoldersAlerts = function FoldersAlerts(_ref) {
132
133
  return /*#__PURE__*/jsx(Alert, _objectSpread$d({}, alertProps));
133
134
  };
134
135
 
136
+ var FORM_VALIDATION_SCHEMA = object().shape({
137
+ name: string().required(t$1("errors.blank", {
138
+ entity: t$1("common.name")
139
+ }))
140
+ });
141
+
135
142
  var _excluded$6 = ["type"];
136
143
  function ownKeys$c(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; }
137
144
  function _objectSpread$c(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$c(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -397,6 +404,7 @@ var AddEditPane = function AddEditPane(_ref) {
397
404
  }), /*#__PURE__*/jsx(Formik, {
398
405
  initialValues: initialValues,
399
406
  enableReinitialize: true,
407
+ validationSchema: FORM_VALIDATION_SCHEMA,
400
408
  onSubmit: onSubmitForm,
401
409
  children: function children() {
402
410
  return /*#__PURE__*/jsxs(Fragment, {
@@ -405,6 +413,7 @@ var AddEditPane = function AddEditPane(_ref) {
405
413
  children: /*#__PURE__*/jsxs(Form, {
406
414
  className: "w-full space-y-5",
407
415
  children: [/*#__PURE__*/jsx(Input, {
416
+ required: true,
408
417
  label: t("folders.name"),
409
418
  name: "name",
410
419
  ref: setFocusField
@@ -563,7 +572,7 @@ var PaneBody = function PaneBody(_ref) {
563
572
  onSubmit = _ref.onSubmit,
564
573
  onClose = _ref.onClose,
565
574
  onRemove = _ref.onRemove;
566
- var _useState = useState(null),
575
+ var _useState = useState(undefined),
567
576
  _useState2 = _slicedToArray(_useState, 2),
568
577
  selection = _useState2[0],
569
578
  setSelection = _useState2[1];
@@ -578,6 +587,13 @@ var PaneBody = function PaneBody(_ref) {
578
587
  folders = _useFetchFolders$data === void 0 ? [] : _useFetchFolders$data;
579
588
  var _useTranslation = useTranslation(config),
580
589
  t = _useTranslation.t;
590
+ var tree = useMemo(function () {
591
+ return [{
592
+ name: "/",
593
+ id: null,
594
+ children: folders
595
+ }];
596
+ }, [folders]);
581
597
  var folderDepth = 0;
582
598
  if (item) {
583
599
  // If item is a folder, measure the current depth from current folder to longest leaf.
@@ -585,7 +601,7 @@ var PaneBody = function PaneBody(_ref) {
585
601
  var folder = foldersMap[item.id];
586
602
  if (folder) folderDepth = measureDepth(folder);
587
603
  }
588
- var maxDepth = config.maxDepth - folderDepth;
604
+ var maxDepth = config.maxDepth - folderDepth + 1;
589
605
  var onAddFolder = function onAddFolder() {
590
606
  setFolderState({
591
607
  paneState: {
@@ -608,7 +624,7 @@ var PaneBody = function PaneBody(_ref) {
608
624
  })]
609
625
  }), /*#__PURE__*/jsx(Pane.Body, {
610
626
  className: "pb-6",
611
- children: folders.map(function (folder) {
627
+ children: tree.map(function (folder) {
612
628
  return /*#__PURE__*/createElement(_SelectableNode, {
613
629
  config: config,
614
630
  folder: folder,
@@ -628,7 +644,7 @@ var PaneBody = function PaneBody(_ref) {
628
644
  children: [/*#__PURE__*/jsxs("div", {
629
645
  className: "flex flex-1 space-x-2",
630
646
  children: [/*#__PURE__*/jsx(Button, _objectSpread$8({
631
- disabled: !selection,
647
+ disabled: selection === undefined,
632
648
  label: t("common.save"),
633
649
  style: "primary",
634
650
  onClick: function onClick() {