@steroidsjs/core 3.0.0-beta.50 → 3.0.0-beta.51
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/actions/list.d.ts +64 -0
- package/components/ClientStorageComponent.js +1 -1
- package/hooks/useAddressBar.d.ts +11 -0
- package/hooks/useDataSelect.d.ts +6 -0
- package/package.json +1 -1
- package/ui/content/Accordion/Accordion.d.ts +8 -0
- package/ui/crud/Crud/Crud.d.ts +38 -0
- package/ui/form/Button/Button.d.ts +16 -0
- package/ui/form/DropDownField/DropDownField.d.ts +14 -0
- package/ui/form/RateField/RateField.d.ts +6 -0
- package/ui/form/RateField/RateField.js +2 -1
- package/ui/layout/Notifications/Notifications.d.ts +26 -0
- package/ui/layout/Tooltip/Tooltip.d.ts +21 -0
package/actions/list.d.ts
CHANGED
|
@@ -1,25 +1,89 @@
|
|
|
1
1
|
import { IApiMethod } from '../components/ApiComponent';
|
|
2
2
|
export interface IList {
|
|
3
|
+
/**
|
|
4
|
+
* Url, который вернет коллекцию элементов.
|
|
5
|
+
* @example api/v1/articles
|
|
6
|
+
*/
|
|
3
7
|
action?: string | IApiMethod;
|
|
8
|
+
/**
|
|
9
|
+
* Тип HTTP запроса (GET | POST | PUT | DELETE)
|
|
10
|
+
*/
|
|
4
11
|
actionMethod?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Функция обратного вызова, вызываемая при получении списка.
|
|
14
|
+
*/
|
|
5
15
|
onFetch?: (list: IList, query: Record<string, unknown>, components: any) => Promise<any>;
|
|
16
|
+
/**
|
|
17
|
+
* Функция условия, используемая для определения поведения списка на основе параметров запроса.
|
|
18
|
+
*/
|
|
6
19
|
condition?: (query: Record<string, unknown>) => any;
|
|
20
|
+
/**
|
|
21
|
+
* Массив строк, представляющих область списка.
|
|
22
|
+
*/
|
|
7
23
|
scope?: string[];
|
|
24
|
+
/**
|
|
25
|
+
* Общее количество элементов в списке.
|
|
26
|
+
*/
|
|
8
27
|
total?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Массив элементов списка.
|
|
30
|
+
*/
|
|
9
31
|
items?: Array<any>;
|
|
32
|
+
/**
|
|
33
|
+
* Массив исходных элементов списка.
|
|
34
|
+
*/
|
|
10
35
|
sourceItems?: Array<any>;
|
|
36
|
+
/**
|
|
37
|
+
* Логическое значение, указывающее, является ли список удаленным или нет.
|
|
38
|
+
*/
|
|
11
39
|
isRemote?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Логическое значение, указывающее, можно ли загрузить еще элементы для списка.
|
|
42
|
+
*/
|
|
12
43
|
loadMore?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Первичный ключ для списка.
|
|
46
|
+
*/
|
|
13
47
|
primaryKey?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Идентификатор списка.
|
|
50
|
+
*/
|
|
14
51
|
listId?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Идентификатор формы, связанной с данным списком.
|
|
54
|
+
*/
|
|
15
55
|
formId?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Атрибут страницы для списка.
|
|
58
|
+
*/
|
|
16
59
|
pageAttribute?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Атрибут размера страницы для списка.
|
|
62
|
+
*/
|
|
17
63
|
pageSizeAttribute?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Атрибут сортировки для списка.
|
|
66
|
+
*/
|
|
18
67
|
sortAttribute?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Атрибут макета для списка.
|
|
70
|
+
*/
|
|
19
71
|
layoutAttribute?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Дополнительные метаданные для списка.
|
|
74
|
+
*/
|
|
20
75
|
meta?: any;
|
|
76
|
+
/**
|
|
77
|
+
* Логическое значение, указывающее, был ли список получен или нет.
|
|
78
|
+
*/
|
|
21
79
|
isFetched?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Логическое значение, указывающее, находится ли список в процессе загрузки или нет.
|
|
82
|
+
*/
|
|
22
83
|
isLoading?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Название макета, связанного с данным списком.
|
|
86
|
+
*/
|
|
23
87
|
layoutName?: null;
|
|
24
88
|
}
|
|
25
89
|
export declare const LIST_INIT = "@list/init";
|
|
@@ -53,7 +53,7 @@ var ClientStorageComponent = /** @class */ (function () {
|
|
|
53
53
|
if (this.sessionStorageAvailable) {
|
|
54
54
|
try {
|
|
55
55
|
window.sessionStorage.setItem('sessionStorageAvailable', '1');
|
|
56
|
-
this.sessionStorageAvailable = window.
|
|
56
|
+
this.sessionStorageAvailable = window.sessionStorage.getItem('sessionStorageAvailable') === '1';
|
|
57
57
|
window.sessionStorage.removeItem('sessionStorageAvailable');
|
|
58
58
|
}
|
|
59
59
|
catch (e) {
|
package/hooks/useAddressBar.d.ts
CHANGED
|
@@ -2,8 +2,19 @@
|
|
|
2
2
|
import { Model } from '../components/MetaComponent';
|
|
3
3
|
export type ListControlPosition = 'top' | 'bottom' | 'both' | string;
|
|
4
4
|
export interface IAddressBarConfig {
|
|
5
|
+
/**
|
|
6
|
+
* Флаг для управления включением синхронизации с addressBar
|
|
7
|
+
* @example true
|
|
8
|
+
*/
|
|
5
9
|
enable?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Использовать ли #
|
|
12
|
+
* @example false
|
|
13
|
+
*/
|
|
6
14
|
useHash?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Модель
|
|
17
|
+
*/
|
|
7
18
|
model?: Model;
|
|
8
19
|
}
|
|
9
20
|
export interface IAddressBarOutput {
|
package/hooks/useDataSelect.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export interface IAccordionIcon {
|
|
3
|
+
/**
|
|
4
|
+
* Пользовательская иконка открытия
|
|
5
|
+
* @example 'user
|
|
6
|
+
*/
|
|
3
7
|
open: React.ReactElement | string;
|
|
8
|
+
/**
|
|
9
|
+
* Пользовательская иконка закрытия
|
|
10
|
+
* @example 'user'
|
|
11
|
+
*/
|
|
4
12
|
close: React.ReactElement | string;
|
|
5
13
|
}
|
|
6
14
|
export interface IAccordionProps extends IUiComponent {
|
package/ui/crud/Crud/Crud.d.ts
CHANGED
|
@@ -6,16 +6,54 @@ import { IFormProps } from '../../form/Form/Form';
|
|
|
6
6
|
import { IGridProps } from '../../list/Grid/Grid';
|
|
7
7
|
import { IControlItem } from '../../nav/Controls/Controls';
|
|
8
8
|
export interface ICrudItem extends Omit<IControlItem, 'visible' | 'confirm' | 'onClick'> {
|
|
9
|
+
/**
|
|
10
|
+
* Заголовок
|
|
11
|
+
* @example 'Title'
|
|
12
|
+
*/
|
|
9
13
|
title?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Название для action
|
|
16
|
+
* @example
|
|
17
|
+
*/
|
|
10
18
|
actionName?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Обязателен ли Personal Key
|
|
21
|
+
* @example true
|
|
22
|
+
*/
|
|
11
23
|
pkRequired?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Режим отображения
|
|
26
|
+
* @example 'modal'
|
|
27
|
+
*/
|
|
12
28
|
mode?: 'page' | 'modal';
|
|
29
|
+
/**
|
|
30
|
+
* Компонент
|
|
31
|
+
*/
|
|
13
32
|
component?: any;
|
|
33
|
+
/**
|
|
34
|
+
* Свойства компонента
|
|
35
|
+
*/
|
|
14
36
|
componentProps?: any;
|
|
37
|
+
/**
|
|
38
|
+
* Коллекция Controls
|
|
39
|
+
*/
|
|
15
40
|
controlsInclude?: string[];
|
|
41
|
+
/**
|
|
42
|
+
* Коллекция исключенных Controls
|
|
43
|
+
*/
|
|
16
44
|
controlsExclude?: string[];
|
|
45
|
+
/**
|
|
46
|
+
* Управление отображением
|
|
47
|
+
* @example true
|
|
48
|
+
*/
|
|
17
49
|
visible?: boolean | ((item: any, crudItem: ICrudItem, isGrid: boolean) => boolean);
|
|
50
|
+
/**
|
|
51
|
+
* Сообщение о подтверждении
|
|
52
|
+
*/
|
|
18
53
|
confirm?: string | ((e: any, props: ICrudClickProps) => any);
|
|
54
|
+
/**
|
|
55
|
+
* Функция обратного вызова, срабатывает после нажатия
|
|
56
|
+
*/
|
|
19
57
|
onClick?: (e: Event | React.MouseEvent, props: ICrudClickProps) => any;
|
|
20
58
|
}
|
|
21
59
|
export interface ICrudClickProps {
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export interface IButtonBadge {
|
|
3
|
+
/**
|
|
4
|
+
* Включить/выключить badge
|
|
5
|
+
* @example true
|
|
6
|
+
*/
|
|
3
7
|
enable?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Значение badge
|
|
10
|
+
* @example 'Badge'
|
|
11
|
+
*/
|
|
4
12
|
value?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Цвет
|
|
15
|
+
* @example 'secondary'
|
|
16
|
+
*/
|
|
5
17
|
color?: ColorName;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительный CSS-класс для элемента отображения
|
|
20
|
+
* @example bem.element('additional-class')
|
|
21
|
+
*/
|
|
6
22
|
className?: CssClassName;
|
|
7
23
|
}
|
|
8
24
|
/**
|
|
@@ -11,9 +11,23 @@ export declare const IMG_CONTENT_TYPE = "img";
|
|
|
11
11
|
export type ContentType = 'checkbox' | 'radio' | 'icon' | 'img';
|
|
12
12
|
export type ItemSwitchType = ContentType | 'group' | string;
|
|
13
13
|
export interface IDropDownFieldItem {
|
|
14
|
+
/**
|
|
15
|
+
* Идентификатор элемента
|
|
16
|
+
*/
|
|
14
17
|
id: number | string | boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Отображаемое название
|
|
20
|
+
*/
|
|
15
21
|
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* Тип контента для элемента
|
|
24
|
+
* @example 'img'
|
|
25
|
+
*/
|
|
16
26
|
contentType?: ContentType | string;
|
|
27
|
+
/**
|
|
28
|
+
* Источник контента
|
|
29
|
+
* @example 'https://steroids.kozhindev.com/images/icon.png'
|
|
30
|
+
*/
|
|
17
31
|
contentSrc?: string | React.ReactElement;
|
|
18
32
|
}
|
|
19
33
|
export interface IDropDownFieldItemViewProps extends IAccordionItemViewProps, Pick<IDropDownFieldProps, 'itemsContent'> {
|
|
@@ -23,6 +23,12 @@ export interface IRateFieldProps extends IFieldWrapperInputProps, IUiComponent {
|
|
|
23
23
|
* @example false
|
|
24
24
|
*/
|
|
25
25
|
allowClear?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Значок (бэйдж) с заголовком.
|
|
28
|
+
*/
|
|
29
|
+
badge?: {
|
|
30
|
+
title: string;
|
|
31
|
+
};
|
|
26
32
|
inputProps?: {
|
|
27
33
|
[key: string]: any;
|
|
28
34
|
};
|
|
@@ -14,6 +14,9 @@ import * as React from 'react';
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
interface INotificationItem {
|
|
17
|
+
/**
|
|
18
|
+
* Идентификатор уведомления
|
|
19
|
+
*/
|
|
17
20
|
id?: number;
|
|
18
21
|
/**
|
|
19
22
|
* Цвет всплывающего уведомления
|
|
@@ -28,14 +31,37 @@ interface INotificationItem {
|
|
|
28
31
|
isClosing?: boolean;
|
|
29
32
|
}
|
|
30
33
|
export interface INotificationsProps {
|
|
34
|
+
/**
|
|
35
|
+
* Исходные уведомления
|
|
36
|
+
*/
|
|
31
37
|
initialFlashes?: {
|
|
32
38
|
[key: string]: string | any;
|
|
33
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Коллекция уведомлений
|
|
42
|
+
*/
|
|
34
43
|
notifications?: INotificationItem[];
|
|
44
|
+
/**
|
|
45
|
+
* Задержка перед закрытием
|
|
46
|
+
*/
|
|
35
47
|
closeTimeoutMs?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Дополнительный CSS-класс для элемента отображения
|
|
50
|
+
*/
|
|
36
51
|
className?: CssClassName;
|
|
52
|
+
/**
|
|
53
|
+
* Переопределение view React компонента для кастомизации отображения
|
|
54
|
+
* @example MyCustomView
|
|
55
|
+
*/
|
|
37
56
|
view?: CustomView;
|
|
57
|
+
/**
|
|
58
|
+
* Переопределение view React компонента для кастомизации отображения элемента
|
|
59
|
+
* @example MyCustomView
|
|
60
|
+
*/
|
|
38
61
|
itemView?: any;
|
|
62
|
+
/**
|
|
63
|
+
* Позиционирование элемента уведомления
|
|
64
|
+
*/
|
|
39
65
|
position?: string;
|
|
40
66
|
[key: string]: any;
|
|
41
67
|
}
|
|
@@ -5,14 +5,35 @@
|
|
|
5
5
|
*/
|
|
6
6
|
type TooltipPosition = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom' | string;
|
|
7
7
|
export interface ITooltipArrowPosition {
|
|
8
|
+
/**
|
|
9
|
+
* Позиция стрелки слева
|
|
10
|
+
*/
|
|
8
11
|
left?: number | string;
|
|
12
|
+
/**
|
|
13
|
+
* Позиция стрелки справа
|
|
14
|
+
*/
|
|
9
15
|
right?: number | string;
|
|
16
|
+
/**
|
|
17
|
+
* Позиция стрелки сверху
|
|
18
|
+
*/
|
|
10
19
|
top?: number | string;
|
|
20
|
+
/**
|
|
21
|
+
* Позиция стрелки снизу
|
|
22
|
+
*/
|
|
11
23
|
bottom?: number | string;
|
|
12
24
|
}
|
|
13
25
|
export interface ITooltipStylePosition {
|
|
26
|
+
/**
|
|
27
|
+
* Позиция Tooltip слева
|
|
28
|
+
*/
|
|
14
29
|
left: 'unset' | number;
|
|
30
|
+
/**
|
|
31
|
+
* Позиция Tooltip справа
|
|
32
|
+
*/
|
|
15
33
|
right: 'unset' | number;
|
|
34
|
+
/**
|
|
35
|
+
* Позиция Tooltip сверху
|
|
36
|
+
*/
|
|
16
37
|
top: 'unset' | number;
|
|
17
38
|
}
|
|
18
39
|
export interface ITooltipProps {
|