@bigbinary/neeto-fields-frontend 1.3.36 → 1.3.38
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.
- package/dist/index.cjs.js +57 -30
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +59 -32
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { useEffect,
|
|
1
|
+
import React, { useEffect, useState, useRef, useMemo, useLayoutEffect, useCallback, createContext, memo, useReducer, useContext } from 'react';
|
|
2
2
|
import { useFuncDebounce, useOnClickOutside, withT, useMutationWithInvalidation, isMetaKeyPressed, useQueryParams, handleMetaClick } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
3
3
|
import { Checkbox as Checkbox$1, TimePicker, DatePicker, Input, Select as Select$1, Textarea, Typography, Pane, Label, Button as Button$1, Tab, Alert, NoData, Table, Spinner } from '@bigbinary/neetoui';
|
|
4
|
-
import { isNotEmpty, renameKeys, capitalize, findBy, noop as noop$1, filterBy, toLabelAndValue, slugify, humanize, countBy, isPresent } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { isNotEmpty, renameKeys, capitalize, findBy, noop as noop$1, notEquals, filterBy, toLabelAndValue, slugify, humanize, countBy, isPresent } from '@bigbinary/neeto-cist';
|
|
5
5
|
import { values, isNotNil, isNil, isEmpty, prop, pluck, clone, pipe, mergeAll, omit, map, pick, assoc, not, any, head } from 'ramda';
|
|
6
6
|
import { useFormikContext, useField, FieldArray } from 'formik';
|
|
7
7
|
import { t as t$1 } from 'i18next';
|
|
@@ -912,7 +912,8 @@ var useFormikFields = function useFormikFields(_ref) {
|
|
|
912
912
|
//conditional props
|
|
913
913
|
options: isDropdown$1(kind) ? fieldData : undefined,
|
|
914
914
|
getPopupContainer: !isInline && isDateTime(kind) ? prop("parentElement") : undefined
|
|
915
|
-
})
|
|
915
|
+
}),
|
|
916
|
+
helpers: helpers
|
|
916
917
|
};
|
|
917
918
|
};
|
|
918
919
|
|
|
@@ -933,30 +934,70 @@ var _excluded$6 = ["onBlur"];
|
|
|
933
934
|
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; }
|
|
934
935
|
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; }
|
|
935
936
|
var DateOrTime = function DateOrTime(props) {
|
|
937
|
+
var isInline = props.isInline;
|
|
938
|
+
var _useState = useState(isInline),
|
|
939
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
940
|
+
isOpen = _useState2[0],
|
|
941
|
+
setIsOpen = _useState2[1];
|
|
942
|
+
var value = useRef();
|
|
936
943
|
var _useFormikFields = useFormikFields(props),
|
|
937
944
|
handleSubmit = _useFormikFields.handleSubmit,
|
|
938
945
|
_useFormikFields$fiel = _useFormikFields.fieldProps,
|
|
939
946
|
onBlur = _useFormikFields$fiel.onBlur,
|
|
940
|
-
fieldProps = _objectWithoutProperties(_useFormikFields$fiel, _excluded$6)
|
|
947
|
+
fieldProps = _objectWithoutProperties(_useFormikFields$fiel, _excluded$6),
|
|
948
|
+
helpers = _useFormikFields.helpers;
|
|
941
949
|
var handleChange = function handleChange(dateTime) {
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
if (open) return;
|
|
946
|
-
onBlur === null || onBlur === void 0 || onBlur();
|
|
950
|
+
value.current = dateTimeToString(dateTime);
|
|
951
|
+
helpers.setValue(value.current);
|
|
952
|
+
if (!isOpen) handleSubmit();
|
|
947
953
|
};
|
|
954
|
+
var onOpenChange = /*#__PURE__*/function () {
|
|
955
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(open) {
|
|
956
|
+
var shouldSubmit;
|
|
957
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
958
|
+
while (1) switch (_context.prev = _context.next) {
|
|
959
|
+
case 0:
|
|
960
|
+
setIsOpen(open);
|
|
961
|
+
if (!open) {
|
|
962
|
+
_context.next = 3;
|
|
963
|
+
break;
|
|
964
|
+
}
|
|
965
|
+
return _context.abrupt("return");
|
|
966
|
+
case 3:
|
|
967
|
+
shouldSubmit = value.current !== undefined && notEquals(fieldProps.value, value.current);
|
|
968
|
+
_context.t0 = shouldSubmit;
|
|
969
|
+
if (!_context.t0) {
|
|
970
|
+
_context.next = 8;
|
|
971
|
+
break;
|
|
972
|
+
}
|
|
973
|
+
_context.next = 8;
|
|
974
|
+
return handleSubmit();
|
|
975
|
+
case 8:
|
|
976
|
+
onBlur === null || onBlur === void 0 || onBlur();
|
|
977
|
+
case 9:
|
|
978
|
+
case "end":
|
|
979
|
+
return _context.stop();
|
|
980
|
+
}
|
|
981
|
+
}, _callee);
|
|
982
|
+
}));
|
|
983
|
+
return function onOpenChange(_x) {
|
|
984
|
+
return _ref.apply(this, arguments);
|
|
985
|
+
};
|
|
986
|
+
}();
|
|
948
987
|
if (props.kind === KINDS.time) {
|
|
949
988
|
return /*#__PURE__*/React.createElement(TimePicker, _extends({}, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
|
|
950
989
|
onOpenChange: onOpenChange
|
|
951
990
|
}), {
|
|
952
991
|
use12Hours: true,
|
|
953
992
|
format: "h:mm A",
|
|
993
|
+
open: isOpen,
|
|
954
994
|
onChange: handleChange
|
|
955
995
|
}));
|
|
956
996
|
} else if (props.kind === KINDS.date) {
|
|
957
997
|
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
|
|
958
998
|
onOpenChange: onOpenChange
|
|
959
999
|
}), {
|
|
1000
|
+
open: isOpen,
|
|
960
1001
|
onChange: handleChange
|
|
961
1002
|
}));
|
|
962
1003
|
}
|
|
@@ -966,6 +1007,7 @@ var DateOrTime = function DateOrTime(props) {
|
|
|
966
1007
|
}, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
|
|
967
1008
|
onOpenChange: onOpenChange
|
|
968
1009
|
}), {
|
|
1010
|
+
open: isOpen,
|
|
969
1011
|
onChange: handleChange
|
|
970
1012
|
}));
|
|
971
1013
|
};
|
|
@@ -1469,32 +1511,21 @@ var getPermittedKinds = function getPermittedKinds(_ref2) {
|
|
|
1469
1511
|
var allowedKinds = _ref2.allowedKinds,
|
|
1470
1512
|
selectedKind = _ref2.selectedKind;
|
|
1471
1513
|
var filteredKinds = pick(allowedKinds, FIELD_KINDS);
|
|
1472
|
-
|
|
1514
|
+
return filterBy({
|
|
1473
1515
|
group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
|
|
1474
1516
|
}, values(filteredKinds));
|
|
1475
|
-
return permittedKinds;
|
|
1476
1517
|
};
|
|
1477
1518
|
var generateValidationSchema = function generateValidationSchema(additionalValidations) {
|
|
1478
1519
|
return yup.object().shape(_objectSpread$b(_objectSpread$b({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
|
|
1479
1520
|
};
|
|
1480
1521
|
var renderFormFooter = function renderFormFooter(_ref3) {
|
|
1481
1522
|
var onClose = _ref3.onClose,
|
|
1482
|
-
loading = _ref3.loading
|
|
1483
|
-
_ref3$dirty = _ref3.dirty,
|
|
1484
|
-
dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
|
|
1523
|
+
loading = _ref3.loading;
|
|
1485
1524
|
return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock$1, {
|
|
1486
1525
|
cancelButtonProps: {
|
|
1487
|
-
onClick: onClose
|
|
1488
|
-
style: "text",
|
|
1489
|
-
disabled: loading
|
|
1526
|
+
onClick: onClose
|
|
1490
1527
|
},
|
|
1491
|
-
|
|
1492
|
-
label: t$1("neetoFields.labels.saveChanges"),
|
|
1493
|
-
className: "mr-2",
|
|
1494
|
-
type: "submit",
|
|
1495
|
-
disabled: !dirty,
|
|
1496
|
-
loading: loading
|
|
1497
|
-
}
|
|
1528
|
+
isSubmitting: loading
|
|
1498
1529
|
}));
|
|
1499
1530
|
};
|
|
1500
1531
|
var getDefaultOption = function getDefaultOption() {
|
|
@@ -1838,15 +1869,13 @@ var Add = function Add(_ref) {
|
|
|
1838
1869
|
onSubmit: handleSubmit
|
|
1839
1870
|
}
|
|
1840
1871
|
}, function (_ref2) {
|
|
1841
|
-
var
|
|
1842
|
-
kind = _ref2.values.kind;
|
|
1872
|
+
var kind = _ref2.values.kind;
|
|
1843
1873
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
|
|
1844
1874
|
chosenKind: kind.value,
|
|
1845
1875
|
kindSelectOptions: filteredKinds
|
|
1846
1876
|
}, props)), renderFormFooter({
|
|
1847
1877
|
onClose: onClose,
|
|
1848
|
-
loading: isSubmitting
|
|
1849
|
-
dirty: dirty
|
|
1878
|
+
loading: isSubmitting
|
|
1850
1879
|
}));
|
|
1851
1880
|
}));
|
|
1852
1881
|
};
|
|
@@ -1912,8 +1941,7 @@ var Edit = function Edit(_ref) {
|
|
|
1912
1941
|
onSubmit: handleSubmit
|
|
1913
1942
|
}
|
|
1914
1943
|
}, function (_ref2) {
|
|
1915
|
-
var kind = _ref2.values.kind
|
|
1916
|
-
dirty = _ref2.dirty;
|
|
1944
|
+
var kind = _ref2.values.kind;
|
|
1917
1945
|
var permittedKinds = getPermittedKinds({
|
|
1918
1946
|
allowedKinds: allowedKinds,
|
|
1919
1947
|
selectedKind: kind
|
|
@@ -1924,8 +1952,7 @@ var Edit = function Edit(_ref) {
|
|
|
1924
1952
|
kindSelectOptions: permittedKinds
|
|
1925
1953
|
}, props)), renderFormFooter({
|
|
1926
1954
|
onClose: onClose,
|
|
1927
|
-
loading: isSubmitting
|
|
1928
|
-
dirty: dirty
|
|
1955
|
+
loading: isSubmitting
|
|
1929
1956
|
}));
|
|
1930
1957
|
}));
|
|
1931
1958
|
};
|