@steroidsjs/core 3.0.92 → 3.0.94
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/actions/auth.js +1 -0
- package/actions/list.js +12 -10
- package/actions/notifications.d.ts +1 -1
- package/actions/notifications.js +5 -3
- package/components/ClientStorageComponent.js +1 -1
- package/components/HttpComponent.js +3 -3
- package/components/JwtHttpComponent.js +2 -2
- package/components/LocaleComponent.js +4 -3
- package/components/MetricsComponent.js +1 -1
- package/components/ResourceComponent.d.ts +2 -0
- package/components/ResourceComponent.js +9 -3
- package/components/SocialComponent.js +3 -1
- package/components/StoreComponent.d.ts +33 -21
- package/components/StoreComponent.js +5 -10
- package/components/UiComponent.js +1 -1
- package/components/social/GitlabProvider.js +3 -1
- package/docs-autogen-result.json +987 -81
- package/en.json +18 -6
- package/hooks/index.d.ts +5 -5
- package/hooks/index.js +10 -10
- package/hooks/useAddressBar.js +13 -9
- package/hooks/useApplication.d.ts +9 -9
- package/hooks/useApplication.js +17 -15
- package/hooks/useDataProvider.js +13 -7
- package/hooks/useDataSelect.js +4 -4
- package/hooks/useFetch.d.ts +12 -7
- package/hooks/useFetch.js +7 -5
- package/hooks/useFile.js +12 -7
- package/hooks/useLayout.js +25 -23
- package/hooks/useList.d.ts +4 -4
- package/hooks/useList.js +29 -23
- package/hooks/useListField.js +1 -1
- package/hooks/useSaveCursorPosition.js +1 -1
- package/hooks/useTree.d.ts +1 -1
- package/hooks/useTree.js +7 -6
- package/hooks/useUniqueId.js +1 -1
- package/index.d.ts +49 -0
- package/package.json +4 -4
- package/providers/ComponentsProvider.d.ts +5 -5
- package/providers/SsrProvider.d.ts +4 -0
- package/providers/SsrProvider.js +7 -5
- package/providers/index.d.ts +1 -1
- package/providers/index.js +2 -2
- package/reducers/auth.js +1 -0
- package/reducers/fields.js +2 -1
- package/reducers/form.js +4 -3
- package/reducers/index.d.ts +1 -1
- package/reducers/index.js +2 -2
- package/reducers/list.js +4 -3
- package/reducers/modal.js +2 -1
- package/reducers/notifications.js +2 -1
- package/reducers/router.js +13 -7
- package/ui/content/Accordion/index.d.ts +1 -1
- package/ui/content/Accordion/index.js +2 -2
- package/ui/content/Alert/Alert.d.ts +1 -1
- package/ui/content/Badge/Badge.d.ts +1 -1
- package/ui/content/Calendar/Calendar.js +2 -2
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +2 -2
- package/ui/content/CalendarSystem/CalendarSystem.js +2 -2
- package/ui/content/CalendarSystem/hooks/useCalendarControls.js +5 -3
- package/ui/content/CalendarSystem/hooks/useCalendarSystem.js +11 -11
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.d.ts +1 -1
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +2 -2
- package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +6 -4
- package/ui/content/CalendarSystem/hooks/useDisplayDate.js +1 -1
- package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +1 -1
- package/ui/content/CalendarSystem/utils/utils.js +6 -4
- package/ui/content/Card/Card.d.ts +1 -1
- package/ui/content/Chat/Chat.d.ts +1 -1
- package/ui/content/Chat/Chat.js +1 -1
- package/ui/content/Chat/hooks/useChat.js +5 -5
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +1 -1
- package/ui/content/Chat/utils/calculateMessageTimeAgo.js +6 -2
- package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +1 -1
- package/ui/content/Chat/utils/getMessagesGroupedByDate.js +1 -1
- package/ui/content/Chat/utils/index.d.ts +1 -1
- package/ui/content/Chat/utils/index.js +3 -3
- package/ui/content/CopyToClipboard/CopyToClipboard.js +1 -1
- package/ui/content/Dashboard/Dashboard.js +1 -1
- package/ui/content/Detail/Detail.js +5 -3
- package/ui/content/DropDown/DropDown.js +1 -1
- package/ui/content/Kanban/Kanban.d.ts +3 -3
- package/ui/content/Kanban/Kanban.js +4 -4
- package/ui/content/Kanban/enums/KanbanPrioritiesEnum.d.ts +1 -1
- package/ui/content/Kanban/enums/KanbanPrioritiesEnum.js +6 -2
- package/ui/content/Kanban/enums/index.d.ts +1 -1
- package/ui/content/Kanban/enums/index.js +2 -2
- package/ui/content/Kanban/hooks/useKanban.js +2 -2
- package/ui/content/Kanban/reducers/kanban.js +1 -0
- package/ui/content/Slider/Slider.d.ts +1 -1
- package/ui/content/Slider/Slider.js +0 -1
- package/ui/content/index.d.ts +7 -7
- package/ui/content/index.js +15 -15
- package/ui/crud/Crud/Crud.js +4 -4
- package/ui/crud/Crud/CrudContent.d.ts +2 -2
- package/ui/crud/Crud/CrudContent.js +11 -5
- package/ui/crud/Crud/CrudModal.js +1 -1
- package/ui/crud/Crud/utils.js +5 -3
- package/ui/crud/index.d.ts +1 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.js +2 -2
- package/ui/form/BlankField/BlankField.js +1 -1
- package/ui/form/Button/Button.d.ts +2 -2
- package/ui/form/Button/Button.js +4 -2
- package/ui/form/Button/index.js +1 -0
- package/ui/form/CheckboxField/CheckboxField.js +5 -3
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -1
- package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
- package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +3 -3
- package/ui/form/CheckboxTreeField/CheckboxTreeField.js +3 -3
- package/ui/form/DateField/DateField.d.ts +2 -2
- package/ui/form/DateField/DateField.js +7 -7
- package/ui/form/DateField/useDateInputState.js +1 -1
- package/ui/form/DateField/useDateRange.js +3 -3
- package/ui/form/DateField/useDateTime.js +1 -1
- package/ui/form/DateRangeField/DateRangeField.d.ts +2 -2
- package/ui/form/DateRangeField/DateRangeField.js +15 -13
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -1
- package/ui/form/DateTimeField/DateTimeField.js +9 -9
- package/ui/form/DateTimeField/utils.js +12 -3
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +15 -13
- package/ui/form/DropDownField/DropDownField.d.ts +3 -3
- package/ui/form/DropDownField/DropDownField.js +5 -5
- package/ui/form/EmailField/EmailField.d.ts +1 -1
- package/ui/form/EmailField/EmailField.js +2 -2
- package/ui/form/Field/Field.js +3 -3
- package/ui/form/Field/fieldWrapper.js +6 -6
- package/ui/form/FieldLayout/FieldLayout.js +1 -1
- package/ui/form/FieldList/FieldList.js +15 -11
- package/ui/form/FieldSet/FieldSet.js +5 -3
- package/ui/form/FileField/FileField.d.ts +1 -1
- package/ui/form/FileField/FileField.js +2 -2
- package/ui/form/Form/Form.d.ts +2 -2
- package/ui/form/Form/Form.js +28 -25
- package/ui/form/HtmlField/HtmlField.js +2 -2
- package/ui/form/ImageField/ImageField.d.ts +2 -2
- package/ui/form/ImageField/ImageField.js +4 -4
- package/ui/form/InputField/InputField.d.ts +2 -2
- package/ui/form/InputField/InputField.js +11 -11
- package/ui/form/NavField/NavField.d.ts +2 -2
- package/ui/form/NavField/NavField.js +3 -3
- package/ui/form/NumberField/NumberField.d.ts +2 -2
- package/ui/form/NumberField/NumberField.js +5 -4
- package/ui/form/NumberField/hooks/useInputTypeNumber.js +2 -2
- package/ui/form/PasswordField/PasswordField.d.ts +1 -1
- package/ui/form/PasswordField/PasswordField.js +3 -1
- package/ui/form/RadioField/RadioField.d.ts +4 -1
- package/ui/form/RadioField/RadioField.js +0 -5
- package/ui/form/RadioListField/RadioListField.d.ts +5 -1
- package/ui/form/RadioListField/RadioListField.js +0 -4
- package/ui/form/RateField/RateField.js +2 -2
- package/ui/form/SliderField/SliderField.d.ts +1 -1
- package/ui/form/SliderField/SliderField.js +2 -2
- package/ui/form/SwitcherField/SwitcherField.d.ts +11 -1
- package/ui/form/TextField/TextField.js +1 -1
- package/ui/form/TimeField/TimeField.js +8 -8
- package/ui/form/TimeField/utils.js +9 -2
- package/ui/form/TimeRangeField/TimeRangeField.js +11 -11
- package/ui/form/WizardForm/WizardForm.d.ts +1 -1
- package/ui/form/WizardForm/WizardForm.js +4 -4
- package/ui/form/WizardForm/utils.d.ts +1 -1
- package/ui/form/WizardForm/utils.js +3 -3
- package/ui/form/index.d.ts +2 -2
- package/ui/form/index.js +4 -4
- package/ui/form/validate.js +5 -5
- package/ui/format/EnumFormatter/EnumFormatter.js +3 -1
- package/ui/format/Format/Format.js +1 -1
- package/ui/layout/Header/Header.d.ts +3 -3
- package/ui/layout/Loader/Loader.d.ts +1 -1
- package/ui/layout/Notifications/Notifications.d.ts +1 -1
- package/ui/layout/Notifications/Notifications.js +3 -3
- package/ui/layout/ProgressBar/ProgressBar.js +1 -1
- package/ui/layout/Sidebar/Sidebar.d.ts +1 -1
- package/ui/layout/Tooltip/Tooltip.js +1 -1
- package/ui/layout/index.d.ts +1 -1
- package/ui/layout/index.js +2 -2
- package/ui/list/CheckboxColumn/CheckboxColumn.js +1 -1
- package/ui/list/Empty/Empty.js +6 -2
- package/ui/list/Grid/Grid.d.ts +1 -1
- package/ui/list/Grid/Grid.js +6 -4
- package/ui/list/InfiniteScroll/InfiniteScroll.js +5 -3
- package/ui/list/LayoutNames/LayoutNames.d.ts +2 -2
- package/ui/list/LayoutNames/LayoutNames.js +5 -3
- package/ui/list/Pagination/Pagination.js +4 -2
- package/ui/list/PaginationSize/PaginationSize.d.ts +1 -1
- package/ui/list/PaginationSize/PaginationSize.js +5 -3
- package/ui/list/SearchForm/SearchForm.js +1 -1
- package/ui/list/Steps/Steps.js +1 -1
- package/ui/list/TreeTable/TreeTable.d.ts +1 -1
- package/ui/list/TreeTable/TreeTable.js +9 -7
- package/ui/modal/ModalPortal/ModalPortal.js +2 -2
- package/ui/modal/TwoFactorModal/TwoFactorModal.js +3 -1
- package/ui/nav/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/ui/nav/Controls/Controls.d.ts +1 -1
- package/ui/nav/Nav/Nav.js +2 -2
- package/ui/nav/Router/Router.js +10 -8
- package/ui/nav/Router/helpers.js +1 -1
- package/ui/nav/index.d.ts +3 -3
- package/ui/nav/index.js +6 -6
- package/ui/typography/Text/Text.d.ts +1 -1
- package/ui/typography/Title/Title.d.ts +1 -1
- package/utils/calculateComponentAbsolutePosition.js +9 -3
- package/utils/calendar.js +2 -1
- package/utils/data.js +27 -17
- package/utils/form.js +10 -8
|
@@ -42,8 +42,8 @@ var react_1 = require("react");
|
|
|
42
42
|
var utils_1 = require("./utils");
|
|
43
43
|
var notifications_1 = require("../../../actions/notifications");
|
|
44
44
|
var useDispatch_1 = __importDefault(require("../../../hooks/useDispatch"));
|
|
45
|
-
var Grid_1 = __importDefault(require("../../../ui/list/Grid"));
|
|
46
45
|
var Form_1 = __importDefault(require("../../../ui/form/Form"));
|
|
46
|
+
var Grid_1 = __importDefault(require("../../../ui/list/Grid"));
|
|
47
47
|
function CrudContent(props) {
|
|
48
48
|
var dispatch = (0, useDispatch_1["default"])();
|
|
49
49
|
// Resolve ids
|
|
@@ -71,8 +71,11 @@ function CrudContent(props) {
|
|
|
71
71
|
if (!ItemComponent) {
|
|
72
72
|
ItemComponent = Grid_1["default"];
|
|
73
73
|
}
|
|
74
|
-
return (React.createElement(ItemComponent
|
|
75
|
-
|
|
74
|
+
return (React.createElement(ItemComponent
|
|
75
|
+
// Grid
|
|
76
|
+
, __assign({
|
|
77
|
+
// Grid
|
|
78
|
+
key: props.crudId, listId: props.crudId, action: props.restApi ? props.restApi.index : props.restUrl, scope: ['model', 'permission'], primaryKey: props.primaryKey, model: props.model,
|
|
76
79
|
//searchModel={props.searchModel}
|
|
77
80
|
controls: controlsGetter, columns: [props.primaryKey], pagination: {
|
|
78
81
|
loadMore: false
|
|
@@ -85,8 +88,11 @@ function CrudContent(props) {
|
|
|
85
88
|
if (props.action === utils_1.CRUD_ACTION_UPDATE && (props.restUrl || props.restApi) && !props.record) {
|
|
86
89
|
return null;
|
|
87
90
|
}
|
|
88
|
-
return (React.createElement(ItemComponent
|
|
89
|
-
|
|
91
|
+
return (React.createElement(ItemComponent
|
|
92
|
+
// Form
|
|
93
|
+
, __assign({
|
|
94
|
+
// Form
|
|
95
|
+
key: formId, formId: formId, action: props.restApi
|
|
90
96
|
? (props.recordId ? props.restApi.update : props.restApi.create)
|
|
91
97
|
: [props.restUrl, props.recordId].filter(Boolean).join('/'), model: props.model, autoFocus: true, submitLabel: props.recordId ? __('Сохранить') : __('Добавить'), layout: 'horizontal', onComplete: onFormComplete }, props.form, { initialValues: formInitialValues })));
|
|
92
98
|
default:
|
|
@@ -39,9 +39,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
exports.__esModule = true;
|
|
40
40
|
var React = __importStar(require("react"));
|
|
41
41
|
var react_1 = require("react");
|
|
42
|
+
var CrudContent_1 = __importDefault(require("./CrudContent"));
|
|
42
43
|
var utils_1 = require("../../../ui/crud/Crud/utils");
|
|
43
44
|
var Modal_1 = __importDefault(require("../../modal/Modal"));
|
|
44
|
-
var CrudContent_1 = __importDefault(require("./CrudContent"));
|
|
45
45
|
function CrudModal(props) {
|
|
46
46
|
// Get current item
|
|
47
47
|
var crudItem = props.items.find(function (item) { return item.actionName === props.action; });
|
package/ui/crud/Crud/utils.js
CHANGED
|
@@ -54,9 +54,9 @@ exports.__esModule = true;
|
|
|
54
54
|
exports.routeInfoSelector = exports.normalizeItems = exports.pageControlsMap = exports.CRUD_ACTION_DELETE = exports.CRUD_ACTION_VIEW = exports.CRUD_ACTION_UPDATE = exports.CRUD_ACTION_CREATE = exports.CRUD_ACTION_INDEX = exports.DEFAULT_QUERY_KEY = exports.DEFAULT_PRIMARY_KEY = void 0;
|
|
55
55
|
var get_1 = __importDefault(require("lodash-es/get"));
|
|
56
56
|
var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
|
|
57
|
-
var CrudDetail_1 = __importDefault(require("../../../ui/crud/Crud/CrudDetail"));
|
|
58
|
-
var router_1 = require("../../../reducers/router");
|
|
59
57
|
var modal_1 = require("../../../reducers/modal");
|
|
58
|
+
var router_1 = require("../../../reducers/router");
|
|
59
|
+
var CrudDetail_1 = __importDefault(require("../../../ui/crud/Crud/CrudDetail"));
|
|
60
60
|
exports.DEFAULT_PRIMARY_KEY = 'id';
|
|
61
61
|
exports.DEFAULT_QUERY_KEY = 'id';
|
|
62
62
|
exports.CRUD_ACTION_INDEX = 'index';
|
|
@@ -91,7 +91,9 @@ var normalizeItems = function (sourceItems, fromProps) {
|
|
|
91
91
|
},
|
|
92
92
|
"delete": {
|
|
93
93
|
position: 'right',
|
|
94
|
-
confirm: function (e, props) { return __('Удалить запись {id}?', {
|
|
94
|
+
confirm: function (e, props) { return __('Удалить запись {id}?', {
|
|
95
|
+
id: props.recordId
|
|
96
|
+
}); },
|
|
95
97
|
onClick: function (e, props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
96
98
|
return __generator(this, function (_a) {
|
|
97
99
|
switch (_a.label) {
|
package/ui/crud/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import Crud from './Crud';
|
|
3
|
-
import { IRouteItem } from '../nav/Router/Router';
|
|
4
3
|
import { ICrudProps } from './Crud/Crud';
|
|
4
|
+
import { IRouteItem } from '../nav/Router/Router';
|
|
5
5
|
export interface ICrudGeneratorProps extends ICrudProps {
|
|
6
6
|
path?: string;
|
|
7
7
|
label?: string;
|
|
@@ -16,10 +16,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
exports.__esModule = true;
|
|
17
17
|
var react_1 = require("react");
|
|
18
18
|
var react_use_1 = require("react-use");
|
|
19
|
+
var enums_1 = require("../../../enums");
|
|
20
|
+
var hooks_1 = require("../../../hooks");
|
|
19
21
|
var useComponents_1 = __importDefault(require("../../../hooks/useComponents"));
|
|
20
22
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
21
|
-
var hooks_1 = require("../../../hooks");
|
|
22
|
-
var enums_1 = require("../../../enums");
|
|
23
23
|
var getCategories = function (items) {
|
|
24
24
|
if (!items) {
|
|
25
25
|
return [];
|
|
@@ -27,8 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
exports.__esModule = true;
|
|
29
29
|
var React = __importStar(require("react"));
|
|
30
|
-
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
31
30
|
var enums_1 = require("../../../enums");
|
|
31
|
+
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
32
32
|
function BlankField(props) {
|
|
33
33
|
var _a;
|
|
34
34
|
return React.createElement("span", null, props.text || props.children || ((_a = props.input) === null || _a === void 0 ? void 0 : _a.value));
|
|
@@ -14,7 +14,7 @@ export interface IButtonBadge {
|
|
|
14
14
|
* Цвет
|
|
15
15
|
* @example 'secondary'
|
|
16
16
|
*/
|
|
17
|
-
color?:
|
|
17
|
+
color?: BadgeColorName;
|
|
18
18
|
/**
|
|
19
19
|
* Дополнительный CSS-класс для элемента отображения
|
|
20
20
|
* @example bem.element('additional-class')
|
|
@@ -46,7 +46,7 @@ export interface IButtonProps extends IUiComponent {
|
|
|
46
46
|
* Цвет состояния
|
|
47
47
|
* @example success
|
|
48
48
|
*/
|
|
49
|
-
color?:
|
|
49
|
+
color?: ButtonColorName;
|
|
50
50
|
/**
|
|
51
51
|
* Отображать как ссылку?
|
|
52
52
|
* @example true
|
package/ui/form/Button/Button.js
CHANGED
|
@@ -37,14 +37,16 @@ exports.__esModule = true;
|
|
|
37
37
|
var react_1 = __importStar(require("react"));
|
|
38
38
|
var react_redux_1 = require("react-redux");
|
|
39
39
|
var router_1 = require("../../../actions/router");
|
|
40
|
-
var router_2 = require("../../../reducers/router");
|
|
41
40
|
var hooks_1 = require("../../../hooks");
|
|
41
|
+
var router_2 = require("../../../reducers/router");
|
|
42
42
|
var Form_1 = require("../Form/Form");
|
|
43
43
|
function Button(props) {
|
|
44
44
|
var components = (0, hooks_1.useComponents)();
|
|
45
45
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
46
46
|
// Badge
|
|
47
|
-
var badge = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, Button.defaultProps.badge), { enable: !!props.badge || props.badge === 0 }), (typeof props.badge === 'object' ? props.badge : {
|
|
47
|
+
var badge = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, Button.defaultProps.badge), { enable: !!props.badge || props.badge === 0 }), (typeof props.badge === 'object' ? props.badge : {
|
|
48
|
+
value: props.badge
|
|
49
|
+
}))); }, [props.badge]);
|
|
48
50
|
// Route -> url
|
|
49
51
|
var routePath = (0, react_redux_1.useSelector)(function (state) { return props.toRoute ? (0, router_2.getRouteProp)(state, props.toRoute, 'path') : null; });
|
|
50
52
|
var url = typeof props.url !== 'undefined'
|
package/ui/form/Button/index.js
CHANGED
|
@@ -12,5 +12,6 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
12
12
|
}));
|
|
13
13
|
exports.__esModule = true;
|
|
14
14
|
exports["default"] = void 0;
|
|
15
|
+
// eslint-disable-next-line no-restricted-exports
|
|
15
16
|
var Button_1 = require("./Button");
|
|
16
17
|
__createBinding(exports, Button_1, "default");
|
|
@@ -38,9 +38,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
exports.__esModule = true;
|
|
40
40
|
var react_1 = __importStar(require("react"));
|
|
41
|
-
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
42
|
-
var hooks_1 = require("../../../hooks");
|
|
43
41
|
var enums_1 = require("../../../enums");
|
|
42
|
+
var hooks_1 = require("../../../hooks");
|
|
43
|
+
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
44
44
|
function CheckboxField(props) {
|
|
45
45
|
var _a, _b;
|
|
46
46
|
var components = (0, hooks_1.useComponents)();
|
|
@@ -79,4 +79,6 @@ CheckboxField.defaultProps = {
|
|
|
79
79
|
inputProps: {},
|
|
80
80
|
multiply: true
|
|
81
81
|
};
|
|
82
|
-
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.CHECKBOX_FIELD, CheckboxField, {
|
|
82
|
+
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.CHECKBOX_FIELD, CheckboxField, {
|
|
83
|
+
label: false
|
|
84
|
+
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Enum from '../../../base/Enum';
|
|
3
|
-
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
4
3
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
5
4
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
5
|
+
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
6
6
|
import { ICheckboxFieldViewProps } from '../CheckboxField/CheckboxField';
|
|
7
7
|
type CheckboxFieldListItems = string | ({
|
|
8
8
|
new (): Enum;
|
|
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
var react_1 = require("react");
|
|
7
|
+
var enums_1 = require("../../../enums");
|
|
7
8
|
var hooks_1 = require("../../../hooks");
|
|
8
9
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
9
|
-
var enums_1 = require("../../../enums");
|
|
10
10
|
function CheckboxListField(props) {
|
|
11
11
|
var components = (0, hooks_1.useComponents)();
|
|
12
12
|
var _a = (0, hooks_1.useListField)({
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { IPreparedTreeItem } from '../../../hooks/useTree';
|
|
3
2
|
import Enum from '../../../base/Enum';
|
|
4
|
-
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
5
3
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
6
4
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
7
|
-
import {
|
|
5
|
+
import { IPreparedTreeItem } from '../../../hooks/useTree';
|
|
6
|
+
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../../ui/form/Field/fieldWrapper';
|
|
8
7
|
import { ITreeProps } from '../../nav/Tree/Tree';
|
|
8
|
+
import { ICheckboxFieldViewProps } from '../CheckboxField/CheckboxField';
|
|
9
9
|
type CheckboxTreeItems = string | ({
|
|
10
10
|
new (): Enum;
|
|
11
11
|
}) | (string | number | {
|
|
@@ -38,13 +38,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
};
|
|
39
39
|
exports.__esModule = true;
|
|
40
40
|
exports.getNestedItemsIds = void 0;
|
|
41
|
-
var react_1 = __importStar(require("react"));
|
|
42
|
-
var react_use_1 = require("react-use");
|
|
43
41
|
var isArray_1 = __importDefault(require("lodash-es/isArray"));
|
|
44
42
|
var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
|
|
43
|
+
var react_1 = __importStar(require("react"));
|
|
44
|
+
var react_use_1 = require("react-use");
|
|
45
|
+
var enums_1 = require("../../../enums");
|
|
45
46
|
var hooks_1 = require("../../../hooks");
|
|
46
47
|
var fieldWrapper_1 = __importDefault(require("../../../ui/form/Field/fieldWrapper"));
|
|
47
|
-
var enums_1 = require("../../../enums");
|
|
48
48
|
var getNestedItemsIds = function (item, groupAttribute, hasOnlyLeafCheckboxes) {
|
|
49
49
|
if (hasOnlyLeafCheckboxes === void 0) { hasOnlyLeafCheckboxes = false; }
|
|
50
50
|
if (item.disabled) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MaskitoOptions } from '@maskito/core';
|
|
3
2
|
import { IAbsolutePositioningInputProps } from '@steroidsjs/core/hooks/useAbsolutePositioning';
|
|
4
|
-
import
|
|
3
|
+
import React from 'react';
|
|
5
4
|
import { IDateInputStateInput, IDateInputStateOutput } from './useDateInputState';
|
|
5
|
+
import { ICalendarProps } from '../../content/Calendar/Calendar';
|
|
6
6
|
/**
|
|
7
7
|
* DateField
|
|
8
8
|
*
|
|
@@ -14,13 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
-
var react_1 = require("react");
|
|
18
|
-
var react_2 = require("@maskito/react");
|
|
19
17
|
var kit_1 = require("@maskito/kit");
|
|
20
|
-
var
|
|
18
|
+
var react_1 = require("@maskito/react");
|
|
19
|
+
var react_2 = require("react");
|
|
21
20
|
var useDateInputState_1 = __importDefault(require("./useDateInputState"));
|
|
22
|
-
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
23
21
|
var enums_1 = require("../../../enums");
|
|
22
|
+
var hooks_1 = require("../../../hooks");
|
|
23
|
+
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
24
24
|
/**
|
|
25
25
|
* DateField
|
|
26
26
|
* Поле ввода с выпадающим календарём для выбора даты
|
|
@@ -28,7 +28,7 @@ var enums_1 = require("../../../enums");
|
|
|
28
28
|
function DateField(props) {
|
|
29
29
|
var _a, _b, _c;
|
|
30
30
|
var components = (0, hooks_1.useComponents)();
|
|
31
|
-
var maskInputRef = (0,
|
|
31
|
+
var maskInputRef = (0, react_1.useMaskito)({
|
|
32
32
|
options: (_a = props.maskOptions) !== null && _a !== void 0 ? _a : (0, kit_1.maskitoDateOptionsGenerator)({
|
|
33
33
|
mode: 'dd/mm/yyyy',
|
|
34
34
|
separator: '.',
|
|
@@ -46,12 +46,12 @@ function DateField(props) {
|
|
|
46
46
|
displayFormat: props.displayFormat
|
|
47
47
|
}), onClear = _d.onClear, onClose = _d.onClose, isOpened = _d.isOpened, inputProps = _d.inputProps;
|
|
48
48
|
// Calendar props
|
|
49
|
-
var calendarProps = (0,
|
|
49
|
+
var calendarProps = (0, react_2.useMemo)(function () {
|
|
50
50
|
var _a;
|
|
51
51
|
return (__assign({ value: props.input.value, onChange: props.input.onChange, valueFormat: props.valueFormat }, ((props === null || props === void 0 ? void 0 : props.disabledDays)
|
|
52
52
|
? __assign(__assign({}, props.calendarProps), { pickerProps: __assign(__assign({}, (_a = props.calendarProps) === null || _a === void 0 ? void 0 : _a.pickerProps), { disabledDays: props.disabledDays }) }) : props.calendarProps)));
|
|
53
53
|
}, [props.calendarProps, props.disabledDays, props.input.onChange, props.input.value, props.valueFormat]);
|
|
54
|
-
var viewProps = (0,
|
|
54
|
+
var viewProps = (0, react_2.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { calendarProps: calendarProps, onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, size: props.size, icon: props.icon, errors: props.errors, label: props.label, disabled: props.disabled, className: props.className, showRemove: props.showRemove, style: props.style, autoPositioning: props.autoPositioning, maskInputRef: maskInputRef, id: props.id })); }, [
|
|
55
55
|
props.viewProps, props.size, props.icon, props.errors, props.label, props.disabled,
|
|
56
56
|
props.className, props.showRemove, props.style, props.autoPositioning, props.id, calendarProps,
|
|
57
57
|
onClear, onClose, isOpened, inputProps, maskInputRef,
|
|
@@ -15,9 +15,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
17
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
18
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
18
19
|
var react_1 = require("react");
|
|
19
20
|
var react_use_1 = require("react-use");
|
|
20
|
-
var dayjs_1 = __importDefault(require("dayjs"));
|
|
21
21
|
var calendar_1 = require("../../../utils/calendar");
|
|
22
22
|
function useDateInputState(props) {
|
|
23
23
|
// Get props value
|
|
@@ -14,11 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
+
var calendar_1 = require("@steroidsjs/core/utils/calendar");
|
|
18
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
19
|
+
var isNil_1 = __importDefault(require("lodash-es/isNil"));
|
|
17
20
|
var react_1 = require("react");
|
|
18
21
|
var react_use_1 = require("react-use");
|
|
19
|
-
var isNil_1 = __importDefault(require("lodash-es/isNil"));
|
|
20
|
-
var dayjs_1 = __importDefault(require("dayjs"));
|
|
21
|
-
var calendar_1 = require("@steroidsjs/core/utils/calendar");
|
|
22
22
|
var isOneRangeValueEmpty = function (valueFrom, valueTo) { return !valueFrom || !valueTo; };
|
|
23
23
|
function useDateRange(props) {
|
|
24
24
|
// Tracking focus for input being edited
|
|
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
/* eslint-disable import/no-extraneous-dependencies */
|
|
7
|
-
var react_1 = require("react");
|
|
8
7
|
var dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
var react_1 = require("react");
|
|
9
9
|
var calendar_1 = require("../../../utils/calendar");
|
|
10
10
|
/**
|
|
11
11
|
* useDateTime
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MaskitoOptions } from '@maskito/core';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { ILocaleComponent } from '../../../components/LocaleComponent';
|
|
4
4
|
import { ICalendarProps } from '../../content/Calendar/Calendar';
|
|
5
|
-
import { IDateInputStateInput, IDateInputStateOutput } from '../DateField/useDateInputState';
|
|
6
5
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
|
|
6
|
+
import { IDateInputStateInput, IDateInputStateOutput } from '../DateField/useDateInputState';
|
|
7
7
|
export interface IDateRangeButton {
|
|
8
8
|
label: string;
|
|
9
9
|
onClick: (locale: ILocaleComponent, changeFrom: (value: string) => void, changeTo: (value: string) => void) => void;
|
|
@@ -14,26 +14,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
-
var react_1 = require("react");
|
|
18
17
|
var kit_1 = require("@maskito/kit");
|
|
19
|
-
var
|
|
20
|
-
var
|
|
18
|
+
var react_1 = require("@maskito/react");
|
|
19
|
+
var react_2 = require("react");
|
|
20
|
+
var useOnDayClick_1 = __importDefault(require("./useOnDayClick"));
|
|
21
|
+
var enums_1 = require("../../../enums");
|
|
21
22
|
var hooks_1 = require("../../../hooks");
|
|
22
|
-
var
|
|
23
|
+
var useDateRange_1 = __importDefault(require("../../form/DateField/useDateRange"));
|
|
23
24
|
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
24
|
-
var
|
|
25
|
-
var useOnDayClick_1 = __importDefault(require("./useOnDayClick"));
|
|
25
|
+
var useDateInputState_1 = __importDefault(require("../DateField/useDateInputState"));
|
|
26
26
|
function DateRangeField(props) {
|
|
27
27
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
28
28
|
var components = (0, hooks_1.useComponents)();
|
|
29
|
-
var maskInputFromRef = (0,
|
|
29
|
+
var maskInputFromRef = (0, react_1.useMaskito)({
|
|
30
30
|
options: (_b = (_a = props.maskOptions) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : (0, kit_1.maskitoDateOptionsGenerator)({
|
|
31
31
|
mode: 'dd/mm/yyyy',
|
|
32
32
|
separator: '.',
|
|
33
33
|
min: (_d = (_c = props.disabledDays) === null || _c === void 0 ? void 0 : _c.before) !== null && _d !== void 0 ? _d : null
|
|
34
34
|
})
|
|
35
35
|
});
|
|
36
|
-
var maskInputToRef = (0,
|
|
36
|
+
var maskInputToRef = (0, react_1.useMaskito)({
|
|
37
37
|
options: (_f = (_e = props.maskOptions) === null || _e === void 0 ? void 0 : _e.to) !== null && _f !== void 0 ? _f : (0, kit_1.maskitoDateOptionsGenerator)({
|
|
38
38
|
mode: 'dd/mm/yyyy',
|
|
39
39
|
separator: '.',
|
|
@@ -41,7 +41,7 @@ function DateRangeField(props) {
|
|
|
41
41
|
})
|
|
42
42
|
});
|
|
43
43
|
// Global onChange (from props)
|
|
44
|
-
var onChange = (0,
|
|
44
|
+
var onChange = (0, react_2.useCallback)(function () {
|
|
45
45
|
var _a;
|
|
46
46
|
if (props.onChange) {
|
|
47
47
|
props.onChange.call(null, (_a = {},
|
|
@@ -86,7 +86,7 @@ function DateRangeField(props) {
|
|
|
86
86
|
displayFormat: props.displayFormat,
|
|
87
87
|
valueFormat: props.valueFormat
|
|
88
88
|
}), focus = _l.focus, onClose = _l.onClose, onClear = _l.onClear, extendedInputPropsFrom = _l.extendedInputPropsFrom, extendedInputPropsTo = _l.extendedInputPropsTo;
|
|
89
|
-
(0,
|
|
89
|
+
(0, react_2.useEffect)(function () {
|
|
90
90
|
if (extendedInputPropsFrom.ref && extendedInputPropsTo.ref) {
|
|
91
91
|
maskInputFromRef(extendedInputPropsFrom.ref.current);
|
|
92
92
|
maskInputToRef(extendedInputPropsTo.ref.current);
|
|
@@ -106,12 +106,12 @@ function DateRangeField(props) {
|
|
|
106
106
|
onToChange: props.inputTo.onChange
|
|
107
107
|
});
|
|
108
108
|
// Calendar props
|
|
109
|
-
var calendarProps = (0,
|
|
109
|
+
var calendarProps = (0, react_2.useMemo)(function () {
|
|
110
110
|
var _a;
|
|
111
111
|
return (__assign({ value: [props.inputFrom.value, props.inputTo.value], onChange: onDayClick, valueFormat: props.valueFormat, numberOfMonths: 2, showFooter: false }, ((props === null || props === void 0 ? void 0 : props.disabledDays)
|
|
112
112
|
? __assign(__assign({}, props.calendarProps), { pickerProps: __assign(__assign({}, (_a = props.calendarProps) === null || _a === void 0 ? void 0 : _a.pickerProps), { disabledDays: props.disabledDays }) }) : props.calendarProps)));
|
|
113
113
|
}, [onDayClick, props.calendarProps, props.disabledDays, props.inputFrom.value, props.inputTo.value, props.valueFormat]);
|
|
114
|
-
var viewProps = (0,
|
|
114
|
+
var viewProps = (0, react_2.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, calendarProps: calendarProps, icon: props.icon, size: props.size, disabled: props.disabled, className: props.className, showRemove: props.showRemove, errorsFrom: props.errorsFrom, errorsTo: props.errorsTo, errors: props.errors, inputPropsTo: extendedInputPropsTo, inputPropsFrom: extendedInputPropsFrom, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, style: props.style, id: props.id, withRangeButtons: props.withRangeButtons, rangeButtonsPosition: props.rangeButtonsPosition, displayFormat: props.displayFormat })); }, [props.viewProps, props.icon, props.size, props.disabled, props.className, props.showRemove, props.errorsFrom,
|
|
115
115
|
props.errorsTo, props.errors, props.style, props.id, props.withRangeButtons, props.rangeButtonsPosition,
|
|
116
116
|
props.displayFormat, onClear, onClose, calendarProps, extendedInputPropsTo, extendedInputPropsFrom, focus, isOpenedFrom, isOpenedTo]);
|
|
117
117
|
return components.ui.renderView(props.view || 'form.DateRangeFieldView', viewProps);
|
|
@@ -129,4 +129,6 @@ DateRangeField.defaultProps = {
|
|
|
129
129
|
useSmartRangeReset: true,
|
|
130
130
|
rangeButtonsPosition: 'left-bottom'
|
|
131
131
|
};
|
|
132
|
-
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.DATE_RANGE_FIELD, DateRangeField, {
|
|
132
|
+
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.DATE_RANGE_FIELD, DateRangeField, {
|
|
133
|
+
attributeSuffixes: ['from', 'to']
|
|
134
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MaskitoOptions } from '@maskito/core';
|
|
2
|
+
import React from 'react';
|
|
3
3
|
import { ICalendarProps } from '../../content/Calendar/Calendar';
|
|
4
4
|
import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
|
|
5
5
|
/**
|
|
@@ -14,14 +14,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
-
var react_1 = require("react");
|
|
18
|
-
var react_2 = require("
|
|
17
|
+
var react_1 = require("@maskito/react");
|
|
18
|
+
var react_2 = require("react");
|
|
19
19
|
var utils_1 = require("./utils");
|
|
20
|
-
var
|
|
20
|
+
var enums_1 = require("../../../enums");
|
|
21
|
+
var hooks_1 = require("../../../hooks");
|
|
21
22
|
var useDateInputState_1 = __importDefault(require("../../form/DateField/useDateInputState"));
|
|
22
23
|
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
23
|
-
var
|
|
24
|
-
var enums_1 = require("../../../enums");
|
|
24
|
+
var useDateTime_1 = __importDefault(require("../DateField/useDateTime"));
|
|
25
25
|
var DATE_TIME_SEPARATOR = ', ';
|
|
26
26
|
/**
|
|
27
27
|
* DateTimeField
|
|
@@ -30,7 +30,7 @@ var DATE_TIME_SEPARATOR = ', ';
|
|
|
30
30
|
function DateTimeField(props) {
|
|
31
31
|
var _a, _b, _c, _d, _e, _f;
|
|
32
32
|
var components = (0, hooks_1.useComponents)();
|
|
33
|
-
var maskInputRef = (0,
|
|
33
|
+
var maskInputRef = (0, react_1.useMaskito)({
|
|
34
34
|
options: (0, utils_1.createDateTimeMask)({
|
|
35
35
|
from: (_a = props.availableTime) === null || _a === void 0 ? void 0 : _a.from,
|
|
36
36
|
to: (_b = props.availableTime) === null || _b === void 0 ? void 0 : _b.to,
|
|
@@ -60,13 +60,13 @@ function DateTimeField(props) {
|
|
|
60
60
|
dateInUTC: props.dateInUTC
|
|
61
61
|
}), dateValueFormat = _h.dateValueFormat, dateValue = _h.dateValue, timeValue = _h.timeValue, onDateSelect = _h.onDateSelect, onTimeSelect = _h.onTimeSelect;
|
|
62
62
|
// Calendar props
|
|
63
|
-
var calendarProps = (0,
|
|
63
|
+
var calendarProps = (0, react_2.useMemo)(function () {
|
|
64
64
|
var _a;
|
|
65
65
|
return (__assign({ value: dateValue, onChange: onDateSelect, valueFormat: dateValueFormat }, ((props === null || props === void 0 ? void 0 : props.disabledDays)
|
|
66
66
|
? __assign(__assign({}, props.calendarProps), { pickerProps: __assign(__assign({}, (_a = props.calendarProps) === null || _a === void 0 ? void 0 : _a.pickerProps), { disabledDays: props.disabledDays }) }) : props.calendarProps)));
|
|
67
67
|
}, [dateValue, dateValueFormat, onDateSelect, props.calendarProps, props.disabledDays]);
|
|
68
68
|
// TimePanel props
|
|
69
|
-
var timePanelViewProps = (0,
|
|
69
|
+
var timePanelViewProps = (0, react_2.useMemo)(function () { return ({
|
|
70
70
|
onClose: onClose,
|
|
71
71
|
showHeader: true,
|
|
72
72
|
showNow: false,
|
|
@@ -75,7 +75,7 @@ function DateTimeField(props) {
|
|
|
75
75
|
availableTime: props.availableTime,
|
|
76
76
|
minuteStep: props.minuteStep
|
|
77
77
|
}); }, [onClose, onTimeSelect, props.availableTime, props.minuteStep, timeValue]);
|
|
78
|
-
var viewProps = (0,
|
|
78
|
+
var viewProps = (0, react_2.useMemo)(function () { return ({
|
|
79
79
|
isOpened: isOpened,
|
|
80
80
|
onClear: onClear,
|
|
81
81
|
onClose: onClose,
|
|
@@ -52,11 +52,17 @@ var createDateTimeMask = function (options) {
|
|
|
52
52
|
function (_a) {
|
|
53
53
|
var value = _a.value, selection = _a.selection;
|
|
54
54
|
if (!value) {
|
|
55
|
-
return {
|
|
55
|
+
return {
|
|
56
|
+
value: value,
|
|
57
|
+
selection: selection
|
|
58
|
+
};
|
|
56
59
|
}
|
|
57
60
|
var match = value.match(TIME_REGEXP);
|
|
58
61
|
if (!match) {
|
|
59
|
-
return {
|
|
62
|
+
return {
|
|
63
|
+
value: value,
|
|
64
|
+
selection: selection
|
|
65
|
+
};
|
|
60
66
|
}
|
|
61
67
|
var time = match[1];
|
|
62
68
|
var minutes = (0, utils_1.timeToMinutes)(time);
|
|
@@ -69,7 +75,10 @@ var createDateTimeMask = function (options) {
|
|
|
69
75
|
var clamped = clampTime(minutes, fromMin, toMin, options === null || options === void 0 ? void 0 : options.minuteStep);
|
|
70
76
|
var normalizedTime = (0, utils_1.minutesToTime)(clamped);
|
|
71
77
|
if (normalizedTime === time) {
|
|
72
|
-
return {
|
|
78
|
+
return {
|
|
79
|
+
value: value,
|
|
80
|
+
selection: selection
|
|
81
|
+
};
|
|
73
82
|
}
|
|
74
83
|
return {
|
|
75
84
|
value: value.replace(TIME_REGEXP, normalizedTime),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MaskitoOptions } from '@maskito/core';
|
|
2
2
|
import { ICalendarProps } from '../../content/Calendar/Calendar';
|
|
3
|
-
import { IDateRangeButton, IDateRangeFieldProps } from '../../form/DateRangeField/DateRangeField';
|
|
4
3
|
import { IDateInputStateInput, IDateInputStateOutput } from '../../form/DateField/useDateInputState';
|
|
4
|
+
import { IDateRangeButton, IDateRangeFieldProps } from '../../form/DateRangeField/DateRangeField';
|
|
5
5
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../../form/Field/fieldWrapper';
|
|
6
6
|
/**
|
|
7
7
|
* DateTimeRangeField
|
|
@@ -14,20 +14,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
-
var react_1 = require("react");
|
|
18
|
-
var react_2 = require("@maskito/react");
|
|
17
|
+
var react_1 = require("@maskito/react");
|
|
19
18
|
var utils_1 = require("@steroidsjs/core/ui/form/DateTimeField/utils");
|
|
19
|
+
var react_2 = require("react");
|
|
20
|
+
var enums_1 = require("../../../enums");
|
|
21
|
+
var hooks_1 = require("../../../hooks");
|
|
22
|
+
var useDateInputState_1 = __importDefault(require("../../form/DateField/useDateInputState"));
|
|
20
23
|
var useDateRange_1 = __importDefault(require("../../form/DateField/useDateRange"));
|
|
21
24
|
var useDateTime_1 = __importDefault(require("../../form/DateField/useDateTime"));
|
|
22
|
-
var useDateInputState_1 = __importDefault(require("../../form/DateField/useDateInputState"));
|
|
23
25
|
var fieldWrapper_1 = __importDefault(require("../../form/Field/fieldWrapper"));
|
|
24
|
-
var hooks_1 = require("../../../hooks");
|
|
25
|
-
var enums_1 = require("../../../enums");
|
|
26
26
|
var DATE_TIME_SEPARATOR = ', ';
|
|
27
27
|
function DateTimeRangeField(props) {
|
|
28
28
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
29
29
|
var components = (0, hooks_1.useComponents)();
|
|
30
|
-
var maskInputFromRef = (0,
|
|
30
|
+
var maskInputFromRef = (0, react_1.useMaskito)({
|
|
31
31
|
options: (_b = (_a = props.maskOptions) === null || _a === void 0 ? void 0 : _a.from) !== null && _b !== void 0 ? _b : (0, utils_1.createDateTimeMask)({
|
|
32
32
|
from: (_c = props.availableTime) === null || _c === void 0 ? void 0 : _c.from,
|
|
33
33
|
to: (_d = props.availableTime) === null || _d === void 0 ? void 0 : _d.to,
|
|
@@ -36,7 +36,7 @@ function DateTimeRangeField(props) {
|
|
|
36
36
|
dateTimeSeparator: (_g = props.dateTimeSeparator) !== null && _g !== void 0 ? _g : DATE_TIME_SEPARATOR
|
|
37
37
|
})
|
|
38
38
|
});
|
|
39
|
-
var maskInputToRef = (0,
|
|
39
|
+
var maskInputToRef = (0, react_1.useMaskito)({
|
|
40
40
|
options: (_j = (_h = props.maskOptions) === null || _h === void 0 ? void 0 : _h.to) !== null && _j !== void 0 ? _j : (0, utils_1.createDateTimeMask)({
|
|
41
41
|
from: (_k = props.availableTime) === null || _k === void 0 ? void 0 : _k.from,
|
|
42
42
|
to: (_l = props.availableTime) === null || _l === void 0 ? void 0 : _l.to,
|
|
@@ -46,7 +46,7 @@ function DateTimeRangeField(props) {
|
|
|
46
46
|
})
|
|
47
47
|
});
|
|
48
48
|
// Global onChange (from props)
|
|
49
|
-
var onChange = (0,
|
|
49
|
+
var onChange = (0, react_2.useCallback)(function () {
|
|
50
50
|
var _a;
|
|
51
51
|
if (props.onChange) {
|
|
52
52
|
props.onChange.call(null, (_a = {},
|
|
@@ -111,7 +111,7 @@ function DateTimeRangeField(props) {
|
|
|
111
111
|
displayFormat: props.displayFormat,
|
|
112
112
|
valueFormat: props.valueFormat
|
|
113
113
|
}), focus = _u.focus, onClose = _u.onClose, onClear = _u.onClear, extendedInputPropsFrom = _u.extendedInputPropsFrom, extendedInputPropsTo = _u.extendedInputPropsTo;
|
|
114
|
-
(0,
|
|
114
|
+
(0, react_2.useEffect)(function () {
|
|
115
115
|
if (extendedInputPropsFrom.ref && extendedInputPropsTo.ref) {
|
|
116
116
|
maskInputFromRef(extendedInputPropsFrom.ref.current);
|
|
117
117
|
maskInputToRef(extendedInputPropsTo.ref.current);
|
|
@@ -123,14 +123,14 @@ function DateTimeRangeField(props) {
|
|
|
123
123
|
maskInputToRef,
|
|
124
124
|
]);
|
|
125
125
|
// Calendar props
|
|
126
|
-
var calendarProps = (0,
|
|
126
|
+
var calendarProps = (0, react_2.useMemo)(function () {
|
|
127
127
|
var _a;
|
|
128
128
|
return (__assign({ value: [dateValueFrom, dateValueTo], onChange: focus === 'from' ? onDateFromSelect : onDateToSelect, valueFormat: dateValueFormat }, ((props === null || props === void 0 ? void 0 : props.disabledDays)
|
|
129
129
|
? __assign(__assign({}, props.calendarProps), { pickerProps: __assign(__assign({}, (_a = props.calendarProps) === null || _a === void 0 ? void 0 : _a.pickerProps), { disabledDays: props.disabledDays }) }) : props.calendarProps)));
|
|
130
130
|
}, [dateValueFormat, dateValueFrom, dateValueTo, focus, onDateFromSelect, onDateToSelect, props.calendarProps, props.disabledDays]);
|
|
131
131
|
// TimePanel props
|
|
132
|
-
var timePanelViewProps = (0,
|
|
133
|
-
var viewProps = (0,
|
|
132
|
+
var timePanelViewProps = (0, react_2.useMemo)(function () { return (__assign({ value: focus === 'from' ? timeValueFrom : timeValueTo, onSelect: focus === 'from' ? onTimeFromSelect : onTimeToSelect, onNow: onNow, onClose: onClose, showNow: false, showHeader: true, availableTime: props.availableTime, minuteStep: props.minuteStep }, props.timePanelViewProps)); }, [focus, onClose, onNow, onTimeFromSelect, onTimeToSelect, props.availableTime, props.minuteStep, props.timePanelViewProps, timeValueFrom, timeValueTo]);
|
|
133
|
+
var viewProps = (0, react_2.useMemo)(function () { return ({
|
|
134
134
|
onClear: onClear,
|
|
135
135
|
onClose: onClose,
|
|
136
136
|
calendarProps: calendarProps,
|
|
@@ -169,4 +169,6 @@ DateTimeRangeField.defaultProps = {
|
|
|
169
169
|
rangeButtonsPosition: 'left-bottom',
|
|
170
170
|
minuteStep: 1
|
|
171
171
|
};
|
|
172
|
-
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.DATE_TIME_RANGE_FIELD, DateTimeRangeField, {
|
|
172
|
+
exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.DATE_TIME_RANGE_FIELD, DateTimeRangeField, {
|
|
173
|
+
attributeSuffixes: ['from', 'to']
|
|
174
|
+
});
|