eservices-core 1.0.294
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/dist/TEST/index.d.ts +5 -0
- package/dist/classes/Action.d.ts +3 -0
- package/dist/classes/ApplicationManager.d.ts +41 -0
- package/dist/classes/ClassMetadata.d.ts +32 -0
- package/dist/classes/Communication.d.ts +4 -0
- package/dist/classes/CoreError.d.ts +39 -0
- package/dist/classes/ErrorStorageSystem.d.ts +12 -0
- package/dist/classes/EventEmitter.d.ts +20 -0
- package/dist/classes/Form.d.ts +78 -0
- package/dist/classes/InterfaceForm.d.ts +106 -0
- package/dist/classes/InterfaceWorker.d.ts +15 -0
- package/dist/classes/List.d.ts +63 -0
- package/dist/classes/ListWorker.d.ts +2 -0
- package/dist/classes/Metadata.d.ts +51 -0
- package/dist/classes/ProcessWrap.d.ts +8 -0
- package/dist/classes/RenderForm.d.ts +37 -0
- package/dist/classes/StepWorker.d.ts +9 -0
- package/dist/classes/Table.d.ts +91 -0
- package/dist/classes/ViewForm/ViewForm.d.ts +8 -0
- package/dist/classes/ViewForm/container-form-element-render.d.ts +1 -0
- package/dist/classes/ViewForm/container-form-render.d.ts +1 -0
- package/dist/classes/ViewForm/container-render.d.ts +1 -0
- package/dist/classes/ViewForm/getInputComponent.d.ts +1 -0
- package/dist/classes/ViewForm/render-form-body.d.ts +1 -0
- package/dist/classes/ViewForm/render-form-section.d.ts +1 -0
- package/dist/classes/ViewForm/render-form.d.ts +2 -0
- package/dist/classes/ViewForm/render-input.d.ts +8 -0
- package/dist/classes/ViewForm/render.d.ts +8 -0
- package/dist/classes/index.d.ts +59 -0
- package/dist/config.d.ts +14 -0
- package/dist/errors/communication-error.d.ts +7 -0
- package/dist/index.d.ts +207 -0
- package/dist/index.js +5662 -0
- package/dist/init.d.ts +1 -0
- package/dist/mixins/index.d.ts +4 -0
- package/dist/services/AuthService.d.ts +20 -0
- package/dist/services/FileService.d.ts +7 -0
- package/dist/services/MetadataService.d.ts +5 -0
- package/dist/services/action-service.d.ts +8 -0
- package/dist/services/communication-service.d.ts +42 -0
- package/dist/services/data-service.d.ts +57 -0
- package/dist/services/index.d.ts +11 -0
- package/dist/styles/index.d.ts +2 -0
- package/dist/styles/types.d.ts +164 -0
- package/dist/types/index.d.ts +92 -0
- package/dist/types/metadata-types.d.ts +19 -0
- package/dist/useMethods/index.d.ts +5 -0
- package/dist/useMethods/useInput.d.ts +15 -0
- package/dist/utils/GraphQL/index.d.ts +21 -0
- package/dist/utils/Journal.d.ts +34 -0
- package/dist/utils/Request.d.ts +4 -0
- package/dist/utils/clickOutside.d.ts +2 -0
- package/dist/utils/firstChapterToLowerCase.d.ts +5 -0
- package/dist/utils/getPropFromObject.d.ts +15 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/mergeObjects.d.ts +6 -0
- package/dist/utils/prettyDate.d.ts +13 -0
- package/dist/utils/recursive-object-wrap.d.ts +16 -0
- package/dist/utils/requestHandler.d.ts +7 -0
- package/dist/utils/runPromiseQueue.d.ts +1 -0
- package/dist/widgets/breadcrumbs/widget-breadcrumb-item.vue.d.ts +25 -0
- package/dist/widgets/breadcrumbs/widget-breadcrumbs.vue.d.ts +13 -0
- package/dist/widgets/buttons/WidgetButton.vue.d.ts +19 -0
- package/dist/widgets/buttons/index.d.ts +5 -0
- package/dist/widgets/buttons/multi-button/WidgetMultiButton.vue.d.ts +20 -0
- package/dist/widgets/communication/communication-chat-message.vue.d.ts +31 -0
- package/dist/widgets/communication/communication-chat.vue.d.ts +19 -0
- package/dist/widgets/communication/communication-head-create.vue.d.ts +13 -0
- package/dist/widgets/communication/communication-head.vue.d.ts +25 -0
- package/dist/widgets/communication/communication-input.vue.d.ts +13 -0
- package/dist/widgets/communication/widget-communication-head.vue.d.ts +19 -0
- package/dist/widgets/communication/widget-communication-message.vue.d.ts +4 -0
- package/dist/widgets/communication/widget-communication.vue.d.ts +37 -0
- package/dist/widgets/containers/index.d.ts +9 -0
- package/dist/widgets/errorSystem/index.d.ts +4 -0
- package/dist/widgets/forms/FormSection.vue.d.ts +13 -0
- package/dist/widgets/forms/index.d.ts +9 -0
- package/dist/widgets/forms/naomi/WidgetForm.vue.d.ts +46 -0
- package/dist/widgets/forms/naomi/WidgetFormImage.vue.d.ts +19 -0
- package/dist/widgets/forms/naomi/WidgetFormInfo.vue.d.ts +25 -0
- package/dist/widgets/icons/index.d.ts +4 -0
- package/dist/widgets/index.d.ts +63 -0
- package/dist/widgets/inputs/default-style/index.d.ts +7 -0
- package/dist/widgets/inputs/index.d.ts +15 -0
- package/dist/widgets/inputs/line-style/index.d.ts +4 -0
- package/dist/widgets/inputs/naomi-style/index.d.ts +4 -0
- package/dist/widgets/interface/default/index.d.ts +6 -0
- package/dist/widgets/interface/index.d.ts +13 -0
- package/dist/widgets/interface/naomi/InterfaceNavigationRow.vue.d.ts +19 -0
- package/dist/widgets/interface/naomi/WidgetInterfaceNavigation.vue.d.ts +13 -0
- package/dist/widgets/interface/naomi/WidgetInterfaceUserCard.vue.d.ts +25 -0
- package/dist/widgets/interface/naomi/WidgetInterfaceUserPopup/WidgetInterfaceUserPopup.vue.d.ts +37 -0
- package/dist/widgets/interface/naomi/WidgetInterfaceUserPopup/WidgetInterfaceUserPopupEvent.vue.d.ts +27 -0
- package/dist/widgets/interface/naomi/index.d.ts +6 -0
- package/dist/widgets/interface/naomi/useInterfaceNavigation.d.ts +6 -0
- package/dist/widgets/spinner/WidgetSpinner.vue.d.ts +13 -0
- package/dist/widgets/spinner/index.d.ts +4 -0
- package/dist/widgets/tables/WidgetCell.vue.d.ts +16 -0
- package/dist/widgets/tables/WidgetList.vue.d.ts +28 -0
- package/dist/widgets/tables/WidgetListHead.vue.d.ts +15 -0
- package/dist/widgets/tables/getCell.d.ts +4 -0
- package/dist/widgets/tables/index.d.ts +6 -0
- package/dist/widgets/tables/table-with-form/WidgetTableController.vue.d.ts +13 -0
- package/dist/widgets/tables/table-with-form/widget-table-form.vue.d.ts +19 -0
- package/dist/widgets/tables/table-with-form/widget-table-row.vue.d.ts +11 -0
- package/dist/widgets/tables/table-with-form/widget-table.vue.d.ts +21 -0
- package/package.json +65 -0
- package/readme.md +39 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ComputedRef, Ref, UnwrapNestedRefs } from "vue";
|
|
2
|
+
import { CodeEntity, ContextProfile, ContextProfileKey } from "../index";
|
|
3
|
+
interface ApplicationManagerState {
|
|
4
|
+
legalEntityTypes: CodeEntity[];
|
|
5
|
+
identityDocumentTypes: CodeEntity[];
|
|
6
|
+
countries: CodeEntity[];
|
|
7
|
+
phoneCountryCodes: string[];
|
|
8
|
+
documentTypes: {
|
|
9
|
+
id: number;
|
|
10
|
+
name: string;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
interface ClientContent {
|
|
14
|
+
email: string | null;
|
|
15
|
+
name: string;
|
|
16
|
+
photo: string | null;
|
|
17
|
+
id: ContextProfileKey | null;
|
|
18
|
+
}
|
|
19
|
+
declare const _default: {
|
|
20
|
+
state: UnwrapNestedRefs<ApplicationManagerState>;
|
|
21
|
+
clientContent: UnwrapNestedRefs<ClientContent>;
|
|
22
|
+
currentContext: Ref<number | null>;
|
|
23
|
+
currentContextProfile: ComputedRef<ContextProfile>;
|
|
24
|
+
/**
|
|
25
|
+
* true - если информация о пользователе получена.
|
|
26
|
+
* */
|
|
27
|
+
isReady: Ref<boolean>;
|
|
28
|
+
setCurrentContext(id: ContextProfileKey): void;
|
|
29
|
+
/**
|
|
30
|
+
* Инициализирует данные приложения. В данному методе проходят проверка на
|
|
31
|
+
* установленные переменные и их значения. Также происходит получение с сер-
|
|
32
|
+
* вера начальных значений приложеия(констант)
|
|
33
|
+
* */
|
|
34
|
+
initialization(): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Обновление всех данных пользователя, включая:
|
|
37
|
+
* - Пресональные данные (email, id, name, username, image..)
|
|
38
|
+
* */
|
|
39
|
+
updateFullClientData(): Promise<void>;
|
|
40
|
+
};
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DataType, MetadataResponseFieldInterface, ReferencedEntity } from "../types/metadata-types";
|
|
2
|
+
interface MetadataFieldInterface {
|
|
3
|
+
disabled: boolean;
|
|
4
|
+
hidden: boolean;
|
|
5
|
+
type: DataType | ReferencedEntity;
|
|
6
|
+
}
|
|
7
|
+
export default class Metadata {
|
|
8
|
+
entity: string;
|
|
9
|
+
rules: () => any;
|
|
10
|
+
isReady: import("vue").Ref<boolean>;
|
|
11
|
+
canUpdate: boolean;
|
|
12
|
+
fields: {
|
|
13
|
+
[name: string]: MetadataFieldInterface;
|
|
14
|
+
};
|
|
15
|
+
constructor(entity: string, rules: () => any);
|
|
16
|
+
/**
|
|
17
|
+
* @description Функция для обновления методынных на основе конфиграции
|
|
18
|
+
* */
|
|
19
|
+
update(): Promise<void>;
|
|
20
|
+
static FieldDTO(data: MetadataResponseFieldInterface): MetadataFieldInterface;
|
|
21
|
+
/**
|
|
22
|
+
* @description Вернёт массив полей(имена), которые должныбыть задизейблены
|
|
23
|
+
* @return {Array} disabledFieldsName
|
|
24
|
+
*/
|
|
25
|
+
getDisabledFields(): string[];
|
|
26
|
+
/**
|
|
27
|
+
* @description Возвращает массив name полей, который не доступны для чтения
|
|
28
|
+
* (Имеют установки hidden(canRead: false))
|
|
29
|
+
* */
|
|
30
|
+
getHiddenFields(): string[];
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import Form from "./Form";
|
|
2
|
+
import { ListChunker } from "../types";
|
|
3
|
+
import Table from "./Table";
|
|
4
|
+
export default class CoreError extends Error {
|
|
5
|
+
details: any;
|
|
6
|
+
id: number;
|
|
7
|
+
static ID: number;
|
|
8
|
+
constructor(message: string, details?: any);
|
|
9
|
+
/**
|
|
10
|
+
* ОДИН ИЗ ЭЛЕМЕНТОВ, КОТОРЫЙ ПЫТАЕТСЯ ПОДПИСАТЬСЯ НА ФОРМУ
|
|
11
|
+
* НЕ ИМЕЕТ ПАРАМЕТРА NAME.
|
|
12
|
+
* */
|
|
13
|
+
static UndefinedNameOfCompositeFormController(controller: any): CoreError;
|
|
14
|
+
static EntityWithoutName(entity: any): CoreError;
|
|
15
|
+
static NotResolvedNameEventEmitter(name: string): CoreError;
|
|
16
|
+
static FormIsNotValidated(form: Form): CoreError;
|
|
17
|
+
static ListWorkerIsRunningOrEnd(listChunker: ListChunker): CoreError;
|
|
18
|
+
static ObjectIdNotNumber(id: any): CoreError;
|
|
19
|
+
static UndefinedErrorId(id: number, array: any): CoreError;
|
|
20
|
+
static ApiError(error: any): CoreError;
|
|
21
|
+
static ApiNotAvailable(): CoreError;
|
|
22
|
+
static AuthServiceError(message: string, errors: string[] | null): CoreError;
|
|
23
|
+
static ApiResponseParseFailed(): CoreError;
|
|
24
|
+
static MissingIdInValuesEntity(values: any): CoreError;
|
|
25
|
+
static ObjectWithIdNotFound(id: number, array: any[]): CoreError;
|
|
26
|
+
/**
|
|
27
|
+
* ОШИБКА ДЛЯ ТАБЛИЦЫ, В ТОМ СЛУЧАЕ, ЕСЛИ ОБЪЕКТ НА ОБНОВЛЕНИЕ НЕ СВЯЗАН
|
|
28
|
+
* С СУЩЕСТВУЮЩИМ ОБЪЕКТОМ ПО _tableId
|
|
29
|
+
* */
|
|
30
|
+
static ObjectWithoutConnectToPresentArray(object: any, array: any): CoreError;
|
|
31
|
+
static EntityWithoutId(object: any): CoreError;
|
|
32
|
+
static NotFoundedTableIndex(tableIndex: number, table: any): CoreError;
|
|
33
|
+
/**
|
|
34
|
+
* Использовать в случае, когда тип ошибки не определён или место её
|
|
35
|
+
* появления не понятно
|
|
36
|
+
* */
|
|
37
|
+
static UndefinedError(str: string): CoreError;
|
|
38
|
+
static TableArrayAlreadyIncludeProvidedIndexValue(tableIndex: number, array: any, table: Table): CoreError;
|
|
39
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import CoreError from "./CoreError";
|
|
2
|
+
export default class ErrorStorageSystem {
|
|
3
|
+
static array: {
|
|
4
|
+
details: any;
|
|
5
|
+
id: number;
|
|
6
|
+
name: string;
|
|
7
|
+
message: string;
|
|
8
|
+
stack?: string;
|
|
9
|
+
}[];
|
|
10
|
+
static add(error: CoreError): void;
|
|
11
|
+
static remove(id: number): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare type Callback = (v: void | any) => void | Promise<any>;
|
|
2
|
+
interface EventEmitterInterface {
|
|
3
|
+
emit: (event: string, data?: any) => Promise<any>;
|
|
4
|
+
on: (event: string, callback: Callback) => void;
|
|
5
|
+
}
|
|
6
|
+
declare class EventEmitter implements EventEmitterInterface {
|
|
7
|
+
eventsState: {
|
|
8
|
+
[name: string]: Array<Callback>;
|
|
9
|
+
};
|
|
10
|
+
availableNames: Array<string> | null;
|
|
11
|
+
constructor(names?: Array<string>);
|
|
12
|
+
emit(event: string, data?: any): Promise<any>;
|
|
13
|
+
/**
|
|
14
|
+
* @param {String} event
|
|
15
|
+
* @param {Function} callback
|
|
16
|
+
*/
|
|
17
|
+
on(event: string, callback: Callback): void;
|
|
18
|
+
setAvailableEventNames(names: Array<string>): void;
|
|
19
|
+
}
|
|
20
|
+
export default EventEmitter;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ComputedRef } from "vue";
|
|
2
|
+
import InterfaceForm, { InterfaceFormParams } from "./InterfaceForm";
|
|
3
|
+
import { FormControllerInterface, FormProvideControllerInterface, Values, ValuesInterface } from "../types";
|
|
4
|
+
export interface FormParams extends InterfaceFormParams {
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated use controller insted
|
|
7
|
+
* */
|
|
8
|
+
parentController?: FormProvideControllerInterface | null;
|
|
9
|
+
controller?: FormProvideControllerInterface;
|
|
10
|
+
provide?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export default class Form extends InterfaceForm {
|
|
13
|
+
private parentController?;
|
|
14
|
+
/**
|
|
15
|
+
* parentController: Object
|
|
16
|
+
* provide: Boolean - Нужно ли прокидывать свой контроллер на детей
|
|
17
|
+
* @param options.parentController
|
|
18
|
+
* */
|
|
19
|
+
changed: ComputedRef<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Объект изменений. Хранит ТОЛЬКО изменившиеся значения.
|
|
22
|
+
* */
|
|
23
|
+
changes: {
|
|
24
|
+
[x: string]: boolean | any;
|
|
25
|
+
};
|
|
26
|
+
constructor(props?: FormParams);
|
|
27
|
+
get controllersStorage(): {
|
|
28
|
+
main: {
|
|
29
|
+
onInput: (...args: Array<any>) => void;
|
|
30
|
+
onDepend: (elemController: FormControllerInterface) => void;
|
|
31
|
+
unDepend: (elemController: FormControllerInterface) => void;
|
|
32
|
+
/**
|
|
33
|
+
* Для чего в controller используется свойство?
|
|
34
|
+
* Форма должна сама всё регулировать
|
|
35
|
+
* */
|
|
36
|
+
disabled: boolean;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
get controller(): {
|
|
40
|
+
onInput: (...args: any[]) => void;
|
|
41
|
+
onDepend: (elemController: FormControllerInterface) => void;
|
|
42
|
+
unDepend: (elemController: FormControllerInterface) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Для чего в controller используется свойство?
|
|
45
|
+
* Форма должна сама всё регулировать
|
|
46
|
+
* */
|
|
47
|
+
disabled: boolean;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* @description Вернёт объект изменений
|
|
51
|
+
* Пример:
|
|
52
|
+
* {
|
|
53
|
+
* name: 'New',
|
|
54
|
+
* address: {
|
|
55
|
+
* city: 'New'
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
58
|
+
* Получет значения из dependElements
|
|
59
|
+
*
|
|
60
|
+
* */
|
|
61
|
+
getChanges(): import("../utils/recursive-object-wrap").SimpleObject;
|
|
62
|
+
/**
|
|
63
|
+
* Устанавливает изменение
|
|
64
|
+
* */
|
|
65
|
+
setChanges(name: string, value: Values): void;
|
|
66
|
+
/**
|
|
67
|
+
* Аккуртно очищает объект изменений. Поскольку он является reactive.
|
|
68
|
+
* */
|
|
69
|
+
cleanChanges: () => void;
|
|
70
|
+
/**
|
|
71
|
+
* @description Вернёт целы данные, с учётом изменений
|
|
72
|
+
* */
|
|
73
|
+
getFullValues(): {
|
|
74
|
+
[x: string]: string | number | boolean | {
|
|
75
|
+
[x: string]: boolean | any;
|
|
76
|
+
} | ValuesInterface;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { FormControllerInterface, Values, ValuesInterface } from "../types";
|
|
2
|
+
import EventEmitter from "./EventEmitter";
|
|
3
|
+
interface DisabledElementsInterface {
|
|
4
|
+
[name: string]: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare type FunctionHandleData = () => Promise<any> | any | void;
|
|
7
|
+
export interface InterfaceFormParams {
|
|
8
|
+
name?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Прафило формы: ИСТИНА находится только форме. Все подконтрольные элементы
|
|
12
|
+
* должны полагаться(А, если нет), то должны уведомлять форму о изменениях.
|
|
13
|
+
* Поскольку элемент формы, может быть вариативным и при его изменении и затем
|
|
14
|
+
* скрытии с формы(по средствам v-if) изменённый элемент пропадёт, а значит и ст
|
|
15
|
+
* атус формы: changed - тоже пропадёт.
|
|
16
|
+
* */
|
|
17
|
+
export default class InterfaceForm extends EventEmitter {
|
|
18
|
+
_isForm: boolean;
|
|
19
|
+
static FORM_INDICATE_KEY: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
/**
|
|
22
|
+
* values - хранилище данных формы
|
|
23
|
+
* Хранит внутренне состояния. Нужно для того, чтобы мы пологались не на эле
|
|
24
|
+
* менты, а только на значение внутри формы. Т.к. элементы могут исчезать с
|
|
25
|
+
* формы, а вместе с ними, наши значения.
|
|
26
|
+
* */
|
|
27
|
+
values: ValuesInterface;
|
|
28
|
+
dependElements: Array<FormControllerInterface>;
|
|
29
|
+
/**
|
|
30
|
+
* @description Реактивный объект
|
|
31
|
+
* */
|
|
32
|
+
disabledElements: DisabledElementsInterface;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Внутреннее состояния объекта, используется для установки внешних значений.
|
|
36
|
+
* Например, для установки входных параметров в таблицу(идентификатор пользо
|
|
37
|
+
* ватля, которые потом будет передавать в rowForm)
|
|
38
|
+
* */
|
|
39
|
+
state: {
|
|
40
|
+
[x: string]: any;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Функция для очистки изменений
|
|
44
|
+
* */
|
|
45
|
+
cleanChanges: (...[]: Iterable<any>) => any;
|
|
46
|
+
constructor(props: InterfaceFormParams);
|
|
47
|
+
setValueItem(elementController: FormControllerInterface, values: Values): void;
|
|
48
|
+
/**
|
|
49
|
+
* Возвращает Экземпляр подписанного элемента или undefined
|
|
50
|
+
* @return {object | undefined} AggregateItem
|
|
51
|
+
* */
|
|
52
|
+
findDepend(name: string): FormControllerInterface;
|
|
53
|
+
/**
|
|
54
|
+
* @description Метод для подписки на форму
|
|
55
|
+
* */
|
|
56
|
+
depend(form: InterfaceForm): void;
|
|
57
|
+
/**
|
|
58
|
+
* @description Устанавливает значения в зависимые элементы по name
|
|
59
|
+
*
|
|
60
|
+
* @param {Object} values
|
|
61
|
+
* */
|
|
62
|
+
setValues(values: ValuesInterface): any;
|
|
63
|
+
/**
|
|
64
|
+
* @description Вернёт все значения составляющих компонент формы
|
|
65
|
+
* @description {name: value...}
|
|
66
|
+
*
|
|
67
|
+
* @return {Object} values
|
|
68
|
+
* */
|
|
69
|
+
getValues(): ValuesInterface;
|
|
70
|
+
/**
|
|
71
|
+
* @description Функция блокирует все элементы: вызывает в связанных элементах функциюю disable. Устанавливает флаг disable = true
|
|
72
|
+
* @description Если names не установлено - блокирует все поля, иначе, только те, у которых name совпадёт
|
|
73
|
+
* @param {Array, String, null} names
|
|
74
|
+
*
|
|
75
|
+
* */
|
|
76
|
+
disable(names: Array<string> | void): void;
|
|
77
|
+
/**
|
|
78
|
+
* @description Проверяет, является ли элемент по name заблокированным
|
|
79
|
+
* @param {String} name
|
|
80
|
+
* @return {Boolean} isDisableElement
|
|
81
|
+
*/
|
|
82
|
+
checkDisabledElement(name: string): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* @description форма либо польность, либо частично разблокирует форму
|
|
85
|
+
* @param {Array, null} names
|
|
86
|
+
*/
|
|
87
|
+
enable(names: Array<string> | void): void;
|
|
88
|
+
/**
|
|
89
|
+
* @description Проходит по ВСЕМ подписанным на форму объектам, и запускает в них метод validate, если он имеется
|
|
90
|
+
*
|
|
91
|
+
* @return {Boolean} isValidate
|
|
92
|
+
* @description true в случае, если форма полность валидна, false - иначе
|
|
93
|
+
* */
|
|
94
|
+
validate(): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Функции, хранящие в себе запросы на получение или обновление данных
|
|
97
|
+
* А также их getter and setter
|
|
98
|
+
* */
|
|
99
|
+
readData: FunctionHandleData;
|
|
100
|
+
updateData: FunctionHandleData;
|
|
101
|
+
get update(): () => Promise<any> | any;
|
|
102
|
+
set update(callback: () => Promise<any> | any);
|
|
103
|
+
get read(): () => Promise<any> | any;
|
|
104
|
+
set read(callback: () => Promise<any> | any);
|
|
105
|
+
}
|
|
106
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InterfaceWorker предназначен для удобного взаимодействия с интерфейсом,исполь
|
|
3
|
+
* зуется для работы с попапом карточки пользователя, открытия навигационного ме
|
|
4
|
+
* ню, обработка текущего активного элемента в навигационном меню.
|
|
5
|
+
*
|
|
6
|
+
* */
|
|
7
|
+
export default class InterfaceWorker {
|
|
8
|
+
isNavigation: import("vue").Ref<boolean>;
|
|
9
|
+
isMobileNavigation: import("vue").Ref<boolean>;
|
|
10
|
+
isUserCard: import("vue").Ref<boolean>;
|
|
11
|
+
constructor();
|
|
12
|
+
toggleNavigation(v?: boolean): void;
|
|
13
|
+
toggleMobileNavigation(v?: boolean): void;
|
|
14
|
+
toggleUserCard(v?: boolean): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ComputedRef, VNode } from "vue";
|
|
2
|
+
import { FormParams } from "./Form";
|
|
3
|
+
import { ListRowValues, TableRowController, Values, ValuesInterface } from "../types";
|
|
4
|
+
import InterfaceForm from "./InterfaceForm";
|
|
5
|
+
export interface ListCell {
|
|
6
|
+
title?: string;
|
|
7
|
+
name?: string | string[];
|
|
8
|
+
value?: (x: Values, obj: ValuesInterface) => Values;
|
|
9
|
+
link?: (x: Values, obj: ValuesInterface) => any;
|
|
10
|
+
type?: "date" | "dateWithTime" | 'toggle' | 'select';
|
|
11
|
+
icon?: string;
|
|
12
|
+
class?: string | string[];
|
|
13
|
+
onClick?: (x: Values, obj: TableRowController) => void;
|
|
14
|
+
edit?: boolean;
|
|
15
|
+
delete?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ListParams extends FormParams {
|
|
18
|
+
config: ComputedRef<ListCell[]>;
|
|
19
|
+
}
|
|
20
|
+
export default class List extends InterfaceForm {
|
|
21
|
+
config: ComputedRef<ListCell[]>;
|
|
22
|
+
array: {
|
|
23
|
+
[name: string]: any;
|
|
24
|
+
}[];
|
|
25
|
+
constructor(props: ListParams);
|
|
26
|
+
cleanArray(): void;
|
|
27
|
+
setArray(array: List["array"]): void;
|
|
28
|
+
/**
|
|
29
|
+
* @description Статик метод для получения VNode для Строки
|
|
30
|
+
*
|
|
31
|
+
* @param {ListCell[]} config - конфигурация списка
|
|
32
|
+
* @param {ListRowValues} rowValues - значения для одной строки
|
|
33
|
+
* */
|
|
34
|
+
static getRow(config: ListCell[], rowValues: ListRowValues, list?: List): VNode;
|
|
35
|
+
/**
|
|
36
|
+
* @return { {name: string, value: any} } CellInfo
|
|
37
|
+
* */
|
|
38
|
+
static getCellInfo(cell: ListCell, rowValues: ListRowValues): {
|
|
39
|
+
name: string;
|
|
40
|
+
value: Values;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* @description Статик метод для получения VNode для Ячейки
|
|
44
|
+
*
|
|
45
|
+
* @param {ListCell} cellConfig - конфигурация Ячейки
|
|
46
|
+
* @param {ListRowValues} rowValues - значения Строки
|
|
47
|
+
* @param {string} cellName - имя Ячейки
|
|
48
|
+
* @param {values} cellValue - значение ячейки
|
|
49
|
+
* */
|
|
50
|
+
static getCell(cellConfig: ListCell, rowValues: ListRowValues, cellName: string | null, cellValue: Values, list?: List): VNode[];
|
|
51
|
+
/**
|
|
52
|
+
* @description Принимает конфигурацию списка
|
|
53
|
+
* @return <String>Array Возвращает массив, содержащий все имена полей из ко
|
|
54
|
+
* нфигурации
|
|
55
|
+
* */
|
|
56
|
+
static getNamesFromConfig(config: ListCell[]): string[];
|
|
57
|
+
/**
|
|
58
|
+
* @description Вернёт название ячеки, учитывая все значения поля name
|
|
59
|
+
* Если значением поля name выступает массив, то вернёт первый элемент масси
|
|
60
|
+
* ва
|
|
61
|
+
* */
|
|
62
|
+
static getCellName(cell: ListCell): string | null;
|
|
63
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import EventEmitter from "./EventEmitter";
|
|
2
|
+
export default class Metadata extends EventEmitter {
|
|
3
|
+
state: MetadataState;
|
|
4
|
+
constructor();
|
|
5
|
+
/**
|
|
6
|
+
* @description Устанавливает значение матаданных
|
|
7
|
+
* */
|
|
8
|
+
set(data: MetadataResponse): void;
|
|
9
|
+
/**
|
|
10
|
+
* @description Вернёт массив полей(имена), которые должныбыть задизейблены
|
|
11
|
+
* @return {Array} disabledFieldsName
|
|
12
|
+
*/
|
|
13
|
+
getDisabledFields(): string[];
|
|
14
|
+
/**
|
|
15
|
+
* @description Возвращает массив name полей, который не доступны для чтения
|
|
16
|
+
* (Имеют установки hidden(canRead: false))
|
|
17
|
+
* */
|
|
18
|
+
getHiddenFields(): string[];
|
|
19
|
+
}
|
|
20
|
+
export interface MetadataState {
|
|
21
|
+
ready: boolean;
|
|
22
|
+
set?: any;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
fields: {
|
|
25
|
+
[name: string]: MetadataField;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
interface MetadataField {
|
|
29
|
+
disabled: boolean;
|
|
30
|
+
hidden: boolean;
|
|
31
|
+
type: DataType | ReferencedEntity;
|
|
32
|
+
}
|
|
33
|
+
export interface MetadataResponse {
|
|
34
|
+
canCreate: boolean;
|
|
35
|
+
canDelete: boolean;
|
|
36
|
+
canRead: boolean;
|
|
37
|
+
canUpdate: boolean;
|
|
38
|
+
canUse: boolean;
|
|
39
|
+
name: string;
|
|
40
|
+
fields: MetadataResponseField[];
|
|
41
|
+
}
|
|
42
|
+
declare type DataType = 'Entity' | 'String' | 'Integer' | 'Byte' | 'DateTime';
|
|
43
|
+
declare type ReferencedEntity = 'Customer' | 'ApplicationType' | 'ApplicationStatus';
|
|
44
|
+
interface MetadataResponseField {
|
|
45
|
+
canGet: boolean;
|
|
46
|
+
canSet: boolean;
|
|
47
|
+
name: string;
|
|
48
|
+
dataType: DataType;
|
|
49
|
+
referencedEntity: ReferencedEntity | null;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import ClassForm from "./Form";
|
|
2
|
+
import { Ref } from "vue";
|
|
3
|
+
interface RenderItemInterface {
|
|
4
|
+
children: any[];
|
|
5
|
+
}
|
|
6
|
+
declare type FunctionRenderItem = () => () => any;
|
|
7
|
+
declare type RenderItem = RenderItemInterface | FunctionRenderItem;
|
|
8
|
+
interface WidgetFormPropsInterface {
|
|
9
|
+
title?: string;
|
|
10
|
+
button?: any;
|
|
11
|
+
functions?: any;
|
|
12
|
+
}
|
|
13
|
+
export declare function render(array: RenderItem[] | Ref<RenderItem>): any;
|
|
14
|
+
export default class RenderForm extends ClassForm {
|
|
15
|
+
static render(array: RenderItem[]): any;
|
|
16
|
+
metadata: any;
|
|
17
|
+
hiddenInputs: Ref<string[]>;
|
|
18
|
+
/**
|
|
19
|
+
* @param {String} context
|
|
20
|
+
* @param {String} entity
|
|
21
|
+
* @param {String} criterion
|
|
22
|
+
* */
|
|
23
|
+
/**
|
|
24
|
+
* @description Возвращается функции для рендеринга компонентов
|
|
25
|
+
* @return {Object} constructors
|
|
26
|
+
* */
|
|
27
|
+
getRenderConstructors(): {
|
|
28
|
+
input: (props: any, type?: any) => () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}>;
|
|
31
|
+
containerFormElement: (props: any, children: any[]) => () => any;
|
|
32
|
+
containerForm: (props: any, children: any[]) => () => any;
|
|
33
|
+
widgetForm: (props: WidgetFormPropsInterface, children: any[]) => () => any;
|
|
34
|
+
};
|
|
35
|
+
setHiddenInputs(names: string[]): void;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { ListRowValues, TableController, Values, ValuesInterface } from "../types";
|
|
2
|
+
import { ComputedRef, VNode } from "vue";
|
|
3
|
+
import List, { ListCell, ListParams } from "./List";
|
|
4
|
+
interface TableChanges {
|
|
5
|
+
update: ValuesInterface[];
|
|
6
|
+
new: ValuesInterface[];
|
|
7
|
+
delete: number[];
|
|
8
|
+
}
|
|
9
|
+
interface ValuesTableCellInterface extends ValuesInterface {
|
|
10
|
+
_tableId: number;
|
|
11
|
+
}
|
|
12
|
+
export interface TableParams extends ListParams {
|
|
13
|
+
}
|
|
14
|
+
export default class Table extends List {
|
|
15
|
+
/**
|
|
16
|
+
* КАЖДЫЙ ЭЛЕМЕНТ, ХАРНЯЩИЙСЯ В ТАБЛИЦЕ ИМЕЕТ СВОЙ УНИКАЛЬНЫЙ ИНДЕКС
|
|
17
|
+
* НЕ ЗАВЯЗАННЫЙ НА ИДЕНТИФИКАТОРЕ (ID). (Т.К ТАБЛИЦА МОЖЕТ СОДЕРЖАТЬ)
|
|
18
|
+
* НОВЫЕ ЗАПИСИ, У КОТОРЫХ ОТСУТСТВУЕТ ИДЕНТИФИКТОР
|
|
19
|
+
* */
|
|
20
|
+
static INDEX_ITEM: number;
|
|
21
|
+
static INDEX_FIELD_NAME: string;
|
|
22
|
+
/**
|
|
23
|
+
* ТАБЛЦА ЯВЛЯЕТСЯ ИЗМЕНЁННОЙ В ТОМ СЛУЧАЕ,
|
|
24
|
+
* ЕСЛИ ОДИН ИЗ ЕЁ ЭЛЕМЕНТОВ ИЗМЕНЁН В CHANGES
|
|
25
|
+
* ИЗМЕНЁН
|
|
26
|
+
* */
|
|
27
|
+
changed: ComputedRef<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* ИЗМЕНЕНИЕ ТАБЛИЦЫ
|
|
30
|
+
* UPDATE - список объектов, которые нужно обновить. Главное условние -
|
|
31
|
+
* наличие идентификатора в объекте. Поле id
|
|
32
|
+
* ДАННЫЕ ОБНОВЛЕНИЯ - ТОЛЬКО ДЛЯ УЖЕ __СУЩЕСТВУЮЩИХ В БД ЭЛЕМЕНТОВ__
|
|
33
|
+
*
|
|
34
|
+
* NEW - список объектов, которые будут созданы.
|
|
35
|
+
*
|
|
36
|
+
* DELETE - список id, которые будут удалены
|
|
37
|
+
*
|
|
38
|
+
* Объект изменений очищется после того, как записи таблицы были перечитаны
|
|
39
|
+
* или обновлены
|
|
40
|
+
* */
|
|
41
|
+
changes: TableChanges;
|
|
42
|
+
/**
|
|
43
|
+
* НОМЕР ВНУТРЕННЕГО ИДЕНТИФИКАТОРА ЭЛЕМЕНТА, КОТОРЫЙ СЕЙЧАС АКТИВЕН( НАХОДИТСЯ
|
|
44
|
+
* В СТАДИИ РЕДАКТИРОВАНИЯ)
|
|
45
|
+
*
|
|
46
|
+
* 0 - В СЛУЧАЕ, ЕСЛИ ОТКРЫТА ФОРМА НА СОЗДАНИЕ ЭЛЕМЕНТА
|
|
47
|
+
* */
|
|
48
|
+
activeFormIndex: import("vue").Ref<number>;
|
|
49
|
+
selectedArray: number[];
|
|
50
|
+
VueComponentForm?: any;
|
|
51
|
+
name?: string;
|
|
52
|
+
constructor(props: TableParams);
|
|
53
|
+
static getCell(cellConfig: ListCell, rowValues: ListRowValues, cellName: string | null, cellValue: Values, table: Table): VNode[];
|
|
54
|
+
static getRow(config: ListCell[], rowValues: ListRowValues, table: Table): VNode;
|
|
55
|
+
_getCell(values: ValuesTableCellInterface): any;
|
|
56
|
+
set componentForm(component: any);
|
|
57
|
+
/**
|
|
58
|
+
* ФУНКЦИЯ АКТИВИРУЕТ ЭЛЕМЕНТ ФОРМЫ ПО ВНУТРЕННЕМУ ИНДЕКСУ
|
|
59
|
+
* ИЛИ АКТИВИРУЕТ ФОРМУ НА СОЗДАНИЕ ЭЛЕМЕНТЕ
|
|
60
|
+
* */
|
|
61
|
+
toggleForm(index: number): any;
|
|
62
|
+
activateForm(index: number): void;
|
|
63
|
+
activateNewForm(): void;
|
|
64
|
+
hideForm(): void;
|
|
65
|
+
get tableController(): TableController;
|
|
66
|
+
/**
|
|
67
|
+
* ОТМЕНЯЕТ ИЗМЕНЕНИЯ ОБЪЕКТА ПО ВНУТРЕННЕМУ ИДЕНТИФИКАТОРУ ТАБЛИЦЫ
|
|
68
|
+
* */
|
|
69
|
+
revert(what: 'update' | 'delete' | 'new', tableIndex: number): void;
|
|
70
|
+
/**
|
|
71
|
+
* @description Вернёт значение по внутреннему индексу таблицы, получив данн
|
|
72
|
+
* ые как из массива зачений(this.array) так и из хранилища изменений(this.c
|
|
73
|
+
* hanges)
|
|
74
|
+
* */
|
|
75
|
+
getValuesCell(index: number): ValuesInterface;
|
|
76
|
+
/**
|
|
77
|
+
* Сохраняет выделенный элемент таблицы. Используется, когда тип ячейки указ
|
|
78
|
+
* ывается как type = 'select'
|
|
79
|
+
*
|
|
80
|
+
* */
|
|
81
|
+
unselectRow(tableIndex: number): void;
|
|
82
|
+
selectRow(tableIndex: number): void;
|
|
83
|
+
toggleSelectedRow(tableIndex: number): void;
|
|
84
|
+
/**
|
|
85
|
+
* @description Вернёт объекты значений (values), которые были выбраны. Для
|
|
86
|
+
* использования возможно понадобиться из них получить ключи. Если передать
|
|
87
|
+
* key, вернёт только массив ключей.
|
|
88
|
+
* */
|
|
89
|
+
getSelectedItems(key?: string | null): any[];
|
|
90
|
+
}
|
|
91
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function containerFormElement(props: any, children: any[]): () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function containerForm(props: any, children: any[]): () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function containerRender(Component: any, props: any, children: any): () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getInputComponent(typeName: string): any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function renderFormBody(props: any, children: any[]): () => any;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function renderFormSection(props: any, children: any[]): () => any;
|