@steroidsjs/core 3.0.16 → 3.0.18
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/docs-autogen-result.json +105 -6
- package/en.json +5 -3
- package/hooks/useList.d.ts +1 -0
- package/hooks/useList.js +9 -3
- package/package.json +1 -1
- package/ui/content/Calendar/Calendar.d.ts +5 -0
- package/ui/content/Calendar/Calendar.js +5 -1
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +10 -5
- package/ui/content/CalendarSystem/CalendarSystem.js +2 -1
- package/ui/form/Form/Form.d.ts +5 -0
- package/ui/form/Form/Form.js +7 -2
- package/ui/list/Grid/Grid.d.ts +1 -0
- package/ui/list/Grid/Grid.js +3 -2
- package/ui/list/List/List.js +3 -2
package/docs-autogen-result.json
CHANGED
|
@@ -4170,6 +4170,15 @@
|
|
|
4170
4170
|
}
|
|
4171
4171
|
]
|
|
4172
4172
|
},
|
|
4173
|
+
{
|
|
4174
|
+
"name": "renderLoading",
|
|
4175
|
+
"decorators": [],
|
|
4176
|
+
"description": "",
|
|
4177
|
+
"required": false,
|
|
4178
|
+
"type": "any",
|
|
4179
|
+
"example": null,
|
|
4180
|
+
"parameters": []
|
|
4181
|
+
},
|
|
4173
4182
|
{
|
|
4174
4183
|
"name": "renderPagination",
|
|
4175
4184
|
"decorators": [],
|
|
@@ -6892,6 +6901,24 @@
|
|
|
6892
6901
|
"example": null
|
|
6893
6902
|
}
|
|
6894
6903
|
]
|
|
6904
|
+
},
|
|
6905
|
+
{
|
|
6906
|
+
"name": "onTodayButtonClick",
|
|
6907
|
+
"decorators": [],
|
|
6908
|
+
"description": "Callback вызываемый при нажатии на кнопку 'Сегодня'",
|
|
6909
|
+
"required": false,
|
|
6910
|
+
"type": "void",
|
|
6911
|
+
"example": null,
|
|
6912
|
+
"parameters": [
|
|
6913
|
+
{
|
|
6914
|
+
"name": "newDate",
|
|
6915
|
+
"decorators": [],
|
|
6916
|
+
"description": "текущая дата\n",
|
|
6917
|
+
"required": true,
|
|
6918
|
+
"type": "Date",
|
|
6919
|
+
"example": null
|
|
6920
|
+
}
|
|
6921
|
+
]
|
|
6895
6922
|
}
|
|
6896
6923
|
]
|
|
6897
6924
|
},
|
|
@@ -7092,6 +7119,24 @@
|
|
|
7092
7119
|
}
|
|
7093
7120
|
]
|
|
7094
7121
|
},
|
|
7122
|
+
{
|
|
7123
|
+
"name": "onTodayButtonClick",
|
|
7124
|
+
"decorators": [],
|
|
7125
|
+
"description": "Callback вызываемый при нажатии на кнопку 'Сегодня'",
|
|
7126
|
+
"required": false,
|
|
7127
|
+
"type": "void",
|
|
7128
|
+
"example": null,
|
|
7129
|
+
"parameters": [
|
|
7130
|
+
{
|
|
7131
|
+
"name": "newDate",
|
|
7132
|
+
"decorators": [],
|
|
7133
|
+
"description": "текущая дата\n",
|
|
7134
|
+
"required": true,
|
|
7135
|
+
"type": "Date",
|
|
7136
|
+
"example": null
|
|
7137
|
+
}
|
|
7138
|
+
]
|
|
7139
|
+
},
|
|
7095
7140
|
{
|
|
7096
7141
|
"name": "toggleCaptionPanel",
|
|
7097
7142
|
"decorators": [],
|
|
@@ -7541,6 +7586,15 @@
|
|
|
7541
7586
|
"example": null,
|
|
7542
7587
|
"defaultValue": null
|
|
7543
7588
|
},
|
|
7589
|
+
{
|
|
7590
|
+
"name": "asideCalendarProps",
|
|
7591
|
+
"decorators": [],
|
|
7592
|
+
"description": "Дополнительные свойства для бокового календаря",
|
|
7593
|
+
"required": false,
|
|
7594
|
+
"type": "ICalendarProps",
|
|
7595
|
+
"example": null,
|
|
7596
|
+
"defaultValue": null
|
|
7597
|
+
},
|
|
7544
7598
|
{
|
|
7545
7599
|
"name": "calendarModalProps",
|
|
7546
7600
|
"decorators": [],
|
|
@@ -7562,7 +7616,7 @@
|
|
|
7562
7616
|
{
|
|
7563
7617
|
"name": "dayGrid",
|
|
7564
7618
|
"decorators": [],
|
|
7565
|
-
"description": "Свойства для сетки
|
|
7619
|
+
"description": "Свойства для сетки дня",
|
|
7566
7620
|
"required": false,
|
|
7567
7621
|
"type": "IGridViews",
|
|
7568
7622
|
"example": null,
|
|
@@ -7589,7 +7643,7 @@
|
|
|
7589
7643
|
{
|
|
7590
7644
|
"name": "monthGrid",
|
|
7591
7645
|
"decorators": [],
|
|
7592
|
-
"description": "Свойства для сетки
|
|
7646
|
+
"description": "Свойства для сетки месяца",
|
|
7593
7647
|
"required": false,
|
|
7594
7648
|
"type": "IGridViews",
|
|
7595
7649
|
"example": null,
|
|
@@ -7625,7 +7679,7 @@
|
|
|
7625
7679
|
{
|
|
7626
7680
|
"name": "weekGrid",
|
|
7627
7681
|
"decorators": [],
|
|
7628
|
-
"description": "Свойства для сетки
|
|
7682
|
+
"description": "Свойства для сетки недели",
|
|
7629
7683
|
"required": false,
|
|
7630
7684
|
"type": "IGridViews",
|
|
7631
7685
|
"example": null,
|
|
@@ -7636,7 +7690,7 @@
|
|
|
7636
7690
|
{
|
|
7637
7691
|
"name": "onChangeCalendarType",
|
|
7638
7692
|
"decorators": [],
|
|
7639
|
-
"description": "Функция, которая
|
|
7693
|
+
"description": "Функция, которая вызывется при смене типа календаря",
|
|
7640
7694
|
"required": false,
|
|
7641
7695
|
"type": "void",
|
|
7642
7696
|
"example": null,
|
|
@@ -7662,7 +7716,7 @@
|
|
|
7662
7716
|
"defaultProps": null,
|
|
7663
7717
|
"extends": [
|
|
7664
7718
|
"Pick<ICalendarSystemProps",
|
|
7665
|
-
"'className' | 'style' | 'additionalViewProps' | 'users'>"
|
|
7719
|
+
"'className' | 'style' | 'additionalViewProps' | 'users' | 'asideCalendarProps'>"
|
|
7666
7720
|
],
|
|
7667
7721
|
"properties": [
|
|
7668
7722
|
{
|
|
@@ -7673,6 +7727,14 @@
|
|
|
7673
7727
|
"type": "Record",
|
|
7674
7728
|
"example": null
|
|
7675
7729
|
},
|
|
7730
|
+
{
|
|
7731
|
+
"name": "asideCalendarProps",
|
|
7732
|
+
"decorators": [],
|
|
7733
|
+
"description": "Дополнительные свойства для бокового календаря",
|
|
7734
|
+
"required": false,
|
|
7735
|
+
"type": "ICalendarProps",
|
|
7736
|
+
"example": null
|
|
7737
|
+
},
|
|
7676
7738
|
{
|
|
7677
7739
|
"name": "calendarType",
|
|
7678
7740
|
"decorators": [],
|
|
@@ -22072,7 +22134,8 @@
|
|
|
22072
22134
|
"actionMethod": "'POST'",
|
|
22073
22135
|
"autoStartTwoFactor": "true",
|
|
22074
22136
|
"captchaActionName": "'submit'",
|
|
22075
|
-
"size": "'md'"
|
|
22137
|
+
"size": "'md'",
|
|
22138
|
+
"useClearErrors": "true"
|
|
22076
22139
|
},
|
|
22077
22140
|
"extends": [
|
|
22078
22141
|
"IUiComponent"
|
|
@@ -22258,6 +22321,15 @@
|
|
|
22258
22321
|
"example": "Submit",
|
|
22259
22322
|
"defaultValue": null
|
|
22260
22323
|
},
|
|
22324
|
+
{
|
|
22325
|
+
"name": "useClearErrors",
|
|
22326
|
+
"decorators": [],
|
|
22327
|
+
"description": "Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено",
|
|
22328
|
+
"required": false,
|
|
22329
|
+
"type": "boolean",
|
|
22330
|
+
"example": null,
|
|
22331
|
+
"defaultValue": "true"
|
|
22332
|
+
},
|
|
22261
22333
|
{
|
|
22262
22334
|
"name": "useRedux",
|
|
22263
22335
|
"decorators": [],
|
|
@@ -35000,6 +35072,15 @@
|
|
|
35000
35072
|
}
|
|
35001
35073
|
]
|
|
35002
35074
|
},
|
|
35075
|
+
{
|
|
35076
|
+
"name": "renderLoading",
|
|
35077
|
+
"decorators": [],
|
|
35078
|
+
"description": "",
|
|
35079
|
+
"required": false,
|
|
35080
|
+
"type": "any",
|
|
35081
|
+
"example": null,
|
|
35082
|
+
"parameters": []
|
|
35083
|
+
},
|
|
35003
35084
|
{
|
|
35004
35085
|
"name": "renderPagination",
|
|
35005
35086
|
"decorators": [],
|
|
@@ -35653,6 +35734,15 @@
|
|
|
35653
35734
|
}
|
|
35654
35735
|
]
|
|
35655
35736
|
},
|
|
35737
|
+
{
|
|
35738
|
+
"name": "renderLoading",
|
|
35739
|
+
"decorators": [],
|
|
35740
|
+
"description": "",
|
|
35741
|
+
"required": false,
|
|
35742
|
+
"type": "any",
|
|
35743
|
+
"example": null,
|
|
35744
|
+
"parameters": []
|
|
35745
|
+
},
|
|
35656
35746
|
{
|
|
35657
35747
|
"name": "renderPagination",
|
|
35658
35748
|
"decorators": [],
|
|
@@ -36532,6 +36622,15 @@
|
|
|
36532
36622
|
"example": "Submit",
|
|
36533
36623
|
"defaultValue": null
|
|
36534
36624
|
},
|
|
36625
|
+
{
|
|
36626
|
+
"name": "useClearErrors",
|
|
36627
|
+
"decorators": [],
|
|
36628
|
+
"description": "Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено",
|
|
36629
|
+
"required": false,
|
|
36630
|
+
"type": "boolean",
|
|
36631
|
+
"example": null,
|
|
36632
|
+
"defaultValue": null
|
|
36633
|
+
},
|
|
36535
36634
|
{
|
|
36536
36635
|
"name": "useRedux",
|
|
36537
36636
|
"decorators": [],
|
package/en.json
CHANGED
|
@@ -988,9 +988,10 @@
|
|
|
988
988
|
"Количество элементов на странице, используется для корректного отображения пагинации": "",
|
|
989
989
|
"Параметры роутинга": "",
|
|
990
990
|
"Сохранение в localStorage уровней вложенности.": "",
|
|
991
|
-
"
|
|
992
|
-
"Свойства для сетки
|
|
993
|
-
"Свойства для сетки
|
|
991
|
+
"Дополнительные свойства для бокового календаря": "",
|
|
992
|
+
"Свойства для сетки дня": "",
|
|
993
|
+
"Свойства для сетки месяца": "",
|
|
994
|
+
"Свойства для сетки недели": "",
|
|
994
995
|
"Конечная дата": "",
|
|
995
996
|
"Начальная дата": "",
|
|
996
997
|
"Дополнительные данные которые попадут в дата аттрибут data-icon": "",
|
|
@@ -998,6 +999,7 @@
|
|
|
998
999
|
"Отображать чекбоксы только на узлах, не имеющих вложенных элементов": "",
|
|
999
1000
|
"Размер компонента и вложенных полей": "",
|
|
1000
1001
|
"Параметры для кнопки отправки формы": "",
|
|
1002
|
+
"Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено": "",
|
|
1001
1003
|
"Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
1002
1004
|
"Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
1003
1005
|
"Допустимое количество символов после разделителя": "",
|
package/hooks/useList.d.ts
CHANGED
|
@@ -203,6 +203,7 @@ export interface IListOutput {
|
|
|
203
203
|
layoutNamesPosition: ListControlPosition;
|
|
204
204
|
renderList: (children: any) => any;
|
|
205
205
|
renderEmpty: () => any;
|
|
206
|
+
renderLoading: () => any;
|
|
206
207
|
renderPagination: () => any;
|
|
207
208
|
renderPaginationSize: () => any;
|
|
208
209
|
renderLayoutNames: () => any;
|
package/hooks/useList.js
CHANGED
|
@@ -57,6 +57,7 @@ var useInitial_1 = __importDefault(require("../hooks/useInitial"));
|
|
|
57
57
|
var Pagination_1 = require("../ui/list/Pagination/Pagination");
|
|
58
58
|
var PaginationSize_1 = require("../ui/list/PaginationSize/PaginationSize");
|
|
59
59
|
var Empty_1 = require("../ui/list/Empty/Empty");
|
|
60
|
+
var layout_1 = require("../ui/layout");
|
|
60
61
|
exports.defaultConfig = {
|
|
61
62
|
actionMethod: 'get',
|
|
62
63
|
primaryKey: 'id',
|
|
@@ -116,12 +117,16 @@ function useList(config) {
|
|
|
116
117
|
var list = (0, useSelector_1["default"])(function (state) { return (0, list_1.getList)(state, config.listId); });
|
|
117
118
|
// Normalize sort config
|
|
118
119
|
var sort = (0, exports.normalizeSortProps)(config.sort);
|
|
120
|
+
// Loading
|
|
121
|
+
var renderLoading = function () { return (list === null || list === void 0 ? void 0 : list.isLoading)
|
|
122
|
+
? react_1["default"].createElement(layout_1.Loader, null)
|
|
123
|
+
: null; };
|
|
119
124
|
// Empty
|
|
120
125
|
var Empty = require('../ui/list/Empty')["default"];
|
|
121
126
|
var emptyProps = (0, Empty_1.normalizeEmptyProps)(config.empty);
|
|
122
127
|
var renderEmpty = function () {
|
|
123
128
|
var _a;
|
|
124
|
-
if (!emptyProps.enable || (list === null || list === void 0 ? void 0 : list.
|
|
129
|
+
if (!emptyProps.enable || ((_a = list === null || list === void 0 ? void 0 : list.items) === null || _a === void 0 ? void 0 : _a.length) > 0 || !(list === null || list === void 0 ? void 0 : list.isFetched)) {
|
|
125
130
|
return null;
|
|
126
131
|
}
|
|
127
132
|
return (react_1["default"].createElement(Empty, __assign({ list: list }, emptyProps)));
|
|
@@ -129,13 +134,13 @@ function useList(config) {
|
|
|
129
134
|
// Pagination size
|
|
130
135
|
var PaginationSize = require('../ui/list/PaginationSize')["default"];
|
|
131
136
|
var paginationSizeProps = (0, PaginationSize_1.normalizePaginationSizeProps)(config.paginationSize);
|
|
132
|
-
var renderPaginationSize = function () { return paginationSizeProps.enable
|
|
137
|
+
var renderPaginationSize = function () { return paginationSizeProps.enable && (list === null || list === void 0 ? void 0 : list.isFetched)
|
|
133
138
|
? (react_1["default"].createElement(PaginationSize, __assign({ list: list }, paginationSizeProps)))
|
|
134
139
|
: null; };
|
|
135
140
|
// Pagination
|
|
136
141
|
var Pagination = require('../ui/list/Pagination')["default"];
|
|
137
142
|
var paginationProps = (0, Pagination_1.normalizePaginationProps)(config.pagination);
|
|
138
|
-
var renderPagination = function () { return paginationProps.enable
|
|
143
|
+
var renderPagination = function () { return paginationProps.enable && (list === null || list === void 0 ? void 0 : list.isFetched)
|
|
139
144
|
? (react_1["default"].createElement(Pagination, __assign({ list: list }, paginationProps, { sizeAttribute: paginationSizeProps.attribute })))
|
|
140
145
|
: null; };
|
|
141
146
|
// Layout switcher
|
|
@@ -284,6 +289,7 @@ function useList(config) {
|
|
|
284
289
|
paginationSizePosition: paginationSizeProps.position,
|
|
285
290
|
layoutNamesPosition: layoutNamesProps.position,
|
|
286
291
|
renderList: renderList,
|
|
292
|
+
renderLoading: renderLoading,
|
|
287
293
|
renderEmpty: renderEmpty,
|
|
288
294
|
renderPagination: renderPagination,
|
|
289
295
|
renderPaginationSize: renderPaginationSize,
|
package/package.json
CHANGED
|
@@ -45,6 +45,11 @@ export interface ICalendarProps extends IUiComponent {
|
|
|
45
45
|
* Отображать Footer для календаря (содержит todayButton)
|
|
46
46
|
*/
|
|
47
47
|
showFooter?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Callback вызываемый при нажатии на кнопку 'Сегодня'
|
|
50
|
+
* @param newDate - текущая дата
|
|
51
|
+
*/
|
|
52
|
+
onTodayButtonClick?: (newDate: Date) => void;
|
|
48
53
|
/**
|
|
49
54
|
* Количество отображаемых за раз месяцев
|
|
50
55
|
* @example 1
|
|
@@ -24,7 +24,11 @@ function Calendar(props) {
|
|
|
24
24
|
if (props.onChange) {
|
|
25
25
|
props.onChange.call(null, (0, calendar_1.convertDate)(date, null, props.valueFormat, false, true));
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
if (props.onTodayButtonClick) {
|
|
28
|
+
props.onTodayButtonClick(date);
|
|
29
|
+
setMonth(date);
|
|
30
|
+
}
|
|
31
|
+
}, [props]);
|
|
28
32
|
var toggleCaptionPanel = (0, react_1.useCallback)(function () {
|
|
29
33
|
setIsCaptionPanelVisible(!isCaptionPanelVisible);
|
|
30
34
|
}, [isCaptionPanelVisible]);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { ICalendarProps } from '../../../ui/content/Calendar/Calendar';
|
|
2
3
|
import { IModalProps } from '../../../ui/modal/Modal/Modal';
|
|
3
4
|
import CalendarEnum from './enums/CalendarType';
|
|
4
5
|
import { ICustomViews } from './hooks/useCustomViews';
|
|
@@ -95,7 +96,7 @@ export interface IGridViews {
|
|
|
95
96
|
*/
|
|
96
97
|
export interface ICalendarSystemProps extends IUiComponent {
|
|
97
98
|
/**
|
|
98
|
-
* Функция, которая
|
|
99
|
+
* Функция, которая вызывется при смене типа календаря
|
|
99
100
|
*/
|
|
100
101
|
onChangeCalendarType?: (newType: string) => void;
|
|
101
102
|
/**
|
|
@@ -120,15 +121,15 @@ export interface ICalendarSystemProps extends IUiComponent {
|
|
|
120
121
|
eventGroups: IEventGroup[];
|
|
121
122
|
};
|
|
122
123
|
/**
|
|
123
|
-
* Свойства для сетки
|
|
124
|
+
* Свойства для сетки дня
|
|
124
125
|
*/
|
|
125
126
|
dayGrid?: IGridViews;
|
|
126
127
|
/**
|
|
127
|
-
* Свойства для сетки
|
|
128
|
+
* Свойства для сетки недели
|
|
128
129
|
*/
|
|
129
130
|
weekGrid?: IGridViews;
|
|
130
131
|
/**
|
|
131
|
-
* Свойства для сетки
|
|
132
|
+
* Свойства для сетки месяца
|
|
132
133
|
*/
|
|
133
134
|
monthGrid?: IGridViews;
|
|
134
135
|
users: ICalendarUser[];
|
|
@@ -136,9 +137,13 @@ export interface ICalendarSystemProps extends IUiComponent {
|
|
|
136
137
|
* Дополнительные свойства, которые передаются во view компонента
|
|
137
138
|
*/
|
|
138
139
|
additionalViewProps?: Record<string, any>;
|
|
140
|
+
/**
|
|
141
|
+
* Дополнительные свойства для бокового календаря
|
|
142
|
+
*/
|
|
143
|
+
asideCalendarProps?: ICalendarProps;
|
|
139
144
|
[key: string]: any;
|
|
140
145
|
}
|
|
141
|
-
export interface ICalendarSystemViewProps extends Pick<ICalendarSystemProps, 'className' | 'style' | 'additionalViewProps' | 'users'> {
|
|
146
|
+
export interface ICalendarSystemViewProps extends Pick<ICalendarSystemProps, 'className' | 'style' | 'additionalViewProps' | 'users' | 'asideCalendarProps'> {
|
|
142
147
|
onCalendarChangedMonth: (newDate: Date) => void;
|
|
143
148
|
eventGroups: IEventGroup[];
|
|
144
149
|
eventGroupsTitle: string;
|
|
@@ -36,6 +36,7 @@ function CalendarSystem(props) {
|
|
|
36
36
|
additionalViewProps: props.additionalViewProps,
|
|
37
37
|
users: calendarSystem.users,
|
|
38
38
|
eventGroupsTitle: props.eventBlock.title,
|
|
39
|
+
asideCalendarProps: props.asideCalendarProps,
|
|
39
40
|
dateToDisplay: calendarSystem.dateToDisplay,
|
|
40
41
|
eventGroups: calendarSystem.innerEventGroups,
|
|
41
42
|
calendarType: calendarSystem.calendarType,
|
|
@@ -50,7 +51,7 @@ function CalendarSystem(props) {
|
|
|
50
51
|
monthGridProps: __assign({ monthGridWeekDays: calendarSystem.monthGridWeekDays, monthGridCalendarDays: calendarSystem.monthGridCalendarDays }, monthGridViews),
|
|
51
52
|
weekGridProps: __assign({ weekGridTwentyFourHoursArray: calendarSystem.weekGridTwentyFourHoursArray, weekGridCurrentWeekDays: calendarSystem.weekGridCurrentWeekDays }, weekGridViews),
|
|
52
53
|
dayGridProps: __assign({ dayGridTwentyFourHoursArray: calendarSystem.dayGridTwentyFourHoursArray, dayGridCurrentDay: calendarSystem.dayGridCurrentDay }, dayGridViews)
|
|
53
|
-
}); }, [props.className, props.style, props.additionalViewProps, props.eventBlock.title, calendarSystem, monthGridViews, weekGridViews, dayGridViews]);
|
|
54
|
+
}); }, [props.className, props.style, props.additionalViewProps, props.eventBlock.title, props.asideCalendarProps, calendarSystem, monthGridViews, weekGridViews, dayGridViews]);
|
|
54
55
|
return components.ui.renderView(props.view || 'content.CalendarSystemView', viewProps);
|
|
55
56
|
}
|
|
56
57
|
exports["default"] = CalendarSystem;
|
package/ui/form/Form/Form.d.ts
CHANGED
|
@@ -166,6 +166,10 @@ export interface IFormProps extends IUiComponent {
|
|
|
166
166
|
* Размер компонента и вложенных полей
|
|
167
167
|
*/
|
|
168
168
|
size?: Size;
|
|
169
|
+
/**
|
|
170
|
+
* Очищать сообщение об ошибке при редактировании поля. По-умолчанию включено
|
|
171
|
+
*/
|
|
172
|
+
useClearErrors?: boolean;
|
|
169
173
|
[key: string]: any;
|
|
170
174
|
}
|
|
171
175
|
export interface IFormViewProps {
|
|
@@ -229,6 +233,7 @@ declare namespace Form {
|
|
|
229
233
|
autoStartTwoFactor: boolean;
|
|
230
234
|
captchaActionName: string;
|
|
231
235
|
size: string;
|
|
236
|
+
useClearErrors: boolean;
|
|
232
237
|
};
|
|
233
238
|
}
|
|
234
239
|
export default Form;
|
package/ui/form/Form/Form.js
CHANGED
|
@@ -147,7 +147,11 @@ function Form(props) {
|
|
|
147
147
|
});
|
|
148
148
|
// Clear Errors
|
|
149
149
|
var prevValues = (0, react_use_1.usePrevious)(values);
|
|
150
|
-
(0, react_use_1.useUpdateEffect)(function () {
|
|
150
|
+
(0, react_use_1.useUpdateEffect)(function () {
|
|
151
|
+
if (props.useClearErrors) {
|
|
152
|
+
(0, form_1.clearErrors)(values, prevValues, errors, setErrors);
|
|
153
|
+
}
|
|
154
|
+
}, [props.useClearErrors, errors, prevValues, setErrors, values]);
|
|
151
155
|
// OnChange handler
|
|
152
156
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
153
157
|
if (props.onChange) {
|
|
@@ -336,6 +340,7 @@ Form.defaultProps = {
|
|
|
336
340
|
actionMethod: 'POST',
|
|
337
341
|
autoStartTwoFactor: true,
|
|
338
342
|
captchaActionName: 'submit',
|
|
339
|
-
size: 'md'
|
|
343
|
+
size: 'md',
|
|
344
|
+
useClearErrors: true
|
|
340
345
|
};
|
|
341
346
|
exports["default"] = Form;
|
package/ui/list/Grid/Grid.d.ts
CHANGED
|
@@ -192,6 +192,7 @@ export interface IGridViewProps extends Omit<IGridProps, 'onFetch'> {
|
|
|
192
192
|
layoutNamesPosition: ListControlPosition;
|
|
193
193
|
renderList: (children: any) => any;
|
|
194
194
|
renderEmpty: () => any;
|
|
195
|
+
renderLoading: () => any;
|
|
195
196
|
renderPagination: () => any;
|
|
196
197
|
renderPaginationSize: () => any;
|
|
197
198
|
renderLayoutNames: () => any;
|
package/ui/list/Grid/Grid.js
CHANGED
|
@@ -69,7 +69,7 @@ function Grid(props) {
|
|
|
69
69
|
initialItems: props.initialItems,
|
|
70
70
|
initialTotal: props.initialTotal,
|
|
71
71
|
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
72
|
-
}), 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;
|
|
72
|
+
}), 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, onFetch = _a.onFetch, onSort = _a.onSort;
|
|
73
73
|
var renderLabel = (0, react_1.useCallback)(function (column) {
|
|
74
74
|
if (column.headerView) {
|
|
75
75
|
var HeaderView = column.headerView;
|
|
@@ -124,6 +124,7 @@ function Grid(props) {
|
|
|
124
124
|
paginationSizePosition: paginationSizePosition,
|
|
125
125
|
layoutNamesPosition: layoutNamesPosition,
|
|
126
126
|
renderList: renderList,
|
|
127
|
+
renderLoading: renderLoading,
|
|
127
128
|
renderEmpty: renderEmpty,
|
|
128
129
|
renderPagination: renderPagination,
|
|
129
130
|
renderPaginationSize: renderPaginationSize,
|
|
@@ -143,7 +144,7 @@ function Grid(props) {
|
|
|
143
144
|
primaryKey: props.primaryKey
|
|
144
145
|
}); }, [columns, layoutNamesPosition, list, onFetch, onSort, paginationPosition, paginationSizePosition, props.className,
|
|
145
146
|
props.hasAlternatingColors, props.isLoading, props.listId, props.primaryKey, props.searchForm, props.size, renderEmpty,
|
|
146
|
-
renderLayoutNames, renderList, renderPagination, renderPaginationSize, renderSearchForm, renderValue]);
|
|
147
|
+
renderLayoutNames, renderList, renderPagination, renderPaginationSize, renderSearchForm, renderValue, renderLoading]);
|
|
147
148
|
return components.ui.renderView(props.view || 'list.GridView', viewProps);
|
|
148
149
|
}
|
|
149
150
|
exports["default"] = Grid;
|
package/ui/list/List/List.js
CHANGED
|
@@ -67,7 +67,7 @@ function List(props) {
|
|
|
67
67
|
initialItems: props.initialItems,
|
|
68
68
|
initialTotal: props.initialTotal,
|
|
69
69
|
autoFetchOnFormChanges: props.autoFetchOnFormChanges
|
|
70
|
-
}), list = _a.list, 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;
|
|
70
|
+
}), list = _a.list, 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;
|
|
71
71
|
var ItemView = props.itemView || components.ui.getView('list.ListItemView');
|
|
72
72
|
var content = ((list === null || list === void 0 ? void 0 : list.items) || []).map(function (item, index) { return (React.createElement(ItemView, __assign({}, props.itemProps, { key: item[props.primaryKey] || index, primaryKey: props.primaryKey, item: item, index: index, layoutSelected: list.layoutName }))); });
|
|
73
73
|
var viewProps = (0, react_1.useMemo)(function () { return ({
|
|
@@ -76,6 +76,7 @@ function List(props) {
|
|
|
76
76
|
paginationSizePosition: paginationSizePosition,
|
|
77
77
|
layoutNamesPosition: layoutNamesPosition,
|
|
78
78
|
renderList: renderList,
|
|
79
|
+
renderLoading: renderLoading,
|
|
79
80
|
renderEmpty: renderEmpty,
|
|
80
81
|
renderPagination: renderPagination,
|
|
81
82
|
renderPaginationSize: renderPaginationSize,
|
|
@@ -86,7 +87,7 @@ function List(props) {
|
|
|
86
87
|
className: props.className,
|
|
87
88
|
contentClassName: props.contentClassName
|
|
88
89
|
}); }, [content, layoutNamesPosition, list, paginationPosition, paginationSizePosition, props.className, props.contentClassName,
|
|
89
|
-
props.isLoading, renderEmpty, renderLayoutNames, renderList, renderPagination, renderPaginationSize, renderSearchForm]);
|
|
90
|
+
props.isLoading, renderEmpty, renderLayoutNames, renderList, renderPagination, renderPaginationSize, renderSearchForm, renderLoading]);
|
|
90
91
|
return components.ui.renderView(props.view || 'list.ListView', viewProps);
|
|
91
92
|
}
|
|
92
93
|
exports["default"] = List;
|