@steroidsjs/core 3.0.51 → 3.0.53
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 +12 -2
- package/docs-autogen-result.json +48 -8
- package/hooks/useList.d.ts +1 -0
- package/hooks/useList.js +2 -1
- package/package.json +1 -1
- package/ui/form/DateField/DateField.js +3 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +1 -0
- package/ui/form/DateRangeField/DateRangeField.js +4 -3
- package/ui/form/DateTimeField/DateTimeField.js +3 -2
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -0
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +5 -4
- package/ui/form/DropDownField/DropDownField.d.ts +2 -1
- package/ui/form/DropDownField/DropDownField.js +14 -6
- package/ui/form/FieldList/FieldList.js +25 -3
- package/ui/form/TimeField/TimeField.js +1 -1
- package/ui/form/TimeRangeField/TimeRangeField.js +3 -3
- package/ui/list/Grid/Grid.js +4 -2
- package/ui/nav/Router/Router.js +3 -1
package/actions/notifications.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -22,9 +33,8 @@ var closeNotification = function (id) {
|
|
|
22
33
|
exports.closeNotification = closeNotification;
|
|
23
34
|
var showNotification = function (message, level, params) {
|
|
24
35
|
if (level === void 0) { level = null; }
|
|
25
|
-
if (params === void 0) { params = showNotificationDefaults; }
|
|
26
36
|
return function (dispatch) {
|
|
27
|
-
var _a = params, position = _a.position, timeOut = _a.timeOut;
|
|
37
|
+
var _a = __assign(__assign({}, showNotificationDefaults), params), position = _a.position, timeOut = _a.timeOut;
|
|
28
38
|
var id = (0, uniqueId_1["default"])();
|
|
29
39
|
dispatch({
|
|
30
40
|
type: exports.NOTIFICATIONS_SHOW,
|
package/docs-autogen-result.json
CHANGED
|
@@ -4143,6 +4143,14 @@
|
|
|
4143
4143
|
"required": true,
|
|
4144
4144
|
"type": "Model",
|
|
4145
4145
|
"example": null
|
|
4146
|
+
},
|
|
4147
|
+
{
|
|
4148
|
+
"name": "sort",
|
|
4149
|
+
"decorators": [],
|
|
4150
|
+
"description": "",
|
|
4151
|
+
"required": false,
|
|
4152
|
+
"type": "string",
|
|
4153
|
+
"example": null
|
|
4146
4154
|
}
|
|
4147
4155
|
],
|
|
4148
4156
|
"methods": [
|
|
@@ -17783,6 +17791,14 @@
|
|
|
17783
17791
|
"type": "string | boolean",
|
|
17784
17792
|
"example": "calendar-day"
|
|
17785
17793
|
},
|
|
17794
|
+
{
|
|
17795
|
+
"name": "id",
|
|
17796
|
+
"decorators": [],
|
|
17797
|
+
"description": "",
|
|
17798
|
+
"required": true,
|
|
17799
|
+
"type": "string",
|
|
17800
|
+
"example": null
|
|
17801
|
+
},
|
|
17786
17802
|
{
|
|
17787
17803
|
"name": "inputProps",
|
|
17788
17804
|
"decorators": [],
|
|
@@ -18519,6 +18535,14 @@
|
|
|
18519
18535
|
"type": "string | boolean",
|
|
18520
18536
|
"example": "calendar-day"
|
|
18521
18537
|
},
|
|
18538
|
+
{
|
|
18539
|
+
"name": "id",
|
|
18540
|
+
"decorators": [],
|
|
18541
|
+
"description": "",
|
|
18542
|
+
"required": true,
|
|
18543
|
+
"type": "string",
|
|
18544
|
+
"example": null
|
|
18545
|
+
},
|
|
18522
18546
|
{
|
|
18523
18547
|
"name": "inputProps",
|
|
18524
18548
|
"decorators": [],
|
|
@@ -19435,6 +19459,14 @@
|
|
|
19435
19459
|
"type": "boolean | IAutoCompleteConfig",
|
|
19436
19460
|
"example": "{\n enable: true,\n minLength: 2,\n delay: 100\n}"
|
|
19437
19461
|
},
|
|
19462
|
+
{
|
|
19463
|
+
"name": "autoCompleteInputForwardedRef",
|
|
19464
|
+
"decorators": [],
|
|
19465
|
+
"description": "",
|
|
19466
|
+
"required": true,
|
|
19467
|
+
"type": "MutableRefObject",
|
|
19468
|
+
"example": null
|
|
19469
|
+
},
|
|
19438
19470
|
{
|
|
19439
19471
|
"name": "autoCompleteInputRef",
|
|
19440
19472
|
"decorators": [],
|
|
@@ -19507,14 +19539,6 @@
|
|
|
19507
19539
|
"type": "string",
|
|
19508
19540
|
"example": null
|
|
19509
19541
|
},
|
|
19510
|
-
{
|
|
19511
|
-
"name": "forwardedInputRef",
|
|
19512
|
-
"decorators": [],
|
|
19513
|
-
"description": "",
|
|
19514
|
-
"required": true,
|
|
19515
|
-
"type": "MutableRefObject",
|
|
19516
|
-
"example": null
|
|
19517
|
-
},
|
|
19518
19542
|
{
|
|
19519
19543
|
"name": "forwardedRef",
|
|
19520
19544
|
"decorators": [],
|
|
@@ -19563,6 +19587,14 @@
|
|
|
19563
19587
|
"type": "any",
|
|
19564
19588
|
"example": null
|
|
19565
19589
|
},
|
|
19590
|
+
{
|
|
19591
|
+
"name": "inputRef",
|
|
19592
|
+
"decorators": [],
|
|
19593
|
+
"description": "",
|
|
19594
|
+
"required": true,
|
|
19595
|
+
"type": "MutableRefObject",
|
|
19596
|
+
"example": null
|
|
19597
|
+
},
|
|
19566
19598
|
{
|
|
19567
19599
|
"name": "inputValue",
|
|
19568
19600
|
"decorators": [],
|
|
@@ -36517,6 +36549,14 @@
|
|
|
36517
36549
|
"required": true,
|
|
36518
36550
|
"type": "Model",
|
|
36519
36551
|
"example": null
|
|
36552
|
+
},
|
|
36553
|
+
{
|
|
36554
|
+
"name": "sort",
|
|
36555
|
+
"decorators": [],
|
|
36556
|
+
"description": "",
|
|
36557
|
+
"required": false,
|
|
36558
|
+
"type": "string",
|
|
36559
|
+
"example": null
|
|
36520
36560
|
}
|
|
36521
36561
|
],
|
|
36522
36562
|
"methods": [
|
package/hooks/useList.d.ts
CHANGED
package/hooks/useList.js
CHANGED
|
@@ -310,7 +310,8 @@ function useList(config) {
|
|
|
310
310
|
renderSearchForm: renderSearchForm,
|
|
311
311
|
renderInfiniteScroll: renderInfiniteScroll,
|
|
312
312
|
onFetch: onFetch,
|
|
313
|
-
onSort: onSort
|
|
313
|
+
onSort: onSort,
|
|
314
|
+
sort: formValues === null || formValues === void 0 ? void 0 : formValues.sort
|
|
314
315
|
};
|
|
315
316
|
}
|
|
316
317
|
exports["default"] = useList;
|
package/package.json
CHANGED
|
@@ -39,8 +39,9 @@ function DateField(props) {
|
|
|
39
39
|
}), onClear = _a.onClear, onClose = _a.onClose, isOpened = _a.isOpened, inputProps = _a.inputProps;
|
|
40
40
|
// Calendar props
|
|
41
41
|
var calendarProps = (0, react_1.useMemo)(function () { return (__assign({ value: props.input.value, onChange: props.input.onChange, valueFormat: props.valueFormat }, props.calendarProps)); }, [props.calendarProps, props.input.onChange, props.input.value, props.valueFormat]);
|
|
42
|
-
var viewProps = (0, react_1.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 })); }, [
|
|
43
|
-
props.
|
|
42
|
+
var viewProps = (0, react_1.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 })); }, [props.viewProps, props.size, props.icon, props.errors, props.label, props.disabled,
|
|
43
|
+
props.className, props.showRemove, props.style, props.autoPositioning, props.id,
|
|
44
|
+
calendarProps, onClear, onClose, isOpened, inputProps, maskInputRef]);
|
|
44
45
|
return components.ui.renderView(props.view || 'form.DateFieldView', viewProps);
|
|
45
46
|
}
|
|
46
47
|
DateField.defaultProps = {
|
|
@@ -107,6 +107,7 @@ export interface IDateRangeFieldViewProps extends IDateInputStateOutput, Omit<IF
|
|
|
107
107
|
* Ref для input элемента, который накладывает маску на поле to
|
|
108
108
|
*/
|
|
109
109
|
maskInputFromTo?: React.RefCallback<HTMLElement>;
|
|
110
|
+
id: string;
|
|
110
111
|
}
|
|
111
112
|
declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateRangeFieldProps>;
|
|
112
113
|
export default _default;
|
|
@@ -118,9 +118,10 @@ function DateRangeField(props) {
|
|
|
118
118
|
inputPropsTo: extendedInputPropsTo,
|
|
119
119
|
inputPropsFrom: extendedInputPropsFrom,
|
|
120
120
|
isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo,
|
|
121
|
-
style: props.style
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
style: props.style,
|
|
122
|
+
id: props.id
|
|
123
|
+
}); }, [calendarProps, extendedInputPropsFrom, extendedInputPropsTo, focus, isOpenedFrom, isOpenedTo, onClear, onClose,
|
|
124
|
+
props.className, props.disabled, props.errorsFrom, props.errorsTo, props.icon, props.id, props.showRemove, props.size, props.style]);
|
|
124
125
|
return components.ui.renderView(props.view || 'form.DateRangeFieldView', viewProps);
|
|
125
126
|
}
|
|
126
127
|
DateRangeField.defaultProps = {
|
|
@@ -75,9 +75,10 @@ function DateTimeField(props) {
|
|
|
75
75
|
className: props.className,
|
|
76
76
|
showRemove: props.showRemove,
|
|
77
77
|
disabled: props.disabled,
|
|
78
|
-
style: props.style
|
|
78
|
+
style: props.style,
|
|
79
|
+
id: props.id
|
|
79
80
|
}); }, [calendarProps, inputProps, isOpened, maskInputRef, onClear, onClose, props.className, props.disabled, props.errors, props.icon,
|
|
80
|
-
props.placeholder, props.showRemove, props.size, props.style, timePanelViewProps]);
|
|
81
|
+
props.id, props.placeholder, props.showRemove, props.size, props.style, timePanelViewProps]);
|
|
81
82
|
return components.ui.renderView(props.view || 'form.DateTimeFieldView', viewProps);
|
|
82
83
|
}
|
|
83
84
|
DateTimeField.defaultProps = {
|
|
@@ -76,6 +76,7 @@ export interface IDateTimeRangeFieldViewProps extends IDateInputStateOutput, Omi
|
|
|
76
76
|
inputPropsTo?: any;
|
|
77
77
|
errorsFrom?: any;
|
|
78
78
|
errorsTo?: any;
|
|
79
|
+
id: string;
|
|
79
80
|
}
|
|
80
81
|
declare const _default: import("../../form/Field/fieldWrapper").FieldWrapperComponent<IDateTimeRangeFieldProps>;
|
|
81
82
|
export default _default;
|
|
@@ -156,10 +156,11 @@ function DateTimeRangeField(props) {
|
|
|
156
156
|
inputPropsFrom: extendedInputPropsFrom,
|
|
157
157
|
isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo,
|
|
158
158
|
disabled: props.disabled,
|
|
159
|
-
style: props.style
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
props.
|
|
159
|
+
style: props.style,
|
|
160
|
+
id: props.id
|
|
161
|
+
}); }, [calendarProps, extendedInputPropsFrom, extendedInputPropsTo, focus, isOpenedFrom,
|
|
162
|
+
isOpenedTo, onClear, onClose, props.className, props.disabled, props.errorsFrom,
|
|
163
|
+
props.errorsTo, props.icon, props.id, props.showRemove, props.size, props.style, timePanelViewProps]);
|
|
163
164
|
return components.ui.renderView(props.view || 'form.DateTimeRangeFieldView', viewProps);
|
|
164
165
|
}
|
|
165
166
|
DateTimeRangeField.defaultProps = {
|
|
@@ -165,7 +165,8 @@ export interface IDropDownFieldViewProps extends IDropDownFieldProps {
|
|
|
165
165
|
hoveredId: PrimaryKey | any;
|
|
166
166
|
selectedIds: (PrimaryKey | any)[];
|
|
167
167
|
forwardedRef: any;
|
|
168
|
-
|
|
168
|
+
autoCompleteInputForwardedRef: MutableRefObject<HTMLInputElement>;
|
|
169
|
+
inputRef: MutableRefObject<HTMLInputElement>;
|
|
169
170
|
searchInputProps: {
|
|
170
171
|
type: string;
|
|
171
172
|
name: string;
|
|
@@ -87,7 +87,8 @@ function DropDownField(props) {
|
|
|
87
87
|
var components = (0, hooks_1.useComponents)();
|
|
88
88
|
// Query state
|
|
89
89
|
var _a = (0, react_1.useState)(''), query = _a[0], setQuery = _a[1];
|
|
90
|
-
var
|
|
90
|
+
var autoCompleteInputForwardedRef = (0, react_1.useRef)(null);
|
|
91
|
+
var inputRef = (0, react_1.useRef)(null);
|
|
91
92
|
var hasGroup = !!props.groupAttribute;
|
|
92
93
|
var _b = react_1["default"].useState([]), selectedAccordionItems = _b[0], setSelectedAccordionItems = _b[1];
|
|
93
94
|
var normalizedItemToSelectAll = react_1["default"].useMemo(function () { return normalizeItemToSelectAll(props.itemToSelectAll); }, [props.itemToSelectAll]);
|
|
@@ -125,7 +126,7 @@ function DropDownField(props) {
|
|
|
125
126
|
items: items,
|
|
126
127
|
sourceItems: sourceItems,
|
|
127
128
|
inputValue: props.input.value,
|
|
128
|
-
autoCompleteInputRef:
|
|
129
|
+
autoCompleteInputRef: autoCompleteInputForwardedRef
|
|
129
130
|
}), isOpened = _d.isOpened, setIsOpened = _d.setIsOpened, setIsFocused = _d.setIsFocused, hoveredId = _d.hoveredId, setHoveredId = _d.setHoveredId, selectedIds = _d.selectedIds, setSelectedIds = _d.setSelectedIds, selectedItems = _d.selectedItems, setSelectedAll = _d.setSelectedAll, isSelectedAll = _d.isSelectedAll;
|
|
130
131
|
var onOpen = (0, react_1.useCallback)(function () {
|
|
131
132
|
setQuery('');
|
|
@@ -199,6 +200,13 @@ function DropDownField(props) {
|
|
|
199
200
|
onReset();
|
|
200
201
|
}
|
|
201
202
|
}, [onReset, prevInputValue, props.input.value, selectedIds.length]);
|
|
203
|
+
// Add required validation
|
|
204
|
+
(0, react_1.useEffect)(function () {
|
|
205
|
+
var _a;
|
|
206
|
+
var defaultValidity = __('Required Field');
|
|
207
|
+
var errorMessage = props.required && !selectedIds.length ? defaultValidity : '';
|
|
208
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.setCustomValidity(errorMessage);
|
|
209
|
+
}, [props.required, selectedIds.length]);
|
|
202
210
|
var renderItemView = function (item, type, src) { return components.ui.renderView(props.itemView || 'form.DropDownFieldItemView', {
|
|
203
211
|
item: __assign(__assign({}, item), { contentSrc: src, contentType: type }),
|
|
204
212
|
selectedIds: selectedIds,
|
|
@@ -216,7 +224,7 @@ function DropDownField(props) {
|
|
|
216
224
|
isItemToSelectAll: item.id === (normalizedItemToSelectAll === null || normalizedItemToSelectAll === void 0 ? void 0 : normalizedItemToSelectAll.id),
|
|
217
225
|
isSelectedAll: isSelectedAll
|
|
218
226
|
}); };
|
|
219
|
-
var renderItem = function (item) {
|
|
227
|
+
var renderItem = (0, react_1.useCallback)(function (item) {
|
|
220
228
|
if (hasGroup && Array.isArray(item[props.groupAttribute])) {
|
|
221
229
|
return renderItemView(item, 'group', item[props.groupAttribute]);
|
|
222
230
|
}
|
|
@@ -227,14 +235,14 @@ function DropDownField(props) {
|
|
|
227
235
|
return renderItemView(item, props.itemsContent.type, props.itemsContent.src);
|
|
228
236
|
}
|
|
229
237
|
return renderItemView(item, 'default', null);
|
|
230
|
-
};
|
|
231
|
-
var viewProps = (0, react_1.useMemo)(function () { return (__assign({ isAutoComplete: isAutoComplete, items: items, hoveredId: hoveredId, selectedIds: selectedIds, forwardedRef: forwardedRef,
|
|
238
|
+
}, [hasGroup, props.groupAttribute, props.itemsContent, renderItemView]);
|
|
239
|
+
var viewProps = (0, react_1.useMemo)(function () { return (__assign({ isAutoComplete: isAutoComplete, items: items, hoveredId: hoveredId, selectedIds: selectedIds, forwardedRef: forwardedRef, inputRef: inputRef, autoCompleteInputForwardedRef: autoCompleteInputForwardedRef, searchInputProps: searchInputProps, isOpened: isOpened, isLoading: isLoading, onOpen: onOpen, selectedItems: selectedItems,
|
|
232
240
|
// TODO onFocus
|
|
233
241
|
// TODO onBlur
|
|
234
242
|
onReset: onReset, onClose: onClose, renderItem: renderItem, onItemRemove: onItemRemove, hasGroup: hasGroup, multiple: props.multiple, isSearchAutoFocus: props.isSearchAutoFocus, itemToSelectAll: normalizedItemToSelectAll, className: props.className, viewProps: props.viewProps, style: props.style, size: props.size, color: props.color, outline: props.outline, placeholder: props.placeholder, showReset: props.showReset, showEllipses: props.showEllipses, errors: props.errors, disabled: props.disabled }, dataProvider)); }, [isAutoComplete, items, hoveredId, selectedIds, searchInputProps, isOpened, isLoading, onOpen, selectedItems, onReset, onClose,
|
|
235
243
|
renderItem, onItemRemove, hasGroup, props.multiple, props.isSearchAutoFocus, props.className, props.viewProps, props.style, props.size,
|
|
236
244
|
props.color, props.outline, props.placeholder, props.showReset, props.showEllipses, props.errors, props.disabled,
|
|
237
|
-
normalizedItemToSelectAll, dataProvider]);
|
|
245
|
+
normalizedItemToSelectAll, dataProvider, inputRef, autoCompleteInputForwardedRef, forwardedRef]);
|
|
238
246
|
return components.ui.renderView(props.view || 'form.DropDownFieldView', viewProps);
|
|
239
247
|
}
|
|
240
248
|
DropDownField.defaultProps = {
|
|
@@ -33,6 +33,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
+
if (ar || !(i in from)) {
|
|
39
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
+
ar[i] = from[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
+
};
|
|
36
45
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
46
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
47
|
};
|
|
@@ -40,6 +49,8 @@ exports.__esModule = true;
|
|
|
40
49
|
var react_1 = __importStar(require("react"));
|
|
41
50
|
var isBoolean_1 = __importDefault(require("lodash-es/isBoolean"));
|
|
42
51
|
var range_1 = __importDefault(require("lodash-es/range"));
|
|
52
|
+
var concat_1 = __importDefault(require("lodash-es/concat"));
|
|
53
|
+
var last_1 = __importDefault(require("lodash-es/last"));
|
|
43
54
|
var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
|
|
44
55
|
var get_1 = __importDefault(require("lodash-es/get"));
|
|
45
56
|
var react_use_1 = require("react-use");
|
|
@@ -57,15 +68,26 @@ function FieldList(props) {
|
|
|
57
68
|
var isWithReduxForm = (0, hooks_1.useSelector)(function (state) { return (0, get_1["default"])(state, ['form', context.formId]) || null; });
|
|
58
69
|
var dispatch = context.provider.useDispatch();
|
|
59
70
|
// Mapper for preserving the correct sequence of rows on the UI
|
|
60
|
-
var
|
|
71
|
+
var _b = (0, react_1.useState)((0, range_1["default"])(props.input.value) || []), storeToRowIndexMap = _b[0], setStoreToRowIndexMap = _b[1];
|
|
72
|
+
var addRowIndexes = (0, react_1.useCallback)(function (rowsCount) {
|
|
73
|
+
setStoreToRowIndexMap(function (prevMap) {
|
|
74
|
+
var lastIndex = !(0, isEmpty_1["default"])(prevMap) ? (0, last_1["default"])(prevMap) + 1 : 0;
|
|
75
|
+
return (0, concat_1["default"])(prevMap, (0, range_1["default"])(lastIndex, lastIndex + rowsCount));
|
|
76
|
+
});
|
|
77
|
+
}, []);
|
|
78
|
+
var removeRowIndex = (0, react_1.useCallback)(function (rowIndex) {
|
|
79
|
+
setStoreToRowIndexMap(function (prevMap) { return __spreadArray(__spreadArray([], prevMap.slice(0, rowIndex), true), prevMap.slice(rowIndex + 1), true); });
|
|
80
|
+
}, []);
|
|
61
81
|
// Add and Remove handlers
|
|
62
82
|
var onAdd = (0, react_1.useCallback)(function (rowsCount) {
|
|
63
83
|
if (rowsCount === void 0) { rowsCount = 1; }
|
|
84
|
+
addRowIndexes(rowsCount);
|
|
64
85
|
dispatch((0, form_1.formArrayAdd)(context.formId, props.input.name, rowsCount, props.initialValues));
|
|
65
|
-
}, [context.formId, dispatch, props.initialValues, props.input.name]);
|
|
86
|
+
}, [addRowIndexes, context.formId, dispatch, props.initialValues, props.input.name]);
|
|
66
87
|
var onRemove = (0, react_1.useCallback)(function (rowIndex) {
|
|
88
|
+
removeRowIndex(rowIndex);
|
|
67
89
|
dispatch((0, form_1.formArrayRemove)(context.formId, props.input.name, rowIndex));
|
|
68
|
-
}, [context.formId, dispatch, props.input.name]);
|
|
90
|
+
}, [context.formId, dispatch, props.input.name, removeRowIndex]);
|
|
69
91
|
(0, react_use_1.useMount)(function () {
|
|
70
92
|
// Add initial rows
|
|
71
93
|
if (!props.input.value) {
|
|
@@ -33,7 +33,7 @@ function TimeField(props) {
|
|
|
33
33
|
dateInUTC: props.dateInUTC
|
|
34
34
|
}), onNow = _a.onNow, onClear = _a.onClear, onClose = _a.onClose, isOpened = _a.isOpened, inputProps = _a.inputProps;
|
|
35
35
|
var timePanelViewProps = (0, react_1.useMemo)(function () { return (__assign({ onNow: onNow, onClose: onClose, value: inputProps.value, onSelect: inputProps.onChange }, props.timePanelViewProps)); }, [inputProps.onChange, inputProps.value, onClose, onNow, props.timePanelViewProps]);
|
|
36
|
-
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { onNow: onNow, onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, timePanelViewProps: timePanelViewProps, size: props.size, icon: props.icon, errors: props.errors, noBorder: props.noBorder, disabled: props.disabled, className: props.className, style: props.style, showRemove: props.showRemove })); }, [inputProps, isOpened, onClear, onClose, onNow, props.className, props.disabled, props.errors, props.icon, props.noBorder,
|
|
36
|
+
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { onNow: onNow, onClear: onClear, onClose: onClose, isOpened: isOpened, inputProps: inputProps, timePanelViewProps: timePanelViewProps, size: props.size, icon: props.icon, errors: props.errors, noBorder: props.noBorder, disabled: props.disabled, className: props.className, style: props.style, showRemove: props.showRemove, id: props.id })); }, [inputProps, isOpened, onClear, onClose, onNow, props.className, props.disabled, props.errors, props.icon, props.id, props.noBorder,
|
|
37
37
|
props.showRemove, props.size, props.style, props.viewProps, timePanelViewProps]);
|
|
38
38
|
return components.ui.renderView(props.view || 'form.TimeFieldView', viewProps);
|
|
39
39
|
}
|
|
@@ -71,9 +71,9 @@ function TimeRangeField(props) {
|
|
|
71
71
|
}), focus = _c.focus, onClose = _c.onClose, onClear = _c.onClear, extendedInputPropsFrom = _c.extendedInputPropsFrom, extendedInputPropsTo = _c.extendedInputPropsTo;
|
|
72
72
|
var timePanelFromViewProps = (0, react_1.useMemo)(function () { return (__assign({ onNow: onNowFrom, onClose: onCloseFrom, value: inputPropsFrom.value, onSelect: inputPropsFrom.onChange }, props.timePanelViewProps)); }, [inputPropsFrom.onChange, inputPropsFrom.value, onCloseFrom, onNowFrom, props.timePanelViewProps]);
|
|
73
73
|
var timePanelToViewProps = (0, react_1.useMemo)(function () { return (__assign({ onNow: onNowTo, onClose: onCloseTo, value: inputPropsTo.value, onSelect: inputPropsTo.onChange }, props.timePanelViewProps)); }, [inputPropsTo.onChange, inputPropsTo.value, onCloseTo, onNowTo, props.timePanelViewProps]);
|
|
74
|
-
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, inputPropsFrom: extendedInputPropsFrom, inputPropsTo: extendedInputPropsTo, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, style: props.style, errorsFrom: props.errorsFrom, errorsTo: props.errorsTo, errors: props.errors, timePanelFromViewProps: timePanelFromViewProps, timePanelToViewProps: timePanelToViewProps, size: props.size, icon: props.icon, disabled: props.disabled, showRemove: props.showRemove, className: props.className })); }, [extendedInputPropsFrom, extendedInputPropsTo, focus, isOpenedFrom, isOpenedTo, onClear, onClose, props.className,
|
|
75
|
-
props.disabled, props.errors, props.errorsFrom, props.errorsTo, props.icon, props.
|
|
76
|
-
props.viewProps, timePanelFromViewProps, timePanelToViewProps]);
|
|
74
|
+
var viewProps = (0, react_1.useMemo)(function () { return (__assign(__assign({}, props.viewProps), { onClear: onClear, onClose: onClose, inputPropsFrom: extendedInputPropsFrom, inputPropsTo: extendedInputPropsTo, isOpened: focus === 'from' ? isOpenedFrom : isOpenedTo, style: props.style, errorsFrom: props.errorsFrom, errorsTo: props.errorsTo, errors: props.errors, timePanelFromViewProps: timePanelFromViewProps, timePanelToViewProps: timePanelToViewProps, size: props.size, icon: props.icon, disabled: props.disabled, showRemove: props.showRemove, className: props.className, id: props.id })); }, [extendedInputPropsFrom, extendedInputPropsTo, focus, isOpenedFrom, isOpenedTo, onClear, onClose, props.className,
|
|
75
|
+
props.disabled, props.errors, props.errorsFrom, props.errorsTo, props.icon, props.id, props.showRemove, props.size,
|
|
76
|
+
props.style, props.viewProps, timePanelFromViewProps, timePanelToViewProps]);
|
|
77
77
|
return components.ui.renderView(props.view || 'form.TimeRangeFieldView', viewProps);
|
|
78
78
|
}
|
|
79
79
|
TimeRangeField.defaultProps = {
|
package/ui/list/Grid/Grid.js
CHANGED
|
@@ -70,7 +70,7 @@ function Grid(props) {
|
|
|
70
70
|
initialItems: props.initialItems,
|
|
71
71
|
initialTotal: props.initialTotal,
|
|
72
72
|
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
73
|
-
}), list = _a.list, model = _a.model, searchModel = _a.searchModel, paginationPosition = _a.paginationPosition, paginationSizePosition = _a.paginationSizePosition, layoutNamesPosition = _a.layoutNamesPosition, renderList = _a.renderList, renderLoading = _a.renderLoading, renderEmpty = _a.renderEmpty, renderPagination = _a.renderPagination, renderPaginationSize = _a.renderPaginationSize, renderLayoutNames = _a.renderLayoutNames, renderSearchForm = _a.renderSearchForm, renderInfiniteScroll = _a.renderInfiniteScroll, onFetch = _a.onFetch, onSort = _a.onSort;
|
|
73
|
+
}), list = _a.list, model = _a.model, searchModel = _a.searchModel, paginationPosition = _a.paginationPosition, paginationSizePosition = _a.paginationSizePosition, layoutNamesPosition = _a.layoutNamesPosition, renderList = _a.renderList, renderLoading = _a.renderLoading, renderEmpty = _a.renderEmpty, renderPagination = _a.renderPagination, renderPaginationSize = _a.renderPaginationSize, renderLayoutNames = _a.renderLayoutNames, renderSearchForm = _a.renderSearchForm, renderInfiniteScroll = _a.renderInfiniteScroll, onFetch = _a.onFetch, onSort = _a.onSort, sort = _a.sort;
|
|
74
74
|
var renderLabel = (0, react_1.useCallback)(function (column) {
|
|
75
75
|
if (column.headerView) {
|
|
76
76
|
var HeaderView = column.headerView;
|
|
@@ -136,6 +136,7 @@ function Grid(props) {
|
|
|
136
136
|
columns: columns,
|
|
137
137
|
onFetch: onFetch,
|
|
138
138
|
onSort: onSort,
|
|
139
|
+
sort: sort,
|
|
139
140
|
items: (list === null || list === void 0 ? void 0 : list.items) || [],
|
|
140
141
|
searchForm: props.searchForm,
|
|
141
142
|
listId: props.listId,
|
|
@@ -146,7 +147,8 @@ function Grid(props) {
|
|
|
146
147
|
primaryKey: props.primaryKey
|
|
147
148
|
}); }, [list, paginationPosition, paginationSizePosition, layoutNamesPosition, renderList, renderLoading, renderEmpty,
|
|
148
149
|
renderPagination, renderPaginationSize, renderLayoutNames, renderSearchForm, renderInfiniteScroll, renderValue, columns,
|
|
149
|
-
onFetch, onSort, props.searchForm, props.listId, props.isLoading, props.size, props.hasAlternatingColors, props.className,
|
|
150
|
+
onFetch, onSort, sort, props.searchForm, props.listId, props.isLoading, props.size, props.hasAlternatingColors, props.className,
|
|
151
|
+
props.primaryKey]);
|
|
150
152
|
return components.ui.renderView(props.view || 'list.GridView', viewProps);
|
|
151
153
|
}
|
|
152
154
|
exports["default"] = Grid;
|
package/ui/nav/Router/Router.js
CHANGED
|
@@ -69,7 +69,9 @@ var renderComponent = function (route, activePath, routeProps, alwaysAppendParen
|
|
|
69
69
|
return null;
|
|
70
70
|
}
|
|
71
71
|
// Check already redirected
|
|
72
|
-
var toPath = (
|
|
72
|
+
var toPath = (alwaysAppendParentRoutePath
|
|
73
|
+
? redirectPath
|
|
74
|
+
: (0, router_2.buildUrl)(redirectPath, (_b = routeProps === null || routeProps === void 0 ? void 0 : routeProps.match) === null || _b === void 0 ? void 0 : _b.params));
|
|
73
75
|
if (activePath !== toPath) {
|
|
74
76
|
return (react_1["default"].createElement(react_router_1.Redirect, __assign({}, routeProps, { to: toPath }, route.componentProps)));
|
|
75
77
|
}
|