@steroidsjs/core 3.0.0-beta.28 → 3.0.0-beta.30
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/hooks/useFile.d.ts +23 -2
- package/hooks/useList.js +4 -1
- package/index.d.ts +24 -0
- package/package.json +1 -1
- package/reducers/router.d.ts +0 -1
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +1 -3
- package/ui/crud/Crud/Crud.d.ts +1 -3
- package/ui/crud/index.d.ts +0 -1
- package/ui/form/AutoCompleteField/AutoCompleteField.d.ts +2 -3
- package/ui/form/AutoCompleteField/AutoCompleteField.js +0 -1
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +2 -2
- package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
- package/ui/form/FileField/FileField.d.ts +2 -2
- package/ui/form/ImageField/ImageField.d.ts +2 -2
- package/ui/form/InputField/InputField.d.ts +19 -40
- package/ui/form/InputField/InputField.js +1 -9
- package/ui/form/NumberField/NumberField.d.ts +3 -4
- package/ui/form/NumberField/NumberField.js +0 -6
- package/ui/form/PasswordField/PasswordField.d.ts +4 -7
- package/ui/form/PasswordField/PasswordField.js +1 -28
- package/ui/form/RadioListField/RadioListField.d.ts +3 -1
- package/ui/form/TextField/TextField.d.ts +5 -29
- package/ui/form/TextField/TextField.js +2 -29
- package/ui/nav/Controls/Controls.js +5 -5
- package/ui/nav/Router/Router.d.ts +0 -8
- package/ui/nav/Router/Router.js +0 -4
- package/hoc/application.d.ts +0 -8
- package/hoc/application.js +0 -50
- package/hoc/bem.d.ts +0 -14
- package/hoc/bem.js +0 -42
- package/hoc/components.d.ts +0 -11
- package/hoc/components.js +0 -62
- package/hoc/connect.d.ts +0 -6
- package/hoc/connect.js +0 -3
- package/hoc/fetch.d.ts +0 -13
- package/hoc/fetch.js +0 -60
- package/hoc/file.d.ts +0 -28
- package/hoc/file.js +0 -45
- package/hoc/http.d.ts +0 -7
- package/hoc/http.js +0 -53
- package/hoc/index.d.ts +0 -8
- package/hoc/index.js +0 -20
- package/hoc/layout.d.ts +0 -30
- package/hoc/layout.js +0 -48
package/hooks/useFile.d.ts
CHANGED
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export interface IFileInput {
|
|
2
|
+
input?: FormInputType;
|
|
3
|
+
multiple?: boolean;
|
|
4
|
+
uploader?: any;
|
|
5
|
+
backendUrl?: any;
|
|
6
|
+
mimeTypes?: any;
|
|
7
|
+
imagesOnly?: any;
|
|
8
|
+
imagesProcessor?: any;
|
|
9
|
+
imagesExactSize?: any;
|
|
10
|
+
initialFiles?: any;
|
|
11
|
+
uploaderConfig?: {
|
|
12
|
+
useFormData?: boolean;
|
|
13
|
+
fileFieldName?: string;
|
|
14
|
+
} | any;
|
|
15
|
+
}
|
|
16
|
+
export interface IFileOutput {
|
|
17
|
+
uploader?: any;
|
|
18
|
+
files?: any[];
|
|
19
|
+
onBrowse?: any;
|
|
20
|
+
onRemove?: any;
|
|
21
|
+
onAdd?: any;
|
|
22
|
+
}
|
|
23
|
+
export default function useFile(props: IFileInput): IFileOutput;
|
package/hooks/useList.js
CHANGED
|
@@ -256,7 +256,10 @@ function useList(config) {
|
|
|
256
256
|
(0, react_use_1.useUnmount)(function () {
|
|
257
257
|
var autoDestroy = typeof config.autoDestroy === 'boolean' ? config.autoDestroy : exports.defaultConfig.autoDestroy;
|
|
258
258
|
if (autoDestroy) {
|
|
259
|
-
dispatch(
|
|
259
|
+
dispatch([
|
|
260
|
+
(0, list_2.listDestroy)(config.listId),
|
|
261
|
+
(0, form_1.formDestroy)(config.listId),
|
|
262
|
+
]);
|
|
260
263
|
}
|
|
261
264
|
});
|
|
262
265
|
var onFetch = (0, react_1.useCallback)(function (params) {
|
package/index.d.ts
CHANGED
|
@@ -47,6 +47,11 @@ declare type PrimaryKey = number | string;
|
|
|
47
47
|
*/
|
|
48
48
|
declare type Size = 'small' | 'middle' | 'large' | string;
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
* Ориентация элемента
|
|
52
|
+
*/
|
|
53
|
+
declare type Orientation = 'horizontal' | 'vertical' | string;
|
|
54
|
+
|
|
50
55
|
/**
|
|
51
56
|
* Объект из свойства `input` от redux-form
|
|
52
57
|
*/
|
|
@@ -84,3 +89,22 @@ declare type CustomIcon = string | React.ReactElement;
|
|
|
84
89
|
* HTTP метод
|
|
85
90
|
*/
|
|
86
91
|
declare type HttpMethod = 'get' | 'post' | 'put' | 'delete' | string;
|
|
92
|
+
|
|
93
|
+
declare interface IUiComponent {
|
|
94
|
+
/**
|
|
95
|
+
* Переопределение view React компонента для кастомизации отображения
|
|
96
|
+
* @example MyCustomView
|
|
97
|
+
*/
|
|
98
|
+
view?: CustomView;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Дополнительный CSS-класс для элемента отображения
|
|
102
|
+
*/
|
|
103
|
+
className?: CssClassName;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Объект CSS стилей
|
|
107
|
+
* @example {width: '45%'}
|
|
108
|
+
*/
|
|
109
|
+
style?: CustomStyle;
|
|
110
|
+
}
|
package/package.json
CHANGED
package/reducers/router.d.ts
CHANGED
|
@@ -58,7 +58,6 @@ export declare const normalizeRoutes: (state: any, item: IRouteItem, activeIds:
|
|
|
58
58
|
models?: string | string[];
|
|
59
59
|
enums?: string | string[];
|
|
60
60
|
role?: string;
|
|
61
|
-
fetch?: import("../hoc/fetch").IFetchHocConfigFunc;
|
|
62
61
|
preloadData?: (match: Record<string, any>) => (import("../hooks/useFetch").IFetchConfig | import("../ui/list/List/List").IListProps)[];
|
|
63
62
|
};
|
|
64
63
|
/**
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { IConnectHocOutput } from '../../../hoc/connect';
|
|
3
|
-
interface ICopyToClipboardProps extends IBemHocOutput, IConnectHocOutput {
|
|
1
|
+
interface ICopyToClipboardProps {
|
|
4
2
|
value: string;
|
|
5
3
|
disabled?: boolean;
|
|
6
4
|
notification?: string | {
|
package/ui/crud/Crud/Crud.d.ts
CHANGED
|
@@ -2,8 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
import { IApiRest } from '../../../components/ApiComponent';
|
|
4
4
|
import { IComponents } from '../../../providers/ComponentsProvider';
|
|
5
|
-
import { IComponentsHocOutput } from '../../../hoc/components';
|
|
6
|
-
import { IConnectHocOutput } from '../../../hoc/connect';
|
|
7
5
|
import { IFormProps } from '../../form/Form/Form';
|
|
8
6
|
import { IGridProps } from '../../list/Grid/Grid';
|
|
9
7
|
import { IControlItem } from '../../nav/Controls/Controls';
|
|
@@ -60,7 +58,7 @@ export interface ICrudProps {
|
|
|
60
58
|
errorHandler?: (error: any, dispatch: any) => void;
|
|
61
59
|
[key: string]: any;
|
|
62
60
|
}
|
|
63
|
-
export interface ICrudChildrenProps extends ICrudProps
|
|
61
|
+
export interface ICrudChildrenProps extends ICrudProps {
|
|
64
62
|
item?: any;
|
|
65
63
|
recordId?: PrimaryKey;
|
|
66
64
|
action?: string;
|
package/ui/crud/index.d.ts
CHANGED
|
@@ -28,7 +28,6 @@ export declare const generateCrud: (routeId: string, props: ICrudGeneratorProps)
|
|
|
28
28
|
enums: string | string[];
|
|
29
29
|
role?: string;
|
|
30
30
|
roles?: string[];
|
|
31
|
-
fetch?: import("../../hoc/fetch").IFetchHocConfigFunc;
|
|
32
31
|
items?: IRouteItem[] | {
|
|
33
32
|
[key: string]: IRouteItem;
|
|
34
33
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IDataProviderConfig } from '../../../hooks/useDataProvider';
|
|
3
3
|
import { IDataSelectConfig } from '../../../hooks/useDataSelect';
|
|
4
|
-
import {
|
|
4
|
+
import { IBaseFieldProps } from '../InputField/InputField';
|
|
5
5
|
export interface IAutoCompleteItem {
|
|
6
6
|
id: number | string | boolean;
|
|
7
7
|
label?: string;
|
|
@@ -16,13 +16,12 @@ export interface IAutoCompleteItem {
|
|
|
16
16
|
* AutoComplete
|
|
17
17
|
* Поле ввода текста с подсказками (auto-complete)
|
|
18
18
|
*/
|
|
19
|
-
export interface IAutoCompleteFieldProps extends
|
|
19
|
+
export interface IAutoCompleteFieldProps extends IBaseFieldProps, IDataProviderConfig, Omit<IDataSelectConfig, 'items'> {
|
|
20
20
|
/**
|
|
21
21
|
* При фокусировке на поле ввода будет запускаться поиск
|
|
22
22
|
* @example true
|
|
23
23
|
*/
|
|
24
24
|
searchOnFocus?: boolean;
|
|
25
|
-
[key: string]: any;
|
|
26
25
|
}
|
|
27
26
|
export interface IAutoCompleteFieldViewProps extends Omit<IAutoCompleteFieldProps, 'items'> {
|
|
28
27
|
items: IAutoCompleteItem[];
|
|
@@ -25,7 +25,7 @@ export interface ICheckboxListFieldProps extends IFieldWrapperInputProps, IDataP
|
|
|
25
25
|
/**
|
|
26
26
|
* Ориентация списка
|
|
27
27
|
*/
|
|
28
|
-
orientation?:
|
|
28
|
+
orientation?: Orientation;
|
|
29
29
|
[key: string]: any;
|
|
30
30
|
}
|
|
31
31
|
export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
@@ -43,7 +43,7 @@ export interface ICheckboxListFieldViewProps extends IFieldWrapperOutputProps {
|
|
|
43
43
|
}[];
|
|
44
44
|
selectedIds: (PrimaryKey | any)[];
|
|
45
45
|
onItemSelect: (id: PrimaryKey | any) => void;
|
|
46
|
-
orientation?:
|
|
46
|
+
orientation?: Orientation;
|
|
47
47
|
renderCheckbox: (checkboxProps: ICheckboxFieldViewProps) => JSX.Element;
|
|
48
48
|
}
|
|
49
49
|
declare const _default: import("../../../ui/form/Field/fieldWrapper").FieldWrapperComponent<ICheckboxListFieldProps>;
|
|
@@ -84,7 +84,7 @@ CheckboxListField.defaultProps = {
|
|
|
84
84
|
disabled: false,
|
|
85
85
|
required: false,
|
|
86
86
|
className: '',
|
|
87
|
-
multiple:
|
|
87
|
+
multiple: true,
|
|
88
88
|
orientation: 'vertical'
|
|
89
89
|
};
|
|
90
90
|
exports["default"] = (0, fieldWrapper_1["default"])('CheckboxListField', CheckboxListField);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IFileInput } from '../../../hooks/useFile';
|
|
2
2
|
import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
|
|
3
3
|
import { IButtonProps } from '../Button/Button';
|
|
4
4
|
export declare enum FilesLayout {
|
|
5
5
|
list = "list",
|
|
6
6
|
wall = "wall"
|
|
7
7
|
}
|
|
8
|
-
interface IFileFieldCommonProps extends
|
|
8
|
+
interface IFileFieldCommonProps extends IFileInput {
|
|
9
9
|
/**
|
|
10
10
|
* Показать значок удаление файла
|
|
11
11
|
* @example true
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ReactCropProps, { Crop } from 'react-image-crop';
|
|
2
2
|
import { IModalProps } from '../../modal/Modal/Modal';
|
|
3
|
+
import { IFileInput } from '../../../hooks/useFile';
|
|
3
4
|
import { IFieldWrapperInputProps } from '../Field/fieldWrapper';
|
|
4
|
-
import { IFileHocInput, IFileHocOutput } from '../../../hoc/file';
|
|
5
5
|
export interface ICropInputProps {
|
|
6
6
|
/**
|
|
7
7
|
* Изначальные параметры обрезки изображения
|
|
@@ -19,7 +19,7 @@ export interface ICropInputProps {
|
|
|
19
19
|
*/
|
|
20
20
|
reactImageCropProps?: ReactCropProps;
|
|
21
21
|
}
|
|
22
|
-
export interface IImageFieldProps extends IFieldWrapperInputProps, Omit<
|
|
22
|
+
export interface IImageFieldProps extends IFieldWrapperInputProps, Omit<IFileInput, 'multiple' | 'imagesOnly'> {
|
|
23
23
|
/**
|
|
24
24
|
* Дополнительный CSS-класс для компонента
|
|
25
25
|
*/
|
|
@@ -2,48 +2,35 @@ import * as React from 'react';
|
|
|
2
2
|
import { ChangeEventHandler, ReactNode } from 'react';
|
|
3
3
|
import { IFieldWrapperInputProps, IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
4
4
|
type IElementInputType = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week' | string;
|
|
5
|
-
|
|
6
|
-
* InputField
|
|
7
|
-
* Поле ввода текста
|
|
8
|
-
*/
|
|
9
|
-
export interface IInputFieldProps extends IFieldWrapperInputProps {
|
|
10
|
-
/**
|
|
11
|
-
* HTML Тип
|
|
12
|
-
* @example email
|
|
13
|
-
*/
|
|
14
|
-
type?: IElementInputType;
|
|
15
|
-
/**
|
|
16
|
-
* Placeholder подсказка
|
|
17
|
-
* @example Your text...
|
|
18
|
-
*/
|
|
19
|
-
placeholder?: string;
|
|
5
|
+
export interface IBaseFieldProps extends IFieldWrapperInputProps, IUiComponent {
|
|
20
6
|
/**
|
|
21
7
|
* Свойства для элемента \<input /\>
|
|
22
8
|
* @example {onKeyDown: ...}
|
|
23
9
|
*/
|
|
24
10
|
inputProps?: any;
|
|
25
11
|
/**
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
31
|
-
* @example MyCustomView
|
|
32
|
-
*/
|
|
33
|
-
view?: CustomView;
|
|
34
|
-
/**
|
|
35
|
-
*/
|
|
36
|
-
viewProps?: any;
|
|
12
|
+
* Показывать иконку очищения поля
|
|
13
|
+
* @example {'true'}
|
|
14
|
+
*/
|
|
15
|
+
showClear?: boolean;
|
|
37
16
|
/**
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
17
|
+
* Свойства для компонента отображения
|
|
18
|
+
* @example {customHandler: () => {...}}
|
|
40
19
|
*/
|
|
41
|
-
|
|
20
|
+
viewProps?: {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* InputField
|
|
26
|
+
* Поле ввода текста
|
|
27
|
+
*/
|
|
28
|
+
export interface IInputFieldProps extends IBaseFieldProps {
|
|
42
29
|
/**
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
30
|
+
* HTML Тип
|
|
31
|
+
* @example email
|
|
45
32
|
*/
|
|
46
|
-
|
|
33
|
+
type?: IElementInputType;
|
|
47
34
|
/**
|
|
48
35
|
* Изображение или React-нода, которая будет отрендерена слева от поля.
|
|
49
36
|
* @example require('icon.png') | <component/>
|
|
@@ -73,18 +60,10 @@ export interface IInputFieldProps extends IFieldWrapperInputProps {
|
|
|
73
60
|
maskPlaceholder?: string;
|
|
74
61
|
alwaysShowMask?: boolean;
|
|
75
62
|
};
|
|
76
|
-
/**
|
|
77
|
-
* Показывать иконку очищения поля
|
|
78
|
-
* @example {'true'}
|
|
79
|
-
*/
|
|
80
|
-
showClear?: boolean;
|
|
81
63
|
/**
|
|
82
64
|
* Пользовательская иконка svg или название иконки
|
|
83
65
|
*/
|
|
84
66
|
leadIcon?: React.ReactElement | string;
|
|
85
|
-
success?: boolean;
|
|
86
|
-
failed?: boolean;
|
|
87
|
-
[key: string]: any;
|
|
88
67
|
}
|
|
89
68
|
export interface IInputFieldViewProps extends IInputFieldProps, IFieldWrapperOutputProps {
|
|
90
69
|
inputProps: {
|
|
@@ -66,14 +66,6 @@ InputField.defaultProps = {
|
|
|
66
66
|
size: 'md',
|
|
67
67
|
disabled: false,
|
|
68
68
|
required: false,
|
|
69
|
-
|
|
70
|
-
placeholder: '',
|
|
71
|
-
errors: null,
|
|
72
|
-
showClear: false,
|
|
73
|
-
successful: false,
|
|
74
|
-
textBefore: null,
|
|
75
|
-
textAfter: null,
|
|
76
|
-
addonBefore: null,
|
|
77
|
-
addonAfter: null
|
|
69
|
+
showClear: false
|
|
78
70
|
};
|
|
79
71
|
exports["default"] = (0, fieldWrapper_1["default"])('InputField', InputField);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { IBaseFieldProps } from '../InputField/InputField';
|
|
2
|
+
import { IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
3
3
|
/**
|
|
4
4
|
* NumberField
|
|
5
5
|
* Числовое поле ввода
|
|
6
6
|
*/
|
|
7
|
-
export interface INumberFieldProps extends
|
|
7
|
+
export interface INumberFieldProps extends IBaseFieldProps {
|
|
8
8
|
/**
|
|
9
9
|
* Минимальное значение
|
|
10
10
|
* @example 1
|
|
@@ -20,7 +20,6 @@ export interface INumberFieldProps extends IInputFieldProps, IFieldWrapperInputP
|
|
|
20
20
|
* @example 5
|
|
21
21
|
*/
|
|
22
22
|
step?: string | number;
|
|
23
|
-
[key: string]: any;
|
|
24
23
|
}
|
|
25
24
|
export interface INumberFieldViewProps extends INumberFieldProps, IFieldWrapperOutputProps {
|
|
26
25
|
inputProps: {
|
|
@@ -28,12 +28,6 @@ function NumberField(props) {
|
|
|
28
28
|
NumberField.defaultProps = {
|
|
29
29
|
disabled: false,
|
|
30
30
|
required: false,
|
|
31
|
-
className: '',
|
|
32
|
-
placeholder: '',
|
|
33
|
-
min: null,
|
|
34
|
-
max: null,
|
|
35
|
-
step: null,
|
|
36
|
-
errors: null,
|
|
37
31
|
size: 'md'
|
|
38
32
|
};
|
|
39
33
|
exports["default"] = (0, fieldWrapper_1["default"])('NumberField', NumberField);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { ChangeEvent } from 'react';
|
|
2
|
+
import { IBaseFieldProps } from '../InputField/InputField';
|
|
3
3
|
import { IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
4
4
|
/**
|
|
5
5
|
* PasswordField
|
|
6
6
|
* Поле ввода пароля
|
|
7
7
|
*/
|
|
8
|
-
export interface IPasswordFieldProps extends
|
|
8
|
+
export interface IPasswordFieldProps extends IBaseFieldProps {
|
|
9
9
|
/**
|
|
10
10
|
* Если true, то отображается шкала сложности пароля
|
|
11
11
|
* @example true
|
|
@@ -15,19 +15,16 @@ export interface IPasswordFieldProps extends IInputFieldProps {
|
|
|
15
15
|
* Если true, то отображается иконка скрытия/показа пароля
|
|
16
16
|
*/
|
|
17
17
|
showSecurityIcon?: boolean;
|
|
18
|
-
[key: string]: any;
|
|
19
18
|
}
|
|
20
19
|
export interface IPasswordFieldViewProps extends IPasswordFieldProps, IFieldWrapperOutputProps {
|
|
21
20
|
inputProps: {
|
|
22
21
|
type: string;
|
|
23
22
|
name: string;
|
|
24
|
-
onChange: (value: Event |
|
|
23
|
+
onChange: (value: Event | ChangeEvent) => void;
|
|
25
24
|
value: string | number;
|
|
26
25
|
placeholder: string;
|
|
27
26
|
disabled: boolean;
|
|
28
27
|
};
|
|
29
|
-
errors?: string[];
|
|
30
|
-
className?: CssClassName;
|
|
31
28
|
onClear?: () => void;
|
|
32
29
|
securityLevel?: 'success' | 'warning' | 'danger';
|
|
33
30
|
onShowPassword: () => void;
|
|
@@ -10,35 +10,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
15
|
};
|
|
39
16
|
exports.__esModule = true;
|
|
40
17
|
exports.checkPassword = void 0;
|
|
41
|
-
var React = __importStar(require("react"));
|
|
42
18
|
var react_1 = require("react");
|
|
43
19
|
var hooks_1 = require("../../../hooks");
|
|
44
20
|
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
@@ -73,7 +49,7 @@ exports.checkPassword = checkPassword;
|
|
|
73
49
|
function PasswordField(props) {
|
|
74
50
|
var _a = (0, react_1.useState)('password'), type = _a[0], setType = _a[1];
|
|
75
51
|
var components = (0, hooks_1.useComponents)();
|
|
76
|
-
var onClear =
|
|
52
|
+
var onClear = (0, react_1.useCallback)(function () { return props.input.onChange(''); }, [props.input]);
|
|
77
53
|
props.inputProps = (0, react_1.useMemo)(function () { return (__assign({ name: props.input.name, value: props.input.value || '', onChange: function (e) { return props.input.onChange(e.target ? e.target.value : e.nativeEvent.text); }, type: type, placeholder: props.placeholder, disabled: props.disabled }, props.inputProps)); }, [props.disabled, props.input, props.inputProps, props.placeholder, type]);
|
|
78
54
|
props.securityLevel = props.showSecurityBar ? (0, exports.checkPassword)(props.input.value) : null;
|
|
79
55
|
props.onShowPassword = function () { return setType('text'); };
|
|
@@ -86,9 +62,6 @@ PasswordField.defaultProps = {
|
|
|
86
62
|
showSecurityBar: false,
|
|
87
63
|
showSecurityIcon: true,
|
|
88
64
|
required: false,
|
|
89
|
-
className: '',
|
|
90
|
-
placeholder: '',
|
|
91
|
-
errors: null,
|
|
92
65
|
size: 'md'
|
|
93
66
|
};
|
|
94
67
|
exports["default"] = (0, fieldWrapper_1["default"])('PasswordField', PasswordField);
|
|
@@ -20,7 +20,7 @@ export interface IRadioListFieldProps extends IFieldWrapperInputProps, IDataProv
|
|
|
20
20
|
/**
|
|
21
21
|
* Ориентация списка
|
|
22
22
|
*/
|
|
23
|
-
orientation?:
|
|
23
|
+
orientation?: Orientation;
|
|
24
24
|
/**
|
|
25
25
|
* Переопределение view React компонента для кастомизации отображения
|
|
26
26
|
* @example MyCustomView
|
|
@@ -43,6 +43,8 @@ export interface IRadioListFieldViewProps extends IFieldWrapperOutputProps {
|
|
|
43
43
|
}[];
|
|
44
44
|
selectedIds: (PrimaryKey | any)[];
|
|
45
45
|
className?: CssClassName;
|
|
46
|
+
orientation?: Orientation;
|
|
47
|
+
size?: Size;
|
|
46
48
|
onItemSelect: (id: PrimaryKey | any) => void;
|
|
47
49
|
renderRadio: (radioProps: IRadioFieldViewProps) => JSX.Element;
|
|
48
50
|
}
|
|
@@ -1,45 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { ChangeEvent, KeyboardEventHandler } from 'react';
|
|
2
|
+
import { IFieldWrapperOutputProps } from '../Field/fieldWrapper';
|
|
3
|
+
import { IBaseFieldProps } from '../InputField/InputField';
|
|
4
4
|
/**
|
|
5
5
|
* TextField
|
|
6
6
|
* Поле для ввода нескольких строк теста
|
|
7
7
|
*/
|
|
8
|
-
export interface ITextFieldProps extends
|
|
9
|
-
/**
|
|
10
|
-
* Placeholder подсказка
|
|
11
|
-
* @example Your text...
|
|
12
|
-
*/
|
|
13
|
-
placeholder?: string;
|
|
8
|
+
export interface ITextFieldProps extends IBaseFieldProps {
|
|
14
9
|
/**
|
|
15
10
|
* Отправлять форму при нажатии на кнопку `enter`
|
|
16
11
|
* @example true
|
|
17
12
|
*/
|
|
18
13
|
submitOnEnter?: boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Свойства для элемента \<input /\>
|
|
21
|
-
* @example {onKeyDown: ...}
|
|
22
|
-
*/
|
|
23
|
-
inputProps?: any;
|
|
24
|
-
/**
|
|
25
|
-
* Дополнительный CSS-класс для тега \<textarea\>
|
|
26
|
-
*/
|
|
27
|
-
className?: CssClassName;
|
|
28
|
-
/**
|
|
29
|
-
* Переопределение view React компонента для кастомизации отображения
|
|
30
|
-
* @example MyCustomView
|
|
31
|
-
*/
|
|
32
|
-
view?: CustomView;
|
|
33
|
-
/**
|
|
34
|
-
* Отображение кнопки очищения поля
|
|
35
|
-
*/
|
|
36
|
-
showClear?: boolean;
|
|
37
|
-
[key: string]: any;
|
|
38
14
|
}
|
|
39
15
|
export interface ITextFieldViewProps extends ITextFieldProps, IFieldWrapperOutputProps {
|
|
40
16
|
inputProps: {
|
|
41
17
|
name: string;
|
|
42
|
-
onChange: (value: string |
|
|
18
|
+
onChange: (value: string | ChangeEvent) => void;
|
|
43
19
|
onKeyUp: KeyboardEventHandler<HTMLTextAreaElement>;
|
|
44
20
|
value: string | number;
|
|
45
21
|
placeholder: string;
|
|
@@ -10,34 +10,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
15
|
};
|
|
39
16
|
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
17
|
var react_1 = require("react");
|
|
42
18
|
var hooks_1 = require("../../../hooks");
|
|
43
19
|
var fieldWrapper_1 = __importDefault(require("../Field/fieldWrapper"));
|
|
@@ -55,16 +31,13 @@ function TextField(props) {
|
|
|
55
31
|
}
|
|
56
32
|
}, [props.formId, props.submitOnEnter]);
|
|
57
33
|
var onChange = (0, react_1.useCallback)(function (e) { return props.input.onChange.call(null, e.target ? e.target.value : e.nativeEvent.text); }, [props.input.onChange]);
|
|
58
|
-
var onClear =
|
|
34
|
+
var onClear = (0, react_1.useCallback)(function () { return props.input.onChange(''); }, [props.input]);
|
|
59
35
|
var inputProps = (0, react_1.useMemo)(function () { return (__assign({ name: props.input.name, value: props.input.value || '', onChange: onChange, onKeyUp: onKeyUp, placeholder: props.placeholder, disabled: props.disabled }, props.inputProps)); }, [onKeyUp, onChange, props.disabled, props.input.name, props.input.value, props.inputProps, props.placeholder]);
|
|
60
36
|
return components.ui.renderView(props.view || 'form.TextFieldView', __assign(__assign({}, props), { inputProps: inputProps, onClear: onClear }));
|
|
61
37
|
}
|
|
62
38
|
TextField.defaultProps = {
|
|
63
39
|
disabled: false,
|
|
64
40
|
required: false,
|
|
65
|
-
|
|
66
|
-
placeholder: '',
|
|
67
|
-
submitOnEnter: false,
|
|
68
|
-
errors: null
|
|
41
|
+
submitOnEnter: false
|
|
69
42
|
};
|
|
70
43
|
exports["default"] = (0, fieldWrapper_1["default"])('TextField', TextField);
|
|
@@ -17,31 +17,31 @@ var hooks_1 = require("../../../hooks");
|
|
|
17
17
|
function Controls(props) {
|
|
18
18
|
var defaultItems = {
|
|
19
19
|
index: {
|
|
20
|
-
icon: '
|
|
20
|
+
icon: 'left_12x12',
|
|
21
21
|
label: __('К списку'),
|
|
22
22
|
color: 'secondary',
|
|
23
23
|
outline: true
|
|
24
24
|
},
|
|
25
25
|
create: {
|
|
26
|
-
icon: '
|
|
26
|
+
icon: 'add_square',
|
|
27
27
|
label: __('Добавить'),
|
|
28
28
|
color: 'success',
|
|
29
29
|
outline: true
|
|
30
30
|
},
|
|
31
31
|
view: {
|
|
32
|
-
icon: '
|
|
32
|
+
icon: 'view',
|
|
33
33
|
label: __('Просмотр'),
|
|
34
34
|
color: 'secondary',
|
|
35
35
|
outline: true
|
|
36
36
|
},
|
|
37
37
|
update: {
|
|
38
|
-
icon: '
|
|
38
|
+
icon: 'edit',
|
|
39
39
|
label: __('Редактировать'),
|
|
40
40
|
color: 'secondary',
|
|
41
41
|
outline: true
|
|
42
42
|
},
|
|
43
43
|
"delete": {
|
|
44
|
-
icon: '
|
|
44
|
+
icon: 'cancel_ellips',
|
|
45
45
|
label: __('Удалить'),
|
|
46
46
|
confirm: __('Удалить запись?'),
|
|
47
47
|
color: 'danger',
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { IFetchConfig } from '../../../hooks/useFetch';
|
|
3
3
|
import { IListProps } from '../../list/List/List';
|
|
4
|
-
import { IFetchHocConfigFunc } from '../../../hoc/fetch';
|
|
5
4
|
export declare const ROUTER_ROLE_LOGIN = "login";
|
|
6
5
|
export declare const ROUTER_ROLE_MODAL = "modal";
|
|
7
6
|
export declare const ROUTER_ROLE_404 = "404";
|
|
@@ -86,13 +85,6 @@ export interface IRouteItem {
|
|
|
86
85
|
* @example ['user', 'admin']
|
|
87
86
|
*/
|
|
88
87
|
roles?: Array<string | null>;
|
|
89
|
-
/**
|
|
90
|
-
* Обработчик, который возвращает конфигурацию для осуществления HTTP-запроса. Запрос происходит каждый раз
|
|
91
|
-
* перед рендерингом страницы, чтобы получить для неё все необходимые данные
|
|
92
|
-
* @param {*} props
|
|
93
|
-
* @return {Object} Например, {url: '/api/v1/some-data', key: 'someData'}
|
|
94
|
-
*/
|
|
95
|
-
fetch?: IFetchHocConfigFunc;
|
|
96
88
|
/**
|
|
97
89
|
* Вложенные роуты
|
|
98
90
|
*/
|
package/ui/nav/Router/Router.js
CHANGED
|
@@ -51,7 +51,6 @@ var react_use_1 = require("react-use");
|
|
|
51
51
|
var modal_1 = require("../../../actions/modal");
|
|
52
52
|
var modal_2 = require("../../../reducers/modal");
|
|
53
53
|
var hooks_1 = require("../../../hooks");
|
|
54
|
-
var hoc_1 = require("../../../hoc");
|
|
55
54
|
var router_1 = require("../../../actions/router");
|
|
56
55
|
var useDispatch_1 = __importDefault(require("../../../hooks/useDispatch"));
|
|
57
56
|
var router_2 = require("../../../reducers/router");
|
|
@@ -139,9 +138,6 @@ var renderComponent = function (route, activePath, routeProps) {
|
|
|
139
138
|
return null;
|
|
140
139
|
}
|
|
141
140
|
var Component = route.component;
|
|
142
|
-
if (route.fetch) {
|
|
143
|
-
Component = (0, hoc_1.fetch)(route.fetch)(Component);
|
|
144
|
-
}
|
|
145
141
|
return (React.createElement(Component, __assign({}, routeProps, route.componentProps)));
|
|
146
142
|
};
|
|
147
143
|
function Router(props) {
|
package/hoc/application.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IApplicationHookConfig } from '../hooks/useApplication';
|
|
2
|
-
/**
|
|
3
|
-
* Application HOC
|
|
4
|
-
* Обертка над корневым компонентом приложения, используется только в `Application.tsx`. Добавляет через React Context
|
|
5
|
-
* компоненты приложения и конфигурирует их.
|
|
6
|
-
*/
|
|
7
|
-
declare const _default: (config: IApplicationHookConfig) => any;
|
|
8
|
-
export default _default;
|
package/hoc/application.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
|
-
var useApplication_1 = __importDefault(require("../hooks/useApplication"));
|
|
42
|
-
/**
|
|
43
|
-
* Application HOC
|
|
44
|
-
* Обертка над корневым компонентом приложения, используется только в `Application.tsx`. Добавляет через React Context
|
|
45
|
-
* компоненты приложения и конфигурирует их.
|
|
46
|
-
*/
|
|
47
|
-
exports["default"] = (function (config) { return function (WrappedComponent) { return function ApplicationHoc(props) {
|
|
48
|
-
var renderApplication = (0, useApplication_1["default"])(config).renderApplication;
|
|
49
|
-
return renderApplication(React.createElement(WrappedComponent, __assign({}, props)));
|
|
50
|
-
}; }; });
|
package/hoc/bem.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IComponentsHocOutput } from './components';
|
|
2
|
-
import { IBem } from '../hooks/useBem';
|
|
3
|
-
/**
|
|
4
|
-
* Bem HOC
|
|
5
|
-
* Прокидывает утилиту `bem` для правильной генерации CSS классов по методологии БЭМ (блок, элемент, модификатор)
|
|
6
|
-
*/
|
|
7
|
-
export interface IBemHocInput {
|
|
8
|
-
style?: CustomStyle;
|
|
9
|
-
}
|
|
10
|
-
export interface IBemHocOutput extends IComponentsHocOutput {
|
|
11
|
-
bem?: IBem;
|
|
12
|
-
}
|
|
13
|
-
declare const _default: (namespace: string) => any;
|
|
14
|
-
export default _default;
|
package/hoc/bem.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
exports.__esModule = true;
|
|
37
|
-
var React = __importStar(require("react"));
|
|
38
|
-
var hooks_1 = require("../hooks");
|
|
39
|
-
exports["default"] = (function (namespace) { return function (WrappedComponent) { return function BemHoc(props) {
|
|
40
|
-
var bem = (0, hooks_1.useBem)(namespace);
|
|
41
|
-
return (React.createElement(WrappedComponent, __assign({}, props, { bem: bem })));
|
|
42
|
-
}; }; });
|
package/hoc/components.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IComponents } from '../providers/ComponentsProvider';
|
|
2
|
-
export interface IComponentsHocOutput extends IComponents {
|
|
3
|
-
components?: IComponents;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Components HOC
|
|
7
|
-
* Прокидывает в пропсы компоненты приложения. Ключ соответствует названию компонента, объявленного при инициализации
|
|
8
|
-
* приложения (см. `Application.tsx`)
|
|
9
|
-
*/
|
|
10
|
-
declare const _default: (...names: any[]) => any;
|
|
11
|
-
export default _default;
|
package/hoc/components.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
exports.__esModule = true;
|
|
37
|
-
var React = __importStar(require("react"));
|
|
38
|
-
var hooks_1 = require("../hooks");
|
|
39
|
-
var exportComponents = function (components, names) {
|
|
40
|
-
var props = {};
|
|
41
|
-
names.forEach(function (items) {
|
|
42
|
-
[].concat(items).forEach(function (name) {
|
|
43
|
-
props[name] = components[name];
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
return props;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Components HOC
|
|
50
|
-
* Прокидывает в пропсы компоненты приложения. Ключ соответствует названию компонента, объявленного при инициализации
|
|
51
|
-
* приложения (см. `Application.tsx`)
|
|
52
|
-
*/
|
|
53
|
-
exports["default"] = (function () {
|
|
54
|
-
var names = [];
|
|
55
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
56
|
-
names[_i] = arguments[_i];
|
|
57
|
-
}
|
|
58
|
-
return function (WrappedComponent) { return function ComponentsHoc(props) {
|
|
59
|
-
var components = (0, hooks_1.useComponents)();
|
|
60
|
-
return (React.createElement(WrappedComponent, __assign({}, props, exportComponents(components, names), { components: components })));
|
|
61
|
-
}; };
|
|
62
|
-
});
|
package/hoc/connect.d.ts
DELETED
package/hoc/connect.js
DELETED
package/hoc/fetch.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IFetchConfig } from '../hooks/useFetch';
|
|
2
|
-
export interface IFetchHocOutput {
|
|
3
|
-
fetchRefresh?: (ids?: string | string[]) => void;
|
|
4
|
-
fetchUpdate?: (props: any) => void;
|
|
5
|
-
}
|
|
6
|
-
export type IFetchHocConfigFunc = (props: any) => IFetchConfig & {
|
|
7
|
-
key: string;
|
|
8
|
-
};
|
|
9
|
-
interface IFetchHocOptions {
|
|
10
|
-
waitLoading?: any;
|
|
11
|
-
}
|
|
12
|
-
declare const _default: (configFunc: IFetchHocConfigFunc, options?: IFetchHocOptions) => any;
|
|
13
|
-
export default _default;
|
package/hoc/fetch.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
|
-
var react_redux_1 = require("react-redux");
|
|
42
|
-
var react_1 = require("react");
|
|
43
|
-
var router_1 = require("../reducers/router");
|
|
44
|
-
var useFetch_1 = __importDefault(require("../hooks/useFetch"));
|
|
45
|
-
exports["default"] = (function (configFunc, options) {
|
|
46
|
-
if (options === void 0) { options = {}; }
|
|
47
|
-
return function (WrappedComponent) { return function FetchHoc(props) {
|
|
48
|
-
var _a;
|
|
49
|
-
var params = (0, react_redux_1.useSelector)(function (state) { return (0, router_1.getRouteParams)(state); });
|
|
50
|
-
var config = (0, react_1.useMemo)(function () { return configFunc(__assign(__assign({}, props), { params: params })); }, [params, props]);
|
|
51
|
-
var _b = (0, useFetch_1["default"])(config), data = _b.data, isLoading = _b.isLoading, fetch = _b.fetch;
|
|
52
|
-
var fetchRefresh = (0, react_1.useCallback)(function () { return fetch(); }, [fetch]);
|
|
53
|
-
var fetchUpdate = (0, react_1.useCallback)(function (newParams) { return fetch({ params: newParams }); }, [fetch]);
|
|
54
|
-
if (isLoading && options.waitLoading !== false) {
|
|
55
|
-
// TODO Loader
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
return (React.createElement(WrappedComponent, __assign({}, props, { fetchRefresh: fetchRefresh, fetchUpdate: fetchUpdate }, (_a = {}, _a[config.key] = data, _a))));
|
|
59
|
-
}; };
|
|
60
|
-
});
|
package/hoc/file.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File HOC
|
|
3
|
-
* Компонент для асинхронной загрузки файлов на сервер, используется в `FileField`
|
|
4
|
-
*/
|
|
5
|
-
export interface IFileHocInput {
|
|
6
|
-
input?: FormInputType;
|
|
7
|
-
multiple?: boolean;
|
|
8
|
-
uploader?: any;
|
|
9
|
-
backendUrl?: any;
|
|
10
|
-
mimeTypes?: any;
|
|
11
|
-
imagesOnly?: any;
|
|
12
|
-
imagesProcessor?: any;
|
|
13
|
-
imagesExactSize?: any;
|
|
14
|
-
initialFiles?: any;
|
|
15
|
-
uploaderConfig?: {
|
|
16
|
-
useFormData?: boolean;
|
|
17
|
-
fileFieldName?: string;
|
|
18
|
-
} | any;
|
|
19
|
-
}
|
|
20
|
-
export interface IFileHocOutput {
|
|
21
|
-
uploader?: any;
|
|
22
|
-
files?: any[];
|
|
23
|
-
onBrowse?: any;
|
|
24
|
-
onRemove?: any;
|
|
25
|
-
onAdd?: any;
|
|
26
|
-
}
|
|
27
|
-
declare const _default: () => any;
|
|
28
|
-
export default _default;
|
package/hoc/file.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
|
-
var useFile_1 = __importDefault(require("../hooks/useFile"));
|
|
42
|
-
exports["default"] = (function () { return function (WrappedComponent) { return function FileHOC(props) {
|
|
43
|
-
var fileProps = (0, useFile_1["default"])(props);
|
|
44
|
-
return (React.createElement(WrappedComponent, __assign({}, props, { uploader: fileProps.uploader, files: fileProps.files, onBrowse: fileProps.onBrowse, onRemove: fileProps.onRemove })));
|
|
45
|
-
}; }; });
|
package/hoc/http.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Http HOC
|
|
3
|
-
* Обертка для асинхронного получения данных с бекенда. В отличии от `Fetch HOC`, он не хранит данные в Redux Store
|
|
4
|
-
* и не добавляет "Загрузка..." при запросе.
|
|
5
|
-
*/
|
|
6
|
-
declare const _default: (requestFunc: (props: any) => any) => any;
|
|
7
|
-
export default _default;
|
package/hoc/http.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
|
-
var react_1 = require("react");
|
|
42
|
-
var useFetch_1 = __importDefault(require("../hooks/useFetch"));
|
|
43
|
-
/**
|
|
44
|
-
* Http HOC
|
|
45
|
-
* Обертка для асинхронного получения данных с бекенда. В отличии от `Fetch HOC`, он не хранит данные в Redux Store
|
|
46
|
-
* и не добавляет "Загрузка..." при запросе.
|
|
47
|
-
*/
|
|
48
|
-
exports["default"] = (function (requestFunc) { return function (WrappedComponent) { return function HttpHoc(props) {
|
|
49
|
-
var onFetch = (0, react_1.useCallback)(function () { return requestFunc(props); }, [props]);
|
|
50
|
-
var _a = (0, useFetch_1["default"])({ onFetch: onFetch }), data = _a.data, isLoading = _a.isLoading, fetch = _a.fetch;
|
|
51
|
-
var fetchUpdate = (0, react_1.useCallback)(function (newParams) { return fetch({ params: newParams }); }, [fetch]);
|
|
52
|
-
return (React.createElement(WrappedComponent, __assign({}, props, data, { isLoading: isLoading, fetch: fetchUpdate })));
|
|
53
|
-
}; }; });
|
package/hoc/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import application from './application';
|
|
2
|
-
import bem from './bem';
|
|
3
|
-
import components from './components';
|
|
4
|
-
import connect from './connect';
|
|
5
|
-
import fetch from './fetch';
|
|
6
|
-
import http from './http';
|
|
7
|
-
import layout from './layout';
|
|
8
|
-
export { application, bem, components, connect, fetch, http, layout, };
|
package/hoc/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
exports.layout = exports.http = exports.fetch = exports.connect = exports.components = exports.bem = exports.application = void 0;
|
|
7
|
-
var application_1 = __importDefault(require("./application"));
|
|
8
|
-
exports.application = application_1["default"];
|
|
9
|
-
var bem_1 = __importDefault(require("./bem"));
|
|
10
|
-
exports.bem = bem_1["default"];
|
|
11
|
-
var components_1 = __importDefault(require("./components"));
|
|
12
|
-
exports.components = components_1["default"];
|
|
13
|
-
var connect_1 = __importDefault(require("./connect"));
|
|
14
|
-
exports.connect = connect_1["default"];
|
|
15
|
-
var fetch_1 = __importDefault(require("./fetch"));
|
|
16
|
-
exports.fetch = fetch_1["default"];
|
|
17
|
-
var http_1 = __importDefault(require("./http"));
|
|
18
|
-
exports.http = http_1["default"];
|
|
19
|
-
var layout_1 = __importDefault(require("./layout"));
|
|
20
|
-
exports.layout = layout_1["default"];
|
package/hoc/layout.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { IComponentsHocOutput } from './components';
|
|
2
|
-
import { IRouteItem } from '../ui/nav/Router/Router';
|
|
3
|
-
/**
|
|
4
|
-
* Layout HOC
|
|
5
|
-
* Используется для макета (layout) приложения, добавляя в него данные авторизации и статуса рендера страницы.
|
|
6
|
-
* Передаваемый первым аргументом `initAction` будет вызываться каждый раз, когда необходимо обновить данные
|
|
7
|
-
* авторизации (первая загрузка страницы, логин/регистация и выход).
|
|
8
|
-
*/
|
|
9
|
-
export interface ILayoutHocInput {
|
|
10
|
-
route?: IRouteItem;
|
|
11
|
-
user?: {
|
|
12
|
-
role: string;
|
|
13
|
-
};
|
|
14
|
-
data?: Record<string, unknown>;
|
|
15
|
-
initializeCounter?: number;
|
|
16
|
-
components: IComponentsHocOutput;
|
|
17
|
-
isInitialized?: boolean;
|
|
18
|
-
redirectPageId?: any;
|
|
19
|
-
}
|
|
20
|
-
export interface ILayoutHocOutput {
|
|
21
|
-
http?: any;
|
|
22
|
-
status: string;
|
|
23
|
-
renderError: string;
|
|
24
|
-
route: IRouteItem;
|
|
25
|
-
user: any;
|
|
26
|
-
data: any;
|
|
27
|
-
isInitialized: boolean;
|
|
28
|
-
}
|
|
29
|
-
declare const _default: (initAction?: any) => any;
|
|
30
|
-
export default _default;
|
package/hoc/layout.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
|
-
exports.__esModule = true;
|
|
40
|
-
var React = __importStar(require("react"));
|
|
41
|
-
var useLayout_1 = __importDefault(require("../hooks/useLayout"));
|
|
42
|
-
exports["default"] = (function (initAction) {
|
|
43
|
-
if (initAction === void 0) { initAction = null; }
|
|
44
|
-
return function (WrappedComponent) { return function LayoutHoc(props) {
|
|
45
|
-
var layoutProps = (0, useLayout_1["default"])(initAction);
|
|
46
|
-
return (React.createElement(WrappedComponent, __assign({}, props, { status: layoutProps.status, renderError: layoutProps.error }, layoutProps.data)));
|
|
47
|
-
}; };
|
|
48
|
-
});
|