@steroidsjs/core 3.0.0-beta.98 → 3.0.0
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/notifications.js +7 -1
- package/actions/router.js +16 -2
- package/components/HttpComponent.d.ts +7 -7
- package/components/JwtHttpComponent.d.ts +2 -2
- package/components/LocaleComponent.d.ts +6 -6
- package/components/MetaComponent.d.ts +90 -1
- package/components/MetricsComponent.js +2 -1
- package/components/ResourceComponent.d.ts +4 -4
- package/components/UiComponent.d.ts +7 -7
- package/components/WebSocketComponent.d.ts +11 -11
- package/docs-autogen-result.json +15226 -6277
- package/en.json +151 -84
- package/hooks/index.d.ts +4 -3
- package/hooks/index.js +7 -5
- package/hooks/useAbsolutePositioning.js +0 -1
- package/hooks/useAddressBar.js +0 -1
- package/hooks/useApplication.js +8 -1
- package/hooks/useDataProvider.d.ts +17 -2
- package/hooks/useDataSelect.js +21 -4
- package/hooks/useFetch.js +6 -1
- package/hooks/useFile.d.ts +1 -0
- package/hooks/useFile.js +2 -0
- package/hooks/useList.d.ts +53 -14
- package/hooks/useList.js +31 -70
- package/hooks/useTree.d.ts +104 -0
- package/hooks/useTree.js +169 -0
- package/index.d.ts +3 -3
- package/package.json +94 -93
- package/reducers/router.d.ts +2 -1
- package/ui/content/Accordion/Accordion.d.ts +8 -5
- package/ui/content/Accordion/Accordion.js +6 -1
- package/ui/content/Accordion/AccordionItem.d.ts +2 -2
- package/ui/content/Accordion/AccordionItem.js +1 -12
- package/ui/content/Alert/Alert.d.ts +5 -2
- package/ui/content/Alert/Alert.js +13 -12
- package/ui/content/Avatar/Avatar.js +18 -12
- package/ui/content/Badge/Badge.d.ts +5 -1
- package/ui/content/Badge/Badge.js +14 -12
- package/ui/content/Calendar/Calendar.d.ts +6 -1
- package/ui/content/Calendar/Calendar.js +19 -12
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +94 -17
- package/ui/content/CalendarSystem/CalendarSystem.js +66 -77
- package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +1 -2
- package/ui/content/CalendarSystem/hooks/useCalendarControls.js +14 -17
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.d.ts +2 -1
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +13 -5
- package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +2 -2
- package/ui/content/CalendarSystem/hooks/useCalendarType.d.ts +5 -0
- package/ui/content/CalendarSystem/hooks/useCalendarType.js +22 -0
- package/ui/content/CalendarSystem/hooks/useEventsFromDate.d.ts +5 -0
- package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +49 -0
- package/ui/content/CalendarSystem/hooks/{useMonthCalendar.d.ts → useMonthGrid.d.ts} +4 -5
- package/ui/content/CalendarSystem/hooks/{useMonthCalendar.js → useMonthGrid.js} +24 -15
- package/ui/content/CalendarSystem/hooks/{useWeekCalendar.d.ts → useWeekGrid.d.ts} +6 -5
- package/ui/content/CalendarSystem/hooks/useWeekGrid.js +72 -0
- package/ui/content/CalendarSystem/utils/utils.d.ts +8 -0
- package/ui/content/CalendarSystem/utils/utils.js +27 -1
- package/ui/content/Card/Card.d.ts +33 -27
- package/ui/content/Card/Card.js +1 -12
- package/ui/content/Chart/Chart.d.ts +38 -8
- package/ui/content/Chart/Chart.js +16 -12
- package/ui/content/Chat/Chat.d.ts +109 -0
- package/ui/content/Chat/Chat.js +52 -0
- package/ui/content/Chat/constants/timeTemplatesAndUnits.d.ts +8 -0
- package/ui/content/Chat/constants/timeTemplatesAndUnits.js +11 -0
- package/ui/content/Chat/hooks/useChat.d.ts +12 -0
- package/ui/content/Chat/hooks/useChat.js +58 -0
- package/ui/content/Chat/index.d.ts +2 -0
- package/ui/content/Chat/index.js +7 -0
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.d.ts +5 -0
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +61 -0
- package/ui/content/Chat/utils/calculateMessageTimeAgo.d.ts +1 -0
- package/ui/content/Chat/utils/calculateMessageTimeAgo.js +26 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +4 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.js +56 -0
- package/ui/content/Chat/utils/index.d.ts +5 -0
- package/ui/content/Chat/utils/index.js +12 -0
- package/ui/content/Chat/utils/isTodayMessage.d.ts +1 -0
- package/ui/content/Chat/utils/isTodayMessage.js +13 -0
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +3 -3
- package/ui/content/CopyToClipboard/CopyToClipboard.js +10 -12
- package/ui/content/Dashboard/Dashboard.d.ts +5 -2
- package/ui/content/Dashboard/Dashboard.js +27 -3
- package/ui/content/Detail/Detail.d.ts +15 -2
- package/ui/content/Detail/Detail.js +12 -1
- package/ui/content/DropDown/DropDown.d.ts +1 -1
- package/ui/content/DropDown/DropDown.js +16 -4
- package/ui/content/Icon/Icon.js +13 -15
- package/ui/content/Kanban/Kanban.d.ts +15 -4
- package/ui/content/Kanban/Kanban.js +8 -12
- package/ui/content/Kanban/hooks/useKanban.d.ts +33 -26
- package/ui/content/Menu/Menu.js +10 -12
- package/ui/content/Slider/Slider.js +1 -12
- package/ui/content/index.d.ts +2 -1
- package/ui/content/index.js +3 -1
- package/ui/crud/index.d.ts +3 -0
- package/ui/form/AutoCompleteField/AutoCompleteField.js +1 -1
- package/ui/form/Button/Button.js +8 -2
- package/ui/form/CheckboxField/CheckboxField.d.ts +1 -0
- package/ui/form/CheckboxField/CheckboxField.js +2 -2
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +18 -2
- package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
- package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +67 -0
- package/ui/form/CheckboxTreeField/CheckboxTreeField.js +126 -0
- package/ui/form/CheckboxTreeField/index.d.ts +2 -0
- package/ui/form/CheckboxTreeField/index.js +7 -0
- package/ui/form/DateField/DateField.js +4 -1
- package/ui/form/DateField/useDateRange.d.ts +1 -0
- package/ui/form/DateField/useDateRange.js +13 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +34 -1
- package/ui/form/DateRangeField/DateRangeField.js +59 -8
- package/ui/form/DateTimeField/DateTimeField.d.ts +10 -0
- package/ui/form/DateTimeField/DateTimeField.js +11 -3
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +25 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +66 -13
- package/ui/form/DropDownField/DropDownField.d.ts +23 -3
- package/ui/form/DropDownField/DropDownField.js +1 -1
- package/ui/form/EmailField/EmailField.d.ts +6 -0
- package/ui/form/EmailField/EmailField.js +0 -4
- package/ui/form/Field/Field.d.ts +9 -1
- package/ui/form/Field/Field.js +1 -1
- package/ui/form/Field/fieldWrapper.d.ts +9 -1
- package/ui/form/FieldList/FieldList.d.ts +13 -7
- package/ui/form/FieldList/FieldList.js +30 -4
- package/ui/form/FileField/FileField.js +5 -0
- package/ui/form/Form/Form.d.ts +26 -3
- package/ui/form/Form/Form.js +5 -3
- package/ui/form/ImageField/ImageField.d.ts +9 -1
- package/ui/form/InputField/InputField.d.ts +5 -2
- package/ui/form/InputField/hooks/useInputFieldWarningByType.js +1 -0
- package/ui/form/NumberField/NumberField.js +34 -7
- package/ui/form/SliderField/SliderField.d.ts +10 -2
- package/ui/form/TimeRangeField/TimeRangeField.d.ts +10 -1
- package/ui/form/TimeRangeField/TimeRangeField.js +3 -1
- package/ui/form/WizardForm/WizardForm.d.ts +119 -0
- package/ui/form/WizardForm/WizardForm.js +167 -0
- package/ui/form/WizardForm/index.d.ts +2 -0
- package/ui/form/WizardForm/index.js +7 -0
- package/ui/form/WizardForm/utils.d.ts +12 -0
- package/ui/form/WizardForm/utils.js +111 -0
- package/ui/form/index.d.ts +3 -1
- package/ui/form/index.js +4 -1
- package/ui/layout/ProgressBar/ProgressBar.js +8 -2
- package/ui/layout/Skeleton/Skeleton.d.ts +3 -1
- package/ui/layout/Tooltip/Tooltip.d.ts +4 -1
- package/ui/list/ControlsColumn/ControlsColumn.d.ts +17 -3
- package/ui/list/FlexGrid/FlexGrid.d.ts +11 -1
- package/ui/list/Grid/Grid.d.ts +42 -6
- package/ui/list/Grid/Grid.js +1 -2
- package/ui/list/LayoutNames/LayoutNames.d.ts +11 -1
- package/ui/list/Steps/Steps.d.ts +19 -7
- package/ui/list/Steps/Steps.js +46 -26
- package/ui/list/TreeTable/TreeTable.d.ts +34 -33
- package/ui/list/TreeTable/TreeTable.js +19 -8
- package/ui/modal/Modal/Modal.d.ts +7 -1
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +11 -1
- package/ui/nav/ButtonGroup/ButtonGroup.d.ts +13 -4
- package/ui/nav/Controls/Controls.d.ts +7 -1
- package/ui/nav/Link/Link.d.ts +1 -1
- package/ui/nav/Nav/Nav.d.ts +19 -4
- package/ui/nav/Router/Router.d.ts +19 -3
- package/ui/nav/Router/Router.js +11 -6
- package/ui/nav/Router/helpers.d.ts +2 -2
- package/ui/nav/Router/helpers.js +39 -7
- package/ui/nav/Tree/Tree.d.ts +32 -62
- package/ui/nav/Tree/Tree.js +18 -165
- package/utils/calculateComponentAbsolutePosition.js +74 -24
- package/utils/calendar.d.ts +8 -0
- package/utils/calendar.js +76 -1
- package/utils/data.js +1 -0
- package/utils/form.d.ts +1 -0
- package/utils/form.js +16 -1
- package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +0 -86
- package/utils/list.d.ts +0 -1
- package/utils/list.js +0 -5
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
exports.__esModule = true;
|
|
26
|
+
exports.getModifiedSteps = exports.normalizeSteps = exports.generateFieldStepMap = void 0;
|
|
27
|
+
var has_1 = __importDefault(require("lodash-es/has"));
|
|
28
|
+
var get_1 = __importDefault(require("lodash-es/get"));
|
|
29
|
+
var assign_1 = __importDefault(require("lodash-es/assign"));
|
|
30
|
+
var isArray_1 = __importDefault(require("lodash-es/isArray"));
|
|
31
|
+
var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
|
|
32
|
+
var indexOf_1 = __importDefault(require("lodash-es/indexOf"));
|
|
33
|
+
var Steps_1 = require("../../list/Steps/Steps");
|
|
34
|
+
var getComponentAttributes = function (component, index) {
|
|
35
|
+
var componentAttributesStepMap = {};
|
|
36
|
+
if (Array.isArray(component)) {
|
|
37
|
+
component.forEach(function (field) {
|
|
38
|
+
(0, assign_1["default"])(componentAttributesStepMap, getComponentAttributes(field, index));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
var attribute = (0, get_1["default"])(component, ['props', 'attribute']) || (0, get_1["default"])(component, ['attribute']) || null;
|
|
43
|
+
if (attribute) {
|
|
44
|
+
componentAttributesStepMap[attribute] = index;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
var children = (0, get_1["default"])(component, ['props', 'children']) || null;
|
|
48
|
+
if ((0, isArray_1["default"])(children)) {
|
|
49
|
+
children.forEach(function (field) { return (0, assign_1["default"])(componentAttributesStepMap, getComponentAttributes(field, index)); });
|
|
50
|
+
}
|
|
51
|
+
else if (children) {
|
|
52
|
+
(0, assign_1["default"])(componentAttributesStepMap, getComponentAttributes(children, index));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return componentAttributesStepMap;
|
|
57
|
+
};
|
|
58
|
+
var getFieldsAttributes = function (fields, index) {
|
|
59
|
+
var fieldAttributesStepMap = {};
|
|
60
|
+
if ((0, isArray_1["default"])(fields)) {
|
|
61
|
+
fields.forEach(function (field) { return (0, assign_1["default"])(fieldAttributesStepMap, getFieldsAttributes(field, index)); });
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
var attribute = (0, get_1["default"])(fields, ['attribute']) || null;
|
|
65
|
+
if (attribute) {
|
|
66
|
+
fieldAttributesStepMap[attribute] = index;
|
|
67
|
+
}
|
|
68
|
+
if ((0, has_1["default"])(fields, ['attributeFrom']) && (0, has_1["default"])(fields, ['attributeTo'])) {
|
|
69
|
+
fieldAttributesStepMap[(0, get_1["default"])(fields, 'attributeFrom')] = index;
|
|
70
|
+
fieldAttributesStepMap[(0, get_1["default"])(fields, 'attributeFrom')] = index;
|
|
71
|
+
}
|
|
72
|
+
if ((0, has_1["default"])(fields, ['items'])) {
|
|
73
|
+
var children = (0, get_1["default"])(fields, ['items']) || null;
|
|
74
|
+
if (children) {
|
|
75
|
+
(0, assign_1["default"])(fieldAttributesStepMap, getFieldsAttributes(children, index));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return fieldAttributesStepMap;
|
|
80
|
+
};
|
|
81
|
+
var generateFieldStepMap = function (arr) {
|
|
82
|
+
if (arr === void 0) { arr = []; }
|
|
83
|
+
return arr.reduce(function (fieldStepMap, step, index) {
|
|
84
|
+
if ((0, has_1["default"])(step, 'fields')) {
|
|
85
|
+
return __assign(__assign({}, fieldStepMap), getFieldsAttributes(step.fields, index));
|
|
86
|
+
}
|
|
87
|
+
if ((0, has_1["default"])(step, 'component')) {
|
|
88
|
+
return __assign(__assign({}, fieldStepMap), getComponentAttributes(step.component, index));
|
|
89
|
+
}
|
|
90
|
+
return fieldStepMap;
|
|
91
|
+
}, {});
|
|
92
|
+
};
|
|
93
|
+
exports.generateFieldStepMap = generateFieldStepMap;
|
|
94
|
+
var normalizeSteps = function (steps) { return steps.map(function (step, index) { return ({
|
|
95
|
+
id: index,
|
|
96
|
+
title: step.stepLabel || null,
|
|
97
|
+
description: step.description || null,
|
|
98
|
+
subtitle: step.subtitle || null,
|
|
99
|
+
icon: step.icon || null,
|
|
100
|
+
status: index === 0 ? Steps_1.ACTIVE_STATUS : Steps_1.WAIT_STATUS
|
|
101
|
+
}); }); };
|
|
102
|
+
exports.normalizeSteps = normalizeSteps;
|
|
103
|
+
var getModifiedSteps = function (prevStepsState, errorSteps, currentStep, nextStep) {
|
|
104
|
+
var newStepsState = __spreadArray([], prevStepsState, true);
|
|
105
|
+
newStepsState[currentStep].status = (0, isEmpty_1["default"])(errorSteps)
|
|
106
|
+
? Steps_1.WAIT_STATUS
|
|
107
|
+
: ((0, indexOf_1["default"])(errorSteps, currentStep) !== -1 ? Steps_1.ERROR_STATUS : Steps_1.FINISH_STATUS);
|
|
108
|
+
newStepsState[nextStep].status = Steps_1.ACTIVE_STATUS;
|
|
109
|
+
return newStepsState;
|
|
110
|
+
};
|
|
111
|
+
exports.getModifiedSteps = getModifiedSteps;
|
package/ui/form/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import BlankField from './BlankField';
|
|
|
4
4
|
import Button from './Button';
|
|
5
5
|
import CheckboxField from './CheckboxField';
|
|
6
6
|
import CheckboxListField from './CheckboxListField';
|
|
7
|
+
import CheckboxTreeField from './CheckboxTreeField';
|
|
7
8
|
import DateField from './DateField';
|
|
8
9
|
import DateRangeField from './DateRangeField';
|
|
9
10
|
import DateTimeField from './DateTimeField';
|
|
@@ -30,13 +31,14 @@ import TimeField from './TimeField';
|
|
|
30
31
|
import RateField from './RateField';
|
|
31
32
|
import MaskField from './MaskField';
|
|
32
33
|
import EmailField from './EmailField';
|
|
33
|
-
export { AutoCompleteField, BlankField, Button, CheckboxField, CheckboxListField, DateField, DateRangeField, DateTimeField, DateTimeRangeField, DropDownField, Field, FieldLayout, FieldList, FieldSet, FileField, Form, HtmlField, InputField, NavField, NumberField, PasswordField, RadioField, RadioListField, ReCaptchaField, SliderField, SwitcherField, TextField, TimeField, RateField, MaskField, EmailField, };
|
|
34
|
+
export { AutoCompleteField, BlankField, Button, CheckboxField, CheckboxListField, CheckboxTreeField, DateField, DateRangeField, DateTimeField, DateTimeRangeField, DropDownField, Field, FieldLayout, FieldList, FieldSet, FileField, Form, HtmlField, InputField, NavField, NumberField, PasswordField, RadioField, RadioListField, ReCaptchaField, SliderField, SwitcherField, TextField, TimeField, RateField, MaskField, EmailField, };
|
|
34
35
|
declare const _default: {
|
|
35
36
|
AutoCompleteField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./AutoCompleteField/AutoCompleteField").IAutoCompleteFieldProps>;
|
|
36
37
|
BlankField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./BlankField/BlankField").IBlankFieldProps>;
|
|
37
38
|
Button: typeof Button;
|
|
38
39
|
CheckboxField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./CheckboxField/CheckboxField").ICheckboxFieldProps>;
|
|
39
40
|
CheckboxListField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./CheckboxListField/CheckboxListField").ICheckboxListFieldProps>;
|
|
41
|
+
CheckboxTreeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./CheckboxTreeField/CheckboxTreeField").ICheckboxTreeFieldProps>;
|
|
40
42
|
DateField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateField/DateField").IDateFieldProps>;
|
|
41
43
|
DateRangeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateRangeField/DateRangeField").IDateRangeFieldProps>;
|
|
42
44
|
DateTimeField: import("./Field/fieldWrapper").FieldWrapperComponent<import("./DateTimeField/DateTimeField").IDateTimeFieldProps>;
|
package/ui/form/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.EmailField = exports.MaskField = exports.RateField = exports.TimeField = exports.TextField = exports.SwitcherField = exports.SliderField = exports.ReCaptchaField = exports.RadioListField = exports.RadioField = exports.PasswordField = exports.NumberField = exports.NavField = exports.InputField = exports.HtmlField = exports.Form = exports.FileField = exports.FieldSet = exports.FieldList = exports.FieldLayout = exports.Field = exports.DropDownField = exports.DateTimeRangeField = exports.DateTimeField = exports.DateRangeField = exports.DateField = exports.CheckboxListField = exports.CheckboxField = exports.Button = exports.BlankField = exports.AutoCompleteField = void 0;
|
|
6
|
+
exports.EmailField = exports.MaskField = exports.RateField = exports.TimeField = exports.TextField = exports.SwitcherField = exports.SliderField = exports.ReCaptchaField = exports.RadioListField = exports.RadioField = exports.PasswordField = exports.NumberField = exports.NavField = exports.InputField = exports.HtmlField = exports.Form = exports.FileField = exports.FieldSet = exports.FieldList = exports.FieldLayout = exports.Field = exports.DropDownField = exports.DateTimeRangeField = exports.DateTimeField = exports.DateRangeField = exports.DateField = exports.CheckboxTreeField = exports.CheckboxListField = exports.CheckboxField = exports.Button = exports.BlankField = exports.AutoCompleteField = void 0;
|
|
7
7
|
var AutoCompleteField_1 = __importDefault(require("./AutoCompleteField"));
|
|
8
8
|
exports.AutoCompleteField = AutoCompleteField_1["default"];
|
|
9
9
|
var BlankField_1 = __importDefault(require("./BlankField"));
|
|
@@ -14,6 +14,8 @@ var CheckboxField_1 = __importDefault(require("./CheckboxField"));
|
|
|
14
14
|
exports.CheckboxField = CheckboxField_1["default"];
|
|
15
15
|
var CheckboxListField_1 = __importDefault(require("./CheckboxListField"));
|
|
16
16
|
exports.CheckboxListField = CheckboxListField_1["default"];
|
|
17
|
+
var CheckboxTreeField_1 = __importDefault(require("./CheckboxTreeField"));
|
|
18
|
+
exports.CheckboxTreeField = CheckboxTreeField_1["default"];
|
|
17
19
|
var DateField_1 = __importDefault(require("./DateField"));
|
|
18
20
|
exports.DateField = DateField_1["default"];
|
|
19
21
|
var DateRangeField_1 = __importDefault(require("./DateRangeField"));
|
|
@@ -72,6 +74,7 @@ exports["default"] = {
|
|
|
72
74
|
Button: Button_1["default"],
|
|
73
75
|
CheckboxField: CheckboxField_1["default"],
|
|
74
76
|
CheckboxListField: CheckboxListField_1["default"],
|
|
77
|
+
CheckboxTreeField: CheckboxTreeField_1["default"],
|
|
75
78
|
DateField: DateField_1["default"],
|
|
76
79
|
DateRangeField: DateRangeField_1["default"],
|
|
77
80
|
DateTimeField: DateTimeField_1["default"],
|
|
@@ -47,9 +47,15 @@ function ProgressBar(props) {
|
|
|
47
47
|
return props.label(props.percent);
|
|
48
48
|
});
|
|
49
49
|
if (props.type === 'line') {
|
|
50
|
-
return components.ui.renderView('layout.LineProgressBarView', { percent: props.percent,
|
|
50
|
+
return components.ui.renderView('layout.LineProgressBarView', { percent: props.percent,
|
|
51
|
+
status: props.status,
|
|
52
|
+
size: props.size,
|
|
53
|
+
label: getLabel() });
|
|
51
54
|
}
|
|
52
|
-
return components.ui.renderView('layout.CircleProgressBarView', { percent: props.percent,
|
|
55
|
+
return components.ui.renderView('layout.CircleProgressBarView', { percent: props.percent,
|
|
56
|
+
status: props.status,
|
|
57
|
+
size: props.size,
|
|
58
|
+
label: getLabel() });
|
|
53
59
|
}
|
|
54
60
|
ProgressBar.defaultProps = {
|
|
55
61
|
status: 'normal',
|
|
@@ -8,7 +8,9 @@ export interface ISkeletonViewProps {
|
|
|
8
8
|
width?: string | number;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Skeleton
|
|
12
|
+
*
|
|
13
|
+
* Компонент `Skeleton` представляет собой заглушку для отображения временных данных
|
|
12
14
|
* во время загрузки или ожидания загрузки реальных данных.
|
|
13
15
|
**/
|
|
14
16
|
export interface ISkeletonProps {
|
|
@@ -8,7 +8,7 @@ export interface IControlsColumnItem extends IButtonProps {
|
|
|
8
8
|
/**
|
|
9
9
|
* ControlsColumn
|
|
10
10
|
*
|
|
11
|
-
* Компонент ControlsColumn предоставляет колонку с контролами.
|
|
11
|
+
* Компонент `ControlsColumn` предоставляет колонку с контролами.
|
|
12
12
|
**/
|
|
13
13
|
export interface IControlsColumnProps {
|
|
14
14
|
/**
|
|
@@ -17,13 +17,27 @@ export interface IControlsColumnProps {
|
|
|
17
17
|
primaryKey?: string;
|
|
18
18
|
/**
|
|
19
19
|
* Коллекция с контролами
|
|
20
|
-
* @example
|
|
20
|
+
* @example
|
|
21
|
+
* [
|
|
22
|
+
* {
|
|
23
|
+
* id: 'delete'
|
|
24
|
+
* },
|
|
25
|
+
* {
|
|
26
|
+
* id: 'view',
|
|
27
|
+
* position: 'left'
|
|
28
|
+
* }
|
|
29
|
+
* ]
|
|
21
30
|
*/
|
|
22
31
|
controls?: IControlItem[] | ((item: any, primaryKey: string) => IControlItem[]);
|
|
23
32
|
/**
|
|
24
33
|
* Элемент, для которого будет отображаться список с контролами, в нём можно задать видимость контрола
|
|
25
34
|
* с помощью свойства 'can' + _upperFirst(control.id)
|
|
26
|
-
* @example
|
|
35
|
+
* @example
|
|
36
|
+
* {
|
|
37
|
+
* name: 'Ivan',
|
|
38
|
+
* work: 'development',
|
|
39
|
+
* canView: false
|
|
40
|
+
* }
|
|
27
41
|
*/
|
|
28
42
|
item?: any;
|
|
29
43
|
/**
|
|
@@ -36,7 +36,17 @@ export interface IFlexGridItem {
|
|
|
36
36
|
export interface IFlexGridProps extends IUiComponent {
|
|
37
37
|
/**
|
|
38
38
|
* Элементы FlexGrid
|
|
39
|
-
* @example
|
|
39
|
+
* @example
|
|
40
|
+
* [
|
|
41
|
+
* {
|
|
42
|
+
* content: 'Block1',
|
|
43
|
+
* col: 4
|
|
44
|
+
* },
|
|
45
|
+
* {
|
|
46
|
+
* content: 'Block2',
|
|
47
|
+
* col: 6
|
|
48
|
+
* }
|
|
49
|
+
* ]
|
|
40
50
|
*/
|
|
41
51
|
items?: IFlexGridItem[];
|
|
42
52
|
/**
|
package/ui/list/Grid/Grid.d.ts
CHANGED
|
@@ -18,7 +18,11 @@ export interface IGridColumn {
|
|
|
18
18
|
attribute?: string;
|
|
19
19
|
/**
|
|
20
20
|
* Свойства для компонента форматирования
|
|
21
|
-
* @example
|
|
21
|
+
* @example
|
|
22
|
+
* {
|
|
23
|
+
* component: DateFormatter,
|
|
24
|
+
* format: 'DD MMMM'
|
|
25
|
+
* }
|
|
22
26
|
*/
|
|
23
27
|
formatter?: Record<string, any>;
|
|
24
28
|
/**
|
|
@@ -74,7 +78,12 @@ export interface IGridColumn {
|
|
|
74
78
|
subtitleAttribute?: string;
|
|
75
79
|
/**
|
|
76
80
|
* Параметры для ссылки в колонке
|
|
77
|
-
* @example
|
|
81
|
+
* @example
|
|
82
|
+
* {
|
|
83
|
+
* attribute: 'name',
|
|
84
|
+
* linkProps: {target: 'blank'},
|
|
85
|
+
* url: 'https://kozhindev.com'
|
|
86
|
+
* }
|
|
78
87
|
*/
|
|
79
88
|
link?: {
|
|
80
89
|
attribute: string;
|
|
@@ -83,7 +92,11 @@ export interface IGridColumn {
|
|
|
83
92
|
};
|
|
84
93
|
/**
|
|
85
94
|
* Параметры для иконки в колонке
|
|
86
|
-
* @example
|
|
95
|
+
* @example
|
|
96
|
+
* {
|
|
97
|
+
* attribute: 'icon',
|
|
98
|
+
* isLeft: true
|
|
99
|
+
* }
|
|
87
100
|
*/
|
|
88
101
|
icon?: {
|
|
89
102
|
attribute: string;
|
|
@@ -91,7 +104,11 @@ export interface IGridColumn {
|
|
|
91
104
|
};
|
|
92
105
|
/**
|
|
93
106
|
* Параметры для картинки в колонке
|
|
94
|
-
* @example
|
|
107
|
+
* @example
|
|
108
|
+
* {
|
|
109
|
+
* attribute: 'icon',
|
|
110
|
+
* isLeft: true
|
|
111
|
+
* }
|
|
95
112
|
*/
|
|
96
113
|
picture?: {
|
|
97
114
|
attribute: string;
|
|
@@ -122,13 +139,32 @@ export interface IGridProps extends IListConfig {
|
|
|
122
139
|
view?: CustomView;
|
|
123
140
|
/**
|
|
124
141
|
* Коллекция с наименованиями и свойствами колонок в таблице
|
|
125
|
-
* @example
|
|
142
|
+
* @example
|
|
143
|
+
* [
|
|
144
|
+
* {
|
|
145
|
+
* label: 'Name',
|
|
146
|
+
* attribute: 'name'
|
|
147
|
+
* },
|
|
148
|
+
* {
|
|
149
|
+
* label: 'Work',
|
|
150
|
+
* attribute: 'work'
|
|
151
|
+
* }
|
|
152
|
+
* ]
|
|
126
153
|
*/
|
|
127
154
|
columns: (string | IGridColumn)[];
|
|
128
155
|
/**
|
|
129
156
|
* Коллекция с элементами управления. Данная коллекция отобразится в колонке рядом с каждой записью в таблице.
|
|
130
157
|
* Например, кнопки для удаления и детального просмотра записи.
|
|
131
|
-
* @example
|
|
158
|
+
* @example
|
|
159
|
+
* [
|
|
160
|
+
* {
|
|
161
|
+
* id: 'delete'
|
|
162
|
+
* },
|
|
163
|
+
* {
|
|
164
|
+
* id: 'view',
|
|
165
|
+
* position: 'left'
|
|
166
|
+
* }
|
|
167
|
+
* ]
|
|
132
168
|
*/
|
|
133
169
|
controls?: IControlItem[] | ((item: any, primaryKey: string) => IControlItem[]);
|
|
134
170
|
/**
|
package/ui/list/Grid/Grid.js
CHANGED
|
@@ -69,8 +69,7 @@ function Grid(props) {
|
|
|
69
69
|
items: props.items,
|
|
70
70
|
initialItems: props.initialItems,
|
|
71
71
|
initialTotal: props.initialTotal,
|
|
72
|
-
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
73
|
-
hasTreeItems: props.hasTreeItems
|
|
72
|
+
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
74
73
|
}), list = _a.list, model = _a.model, searchModel = _a.searchModel, paginationPosition = _a.paginationPosition, paginationSizePosition = _a.paginationSizePosition, layoutNamesPosition = _a.layoutNamesPosition, renderList = _a.renderList, renderEmpty = _a.renderEmpty, renderPagination = _a.renderPagination, renderPaginationSize = _a.renderPaginationSize, renderLayoutNames = _a.renderLayoutNames, renderSearchForm = _a.renderSearchForm, onFetch = _a.onFetch, onSort = _a.onSort;
|
|
75
74
|
var renderLabel = (0, react_1.useCallback)(function (column) {
|
|
76
75
|
if (column.headerView) {
|
|
@@ -34,7 +34,17 @@ export interface ILayoutNamesProps {
|
|
|
34
34
|
position?: ListControlPosition;
|
|
35
35
|
/**
|
|
36
36
|
* Коллекция с шаблонами
|
|
37
|
-
* @example
|
|
37
|
+
* @example
|
|
38
|
+
* [
|
|
39
|
+
* {
|
|
40
|
+
* id: 'list',
|
|
41
|
+
* label: 'List'
|
|
42
|
+
* },
|
|
43
|
+
* {
|
|
44
|
+
* id: 'grid',
|
|
45
|
+
* label: 'Grid'
|
|
46
|
+
* }
|
|
47
|
+
* ]
|
|
38
48
|
*/
|
|
39
49
|
items?: INavItem[];
|
|
40
50
|
/**
|
package/ui/list/Steps/Steps.d.ts
CHANGED
|
@@ -2,34 +2,46 @@ import React from 'react';
|
|
|
2
2
|
/**
|
|
3
3
|
* Компонент Steps предоставляет шаги для выполнения определенного процесса.
|
|
4
4
|
**/
|
|
5
|
-
interface IStepsProps {
|
|
6
|
-
stepItems: IStepItem[];
|
|
5
|
+
export interface IStepsProps extends IUiComponent {
|
|
6
|
+
stepItems: number | IStepItem[];
|
|
7
7
|
currentStep: number;
|
|
8
8
|
isChangeable?: boolean;
|
|
9
|
-
className?: CssClassName;
|
|
10
9
|
onChange?: (index: number) => void;
|
|
10
|
+
showDivider?: boolean;
|
|
11
|
+
stepTitleOrientation?: Orientation;
|
|
12
|
+
stepItemView?: React.ReactNode;
|
|
11
13
|
}
|
|
12
14
|
export interface IStepsViewProps {
|
|
13
15
|
className?: CssClassName;
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
}
|
|
16
|
-
export interface IStepItemViewProps {
|
|
18
|
+
export interface IStepItemViewProps extends Pick<IStepsProps, 'showDivider' | 'stepTitleOrientation' | 'onChange'>, IUiComponent {
|
|
17
19
|
stepItem: IStepItem;
|
|
18
|
-
className?: CssClassName;
|
|
19
20
|
index: number;
|
|
20
21
|
status: string;
|
|
21
22
|
disabled: boolean;
|
|
22
|
-
|
|
23
|
+
showDivider?: boolean;
|
|
23
24
|
}
|
|
24
25
|
export interface IStepItem {
|
|
26
|
+
id: number;
|
|
25
27
|
title?: string;
|
|
26
28
|
subtitle?: string;
|
|
27
29
|
description?: string;
|
|
30
|
+
status?: string;
|
|
28
31
|
icon?: string | React.ReactNode;
|
|
29
32
|
isError?: boolean;
|
|
30
33
|
}
|
|
34
|
+
export declare const ERROR_STATUS = "error";
|
|
35
|
+
export declare const WAIT_STATUS = "wait";
|
|
36
|
+
export declare const ACTIVE_STATUS = "active";
|
|
37
|
+
export declare const FINISH_STATUS = "finish";
|
|
38
|
+
export declare const HORIZONTAL_STEP_LAYOUT = "horizontal";
|
|
39
|
+
export declare const VERTICAL_STEP_LAYOUT = "vertical";
|
|
31
40
|
declare function Steps(props: IStepsProps): JSX.Element;
|
|
32
41
|
declare namespace Steps {
|
|
33
|
-
var defaultProps: {
|
|
42
|
+
var defaultProps: {
|
|
43
|
+
showDivider: boolean;
|
|
44
|
+
stepTitleOrientation: string;
|
|
45
|
+
};
|
|
34
46
|
}
|
|
35
47
|
export default Steps;
|
package/ui/list/Steps/Steps.js
CHANGED
|
@@ -1,38 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
exports.__esModule = true;
|
|
6
|
+
exports.VERTICAL_STEP_LAYOUT = exports.HORIZONTAL_STEP_LAYOUT = exports.FINISH_STATUS = exports.ACTIVE_STATUS = exports.WAIT_STATUS = exports.ERROR_STATUS = void 0;
|
|
3
7
|
var react_1 = require("react");
|
|
8
|
+
var range_1 = __importDefault(require("lodash-es/range"));
|
|
4
9
|
var hooks_1 = require("../../../hooks");
|
|
10
|
+
exports.ERROR_STATUS = 'error';
|
|
11
|
+
exports.WAIT_STATUS = 'wait';
|
|
12
|
+
exports.ACTIVE_STATUS = 'active';
|
|
13
|
+
exports.FINISH_STATUS = 'finish';
|
|
14
|
+
exports.HORIZONTAL_STEP_LAYOUT = 'horizontal';
|
|
15
|
+
exports.VERTICAL_STEP_LAYOUT = 'vertical';
|
|
16
|
+
var getStepStatus = function (index, stepItem, currentStep) {
|
|
17
|
+
if (stepItem.isError) {
|
|
18
|
+
return exports.ERROR_STATUS;
|
|
19
|
+
}
|
|
20
|
+
if (currentStep < index) {
|
|
21
|
+
return exports.WAIT_STATUS;
|
|
22
|
+
}
|
|
23
|
+
if (currentStep === index) {
|
|
24
|
+
return exports.ACTIVE_STATUS;
|
|
25
|
+
}
|
|
26
|
+
return exports.FINISH_STATUS;
|
|
27
|
+
};
|
|
5
28
|
function Steps(props) {
|
|
29
|
+
var components = (0, hooks_1.useComponents)();
|
|
6
30
|
var _a = (0, react_1.useState)(false), isChangeable = _a[0], setIsChangeable = _a[1];
|
|
7
31
|
(0, react_1.useEffect)(function () { return setIsChangeable(props.isChangeable); }, [props.isChangeable]);
|
|
8
|
-
function
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
32
|
+
var toStep = (0, react_1.useCallback)(function (stepItem, index) { return components.ui.renderView(props.stepItemView || 'list.StepItemView', {
|
|
33
|
+
key: stepItem.id,
|
|
34
|
+
stepItem: stepItem,
|
|
35
|
+
index: index + 1,
|
|
36
|
+
status: (stepItem === null || stepItem === void 0 ? void 0 : stepItem.status) || getStepStatus(index, stepItem, props.currentStep),
|
|
37
|
+
disabled: !isChangeable,
|
|
38
|
+
showDivider: props.showDivider,
|
|
39
|
+
stepTitleOrientation: props.stepTitleOrientation,
|
|
40
|
+
onChange: function () {
|
|
41
|
+
if (isChangeable) {
|
|
42
|
+
props.onChange(index);
|
|
43
|
+
}
|
|
17
44
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return (0, hooks_1.useComponents)().ui.renderView('list.StepsView', {
|
|
45
|
+
}); }, [components.ui, isChangeable, props]);
|
|
46
|
+
return components.ui.renderView(props.view || 'list.StepsView', {
|
|
21
47
|
className: props.className,
|
|
22
|
-
children: props.stepItems
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
index: index + 1,
|
|
27
|
-
status: getStepStatus(index, stepItem),
|
|
28
|
-
disabled: !isChangeable,
|
|
29
|
-
onChange: function () {
|
|
30
|
-
if (isChangeable) {
|
|
31
|
-
props.onChange(index);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}); })
|
|
48
|
+
children: (Array.isArray(props.stepItems)
|
|
49
|
+
? props.stepItems
|
|
50
|
+
: (0, range_1["default"])(props.stepItems || 0))
|
|
51
|
+
.map(toStep)
|
|
35
52
|
});
|
|
36
53
|
}
|
|
37
|
-
Steps.defaultProps = {};
|
|
38
54
|
exports["default"] = Steps;
|
|
55
|
+
Steps.defaultProps = {
|
|
56
|
+
showDivider: true,
|
|
57
|
+
stepTitleOrientation: 'vertical'
|
|
58
|
+
};
|
|
@@ -1,39 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ITreeProps } from '@steroidsjs/core/ui/nav/Tree/Tree';
|
|
3
|
+
import { IPreparedTreeItem, ITreeItem } from '../../../hooks/useTree';
|
|
2
4
|
import { IColumnViewProps, IGridColumn, IGridProps } from '../Grid/Grid';
|
|
3
|
-
export interface ITreeColumnViewProps extends IColumnViewProps {
|
|
4
|
-
item:
|
|
5
|
-
onTreeItemClick?: (uniqueId: string, item: {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
}) => void;
|
|
8
|
-
[key: string]: any;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export interface ITreeTableItem {
|
|
12
|
-
/**
|
|
13
|
-
* Идентификатор узла
|
|
14
|
-
*/
|
|
15
|
-
id?: string | number;
|
|
16
|
-
/**
|
|
17
|
-
* Вложенные элементы
|
|
18
|
-
* @example items: [{id: 3, name: 'Ivan'}]
|
|
19
|
-
*/
|
|
20
|
-
items?: any[];
|
|
21
|
-
/**
|
|
22
|
-
* Уникальный идентификатор,
|
|
23
|
-
* используется для сохранения состояния открыта или закрыта ячейка
|
|
24
|
-
*/
|
|
25
|
-
uniqueId?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface ITreeTableProps extends Omit<IGridProps, 'items'> {
|
|
28
|
-
/**
|
|
29
|
-
* Элементы коллекции
|
|
30
|
-
* @example [{id: 1, name: 'Jane'}, {id: 2, name: 'John', items: [...]}]
|
|
31
|
-
*/
|
|
32
|
-
items?: ITreeTableItem[];
|
|
5
|
+
export interface ITreeColumnViewProps extends IColumnViewProps, Pick<ITreeTableProps, 'levelPadding' | 'customIcon'> {
|
|
6
|
+
item: IPreparedTreeItem;
|
|
33
7
|
}
|
|
34
|
-
export declare const addTreeColumnFieldsToFirstColumn: (columns: IGridColumn[]) => IGridColumn[];
|
|
35
8
|
/**
|
|
36
9
|
* TreeTable
|
|
10
|
+
*
|
|
37
11
|
* Компонент для представления данных коллекции в виде иерархической структуры.
|
|
38
12
|
*/
|
|
39
|
-
export
|
|
13
|
+
export interface ITreeTableProps extends Omit<IGridProps, 'items'>, Pick<ITreeProps, 'alwaysOpened' | 'levelPadding' | 'customIcon'> {
|
|
14
|
+
/**
|
|
15
|
+
* Элементы коллекции
|
|
16
|
+
* @example
|
|
17
|
+
* [
|
|
18
|
+
* {
|
|
19
|
+
* id: 1,
|
|
20
|
+
* name: 'Jane'
|
|
21
|
+
* },
|
|
22
|
+
* {
|
|
23
|
+
* id: 2,
|
|
24
|
+
* name: 'John',
|
|
25
|
+
* items: [...]
|
|
26
|
+
* }
|
|
27
|
+
* ]
|
|
28
|
+
*/
|
|
29
|
+
items?: ITreeItem[];
|
|
30
|
+
customIcon?: string | React.ReactElement;
|
|
31
|
+
}
|
|
32
|
+
export declare const addTreeColumnFieldsToFirstColumn: (columns: IGridColumn[], levelPadding: string | number, customIcon?: string | React.ReactElement) => IGridColumn[];
|
|
33
|
+
declare function TreeTable(props: ITreeTableProps): JSX.Element;
|
|
34
|
+
declare namespace TreeTable {
|
|
35
|
+
var defaultProps: {
|
|
36
|
+
levelPadding: number;
|
|
37
|
+
alwaysOpened: boolean;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export default TreeTable;
|
|
@@ -50,24 +50,35 @@ exports.addTreeColumnFieldsToFirstColumn = void 0;
|
|
|
50
50
|
var React = __importStar(require("react"));
|
|
51
51
|
var react_1 = require("react");
|
|
52
52
|
var merge_1 = __importDefault(require("lodash-es/merge"));
|
|
53
|
+
var list_1 = require("@steroidsjs/core/reducers/list");
|
|
54
|
+
var useTree_1 = __importDefault(require("../../../hooks/useTree"));
|
|
53
55
|
var Grid_1 = __importDefault(require("../Grid"));
|
|
56
|
+
var useSelector_1 = __importDefault(require("../../../hooks/useSelector"));
|
|
54
57
|
var TREE_COLUMN_VIEW_FIELDS = {
|
|
55
58
|
valueView: 'TreeColumnView',
|
|
56
59
|
headerClassName: 'TreeColumnHeader'
|
|
57
60
|
};
|
|
58
|
-
var addTreeColumnFieldsToFirstColumn = function (columns) {
|
|
61
|
+
var addTreeColumnFieldsToFirstColumn = function (columns, levelPadding, customIcon) {
|
|
59
62
|
var newColumns = __spreadArray([], columns, true);
|
|
60
63
|
// Add tree view to the first column
|
|
61
|
-
(0, merge_1["default"])(newColumns[0], TREE_COLUMN_VIEW_FIELDS);
|
|
64
|
+
(0, merge_1["default"])(newColumns[0], __assign(__assign({}, TREE_COLUMN_VIEW_FIELDS), { levelPadding: levelPadding, customIcon: customIcon }));
|
|
62
65
|
return newColumns;
|
|
63
66
|
};
|
|
64
67
|
exports.addTreeColumnFieldsToFirstColumn = addTreeColumnFieldsToFirstColumn;
|
|
65
|
-
/**
|
|
66
|
-
* TreeTable
|
|
67
|
-
* Компонент для представления данных коллекции в виде иерархической структуры.
|
|
68
|
-
*/
|
|
69
68
|
function TreeTable(props) {
|
|
70
|
-
var columns = (0, react_1.useMemo)(function () { return (0, exports.addTreeColumnFieldsToFirstColumn)(props.columns); }, [props.columns]);
|
|
71
|
-
|
|
69
|
+
var columns = (0, react_1.useMemo)(function () { return (0, exports.addTreeColumnFieldsToFirstColumn)(props.columns, props.levelPadding, props.customIcon); }, [props.columns, props.customIcon, props.levelPadding]);
|
|
70
|
+
var list = (0, useSelector_1["default"])(function (state) { return (0, list_1.getList)(state, props.listId); });
|
|
71
|
+
var treeItems = (0, useTree_1["default"])({
|
|
72
|
+
items: props.items,
|
|
73
|
+
autoOpenLevels: 0,
|
|
74
|
+
alwaysOpened: props.alwaysOpened,
|
|
75
|
+
currentPage: list === null || list === void 0 ? void 0 : list.page,
|
|
76
|
+
itemsOnPage: list === null || list === void 0 ? void 0 : list.pageSize
|
|
77
|
+
}).treeItems;
|
|
78
|
+
return (React.createElement(Grid_1["default"], __assign({}, props, { columns: columns, items: treeItems, itemsIndexing: false })));
|
|
72
79
|
}
|
|
73
80
|
exports["default"] = TreeTable;
|
|
81
|
+
TreeTable.defaultProps = {
|
|
82
|
+
levelPadding: 32,
|
|
83
|
+
alwaysOpened: false
|
|
84
|
+
};
|
|
@@ -21,7 +21,13 @@ export interface IModalProps {
|
|
|
21
21
|
componentProps?: any;
|
|
22
22
|
/**
|
|
23
23
|
* Коллекция кнопок, которая отобразится в нижней секции Modal
|
|
24
|
-
* @example
|
|
24
|
+
* @example
|
|
25
|
+
* [
|
|
26
|
+
* {
|
|
27
|
+
* label: __(('Закрыть')),
|
|
28
|
+
* onClick: () => props.onClose()
|
|
29
|
+
* }
|
|
30
|
+
* ]
|
|
25
31
|
*/
|
|
26
32
|
buttons?: IButtonProps[];
|
|
27
33
|
/**
|