@steroidsjs/core 3.0.53 → 3.0.55

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.
@@ -25649,6 +25649,318 @@
25649
25649
  }
25650
25650
  ]
25651
25651
  },
25652
+ "IMaskFieldProps": {
25653
+ "name": "IMaskFieldProps",
25654
+ "moduleName": "ui/form/MaskField/MaskField",
25655
+ "title": "MaskField",
25656
+ "description": "\nКомпонент поля ввода текста с маской.\n",
25657
+ "tags": {},
25658
+ "defaultProps": null,
25659
+ "extends": [
25660
+ "IInputFieldProps"
25661
+ ],
25662
+ "properties": [
25663
+ {
25664
+ "name": "addonAfter",
25665
+ "decorators": [],
25666
+ "description": "Текст или React-нода, которая будет отрендерена справа от поля.",
25667
+ "required": false,
25668
+ "type": "ReactNode",
25669
+ "example": "'.com'",
25670
+ "defaultValue": null
25671
+ },
25672
+ {
25673
+ "name": "addonBefore",
25674
+ "decorators": [],
25675
+ "description": "Текст или React-нода, которая будет отрендерена слева от поля.",
25676
+ "required": false,
25677
+ "type": "ReactNode",
25678
+ "example": "'http://'",
25679
+ "defaultValue": null
25680
+ },
25681
+ {
25682
+ "name": "attribute",
25683
+ "decorators": [],
25684
+ "description": "Аттрибут (название) поля в форме",
25685
+ "required": false,
25686
+ "type": "string",
25687
+ "example": "'isVisible'",
25688
+ "defaultValue": null
25689
+ },
25690
+ {
25691
+ "name": "className",
25692
+ "decorators": [],
25693
+ "description": "Дополнительный CSS-класс для элемента отображения",
25694
+ "required": false,
25695
+ "type": "string",
25696
+ "example": null,
25697
+ "defaultValue": null
25698
+ },
25699
+ {
25700
+ "name": "date",
25701
+ "decorators": [],
25702
+ "description": "",
25703
+ "required": false,
25704
+ "type": "any",
25705
+ "example": null,
25706
+ "defaultValue": null
25707
+ },
25708
+ {
25709
+ "name": "debounce",
25710
+ "decorators": [],
25711
+ "description": "Задержка применения введённого значения",
25712
+ "required": false,
25713
+ "type": "boolean | IDebounceConfig",
25714
+ "example": null,
25715
+ "defaultValue": null
25716
+ },
25717
+ {
25718
+ "name": "disabled",
25719
+ "decorators": [],
25720
+ "description": "Переводит элемент в состояние \"не активен\"",
25721
+ "required": false,
25722
+ "type": "boolean",
25723
+ "example": "true",
25724
+ "defaultValue": null
25725
+ },
25726
+ {
25727
+ "name": "errors",
25728
+ "decorators": [],
25729
+ "description": "Ошибки в поле",
25730
+ "required": false,
25731
+ "type": "string[]",
25732
+ "example": "['Error text']",
25733
+ "defaultValue": null
25734
+ },
25735
+ {
25736
+ "name": "fieldLayoutClassName",
25737
+ "decorators": [],
25738
+ "description": "Дополнительный CSS-класс для обертки FieldLayout",
25739
+ "required": false,
25740
+ "type": "string",
25741
+ "example": null,
25742
+ "defaultValue": null
25743
+ },
25744
+ {
25745
+ "name": "hint",
25746
+ "decorators": [],
25747
+ "description": "Подсказка, которая отобразится рядом с полем",
25748
+ "required": false,
25749
+ "type": "string",
25750
+ "example": "'Only english letters'",
25751
+ "defaultValue": null
25752
+ },
25753
+ {
25754
+ "name": "id",
25755
+ "decorators": [],
25756
+ "description": "Input ID для связи поля с label",
25757
+ "required": false,
25758
+ "type": "string",
25759
+ "example": null,
25760
+ "defaultValue": null
25761
+ },
25762
+ {
25763
+ "name": "inputProps",
25764
+ "decorators": [],
25765
+ "description": "Свойства для элемента input",
25766
+ "required": false,
25767
+ "type": "InputHTMLAttributes",
25768
+ "example": "{ onKeyDown: ... }",
25769
+ "defaultValue": null
25770
+ },
25771
+ {
25772
+ "name": "isRenderWithoutFieldLayout",
25773
+ "decorators": [],
25774
+ "description": "Возможность отрендерить поле без обертки в компонент FieldLayout",
25775
+ "required": false,
25776
+ "type": "boolean",
25777
+ "example": null,
25778
+ "defaultValue": null
25779
+ },
25780
+ {
25781
+ "name": "label",
25782
+ "decorators": [],
25783
+ "description": "Название поля либо отмена отображение поля (false)",
25784
+ "required": false,
25785
+ "type": "any",
25786
+ "example": "'Visible'",
25787
+ "defaultValue": null
25788
+ },
25789
+ {
25790
+ "name": "leadIcon",
25791
+ "decorators": [],
25792
+ "description": "Пользовательская иконка svg или название иконки",
25793
+ "required": false,
25794
+ "type": "string | ReactElement",
25795
+ "example": null,
25796
+ "defaultValue": null
25797
+ },
25798
+ {
25799
+ "name": "maskOptions",
25800
+ "decorators": [],
25801
+ "description": "Конфигурация маски",
25802
+ "required": false,
25803
+ "type": "MaskitoOptions",
25804
+ "example": null,
25805
+ "defaultValue": null
25806
+ },
25807
+ {
25808
+ "name": "model",
25809
+ "decorators": [],
25810
+ "description": "Модель с полями формы",
25811
+ "required": false,
25812
+ "type": "any",
25813
+ "example": "{\n attributes: [\n {\n attribute: 'category',\n field: 'DropDownField'\n }\n ]\n}",
25814
+ "defaultValue": null
25815
+ },
25816
+ {
25817
+ "name": "placeholder",
25818
+ "decorators": [],
25819
+ "description": "Подсказка для поля",
25820
+ "required": false,
25821
+ "type": "string",
25822
+ "example": "Your text...",
25823
+ "defaultValue": null
25824
+ },
25825
+ {
25826
+ "name": "prefix",
25827
+ "decorators": [],
25828
+ "description": "Префикс, который добавится к аттрибуту (названию) поля в форме",
25829
+ "required": false,
25830
+ "type": "string | boolean",
25831
+ "example": null,
25832
+ "defaultValue": null
25833
+ },
25834
+ {
25835
+ "name": "required",
25836
+ "decorators": [],
25837
+ "description": "Обязательное ли поле? Если true, то к названию будет добавлен\nмодификатор 'required' - красная звездочка (по умолчанию)",
25838
+ "required": false,
25839
+ "type": "boolean",
25840
+ "example": "true",
25841
+ "defaultValue": null
25842
+ },
25843
+ {
25844
+ "name": "showClear",
25845
+ "decorators": [],
25846
+ "description": "Показывать иконку очищения поля",
25847
+ "required": false,
25848
+ "type": "boolean",
25849
+ "example": "true",
25850
+ "defaultValue": null
25851
+ },
25852
+ {
25853
+ "name": "size",
25854
+ "decorators": [],
25855
+ "description": "Размер поля",
25856
+ "required": false,
25857
+ "type": "string",
25858
+ "example": null,
25859
+ "defaultValue": null
25860
+ },
25861
+ {
25862
+ "name": "style",
25863
+ "decorators": [],
25864
+ "description": "Объект CSS стилей",
25865
+ "required": false,
25866
+ "type": "CSSProperties",
25867
+ "example": "{width: '45%'}",
25868
+ "defaultValue": null
25869
+ },
25870
+ {
25871
+ "name": "textAfter",
25872
+ "decorators": [],
25873
+ "description": "Изображение или React-нода, которая будет отрендерена справа от поля.",
25874
+ "required": false,
25875
+ "type": "ReactNode",
25876
+ "example": "require('icon.png') | '<component/>'",
25877
+ "defaultValue": null
25878
+ },
25879
+ {
25880
+ "name": "textBefore",
25881
+ "decorators": [],
25882
+ "description": "Изображение или React-нода, которая будет отрендерена слева от поля.",
25883
+ "required": false,
25884
+ "type": "ReactNode",
25885
+ "example": "require('icon.png') | <component/>",
25886
+ "defaultValue": null
25887
+ },
25888
+ {
25889
+ "name": "type",
25890
+ "decorators": [],
25891
+ "description": "HTML Тип",
25892
+ "required": false,
25893
+ "type": "string",
25894
+ "example": "email",
25895
+ "defaultValue": null
25896
+ },
25897
+ {
25898
+ "name": "value",
25899
+ "decorators": [],
25900
+ "description": "Значение для поля",
25901
+ "required": false,
25902
+ "type": "any",
25903
+ "example": null,
25904
+ "defaultValue": null
25905
+ },
25906
+ {
25907
+ "name": "view",
25908
+ "decorators": [],
25909
+ "description": "Переопределение view React компонента для кастомизации отображения",
25910
+ "required": false,
25911
+ "type": "React.ReactNode | {}",
25912
+ "example": "MyCustomView",
25913
+ "defaultValue": null
25914
+ },
25915
+ {
25916
+ "name": "viewProps",
25917
+ "decorators": [],
25918
+ "description": "Свойства для компонента отображения",
25919
+ "required": false,
25920
+ "type": "{}",
25921
+ "example": "{\n customHandler: () => {...}\n}",
25922
+ "defaultValue": null
25923
+ }
25924
+ ],
25925
+ "methods": [
25926
+ {
25927
+ "name": "onChange",
25928
+ "decorators": [],
25929
+ "description": "Callback-функция, которая вызывается при изменении данных",
25930
+ "required": false,
25931
+ "type": "any",
25932
+ "example": null,
25933
+ "parameters": [
25934
+ {
25935
+ "name": "args",
25936
+ "decorators": [],
25937
+ "description": "",
25938
+ "required": true,
25939
+ "type": "any[]",
25940
+ "example": null
25941
+ }
25942
+ ]
25943
+ },
25944
+ {
25945
+ "name": "onClear",
25946
+ "decorators": [],
25947
+ "description": "Callback-функция, которая вызывается при очистке input",
25948
+ "required": false,
25949
+ "type": "void",
25950
+ "example": null,
25951
+ "parameters": [
25952
+ {
25953
+ "name": "value",
25954
+ "decorators": [],
25955
+ "description": "",
25956
+ "required": true,
25957
+ "type": "string",
25958
+ "example": null
25959
+ }
25960
+ ]
25961
+ }
25962
+ ]
25963
+ },
25652
25964
  "INavFieldProps": {
25653
25965
  "name": "INavFieldProps",
25654
25966
  "moduleName": "ui/form/NavField/NavField",
@@ -36754,10 +37066,10 @@
36754
37066
  {
36755
37067
  "name": "list",
36756
37068
  "decorators": [],
36757
- "description": "Список, для которого используется пагинация, пример {items: [...], total: number},",
37069
+ "description": "Список, для которого используется пагинация",
36758
37070
  "required": false,
36759
37071
  "type": "any",
36760
- "example": "{{\n total: 100,\n page: 2,\n pageSize: 10,\n }}",
37072
+ "example": "{{\n total: 100,\n page: 2,\n pageSize: 10,\n items: [\n {id: 1, name: 'Item 1'},\n {id: 2, name: 'Item 2'},\n // ...\n ],\n }}",
36761
37073
  "defaultValue": null
36762
37074
  },
36763
37075
  {
@@ -36922,10 +37234,10 @@
36922
37234
  {
36923
37235
  "name": "list",
36924
37236
  "decorators": [],
36925
- "description": "Список, для которого используется пагинация, пример {items: [...], total: number},",
37237
+ "description": "Список, для которого используется пагинация",
36926
37238
  "required": false,
36927
37239
  "type": "any",
36928
- "example": "{{\n total: 100,\n page: 2,\n pageSize: 10,\n }}"
37240
+ "example": "{{\n total: 100,\n page: 2,\n pageSize: 10,\n items: [\n {id: 1, name: 'Item 1'},\n {id: 2, name: 'Item 2'},\n // ...\n ],\n }}"
36929
37241
  },
36930
37242
  {
36931
37243
  "name": "loadMore",
@@ -41475,14 +41787,6 @@
41475
41787
  "type": "\"button\" | \"checkbox\" | \"color\" | \"date\" | \"datetime-local\" | \"email\" | \"file\" | \"hidden\" | \"image\" | \"month\" | \"number\" | \"password\" | \"radio\" | \"range\" | \"reset\" | \"search\" | \"submit\" | \"tel\" | \"text\" | \"time\" | \"url\" | \"week\" | string",
41476
41788
  "example": null
41477
41789
  },
41478
- "IMaskFieldProps": {
41479
- "name": "IMaskFieldProps",
41480
- "decorators": [],
41481
- "description": "MaskField\n\nКомпонент поля ввода текста с маской.\n",
41482
- "required": true,
41483
- "type": "IInputFieldProps",
41484
- "example": null
41485
- },
41486
41790
  "ILoaderViewProps": {
41487
41791
  "name": "ILoaderViewProps",
41488
41792
  "decorators": [],
package/en.json CHANGED
@@ -979,6 +979,7 @@
979
979
  "Скрыть иконку c лева от элемента": "Hide the icon to the left of the element",
980
980
  "\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n\nДля корректной работы функционала создания задач,\nнеобходимо установить в проекте зависимости `@ckeditor/ckeditor5-react v3.0.2` и `@steroidsjs/ckeditor5 v27.0.2-rc.2`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nИмпортированные компоненты нужно передать в проп `createTaskEditorConfig`,\nв поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.\n": "",
981
981
  "Компонент для создания HTML-разметки, использующий WYSIWYG редактор.\n\nДля использования WYSIWYG редактора, необходимо установить в проекте зависимости `@ckeditor/ckeditor5-react` и `@steroidsjs/ckeditor5`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nКомпонент `CKEditor` нужно передать в проп `htmlComponent`, а конструктор `ClassicEditor` в проп `editorConstructor`.\n\nПри передаче `HtmlField` с бэкенда, необходимо переопределить `view` компонента, указав локальный.\nВ локальном компоненте добавить вместо пропсов `htmlComponent` и `editorConstructor` импорты `CKEditor` и `ClassicEditor` соотвественно.\n": "",
982
+ "\nКомпонент поля ввода текста с маской.\n": "",
982
983
  "\nКомпонент Tooltip предоставляет всплывающую подсказку для дочерних элементов.\nВнутри компонента, то есть между тегами Tooltip можно использовать только html теги, например div, span и тд\n": "",
983
984
  "Компонент с бесконечным скроллом страниц.": "",
984
985
  "Компонент, который представляет в виде дерева список с иерархической структурой данных\n\nДополнительный функционал: в кастомном view компонента есть возможность реализовать кнопку, по клику на которую\nбудет вызываться функция props.onItemFocus. Данная функция \"находит\" текущий роут в дереве -\nраскрывает родительские уровни, делает элемент активным.\nДанная функция не включает скролл к активному компоненту внутри дерева, это также необходимо\nреализовать в кастомном view локально в проекте.\n": "",
@@ -1029,7 +1030,6 @@
1029
1030
  "Подключить бесконечный скролл": "",
1030
1031
  "Аттрибут (название) в форме для поля с флагом, определяющим есть ли следующая страница": "",
1031
1032
  "Аттрибут (название) в форме для поля с номером текущей страницы": "",
1032
- "Список, для которого используется пагинация, пример {items: [...], total: number},": "",
1033
1033
  "Кастомная иконка для сворачивания элементов": "",
1034
1034
  "CSS-класс для элемента навигации.": "",
1035
1035
  "Тип данных для параметров маршрута.": "",
@@ -87,7 +87,7 @@ function useDataSelect(config) {
87
87
  return;
88
88
  }
89
89
  // If all elements of selectedIds are equal to ids, remove all elements
90
- if ((0, isEqual_1["default"])(selectedIds, ids)) {
90
+ if ((0, isEqual_1["default"])(new Set(selectedIds), new Set(ids))) {
91
91
  setSelectedIdsInternal([]);
92
92
  return;
93
93
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.53",
3
+ "version": "3.0.55",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -21,7 +21,7 @@ var AutoSaveHelper = /** @class */ (function () {
21
21
  AutoSaveHelper.restore = function (clientStorage, formId, initialValues) {
22
22
  var values = clientStorage.get("".concat(AutoSaveHelper.STORAGE_KEY_PREFIX, "_").concat(formId)) || '';
23
23
  if ((0, isString_1["default"])(values) && values.substr(0, 1) === '{') {
24
- return __assign(__assign({}, JSON.parse(values)), initialValues);
24
+ return __assign(__assign({}, initialValues), JSON.parse(values));
25
25
  }
26
26
  return initialValues;
27
27
  };
@@ -124,7 +124,7 @@ function Form(props) {
124
124
  if (isFirstMount) {
125
125
  // Query
126
126
  if (initialQuery) {
127
- initialValues = __assign(__assign({}, normalizeInitialQuery(initialQuery)), props.initialValues);
127
+ initialValues = __assign(__assign({}, props.initialValues), normalizeInitialQuery(initialQuery));
128
128
  }
129
129
  // Local storage
130
130
  if (props.autoSave) {
@@ -5,6 +5,7 @@ import { IInputFieldProps } from '../InputField/InputField';
5
5
  *
6
6
  * Компонент поля ввода текста с маской.
7
7
  **/
8
- export type IMaskFieldProps = IInputFieldProps;
8
+ export interface IMaskFieldProps extends IInputFieldProps {
9
+ }
9
10
  declare function MaskField(props: IMaskFieldProps): JSX.Element;
10
11
  export default MaskField;
@@ -63,11 +63,16 @@ export interface IPaginationProps {
63
63
  */
64
64
  dark?: boolean;
65
65
  /**
66
- * Список, для которого используется пагинация, пример {items: [...], total: number},
66
+ * Список, для которого используется пагинация
67
67
  * @example {{
68
68
  * total: 100,
69
69
  * page: 2,
70
70
  * pageSize: 10,
71
+ * items: [
72
+ * {id: 1, name: 'Item 1'},
73
+ * {id: 2, name: 'Item 2'},
74
+ * // ...
75
+ * ],
71
76
  * }}
72
77
  */
73
78
  list?: any;