@steroidsjs/core 3.0.83 → 3.0.84
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 +71 -1
- package/en.json +1 -0
- package/hooks/useDataProvider.d.ts +4 -0
- package/hooks/useDataProvider.js +5 -1
- package/package.json +1 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +4 -0
- package/ui/form/AutoCompleteField/AutoCompleteField.js +2 -1
- package/ui/form/DropDownField/DropDownField.d.ts +8 -0
- package/ui/form/DropDownField/DropDownField.js +7 -2
package/docs-autogen-result.json
CHANGED
|
@@ -3182,6 +3182,14 @@
|
|
|
3182
3182
|
"type": "number[]",
|
|
3183
3183
|
"example": "[1, 22]"
|
|
3184
3184
|
},
|
|
3185
|
+
{
|
|
3186
|
+
"name": "isFetchDisabled",
|
|
3187
|
+
"decorators": [],
|
|
3188
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
3189
|
+
"required": false,
|
|
3190
|
+
"type": "boolean",
|
|
3191
|
+
"example": null
|
|
3192
|
+
},
|
|
3185
3193
|
{
|
|
3186
3194
|
"name": "items",
|
|
3187
3195
|
"decorators": [],
|
|
@@ -13916,6 +13924,15 @@
|
|
|
13916
13924
|
"example": null,
|
|
13917
13925
|
"defaultValue": null
|
|
13918
13926
|
},
|
|
13927
|
+
{
|
|
13928
|
+
"name": "isFetchDisabled",
|
|
13929
|
+
"decorators": [],
|
|
13930
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
13931
|
+
"required": false,
|
|
13932
|
+
"type": "boolean",
|
|
13933
|
+
"example": null,
|
|
13934
|
+
"defaultValue": null
|
|
13935
|
+
},
|
|
13919
13936
|
{
|
|
13920
13937
|
"name": "isRenderWithoutFieldLayout",
|
|
13921
13938
|
"decorators": [],
|
|
@@ -15765,6 +15782,15 @@
|
|
|
15765
15782
|
"example": null,
|
|
15766
15783
|
"defaultValue": null
|
|
15767
15784
|
},
|
|
15785
|
+
{
|
|
15786
|
+
"name": "isFetchDisabled",
|
|
15787
|
+
"decorators": [],
|
|
15788
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
15789
|
+
"required": false,
|
|
15790
|
+
"type": "boolean",
|
|
15791
|
+
"example": null,
|
|
15792
|
+
"defaultValue": null
|
|
15793
|
+
},
|
|
15768
15794
|
{
|
|
15769
15795
|
"name": "isRenderWithoutFieldLayout",
|
|
15770
15796
|
"decorators": [],
|
|
@@ -16348,6 +16374,15 @@
|
|
|
16348
16374
|
"example": null,
|
|
16349
16375
|
"defaultValue": null
|
|
16350
16376
|
},
|
|
16377
|
+
{
|
|
16378
|
+
"name": "isFetchDisabled",
|
|
16379
|
+
"decorators": [],
|
|
16380
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
16381
|
+
"required": false,
|
|
16382
|
+
"type": "boolean",
|
|
16383
|
+
"example": null,
|
|
16384
|
+
"defaultValue": null
|
|
16385
|
+
},
|
|
16351
16386
|
{
|
|
16352
16387
|
"name": "isRenderWithoutFieldLayout",
|
|
16353
16388
|
"decorators": [],
|
|
@@ -19426,6 +19461,15 @@
|
|
|
19426
19461
|
"example": null,
|
|
19427
19462
|
"defaultValue": null
|
|
19428
19463
|
},
|
|
19464
|
+
{
|
|
19465
|
+
"name": "isFetchDisabled",
|
|
19466
|
+
"decorators": [],
|
|
19467
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
19468
|
+
"required": false,
|
|
19469
|
+
"type": "boolean",
|
|
19470
|
+
"example": null,
|
|
19471
|
+
"defaultValue": null
|
|
19472
|
+
},
|
|
19429
19473
|
{
|
|
19430
19474
|
"name": "isFetchOnClose",
|
|
19431
19475
|
"decorators": [],
|
|
@@ -19725,6 +19769,15 @@
|
|
|
19725
19769
|
}
|
|
19726
19770
|
]
|
|
19727
19771
|
},
|
|
19772
|
+
{
|
|
19773
|
+
"name": "onOpen",
|
|
19774
|
+
"decorators": [],
|
|
19775
|
+
"description": "Callback-функция, которая вызывается при открытии DropDown",
|
|
19776
|
+
"required": false,
|
|
19777
|
+
"type": "void",
|
|
19778
|
+
"example": null,
|
|
19779
|
+
"parameters": []
|
|
19780
|
+
},
|
|
19728
19781
|
{
|
|
19729
19782
|
"name": "onReset",
|
|
19730
19783
|
"decorators": [],
|
|
@@ -19923,6 +19976,14 @@
|
|
|
19923
19976
|
"type": "boolean",
|
|
19924
19977
|
"example": null
|
|
19925
19978
|
},
|
|
19979
|
+
{
|
|
19980
|
+
"name": "isFetchDisabled",
|
|
19981
|
+
"decorators": [],
|
|
19982
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
19983
|
+
"required": false,
|
|
19984
|
+
"type": "boolean",
|
|
19985
|
+
"example": null
|
|
19986
|
+
},
|
|
19926
19987
|
{
|
|
19927
19988
|
"name": "isFetchOnClose",
|
|
19928
19989
|
"decorators": [],
|
|
@@ -20247,7 +20308,7 @@
|
|
|
20247
20308
|
{
|
|
20248
20309
|
"name": "onOpen",
|
|
20249
20310
|
"decorators": [],
|
|
20250
|
-
"description": "",
|
|
20311
|
+
"description": "Callback-функция, которая вызывается при открытии DropDown",
|
|
20251
20312
|
"required": false,
|
|
20252
20313
|
"type": "void",
|
|
20253
20314
|
"example": null,
|
|
@@ -26479,6 +26540,15 @@
|
|
|
26479
26540
|
"example": null,
|
|
26480
26541
|
"defaultValue": null
|
|
26481
26542
|
},
|
|
26543
|
+
{
|
|
26544
|
+
"name": "isFetchDisabled",
|
|
26545
|
+
"decorators": [],
|
|
26546
|
+
"description": "Сигнал, запрещающий отправку запроса на получение данных",
|
|
26547
|
+
"required": false,
|
|
26548
|
+
"type": "boolean",
|
|
26549
|
+
"example": null,
|
|
26550
|
+
"defaultValue": null
|
|
26551
|
+
},
|
|
26482
26552
|
{
|
|
26483
26553
|
"name": "isRenderWithoutFieldLayout",
|
|
26484
26554
|
"decorators": [],
|
package/en.json
CHANGED
|
@@ -985,6 +985,7 @@
|
|
|
985
985
|
"Компонент, который представляет в виде дерева список с иерархической структурой данных\n\nДополнительный функционал: в кастомном view компонента есть возможность реализовать кнопку, по клику на которую\nбудет вызываться функция props.onItemFocus. Данная функция \"находит\" текущий роут в дереве -\nраскрывает родительские уровни, делает элемент активным.\nДанная функция не включает скролл к активному компоненту внутри дерева, это также необходимо\nреализовать в кастомном view локально в проекте.\n": "",
|
|
986
986
|
"Значение страницы по умолчанию.": "",
|
|
987
987
|
"Логическое значение, указывающее, можно ли загрузить еще элементы для списка при скролле.": "",
|
|
988
|
+
"Сигнал, запрещающий отправку запроса на получение данных": "",
|
|
988
989
|
" Ref autocomplete поиска": "",
|
|
989
990
|
"Нужно ли закрывать выпадающий список после выбора элемента": "",
|
|
990
991
|
"Ref для drop area": "",
|
|
@@ -104,6 +104,10 @@ export interface IDataProviderConfig {
|
|
|
104
104
|
* @example [1, 22]
|
|
105
105
|
*/
|
|
106
106
|
initialSelectedIds?: number[];
|
|
107
|
+
/**
|
|
108
|
+
* Сигнал, запрещающий отправку запроса на получение данных
|
|
109
|
+
*/
|
|
110
|
+
isFetchDisabled?: boolean;
|
|
107
111
|
}
|
|
108
112
|
export interface IDataProviderResult {
|
|
109
113
|
fetchRemote: ((isAuto: boolean) => Promise<void>) | null;
|
package/hooks/useDataProvider.js
CHANGED
|
@@ -165,6 +165,9 @@ function useDataProvider(config) {
|
|
|
165
165
|
setItems(config.query ? (0, text_1.smartSearch)(config.query, sourceItems) : sourceItems);
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
|
+
if (config.isFetchDisabled) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
168
171
|
if (config.autoFetch && !isAutoFetchedRef.current) {
|
|
169
172
|
isAutoFetchedRef.current = true;
|
|
170
173
|
fetchRemote(true);
|
|
@@ -187,7 +190,8 @@ function useDataProvider(config) {
|
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
}, [autoComplete, components.http, config.autoFetch, config.dataProvider, config.initialSelectedIds, config.query, dataProvider,
|
|
190
|
-
dataProvider.action, dataProvider.onSearch, fetchRemote, prevAction, prevParams, prevQuery, prevValues, setSourceItems, sourceItems
|
|
193
|
+
dataProvider.action, dataProvider.onSearch, fetchRemote, prevAction, prevParams, prevQuery, prevValues, setSourceItems, sourceItems,
|
|
194
|
+
config.isFetchDisabled]);
|
|
191
195
|
return {
|
|
192
196
|
fetchRemote: config.dataProvider && fetchRemote,
|
|
193
197
|
sourceItems: sourceItems,
|
package/package.json
CHANGED
|
@@ -43,6 +43,10 @@ export interface IAutoCompleteFieldProps extends IBaseFieldProps, IDataProviderC
|
|
|
43
43
|
* @example '; '
|
|
44
44
|
*/
|
|
45
45
|
multipleSeparator?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Сигнал, запрещающий отправку запроса на получение данных
|
|
48
|
+
*/
|
|
49
|
+
isFetchDisabled?: boolean;
|
|
46
50
|
}
|
|
47
51
|
export interface IAutoCompleteFieldViewProps extends Omit<IAutoCompleteFieldProps, 'items'> {
|
|
48
52
|
items: IAutoCompleteItem[];
|
|
@@ -42,7 +42,8 @@ function AutoCompleteField(props) {
|
|
|
42
42
|
autoComplete: props.autoComplete,
|
|
43
43
|
autoFetch: props.autoFetch,
|
|
44
44
|
initialSelectedIds: props.selectedIds,
|
|
45
|
-
query: query
|
|
45
|
+
query: query,
|
|
46
|
+
isFetchDisabled: props.isFetchDisabled
|
|
46
47
|
}), items = _b.items, isLoading = _b.isLoading, sourceItems = _b.sourceItems;
|
|
47
48
|
// Data select
|
|
48
49
|
var _c = (0, hooks_1.useDataSelect)({
|
|
@@ -166,6 +166,14 @@ export interface IDropDownFieldProps extends IFieldWrapperInputProps, Omit<IData
|
|
|
166
166
|
* Число в пикселях, больше которого не может быть выпадающее меню
|
|
167
167
|
*/
|
|
168
168
|
maxHeight?: number;
|
|
169
|
+
/**
|
|
170
|
+
* Callback-функция, которая вызывается при открытии DropDown
|
|
171
|
+
*/
|
|
172
|
+
onOpen?: () => void;
|
|
173
|
+
/**
|
|
174
|
+
* Сигнал, запрещающий отправку запроса на получение данных
|
|
175
|
+
*/
|
|
176
|
+
isFetchDisabled?: boolean;
|
|
169
177
|
[key: string]: any;
|
|
170
178
|
}
|
|
171
179
|
export interface IDropDownFieldViewProps extends IDropDownFieldProps {
|
|
@@ -120,7 +120,8 @@ function DropDownField(props) {
|
|
|
120
120
|
autoComplete: props.autoComplete,
|
|
121
121
|
autoFetch: props.autoFetch,
|
|
122
122
|
query: query,
|
|
123
|
-
initialSelectedIds: inputSelectedIds
|
|
123
|
+
initialSelectedIds: inputSelectedIds,
|
|
124
|
+
isFetchDisabled: props.isFetchDisabled
|
|
124
125
|
}), fetchRemote = _c.fetchRemote, items = _c.items, isLoading = _c.isLoading, isAutoComplete = _c.isAutoComplete, sourceItems = _c.sourceItems, dataProvider = __rest(_c, ["fetchRemote", "items", "isLoading", "isAutoComplete", "sourceItems"]);
|
|
125
126
|
// Data select
|
|
126
127
|
var _d = (0, hooks_1.useDataSelect)({
|
|
@@ -136,11 +137,15 @@ function DropDownField(props) {
|
|
|
136
137
|
hasCloseOnSelect: props.hasCloseOnSelect
|
|
137
138
|
}), 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;
|
|
138
139
|
var onOpen = (0, react_1.useCallback)(function () {
|
|
140
|
+
// setIsLazyLoadEnabled(true);
|
|
139
141
|
setQuery('');
|
|
140
142
|
setIsFocused(true);
|
|
141
143
|
setIsOpened(true);
|
|
142
144
|
setHoveredId(null);
|
|
143
|
-
|
|
145
|
+
if (props.onOpen) {
|
|
146
|
+
props.onOpen();
|
|
147
|
+
}
|
|
148
|
+
}, [setHoveredId, setIsFocused, setIsOpened, props.onOpen]);
|
|
144
149
|
var onItemHover = (0, react_1.useCallback)(function (id) {
|
|
145
150
|
setHoveredId(id);
|
|
146
151
|
}, [setHoveredId]);
|