@steroidsjs/core 3.0.67 → 3.0.68

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.
@@ -3278,6 +3278,14 @@
3278
3278
  "type": "string",
3279
3279
  "example": "items"
3280
3280
  },
3281
+ {
3282
+ "name": "hasCloseOnSelect",
3283
+ "decorators": [],
3284
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
3285
+ "required": false,
3286
+ "type": "boolean",
3287
+ "example": "true"
3288
+ },
3281
3289
  {
3282
3290
  "name": "inputValue",
3283
3291
  "decorators": [],
@@ -13795,6 +13803,15 @@
13795
13803
  "example": "items",
13796
13804
  "defaultValue": null
13797
13805
  },
13806
+ {
13807
+ "name": "hasCloseOnSelect",
13808
+ "decorators": [],
13809
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
13810
+ "required": false,
13811
+ "type": "boolean",
13812
+ "example": "true",
13813
+ "defaultValue": null
13814
+ },
13798
13815
  {
13799
13816
  "name": "hint",
13800
13817
  "decorators": [],
@@ -15626,6 +15643,15 @@
15626
15643
  "example": "items",
15627
15644
  "defaultValue": null
15628
15645
  },
15646
+ {
15647
+ "name": "hasCloseOnSelect",
15648
+ "decorators": [],
15649
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
15650
+ "required": false,
15651
+ "type": "boolean",
15652
+ "example": "true",
15653
+ "defaultValue": null
15654
+ },
15629
15655
  {
15630
15656
  "name": "hint",
15631
15657
  "decorators": [],
@@ -16182,6 +16208,15 @@
16182
16208
  "example": "items",
16183
16209
  "defaultValue": null
16184
16210
  },
16211
+ {
16212
+ "name": "hasCloseOnSelect",
16213
+ "decorators": [],
16214
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
16215
+ "required": false,
16216
+ "type": "boolean",
16217
+ "example": "true",
16218
+ "defaultValue": null
16219
+ },
16185
16220
  {
16186
16221
  "name": "hasIconExpandOnly",
16187
16222
  "decorators": [],
@@ -19188,6 +19223,15 @@
19188
19223
  "example": "items",
19189
19224
  "defaultValue": null
19190
19225
  },
19226
+ {
19227
+ "name": "hasCloseOnSelect",
19228
+ "decorators": [],
19229
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
19230
+ "required": false,
19231
+ "type": "boolean",
19232
+ "example": "true",
19233
+ "defaultValue": null
19234
+ },
19191
19235
  {
19192
19236
  "name": "hint",
19193
19237
  "decorators": [],
@@ -19657,6 +19701,14 @@
19657
19701
  "type": "string",
19658
19702
  "example": "items"
19659
19703
  },
19704
+ {
19705
+ "name": "hasCloseOnSelect",
19706
+ "decorators": [],
19707
+ "description": "Нужно ли закрывать выпадающий список после выбора элемента",
19708
+ "required": false,
19709
+ "type": "boolean",
19710
+ "example": "true"
19711
+ },
19660
19712
  {
19661
19713
  "name": "hint",
19662
19714
  "decorators": [],
package/en.json CHANGED
@@ -986,6 +986,7 @@
986
986
  "Значение страницы по умолчанию.": "",
987
987
  "Логическое значение, указывающее, можно ли загрузить еще элементы для списка при скролле.": "",
988
988
  " Ref autocomplete поиска": "",
989
+ "Нужно ли закрывать выпадающий список после выбора элемента": "",
989
990
  "Подключение бесконечного скролла": "",
990
991
  "Флаг определяет необходимо ли передавать query параметры в URL": "",
991
992
  "Дополнительный свойства для view части компонента": "",
@@ -54,6 +54,11 @@ export interface IDataSelectConfig {
54
54
  * Ref autocomplete поиска
55
55
  */
56
56
  autoCompleteInputRef?: MutableRefObject<HTMLInputElement>;
57
+ /**
58
+ * Нужно ли закрывать выпадающий список после выбора элемента
59
+ * @example true
60
+ */
61
+ hasCloseOnSelect?: boolean;
57
62
  }
58
63
  export interface IDataSelectResult {
59
64
  isOpened: boolean;
@@ -128,11 +128,13 @@ function useDataSelect(config) {
128
128
  else if (selectedIds.length === 1 && selectedIds[0] === id_1) {
129
129
  setSelectedIdsInternal([]);
130
130
  }
131
- setIsFocused(false);
132
- setIsOpened(false);
131
+ if (config.hasCloseOnSelect) {
132
+ setIsFocused(false);
133
+ setIsOpened(false);
134
+ }
133
135
  }
134
136
  }
135
- }, [config.multiple, selectedIds]);
137
+ }, [config.hasCloseOnSelect, config.multiple, selectedIds]);
136
138
  var setSelectedAll = (0, react_1.useCallback)(function () {
137
139
  var itemsIds = flattenedItems.map(function (item) { return item.id; });
138
140
  setSelectedIds(itemsIds);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.67",
3
+ "version": "3.0.68",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -132,7 +132,8 @@ function DropDownField(props) {
132
132
  items: items,
133
133
  sourceItems: sourceItems,
134
134
  inputValue: props.input.value,
135
- autoCompleteInputRef: autoCompleteInputForwardedRef
135
+ autoCompleteInputRef: autoCompleteInputForwardedRef,
136
+ hasCloseOnSelect: props.hasCloseOnSelect
136
137
  }), 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;
137
138
  var onOpen = (0, react_1.useCallback)(function () {
138
139
  setQuery('');
@@ -259,6 +260,7 @@ DropDownField.defaultProps = {
259
260
  multiple: false,
260
261
  isSearchAutoFocus: true,
261
262
  itemToSelectAll: false,
262
- isFetchOnClose: false
263
+ isFetchOnClose: false,
264
+ hasCloseOnSelect: true
263
265
  };
264
266
  exports["default"] = (0, fieldWrapper_1["default"])(enums_1.FieldEnum.DROPDOWN_FIELD, DropDownField);