@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 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.localStorage.getItem('sessionStorageAvailable') === '1';
56
+ this.sessionStorageAvailable = window.sessionStorage.getItem('sessionStorageAvailable') === '1';
57
57
  window.sessionStorage.removeItem('sessionStorageAvailable');
58
58
  }
59
59
  catch (e) {
@@ -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 {
@@ -1,5 +1,11 @@
1
1
  export interface IDataSelectItem {
2
+ /**
3
+ * Идентификатор элемента
4
+ */
2
5
  id: number | string | boolean;
6
+ /**
7
+ * Отображаемое название для IDataSelectItem
8
+ */
3
9
  label?: string;
4
10
  [key: string]: unknown;
5
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.0-beta.50",
3
+ "version": "3.0.0-beta.51",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -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 {
@@ -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
  };
@@ -47,6 +47,7 @@ function RateField(props) {
47
47
  RateField.defaultProps = {
48
48
  allowClear: false,
49
49
  itemsCount: 5,
50
- disabled: false
50
+ disabled: false,
51
+ size: 'md'
51
52
  };
52
53
  exports["default"] = (0, fieldWrapper_1["default"])('RateField', RateField);
@@ -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 {