@steroidsjs/core 3.0.0 → 3.0.2
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 +144 -47
- package/en.json +8 -2
- package/hooks/useApplication.d.ts +1 -1
- package/package.json +1 -1
- package/ui/content/DropDown/DropDown.js +1 -3
- package/ui/content/Kanban/Kanban.d.ts +7 -1
- package/ui/content/Kanban/Kanban.js +2 -1
- package/ui/content/Kanban/hooks/useKanban.d.ts +6 -0
- package/ui/content/Kanban/hooks/useKanban.js +2 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +1 -2
- package/ui/form/AutoCompleteField/AutoCompleteField.js +24 -11
- package/ui/form/Button/Button.d.ts +1 -1
- package/ui/form/Button/Button.js +29 -5
- package/ui/form/CheckboxField/CheckboxField.d.ts +1 -1
- package/ui/form/CheckboxField/CheckboxField.js +13 -4
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +2 -1
- package/ui/form/CheckboxListField/CheckboxListField.js +13 -4
- package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +1 -1
- package/ui/form/CheckboxTreeField/CheckboxTreeField.js +9 -1
- package/ui/form/DateField/DateField.d.ts +4 -3
- package/ui/form/DateField/DateField.js +4 -1
- package/ui/form/DateRangeField/DateRangeField.js +18 -13
- package/ui/form/DateTimeField/DateTimeField.d.ts +1 -1
- package/ui/form/DateTimeField/DateTimeField.js +19 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +20 -1
- package/ui/form/DropDownField/DropDownField.js +34 -2
- package/ui/form/EmailField/EmailField.js +53 -3
- package/ui/form/Field/Field.js +3 -3
- package/ui/form/FieldLayout/FieldLayout.js +12 -12
- package/ui/form/FieldList/FieldList.d.ts +1 -1
- package/ui/form/FieldList/FieldList.js +7 -6
- package/ui/form/FieldSet/FieldSet.js +6 -1
- package/ui/form/FileField/FileField.js +13 -3
- package/ui/form/Form/Form.d.ts +1 -1
- package/ui/form/Form/Form.js +12 -14
- package/ui/form/HtmlField/HtmlField.d.ts +20 -1
- package/ui/form/HtmlField/HtmlField.js +11 -12
- package/ui/form/ImageField/ImageField.js +12 -8
- package/ui/form/InputField/InputField.js +24 -3
- package/ui/form/MaskField/MaskField.js +1 -13
- package/ui/form/NavField/NavField.js +12 -2
- package/ui/form/NumberField/NumberField.js +16 -3
- package/ui/form/PasswordField/PasswordField.js +15 -2
- package/ui/form/RadioField/RadioField.d.ts +1 -1
- package/ui/form/RadioField/RadioField.js +15 -4
- package/ui/form/RadioListField/RadioListField.d.ts +2 -1
- package/ui/form/RadioListField/RadioListField.js +14 -4
- package/ui/form/RateField/RateField.js +11 -1
- package/ui/form/ReCaptchaField/ReCaptchaField.js +6 -12
- package/ui/form/SliderField/SliderField.d.ts +1 -1
- package/ui/form/SliderField/SliderField.js +5 -3
- package/ui/form/SwitcherField/SwitcherField.d.ts +1 -1
- package/ui/form/SwitcherField/SwitcherField.js +14 -4
- package/ui/form/TextField/TextField.js +2 -1
- package/ui/form/TimeField/TimeField.js +3 -1
- package/ui/form/TimeRangeField/TimeRangeField.js +4 -1
- package/ui/layout/Notifications/Notifications.d.ts +1 -1
- package/ui/layout/Notifications/Notifications.js +7 -3
- package/ui/layout/ProgressBar/ProgressBar.d.ts +1 -1
- package/ui/layout/ProgressBar/ProgressBar.js +24 -24
- package/ui/layout/Sidebar/Sidebar.js +16 -12
- package/ui/list/ControlsColumn/ControlsColumn.js +7 -1
- package/ui/list/Grid/Grid.d.ts +1 -1
- package/ui/list/Grid/Grid.js +33 -8
- package/ui/list/LayoutNames/LayoutNames.d.ts +1 -1
- package/ui/list/LayoutNames/LayoutNames.js +2 -3
- package/ui/list/List/List.js +19 -4
- package/ui/list/Pagination/Pagination.d.ts +1 -1
- package/ui/list/Pagination/Pagination.js +22 -6
- package/ui/list/PaginationSize/PaginationSize.d.ts +1 -1
- package/ui/list/PaginationSize/PaginationSize.js +10 -4
- package/ui/modal/Modal/Modal.d.ts +2 -2
- package/ui/modal/Modal/Modal.js +16 -3
- package/ui/modal/ModalPortal/ModalPortal.js +2 -3
- package/ui/nav/Breadcrumbs/Breadcrumbs.js +10 -12
- package/ui/nav/ButtonGroup/ButtonGroup.js +19 -38
- package/ui/nav/Controls/Controls.js +6 -1
- package/ui/nav/Nav/Nav.d.ts +9 -1
- package/ui/nav/Nav/Nav.js +16 -7
- package/ui/nav/Router/Router.d.ts +2 -2
- package/ui/nav/Router/Router.js +17 -16
- package/ui/nav/Router/helpers.d.ts +1 -1
- package/ui/nav/Router/helpers.js +19 -16
- package/ui/nav/Tree/Tree.d.ts +3 -3
- package/ui/nav/Tree/Tree.js +11 -13
package/docs-autogen-result.json
CHANGED
|
@@ -2844,7 +2844,7 @@
|
|
|
2844
2844
|
"decorators": [],
|
|
2845
2845
|
"description": "",
|
|
2846
2846
|
"required": false,
|
|
2847
|
-
"type": "
|
|
2847
|
+
"type": "Omit",
|
|
2848
2848
|
"example": null
|
|
2849
2849
|
},
|
|
2850
2850
|
{
|
|
@@ -10364,7 +10364,9 @@
|
|
|
10364
10364
|
"tags": {},
|
|
10365
10365
|
"defaultProps": null,
|
|
10366
10366
|
"extends": [
|
|
10367
|
-
"IModalProps"
|
|
10367
|
+
"IModalProps",
|
|
10368
|
+
"Pick<IKanbanConfig",
|
|
10369
|
+
"'createTaskEditorConfig'>"
|
|
10368
10370
|
],
|
|
10369
10371
|
"properties": [
|
|
10370
10372
|
{
|
|
@@ -10439,6 +10441,14 @@
|
|
|
10439
10441
|
"type": "any",
|
|
10440
10442
|
"example": null
|
|
10441
10443
|
},
|
|
10444
|
+
{
|
|
10445
|
+
"name": "createTaskEditorConfig",
|
|
10446
|
+
"decorators": [],
|
|
10447
|
+
"description": "Компоненты для подключения wysiwyg редактора",
|
|
10448
|
+
"required": true,
|
|
10449
|
+
"type": "Pick",
|
|
10450
|
+
"example": "CKEditor"
|
|
10451
|
+
},
|
|
10442
10452
|
{
|
|
10443
10453
|
"name": "formId",
|
|
10444
10454
|
"decorators": [],
|
|
@@ -10630,7 +10640,7 @@
|
|
|
10630
10640
|
"name": "IKanbanProps",
|
|
10631
10641
|
"moduleName": "ui/content/Kanban/Kanban",
|
|
10632
10642
|
"title": "Kanban",
|
|
10633
|
-
"description": "\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n",
|
|
10643
|
+
"description": "\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n\nДля корректной работы функционала создания задач,\nнеобходимо установить в проекте зависимости `@ckeditor/ckeditor5-react` и `@steroidsjs/ckeditor5`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nИмпортированные компоненты нужно передать в проп `createTaskEditorConfig`,\nв поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.\n",
|
|
10634
10644
|
"tags": {},
|
|
10635
10645
|
"defaultProps": null,
|
|
10636
10646
|
"extends": [
|
|
@@ -10665,6 +10675,15 @@
|
|
|
10665
10675
|
"example": "[\n {\n id: 1,\n title: 'column 1',\n tasks: [\n {\n content: 'item 1',\n id: 1\n }\n ],\n },\n {\n id: 2,\n title: 'column 2',\n tasks: [],\n }\n]",
|
|
10666
10676
|
"defaultValue": null
|
|
10667
10677
|
},
|
|
10678
|
+
{
|
|
10679
|
+
"name": "createTaskEditorConfig",
|
|
10680
|
+
"decorators": [],
|
|
10681
|
+
"description": "Компоненты для подключения wysiwyg редактора",
|
|
10682
|
+
"required": true,
|
|
10683
|
+
"type": "Pick",
|
|
10684
|
+
"example": "CKEditor",
|
|
10685
|
+
"defaultValue": null
|
|
10686
|
+
},
|
|
10668
10687
|
{
|
|
10669
10688
|
"name": "dndContext",
|
|
10670
10689
|
"decorators": [],
|
|
@@ -11278,6 +11297,14 @@
|
|
|
11278
11297
|
"type": "IKanbanColumn[]",
|
|
11279
11298
|
"example": "[\n {\n id: 1,\n title: 'column 1',\n tasks: [\n {\n content: 'item 1',\n id: 1\n }\n ],\n },\n {\n id: 2,\n title: 'column 2',\n tasks: [],\n }\n]"
|
|
11280
11299
|
},
|
|
11300
|
+
{
|
|
11301
|
+
"name": "createTaskEditorConfig",
|
|
11302
|
+
"decorators": [],
|
|
11303
|
+
"description": "Компоненты для подключения wysiwyg редактора",
|
|
11304
|
+
"required": true,
|
|
11305
|
+
"type": "Pick",
|
|
11306
|
+
"example": "CKEditor"
|
|
11307
|
+
},
|
|
11281
11308
|
{
|
|
11282
11309
|
"name": "kanbanId",
|
|
11283
11310
|
"decorators": [],
|
|
@@ -13428,7 +13455,7 @@
|
|
|
13428
13455
|
"decorators": [],
|
|
13429
13456
|
"description": "",
|
|
13430
13457
|
"required": true,
|
|
13431
|
-
"type": "{className: string, disabled: boolean, name: string, placeholder: string, type: string, value: string | number, onBlur: null, onChange: null
|
|
13458
|
+
"type": "{className: string, disabled: boolean, name: string, placeholder: string, type: string, value: string | number, onBlur: null, onChange: null}",
|
|
13432
13459
|
"example": null
|
|
13433
13460
|
},
|
|
13434
13461
|
{
|
|
@@ -15203,7 +15230,7 @@
|
|
|
15203
15230
|
"decorators": [],
|
|
15204
15231
|
"description": "",
|
|
15205
15232
|
"required": true,
|
|
15206
|
-
"type": "{color: string, id: string | number | boolean, isHovered: boolean, isSelected: boolean, label: string}[]",
|
|
15233
|
+
"type": "{color: string, id: string | number | boolean, isHovered: boolean, isSelected: boolean, label: string, required: boolean}[]",
|
|
15207
15234
|
"example": null
|
|
15208
15235
|
},
|
|
15209
15236
|
{
|
|
@@ -15285,7 +15312,7 @@
|
|
|
15285
15312
|
"'items'>",
|
|
15286
15313
|
"IUiComponent",
|
|
15287
15314
|
"Pick<ITreeProps",
|
|
15288
|
-
"'levelPadding' | 'alwaysOpened' | '
|
|
15315
|
+
"'levelPadding' | 'alwaysOpened' | 'customIcon'>"
|
|
15289
15316
|
],
|
|
15290
15317
|
"properties": [
|
|
15291
15318
|
{
|
|
@@ -15558,15 +15585,6 @@
|
|
|
15558
15585
|
"example": "[1, 4]",
|
|
15559
15586
|
"defaultValue": null
|
|
15560
15587
|
},
|
|
15561
|
-
{
|
|
15562
|
-
"name": "showIcon",
|
|
15563
|
-
"decorators": [],
|
|
15564
|
-
"description": "Показать иконку c лева от элемента",
|
|
15565
|
-
"required": false,
|
|
15566
|
-
"type": "boolean",
|
|
15567
|
-
"example": "true",
|
|
15568
|
-
"defaultValue": null
|
|
15569
|
-
},
|
|
15570
15588
|
{
|
|
15571
15589
|
"name": "size",
|
|
15572
15590
|
"decorators": [],
|
|
@@ -15768,7 +15786,9 @@
|
|
|
15768
15786
|
"defaultProps": null,
|
|
15769
15787
|
"extends": [
|
|
15770
15788
|
"IDateInputStateInput",
|
|
15771
|
-
"IUiComponent"
|
|
15789
|
+
"IUiComponent",
|
|
15790
|
+
"Pick<IAbsolutePositioningInputProps",
|
|
15791
|
+
"'autoPositioning'>"
|
|
15772
15792
|
],
|
|
15773
15793
|
"properties": [
|
|
15774
15794
|
{
|
|
@@ -15780,6 +15800,15 @@
|
|
|
15780
15800
|
"example": "'isVisible'",
|
|
15781
15801
|
"defaultValue": null
|
|
15782
15802
|
},
|
|
15803
|
+
{
|
|
15804
|
+
"name": "autoPositioning",
|
|
15805
|
+
"decorators": [],
|
|
15806
|
+
"description": "Включает \"умное\" позиционирование - если компонент не может быть помещен в промежуток между целевым компонентом\nи краем viewport, тогда он будет показан в противоположном направлении от заданного в свойстве position.",
|
|
15807
|
+
"required": false,
|
|
15808
|
+
"type": "boolean",
|
|
15809
|
+
"example": null,
|
|
15810
|
+
"defaultValue": null
|
|
15811
|
+
},
|
|
15783
15812
|
{
|
|
15784
15813
|
"name": "calendarProps",
|
|
15785
15814
|
"decorators": [],
|
|
@@ -16064,9 +16093,17 @@
|
|
|
16064
16093
|
"extends": [
|
|
16065
16094
|
"IDateInputStateOutput",
|
|
16066
16095
|
"Pick<IDateFieldProps",
|
|
16067
|
-
"'size' | 'icon' | 'errors' | 'showRemove' | 'className' | 'calendarProps'>"
|
|
16096
|
+
"'size' | 'icon' | 'errors' | 'showRemove' | 'className' | 'calendarProps' | 'autoPositioning'>"
|
|
16068
16097
|
],
|
|
16069
16098
|
"properties": [
|
|
16099
|
+
{
|
|
16100
|
+
"name": "autoPositioning",
|
|
16101
|
+
"decorators": [],
|
|
16102
|
+
"description": "Включает \"умное\" позиционирование - если компонент не может быть помещен в промежуток между целевым компонентом\nи краем viewport, тогда он будет показан в противоположном направлении от заданного в свойстве position.",
|
|
16103
|
+
"required": false,
|
|
16104
|
+
"type": "boolean",
|
|
16105
|
+
"example": null
|
|
16106
|
+
},
|
|
16070
16107
|
{
|
|
16071
16108
|
"name": "calendarProps",
|
|
16072
16109
|
"decorators": [],
|
|
@@ -22055,7 +22092,7 @@
|
|
|
22055
22092
|
"name": "IHtmlFieldProps",
|
|
22056
22093
|
"moduleName": "ui/form/HtmlField/HtmlField",
|
|
22057
22094
|
"title": "HtmlField",
|
|
22058
|
-
"description": "Компонент для создания HTML-разметки, использующий WYSIWYG
|
|
22095
|
+
"description": "Компонент для создания 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",
|
|
22059
22096
|
"tags": {},
|
|
22060
22097
|
"defaultProps": null,
|
|
22061
22098
|
"extends": [
|
|
@@ -22109,6 +22146,15 @@
|
|
|
22109
22146
|
"example": "true",
|
|
22110
22147
|
"defaultValue": null
|
|
22111
22148
|
},
|
|
22149
|
+
{
|
|
22150
|
+
"name": "editorConstructor",
|
|
22151
|
+
"decorators": [],
|
|
22152
|
+
"description": "Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан",
|
|
22153
|
+
"required": false,
|
|
22154
|
+
"type": "any",
|
|
22155
|
+
"example": "ClassicEditor",
|
|
22156
|
+
"defaultValue": null
|
|
22157
|
+
},
|
|
22112
22158
|
{
|
|
22113
22159
|
"name": "editorProps",
|
|
22114
22160
|
"decorators": [],
|
|
@@ -22154,6 +22200,15 @@
|
|
|
22154
22200
|
"example": "'Only english letters'",
|
|
22155
22201
|
"defaultValue": null
|
|
22156
22202
|
},
|
|
22203
|
+
{
|
|
22204
|
+
"name": "htmlComponent",
|
|
22205
|
+
"decorators": [],
|
|
22206
|
+
"description": "Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан",
|
|
22207
|
+
"required": false,
|
|
22208
|
+
"type": "any",
|
|
22209
|
+
"example": "CKEditor",
|
|
22210
|
+
"defaultValue": null
|
|
22211
|
+
},
|
|
22157
22212
|
{
|
|
22158
22213
|
"name": "id",
|
|
22159
22214
|
"decorators": [],
|
|
@@ -22389,6 +22444,14 @@
|
|
|
22389
22444
|
"type": "boolean",
|
|
22390
22445
|
"example": "true"
|
|
22391
22446
|
},
|
|
22447
|
+
{
|
|
22448
|
+
"name": "editorConstructor",
|
|
22449
|
+
"decorators": [],
|
|
22450
|
+
"description": "Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан",
|
|
22451
|
+
"required": false,
|
|
22452
|
+
"type": "any",
|
|
22453
|
+
"example": "ClassicEditor"
|
|
22454
|
+
},
|
|
22392
22455
|
{
|
|
22393
22456
|
"name": "editorProps",
|
|
22394
22457
|
"decorators": [],
|
|
@@ -22429,6 +22492,14 @@
|
|
|
22429
22492
|
"type": "string",
|
|
22430
22493
|
"example": "'Only english letters'"
|
|
22431
22494
|
},
|
|
22495
|
+
{
|
|
22496
|
+
"name": "htmlComponent",
|
|
22497
|
+
"decorators": [],
|
|
22498
|
+
"description": "Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан",
|
|
22499
|
+
"required": false,
|
|
22500
|
+
"type": "any",
|
|
22501
|
+
"example": "CKEditor"
|
|
22502
|
+
},
|
|
22432
22503
|
{
|
|
22433
22504
|
"name": "id",
|
|
22434
22505
|
"decorators": [],
|
|
@@ -26512,7 +26583,7 @@
|
|
|
26512
26583
|
"decorators": [],
|
|
26513
26584
|
"description": "",
|
|
26514
26585
|
"required": true,
|
|
26515
|
-
"type": "{disabled: boolean, id: string | number | boolean, isHovered: boolean, isSelected: boolean, label: string}[]",
|
|
26586
|
+
"type": "{disabled: boolean, id: string | number | boolean, isHovered: boolean, isSelected: boolean, label: string, required: boolean}[]",
|
|
26516
26587
|
"example": null
|
|
26517
26588
|
},
|
|
26518
26589
|
{
|
|
@@ -38149,6 +38220,15 @@
|
|
|
38149
38220
|
"example": null,
|
|
38150
38221
|
"defaultValue": null
|
|
38151
38222
|
},
|
|
38223
|
+
{
|
|
38224
|
+
"name": "disabled",
|
|
38225
|
+
"decorators": [],
|
|
38226
|
+
"description": "Переводит кнопку в состояние \"не активна\"",
|
|
38227
|
+
"required": false,
|
|
38228
|
+
"type": "boolean",
|
|
38229
|
+
"example": "true",
|
|
38230
|
+
"defaultValue": null
|
|
38231
|
+
},
|
|
38152
38232
|
{
|
|
38153
38233
|
"name": "items",
|
|
38154
38234
|
"decorators": [],
|
|
@@ -38167,6 +38247,15 @@
|
|
|
38167
38247
|
"example": "'link'",
|
|
38168
38248
|
"defaultValue": "'button'"
|
|
38169
38249
|
},
|
|
38250
|
+
{
|
|
38251
|
+
"name": "navClassName",
|
|
38252
|
+
"decorators": [],
|
|
38253
|
+
"description": "CSS-класс для элемента навигации.",
|
|
38254
|
+
"required": false,
|
|
38255
|
+
"type": "string",
|
|
38256
|
+
"example": null,
|
|
38257
|
+
"defaultValue": null
|
|
38258
|
+
},
|
|
38170
38259
|
{
|
|
38171
38260
|
"name": "size",
|
|
38172
38261
|
"decorators": [],
|
|
@@ -38234,6 +38323,14 @@
|
|
|
38234
38323
|
"type": "string",
|
|
38235
38324
|
"example": null
|
|
38236
38325
|
},
|
|
38326
|
+
{
|
|
38327
|
+
"name": "disabled",
|
|
38328
|
+
"decorators": [],
|
|
38329
|
+
"description": "Переводит кнопку в состояние \"не активна\"",
|
|
38330
|
+
"required": false,
|
|
38331
|
+
"type": "boolean",
|
|
38332
|
+
"example": "true"
|
|
38333
|
+
},
|
|
38237
38334
|
{
|
|
38238
38335
|
"name": "items",
|
|
38239
38336
|
"decorators": [],
|
|
@@ -38253,7 +38350,7 @@
|
|
|
38253
38350
|
{
|
|
38254
38351
|
"name": "navClassName",
|
|
38255
38352
|
"decorators": [],
|
|
38256
|
-
"description": "",
|
|
38353
|
+
"description": "CSS-класс для элемента навигации.",
|
|
38257
38354
|
"required": false,
|
|
38258
38355
|
"type": "string",
|
|
38259
38356
|
"example": null
|
|
@@ -38550,7 +38647,7 @@
|
|
|
38550
38647
|
"decorators": [],
|
|
38551
38648
|
"description": "Дерево роутов",
|
|
38552
38649
|
"required": true,
|
|
38553
|
-
"type": "IRouteItem[] | {}",
|
|
38650
|
+
"type": "IRouteItem | IRouteItem[] | {}",
|
|
38554
38651
|
"example": "{id: 'root', path: '/', component: IndexPage, items: [...]}",
|
|
38555
38652
|
"defaultValue": null
|
|
38556
38653
|
},
|
|
@@ -38642,6 +38739,14 @@
|
|
|
38642
38739
|
"type": "boolean",
|
|
38643
38740
|
"example": "false"
|
|
38644
38741
|
},
|
|
38742
|
+
{
|
|
38743
|
+
"name": "hideIcon",
|
|
38744
|
+
"decorators": [],
|
|
38745
|
+
"description": "Скрыть иконку c лева от элемента",
|
|
38746
|
+
"required": false,
|
|
38747
|
+
"type": "boolean",
|
|
38748
|
+
"example": "true"
|
|
38749
|
+
},
|
|
38645
38750
|
{
|
|
38646
38751
|
"name": "id",
|
|
38647
38752
|
"decorators": [],
|
|
@@ -38706,14 +38811,6 @@
|
|
|
38706
38811
|
"type": "string | number",
|
|
38707
38812
|
"example": "2"
|
|
38708
38813
|
},
|
|
38709
|
-
{
|
|
38710
|
-
"name": "showIcon",
|
|
38711
|
-
"decorators": [],
|
|
38712
|
-
"description": "Показать иконку c лева от элемента",
|
|
38713
|
-
"required": false,
|
|
38714
|
-
"type": "boolean",
|
|
38715
|
-
"example": "true"
|
|
38716
|
-
},
|
|
38717
38814
|
{
|
|
38718
38815
|
"name": "useSameSelectedItemId",
|
|
38719
38816
|
"decorators": [],
|
|
@@ -38788,10 +38885,10 @@
|
|
|
38788
38885
|
"autoOpenLevels": "1",
|
|
38789
38886
|
"autoSave": "false",
|
|
38790
38887
|
"hasIconExpandOnly": "false",
|
|
38888
|
+
"hideIcon": "false",
|
|
38791
38889
|
"itemsKey": "'items'",
|
|
38792
38890
|
"level": "0",
|
|
38793
38891
|
"levelPadding": "32",
|
|
38794
|
-
"showIcon": "true",
|
|
38795
38892
|
"useSameSelectedItemId": "true"
|
|
38796
38893
|
},
|
|
38797
38894
|
"extends": [
|
|
@@ -38853,6 +38950,15 @@
|
|
|
38853
38950
|
"example": "false",
|
|
38854
38951
|
"defaultValue": "false"
|
|
38855
38952
|
},
|
|
38953
|
+
{
|
|
38954
|
+
"name": "hideIcon",
|
|
38955
|
+
"decorators": [],
|
|
38956
|
+
"description": "Скрыть иконку c лева от элемента",
|
|
38957
|
+
"required": false,
|
|
38958
|
+
"type": "boolean",
|
|
38959
|
+
"example": "true",
|
|
38960
|
+
"defaultValue": "false"
|
|
38961
|
+
},
|
|
38856
38962
|
{
|
|
38857
38963
|
"name": "id",
|
|
38858
38964
|
"decorators": [],
|
|
@@ -38916,15 +39022,6 @@
|
|
|
38916
39022
|
"example": "2",
|
|
38917
39023
|
"defaultValue": null
|
|
38918
39024
|
},
|
|
38919
|
-
{
|
|
38920
|
-
"name": "showIcon",
|
|
38921
|
-
"decorators": [],
|
|
38922
|
-
"description": "Показать иконку c лева от элемента",
|
|
38923
|
-
"required": false,
|
|
38924
|
-
"type": "boolean",
|
|
38925
|
-
"example": "true",
|
|
38926
|
-
"defaultValue": "true"
|
|
38927
|
-
},
|
|
38928
39025
|
{
|
|
38929
39026
|
"name": "useSameSelectedItemId",
|
|
38930
39027
|
"decorators": [],
|
|
@@ -39050,6 +39147,14 @@
|
|
|
39050
39147
|
"type": "boolean",
|
|
39051
39148
|
"example": "false"
|
|
39052
39149
|
},
|
|
39150
|
+
{
|
|
39151
|
+
"name": "hideIcon",
|
|
39152
|
+
"decorators": [],
|
|
39153
|
+
"description": "Скрыть иконку c лева от элемента",
|
|
39154
|
+
"required": false,
|
|
39155
|
+
"type": "boolean",
|
|
39156
|
+
"example": "true"
|
|
39157
|
+
},
|
|
39053
39158
|
{
|
|
39054
39159
|
"name": "id",
|
|
39055
39160
|
"decorators": [],
|
|
@@ -39106,14 +39211,6 @@
|
|
|
39106
39211
|
"type": "string | number",
|
|
39107
39212
|
"example": "2"
|
|
39108
39213
|
},
|
|
39109
|
-
{
|
|
39110
|
-
"name": "showIcon",
|
|
39111
|
-
"decorators": [],
|
|
39112
|
-
"description": "Показать иконку c лева от элемента",
|
|
39113
|
-
"required": false,
|
|
39114
|
-
"type": "boolean",
|
|
39115
|
-
"example": "true"
|
|
39116
|
-
},
|
|
39117
39214
|
{
|
|
39118
39215
|
"name": "useSameSelectedItemId",
|
|
39119
39216
|
"decorators": [],
|
package/en.json
CHANGED
|
@@ -955,17 +955,21 @@
|
|
|
955
955
|
"Будет ли отображён item?": "",
|
|
956
956
|
"Устанавливать ли фокус и показывать панель времени сразу после рендера страницы": "",
|
|
957
957
|
"Флаг, определяющий раскрывать вложенные элементы по клику на весь элемент или только на иконку": "",
|
|
958
|
+
"\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n\nДля корректной работы функционала создания задач,\nнеобходимо установить в проекте зависимости `@ckeditor/ckeditor5-react` и `@steroidsjs/ckeditor5`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nИмпортированные компоненты нужно передать в проп `createTaskEditorConfig`,\nв поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.\n": "",
|
|
959
|
+
"Компонент для создания 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": "",
|
|
958
960
|
"\nКомпонент для создания пошаговой формы. Предоставляет управление и синхронизацию состояния формы,\nа также список шагов формы для удобной навигации.\nПоля для шагов можно передавать как в виде компонентов, так и в виде объекта с названием поля.\nПозволяет выполнять отправку данных формы на сервер с возможностью валидации и перехода к неверно заполненным полям.\n\n": "",
|
|
959
961
|
"При повторном нажатии на выбранный элемент из дерева, он продолжит отображаться как активный.": "",
|
|
960
962
|
"Дополнительные свойства, которые передаются во view компонента": "",
|
|
961
963
|
"Пропсы для инпута загрузки файлов": "",
|
|
962
964
|
"Переопределение view React компонента для кастомизации отображения элемента инпута": "",
|
|
963
965
|
"Кастомный placeholder для инпута": "",
|
|
966
|
+
"Компоненты для подключения wysiwyg редактора": "",
|
|
964
967
|
"Если true, то location.pathname будет совпадать с теми путями, которые содержат слеш в конце.\nНапример, если указать путь '/catalog/', тогда совпадение будет с '/catalog/' и '/catalog/chapter', но не '/catalog'.": "",
|
|
965
968
|
"Кастомная иконка, заменяющая иконку раскрытия по умолчанию": "",
|
|
966
|
-
"Показать иконку c лева от элемента": "",
|
|
967
969
|
"Опции маски для полей": "",
|
|
968
970
|
"Дополнительные кнопки": "",
|
|
971
|
+
"Конструктор редактора 'ckeditor5-react' из библиотеки @steroidsjs/ckeditor5/packages/ckeditor5-build-classic\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
972
|
+
"Компонент редактора 'ckeditor5-react' из библиотеки @ckeditor\nПримечание: для использования встроенного отображения 'HtmlField', данный компонент должен быть передан": "",
|
|
969
973
|
"Свойства для Form": "",
|
|
970
974
|
"Свойства для кнопки продолжить/отправить": "",
|
|
971
975
|
"Свойства для кнопки возврата": "",
|
|
@@ -973,5 +977,7 @@
|
|
|
973
977
|
"Ориентация списка шагов формы": "",
|
|
974
978
|
"Коллекция полей и аттрибутов для каждого шага формы. Можно передавать как компонент, так и объект с полями.\nГлавное, чтобы внутри шага использовался один из способов.": "",
|
|
975
979
|
"Свойства для Steps": "",
|
|
976
|
-
"
|
|
980
|
+
"CSS-класс для элемента навигации.": "",
|
|
981
|
+
"Флаг, который позволяет использовать вложенные роуты c указанием вложенного пути": "",
|
|
982
|
+
"Скрыть иконку c лева от элемента": ""
|
|
977
983
|
}
|
|
@@ -46,7 +46,7 @@ export interface IApplicationHookConfig {
|
|
|
46
46
|
layoutProps?: Record<string, unknown>;
|
|
47
47
|
screen?: Omit<IScreenProviderProps, 'children'>;
|
|
48
48
|
theme?: Omit<IThemeProviderProps, 'children'>;
|
|
49
|
-
routerProps?: IRouterProps
|
|
49
|
+
routerProps?: Omit<IRouterProps, 'routes'>;
|
|
50
50
|
/**
|
|
51
51
|
* These fetch configurations will be used to preload and store for no matter what route matched in case of SSR
|
|
52
52
|
*/
|
package/package.json
CHANGED
|
@@ -102,9 +102,7 @@ function DropDown(props) {
|
|
|
102
102
|
childrenElement
|
|
103
103
|
? React.cloneElement(childrenElement, resultProps)
|
|
104
104
|
: (React.createElement("span", null, props.children)),
|
|
105
|
-
isComponentExist && (
|
|
106
|
-
// TODO Change Portal to global
|
|
107
|
-
React.createElement(TooltipPortalInner_1["default"], null,
|
|
105
|
+
isComponentExist && (React.createElement(TooltipPortalInner_1["default"], null,
|
|
108
106
|
React.createElement(DropDownView, __assign({}, viewProps))))));
|
|
109
107
|
}
|
|
110
108
|
DropDown.defaultProps = {
|
|
@@ -50,7 +50,7 @@ export interface IKanbanColumn {
|
|
|
50
50
|
title: string;
|
|
51
51
|
tasks: IKanbanTask[];
|
|
52
52
|
}
|
|
53
|
-
export interface IKanbanModalViewProps extends IModalProps {
|
|
53
|
+
export interface IKanbanModalViewProps extends IModalProps, Pick<IKanbanConfig, 'createTaskEditorConfig'> {
|
|
54
54
|
modalType: KanbanModalTypeEnum;
|
|
55
55
|
formId: string;
|
|
56
56
|
columns: IKanbanColumn[];
|
|
@@ -79,6 +79,12 @@ export interface IKanbanTaskDetailsModalViewProps extends IModalProps {
|
|
|
79
79
|
* Для работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`
|
|
80
80
|
* и передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`
|
|
81
81
|
* компоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.
|
|
82
|
+
*
|
|
83
|
+
* Для корректной работы функционала создания задач,
|
|
84
|
+
* необходимо установить в проекте зависимости `@ckeditor/ckeditor5-react` и `@steroidsjs/ckeditor5`,
|
|
85
|
+
* затем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.
|
|
86
|
+
* Импортированные компоненты нужно передать в проп `createTaskEditorConfig`,
|
|
87
|
+
* в поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.
|
|
82
88
|
*/
|
|
83
89
|
export interface IKanbanProps extends IKanbanConfig, IUiComponent {
|
|
84
90
|
/**
|
|
@@ -35,7 +35,8 @@ function Kanban(props) {
|
|
|
35
35
|
assigners: props.assigners,
|
|
36
36
|
tags: props.tags,
|
|
37
37
|
lastTaskId: props.lastTaskId,
|
|
38
|
-
onDragEnd: props.onDragEnd
|
|
38
|
+
onDragEnd: props.onDragEnd,
|
|
39
|
+
createTaskEditorConfig: props.createTaskEditorConfig
|
|
39
40
|
}), columns = _a.columns, onDragEnd = _a.onDragEnd, onOpenTaskDetailsModal = _a.onOpenTaskDetailsModal, onOpenCreateTaskModal = _a.onOpenCreateTaskModal;
|
|
40
41
|
// Task
|
|
41
42
|
var Task = components.ui.getView('content.KanbanTaskView');
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IHtmlFieldProps } from '@steroidsjs/core/ui/form/HtmlField/HtmlField';
|
|
1
2
|
import { IDragEndResult, IKanbanColumn, IKanbanTask, ITaskAssigner, ITaskTag } from '../Kanban';
|
|
2
3
|
export interface IKanbanConfig {
|
|
3
4
|
/**
|
|
@@ -35,6 +36,11 @@ export interface IKanbanConfig {
|
|
|
35
36
|
* Массив исполнителей, которых можно назначить для выполнения задачи
|
|
36
37
|
*/
|
|
37
38
|
assigners?: ITaskAssigner[];
|
|
39
|
+
/**
|
|
40
|
+
* Компоненты для подключения wysiwyg редактора
|
|
41
|
+
* @example CKEditor
|
|
42
|
+
*/
|
|
43
|
+
createTaskEditorConfig: Pick<IHtmlFieldProps, 'htmlComponent' | 'editorConstructor'>;
|
|
38
44
|
/**
|
|
39
45
|
* Обработчик события окончания перетаскивания карточки или колонки
|
|
40
46
|
* В result передается объект с информацией о событии
|
|
@@ -105,10 +105,11 @@ function useKanban(config) {
|
|
|
105
105
|
// common modal
|
|
106
106
|
var KanbanModalView = components.ui.getView('content.KanbanModalView');
|
|
107
107
|
var createOrEditTaskCommonModalProps = react_1["default"].useMemo(function () { return ({
|
|
108
|
+
createTaskEditorConfig: config.createTaskEditorConfig,
|
|
108
109
|
columns: kanban === null || kanban === void 0 ? void 0 : kanban.columns,
|
|
109
110
|
assigners: normalizeAssignersForDropDownItems(config.assigners || []),
|
|
110
111
|
tags: tags
|
|
111
|
-
}); }, [config.assigners, kanban === null || kanban === void 0 ? void 0 : kanban.columns, tags]);
|
|
112
|
+
}); }, [config.createTaskEditorConfig, config.assigners, kanban === null || kanban === void 0 ? void 0 : kanban.columns, tags]);
|
|
112
113
|
// create task modal
|
|
113
114
|
var onOpenCreateTaskModal = react_1["default"].useCallback(function (columnId) {
|
|
114
115
|
if (columnId) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
3
3
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
4
4
|
import { IBaseFieldProps } from '../InputField/InputField';
|
|
@@ -46,7 +46,6 @@ export interface IAutoCompleteFieldViewProps extends Omit<IAutoCompleteFieldProp
|
|
|
46
46
|
value: string | number;
|
|
47
47
|
disabled: boolean;
|
|
48
48
|
onChange: (value: string) => void;
|
|
49
|
-
onFocus: (e: Event | React.FocusEvent) => void;
|
|
50
49
|
onBlur: (e: Event | React.FocusEvent) => void;
|
|
51
50
|
className?: CssClassName;
|
|
52
51
|
};
|
|
@@ -72,16 +72,6 @@ function AutoCompleteField(props) {
|
|
|
72
72
|
setQuery(value);
|
|
73
73
|
props.input.onChange.call(null, value);
|
|
74
74
|
}, [props.input.onChange]);
|
|
75
|
-
// TODO
|
|
76
|
-
var onFocus = function (e) {
|
|
77
|
-
props.onOpen();
|
|
78
|
-
if (props.searchOnFocus) {
|
|
79
|
-
props.onSearch(props.input.value);
|
|
80
|
-
}
|
|
81
|
-
if (props.inputProps && props.inputProps.onFocus) {
|
|
82
|
-
props.inputProps.onFocus(e);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
75
|
var onBlur = (0, react_1.useCallback)(function (e) {
|
|
86
76
|
setTimeout(function () {
|
|
87
77
|
if (props.isOpened) {
|
|
@@ -100,7 +90,30 @@ function AutoCompleteField(props) {
|
|
|
100
90
|
(0, react_1.useEffect)(function () {
|
|
101
91
|
props.input.onChange.call(null, selectedIds[0] || null);
|
|
102
92
|
}, [props.input.onChange, selectedIds]);
|
|
103
|
-
|
|
93
|
+
var viewProps = (0, react_1.useMemo)(function () { return ({
|
|
94
|
+
inputProps: inputProps,
|
|
95
|
+
items: items,
|
|
96
|
+
isLoading: isLoading,
|
|
97
|
+
hoveredId: hoveredId,
|
|
98
|
+
selectedIds: selectedIds,
|
|
99
|
+
onOpen: onOpen,
|
|
100
|
+
isOpened: isOpened,
|
|
101
|
+
onClose: onClose,
|
|
102
|
+
forwardedRef: forwardedRef,
|
|
103
|
+
onItemHover: onItemHover,
|
|
104
|
+
onItemSelect: onItemSelect,
|
|
105
|
+
primaryKey: props.primaryKey,
|
|
106
|
+
size: props.size,
|
|
107
|
+
placeholder: props.placeholder,
|
|
108
|
+
disabled: props.disabled,
|
|
109
|
+
required: props.required,
|
|
110
|
+
categories: getCategories(props.items),
|
|
111
|
+
className: props.className,
|
|
112
|
+
style: props.style
|
|
113
|
+
}); }, [inputProps, items, isLoading, hoveredId, selectedIds, onOpen, isOpened, onClose,
|
|
114
|
+
onItemHover, onItemSelect, props.primaryKey, props.size, props.placeholder, props.disabled,
|
|
115
|
+
props.required, props.items, props.className, props.style]);
|
|
116
|
+
return components.ui.renderView(props.view || 'form.AutoCompleteFieldView', viewProps);
|
|
104
117
|
}
|
|
105
118
|
AutoCompleteField.defaultProps = {
|
|
106
119
|
primaryKey: 'label',
|