eservices-core 1.0.558 → 1.0.559
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.
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { MetadataResponseInterface, MetadataResponseFieldInterface } from "../types/metadata-types";
|
|
2
|
+
import EventEmitter from "jenesius-event-emitter";
|
|
3
|
+
declare class SingleMetadataStore extends EventEmitter {
|
|
4
|
+
readonly EVENT_NEW = "event:new-metadata";
|
|
5
|
+
store: {
|
|
6
|
+
[name: string]: MetadataResponseInterface;
|
|
7
|
+
};
|
|
8
|
+
constructor();
|
|
9
|
+
/**
|
|
10
|
+
* @description Возвращает объект для работы с метаданными
|
|
11
|
+
* */
|
|
12
|
+
get(entityName: string): MetadataResponseInterface;
|
|
13
|
+
/**
|
|
14
|
+
* @description Метод используется для загрузки метаданных. Если метаданные для сущности уже были полученные, вызываться
|
|
15
|
+
* перечитывание не будет.
|
|
16
|
+
* */
|
|
17
|
+
load(entityName: string): Promise<MetadataResponseInterface>;
|
|
18
|
+
private set;
|
|
19
|
+
private loadEntityInformation;
|
|
20
|
+
}
|
|
21
|
+
export declare const MetadataStore: SingleMetadataStore;
|
|
22
|
+
export declare function ComputedMetadata(entityName: string): Readonly<import("vue").Ref<{
|
|
23
|
+
readonly canCreate: boolean;
|
|
24
|
+
readonly canDelete: boolean;
|
|
25
|
+
readonly canRead: boolean;
|
|
26
|
+
readonly canUpdate: boolean;
|
|
27
|
+
readonly canUse: boolean;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly fields: readonly {
|
|
30
|
+
readonly canGet: boolean;
|
|
31
|
+
readonly canSet: boolean;
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly dataType: import("../types/metadata-types").DataType;
|
|
34
|
+
readonly referencedEntity: import("../types/metadata-types").ReferencedEntity;
|
|
35
|
+
readonly presentationType: string;
|
|
36
|
+
}[];
|
|
37
|
+
}>>;
|
|
38
|
+
export declare function prettifyValueByMetadata(value: unknown, metadataField: MetadataResponseFieldInterface): unknown;
|
|
39
|
+
export {};
|
|
@@ -4,11 +4,13 @@ import config from "./config";
|
|
|
4
4
|
import * as types from "./types";
|
|
5
5
|
import Table from "./classes/table/Table";
|
|
6
6
|
import "./../styles/index.css";
|
|
7
|
+
import * as testTypes from "./../../backend/src/types/main";
|
|
7
8
|
import StylesInterface from "./styles/types";
|
|
8
9
|
import { Values } from "./types";
|
|
9
10
|
import historyService, { IParsedHistoryResponse } from "./services/history-service";
|
|
10
11
|
import * as newImport from "./new/new-import";
|
|
11
|
-
|
|
12
|
+
import { MetadataStore, ComputedMetadata, prettifyValueByMetadata } from "./classes/MetadataStore";
|
|
13
|
+
export { newImport, testTypes, MetadataStore, ComputedMetadata, prettifyValueByMetadata };
|
|
12
14
|
import { ICustomerContext, ApplicationType } from "./classes/ApplicationManager";
|
|
13
15
|
import { IActionExecuteResult, IValidationEffect, IActionResponse } from "./services/action-service";
|
|
14
16
|
import { INotificationCard } from "./classes/NotificationSystem";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* eservices-core v1.0.
|
|
2
|
+
* eservices-core v1.0.559
|
|
3
3
|
* (c) 2023 ESERVICES
|
|
4
4
|
*/
|
|
5
5
|
'use strict';
|
|
@@ -2995,6 +2995,10 @@ function useTableRequest(table, options) {
|
|
|
2995
2995
|
var css_248z$h = "*{\r\n --extra-fast :0.1s;\r\n --fast :0.2s;\r\n --medium :0.3s;\r\n\r\n box-sizing: border-box;\r\n --primary: #3949ab\r\n}\r\nhtml, body, #app{\r\n height: 100%;\r\n}\r\nbody{\r\n margin: 0;\r\n}\r\nul{\r\n text-align: left;\r\n}\r\n.flex{\r\n display: flex;\r\n}\r\n.flex_column{\r\n display: flex;\r\n flex-direction: column;\r\n}\r\n.flex_center{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n.flex_full, .flex_grow{\r\n flex-grow: 1;\r\n}\r\n.grid{\r\n display: grid;\r\n}\r\n.link{\r\n text-decoration: var(--link-decoration);\r\n color: var(--link-color);\r\n}\r\n.link_hover-underline:hover,\r\n.link_hover_underline:hover{\r\n text-decoration: underline;\r\n}\r\n.link_full{\r\n position: absolute;\r\n height: 100%;\r\n width: 100%;\r\n left: 0;\r\n top:0;\r\n}\r\n.text_sm{\r\n font-weight: 400;\r\n font-size: 12px;\r\n line-height: 16px;\r\n}\r\n.text_md{\r\n font-size: 14px;\r\n line-height: 20px;\r\n}\r\n.text_lg{\r\n font-size: 16px;\r\n line-height: 24px;\r\n}\r\n.text_size_xxl{\r\n font-size: 18px;\r\n line-height: 25px;\r\n}\r\n.text_center{\r\n text-align: center;\r\n}\r\n.text_bold{\r\n font-weight: 600;\r\n}\r\n.text_nowrap{\r\n white-space: nowrap;\r\n}\r\n.text_right{\r\n text-align: right;\r\n}\r\n.text_center{\r\n text-align: center;\r\n}\r\n.text_size_sm{\r\n font-size: 12px;\r\n line-height: 130%;\r\n}\r\n.text_size_md{\r\n font-size: 14px;\r\n line-height: 140%;\r\n}\r\n.text_error{\r\n color: red;\r\n}\r\n.title_sm{\r\n font-weight: 600;\r\n font-size: 16px;\r\n line-height: 24px;\r\n}\r\n.title_md{\r\n font-weight: 600;\r\n font-size: 24px;\r\n line-height: 32px;\r\n}\r\n.title_lg{\r\n font-weight: bold;\r\n font-size: 32px;\r\n line-height: 48px;\r\n}\r\n.title_xxl, .title_xl{\r\n font-weight: bold;\r\n font-size: 48px;\r\n line-height: 64px;\r\n}\r\n.cursor_pointer{\r\n cursor: pointer;\r\n}\r\n.cursor_default{\r\n cursor: default;\r\n}\r\nbutton{\r\n outline: none;\r\n user-select: none;\r\n\r\n transition: background-color 0.2s;\r\n}\r\n.button{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n outline: none;\r\n}\r\n.button_main{\r\n background-color: var(--button-background);\r\n color: var(--button-color);\r\n}\r\n.button_main:focus{\r\n background-color: var(--button-background-active);\r\n}\r\n.button_main:active{\r\n background-color: var(--button-background-active);\r\n}\r\n.button_white{\r\n background-color: var(--white);\r\n color: var(--main);\r\n}\r\n.button_sm{\r\n height: 30px;\r\n width: 130px;\r\n}\r\n.button_shadow{\r\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);\r\n}\r\n.button_lg{\r\n font-weight: 600;\r\n font-size: 16px;\r\n line-height: 24px;\r\n\r\n padding: 12px 0;\r\n height: 50px;\r\n width: 200px;\r\n}\r\n.button_disabled{\r\n background-color: var(--gray-1);\r\n}\r\n.button_resolve{\r\n background-color: var(--main);\r\n color: var(--white);\r\n border-radius: 2px;\r\n}\r\n.button_reject{\r\n border: 1px solid var(--color-dark);\r\n border-radius: 2px;\r\n}\r\n.button_md{\r\n height: 30px;\r\n padding: 0 10px;\r\n\r\n min-width: 80px;\r\n}\r\n.button_disabled{\r\n background-color: var(--button-disabled-background-color);\r\n cursor: pointer !important;\r\n}\r\n*{\r\n\r\n\r\n\r\n}\r\n.color_main,\r\n.color__text_main{\r\n color: var(--main);\r\n}\r\n.color__text_black{\r\n color: var(--black-1);\r\n}\r\n.color__text_gray{\r\n color: var(--text-gray);\r\n}\r\n.color__text_red,\r\n.color_red{\r\n color: var(--red);\r\n}\r\n.color__text_white{\r\n color: var(--white);\r\n}\r\n.background_orange{\r\n background-color: var(--orange)\r\n}\r\n.background_red{\r\n background-color: var(--red)\r\n}\r\n.color_dark{\r\n color: var(--dark);\r\n}\r\n.color_light{\r\n color: var(--light);\r\n}\r\n.move-vertical-enter-active,\r\n.move-vertical-leave-active {\r\n transition: transform 0.5s ease;\r\n}\r\n.move-vertical-enter-from,\r\n.move-vertical-leave-to {\r\n transform: translateY(-10px);\r\n}\r\n.move-horizontal-enter-active,\r\n.move-horizontal-leave-active {\r\n transition: transform 0.5s;\r\n}\r\n.move-horizontal-enter-from,\r\n.move-horizontal-leave-to {\r\n transform: translateX(-40px);\r\n}\r\n.modal-vertical-enter-active , .modal-vertical-leave-active, .modal-default {\r\n transition: transform var(--medium);\r\n}\r\n.modal-vertical-enter-active .modal-default, .modal-vertical-leave-active .modal-default{\r\n transform: translateY(-100px);\r\n}\r\n.move-vertical-fast-enter-active,\r\n.move-vertical-fast-leave-active {\r\n transition: transform var(--fast) ease;\r\n}\r\n.move-vertical-fast-enter-from,\r\n.move-vertical-fast-leave-to {\r\n transform: translateY(-20px);\r\n}\r\n.slide-up-enter-active,\r\n.slide-up-leave-active {\r\n transition: transform var(--fast) ease, opacity var(--fast);\r\n\r\n}\r\n.slide-up-enter-from,\r\n.slide-up-leave-to {\r\n transform: translateY(20px);\r\n opacity: 0;\r\n}\r\n.opacity-enter-active,\r\n.opacity-leave-active {\r\n transition: opacity var(--fast) ease;\r\n}\r\n.opacity-enter-from,\r\n.opacity-leave-to {\r\n opacity: 0;\r\n}\r\n.list-move, /* apply transition to moving elements */\r\n.list-enter-active,\r\n.list-leave-active {\r\n transition: all 0.5s ease;\r\n}\r\n.list-enter-from,\r\n.list-leave-to {\r\n opacity: 0;\r\n transform: translateX(30px);\r\n}\r\n/* ensure leaving items are taken out of layout flow so that moving\r\n animations can be calculated correctly. */\r\n.list-leave-active {\r\n position: absolute;\r\n}\r\n.modal-default{\r\n background-color: var(--white);\r\n position: relative;\r\n z-index: 1;\r\n\r\n width: auto;\r\n\r\n background: var(--white);\r\n border-radius: var(--border-radius);\r\n\r\n\r\n}\r\n.modal-default__head{\r\n background-color: var(--black-1);\r\n text-align: center;\r\n padding: 5px 0;\r\n border-radius: 6px 6px 0 0;\r\n}\r\n.modal-default__body{\r\n gap: 20px;\r\n padding: 0 15px;\r\n}\r\n.modal-default__foot{\r\n padding: 30px 0;\r\n display: flex;\r\n justify-content: center;\r\n}\r\n.tooltip-help-elem{}\r\n.hint-tooltip{\r\n display: block;\r\n\r\n z-index: 222;\r\n margin: auto;\r\n pointer-events: none;\r\n\r\n box-shadow: 0 0 0 9999px rgba(0,0,0,0.5);\r\n}\r\n.tooltip-help-circle-in,\r\n.tooltip-help-circle-out{\r\n border-radius: 50%;\r\n}\r\n.tooltip-help-undefined{\r\n border-radius: 50px;\r\n}\r\n.tooltip-card{\r\n position: fixed;\r\n z-index: 315;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n\r\n width: 480px;\r\n height: fit-content;\r\n\r\n margin: auto;\r\n\r\n border-radius: 10px;\r\n background-color: var(--hint-background);\r\n\r\n cursor: default;\r\n}\r\n.tooltip-card__foot{\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n background-color: var(--hint-background-navigation);\r\n border-radius: 10px;\r\n\r\n padding: 20px ;\r\n}\r\n.tooltip-card__foot-current{\r\n font-weight: 600;\r\n font-size: 20px;\r\n line-height: 24px;\r\n\r\n color: var(--white);\r\n}\r\n.tooltip-card__body{\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n gap: 8px;\r\n\r\n padding: 20px 20px 10px 20px;\r\n}\r\n.tooltip-card__body-title{\r\n font-weight: bold;\r\n font-size: 20px;\r\n line-height: 24px;\r\n\r\n color: var(--white);\r\n}\r\n.tooltip-card__body-text{\r\n font-size: 16px;\r\n line-height: 24px;\r\n\r\n color: var(--white);\r\n}\r\n.tooltip-card__foot-button_back{\r\n background-color: var(--main-1);\r\n}\r\n.tooltip-card__foot-button_next{\r\n background-color: var(--hint);\r\n}\r\n.tooltip-card__body-close{\r\n position: absolute;\r\n right: 22px;\r\n top: 12px;\r\n width: 20px;\r\n height: 16px;\r\n opacity: 0.3;\r\n\r\n cursor: pointer;\r\n}\r\n.tooltip-card__body-close:hover {\r\n opacity: 1;\r\n}\r\n.tooltip-card__body-close:before,\r\n.tooltip-card__body-close:after {\r\n position: absolute;\r\n left: 15px;\r\n content: ' ';\r\n height: 21px;\r\n width: 2px;\r\n background-color: white;\r\n}\r\n.tooltip-card__body-close:before {\r\n transform: rotate(45deg);\r\n}\r\n.tooltip-card__body-close:after {\r\n transform: rotate(-45deg);\r\n}\r\n.tooltip-card-container-wrap{\r\n pointer-events: none;\r\n position: absolute;\r\n left: 0;\r\n top:0;\r\n\r\n z-index: 123132;\r\n\r\n height: 100%;\r\n width: 100%;\r\n}\r\n.tooltip-card-container-wrap>div{\r\n\r\n height: 100%;\r\n width: 100%;\r\n\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n.tester-box-tooltip{\r\n pointer-events: all;\r\n}\r\n.position_relative{\r\n position: relative;\r\n}\r\n.position_absolute{\r\n position: absolute;\r\n}\r\n.gap_5{\r\n gap: 5px;\r\n}\r\n.gap_10{\r\n gap: 10px;\r\n}\r\n.gap_20{\r\n gap: 20px;\r\n}\r\n.margin-0{\r\n margin: 0;\r\n}\r\n.widget-input{\r\n\tbackground-color: var(--input-background);\r\n\tborder: var(--input-border);\r\n\tborder-radius: var(--input-border-radius);\r\n\tcolor: var(--input-color);\r\n}\r\n.widget-input:disabled{\r\n\tbackground-color: var(--input-background-disabled);\r\n\tborder: var(--input-border-disabled);\r\n}\r\n.widget-input[error=\"true\"] {\r\n\tborder: var(--input-border-error);\r\n}\r\n.widget-input::placeholder{\r\n\tcolor: var(--input-placeholder-color);\r\n}\r\n.widget-input:disabled::placeholder{\r\n\tcolor: var(--input-placeholder-color-disabled);\r\n}\r\n.input_error{\r\n\tborder: 1px solid red !important;\r\n}\r\n.input_size_md{\r\n\theight: var(--input-height);\r\n}\r\n.input-title{\r\n\tfont-size: 12px;\r\n\tline-height: 16px;\r\n\tcolor: #667085;\r\n\r\n\tmargin: 4px 0;\r\n}\r\n.widget-table{\r\n border-collapse: collapse;\r\n}\r\n.widget-table_mini{\r\n\r\n}\r\n.widget-table_mini p{\r\n margin: 0;\r\n}\r\n.widget-table_mini{\r\n\r\n}\r\n.list-cell-link>a{\r\n position: absolute;\r\n left: 0;\r\n top:0;\r\n z-index: 1;\r\n height: 100%;\r\n width: 100%;\r\n\r\n cursor: pointer;\r\n}\r\n.list-cell-link>p{\r\n font-weight: 500;\r\n}\r\n.widget-table__cell{\r\n padding: 0 20px;\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 19px;\r\n\r\n color: #4F4F4F;\r\n}\r\n.widget-table-cell_use{\r\n cursor: pointer;\r\n}\r\n.widget-table-cell_select{\r\n width: min-content ;\r\n}\r\n.table-cell-toggle{\r\n --border-color: black;\r\n position: relative;\r\n display: grid;\r\n place-content: center;\r\n border: 1px solid var(--border-color);\r\n height: 15px;\r\n aspect-ratio: 1 / 1;\r\n border-radius: 50%;\r\n}\r\n.table-cell-toggle_active:after {\r\n content: \"\";\r\n border-radius: 50%;\r\n background-color: var(--border-color);\r\n height: 9px;\r\n aspect-ratio: 1/1;\r\n}\r\n.widget-list-cell-text {\r\n\r\n}\r\n.widget-table-cell_number {\r\n text-align: right;\r\n}\r\n.overflow_auto {\r\n overflow: auto;\r\n}\r\n.padding_5{\r\n padding: 5px;\r\n}\r\n.padding_10 {\r\n padding: 10px;\r\n}\r\n.padding_0{\r\n padding: 0;\r\n}\r\n.padding_15 {\r\n padding: 15px;\r\n}\r\n.padding_20 {\r\n padding: 15px;\r\n}\r\n";
|
|
2996
2996
|
styleInject(css_248z$h);
|
|
2997
2997
|
|
|
2998
|
+
var main = /*#__PURE__*/Object.freeze({
|
|
2999
|
+
__proto__: null
|
|
3000
|
+
});
|
|
3001
|
+
|
|
2998
3002
|
class historyService {
|
|
2999
3003
|
static readHistoryById(entity, id) {
|
|
3000
3004
|
return Request(`/close-api/audits/history/${entity}/${id}`, {
|
|
@@ -3826,6 +3830,58 @@ var newImport = /*#__PURE__*/Object.freeze({
|
|
|
3826
3830
|
useListProvide: useListProvide
|
|
3827
3831
|
});
|
|
3828
3832
|
|
|
3833
|
+
class SingleMetadataStore extends EventEmitter {
|
|
3834
|
+
constructor() {
|
|
3835
|
+
super();
|
|
3836
|
+
// Вызывается всякий раз, когда были добавлены новые метаданные
|
|
3837
|
+
this.EVENT_NEW = 'event:new-metadata';
|
|
3838
|
+
this.store = {};
|
|
3839
|
+
}
|
|
3840
|
+
/**
|
|
3841
|
+
* @description Возвращает объект для работы с метаданными
|
|
3842
|
+
* */
|
|
3843
|
+
get(entityName) {
|
|
3844
|
+
return this.store[entityName];
|
|
3845
|
+
}
|
|
3846
|
+
/**
|
|
3847
|
+
* @description Метод используется для загрузки метаданных. Если метаданные для сущности уже были полученные, вызываться
|
|
3848
|
+
* перечитывание не будет.
|
|
3849
|
+
* */
|
|
3850
|
+
load(entityName) {
|
|
3851
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3852
|
+
if (!this.store[entityName])
|
|
3853
|
+
this.set(entityName, yield this.loadEntityInformation(entityName));
|
|
3854
|
+
return this.store[entityName];
|
|
3855
|
+
});
|
|
3856
|
+
}
|
|
3857
|
+
set(entityName, metadata) {
|
|
3858
|
+
this.store[entityName] = metadata;
|
|
3859
|
+
this.emit(this.EVENT_NEW, {
|
|
3860
|
+
entityName,
|
|
3861
|
+
});
|
|
3862
|
+
}
|
|
3863
|
+
loadEntityInformation(entityName) {
|
|
3864
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3865
|
+
const data = yield metadataService.get(entityName);
|
|
3866
|
+
return data;
|
|
3867
|
+
});
|
|
3868
|
+
}
|
|
3869
|
+
}
|
|
3870
|
+
const MetadataStore = new SingleMetadataStore();
|
|
3871
|
+
function ComputedMetadata(entityName) {
|
|
3872
|
+
const m = vue.ref(MetadataStore.get(entityName));
|
|
3873
|
+
MetadataStore.on(MetadataStore.EVENT_NEW, (data) => {
|
|
3874
|
+
if (entityName === data.entityName)
|
|
3875
|
+
m.value = MetadataStore.get(entityName);
|
|
3876
|
+
});
|
|
3877
|
+
return vue.readonly(m);
|
|
3878
|
+
}
|
|
3879
|
+
function prettifyValueByMetadata(value, metadataField) {
|
|
3880
|
+
if (metadataField.dataType === 'DateTime' && typeof value === 'string')
|
|
3881
|
+
return new Date(value).toLocaleString();
|
|
3882
|
+
return value;
|
|
3883
|
+
}
|
|
3884
|
+
|
|
3829
3885
|
function useSocket(namespace = 'default') {
|
|
3830
3886
|
if (!SocketStore.manager)
|
|
3831
3887
|
return;
|
|
@@ -5887,11 +5943,13 @@ var index = {
|
|
|
5887
5943
|
|
|
5888
5944
|
exports.ApplicationManager = ApplicationManager;
|
|
5889
5945
|
exports.Communication = Communication;
|
|
5946
|
+
exports.ComputedMetadata = ComputedMetadata;
|
|
5890
5947
|
exports.CoreError = CoreError;
|
|
5891
5948
|
exports.Filter = Filter;
|
|
5892
5949
|
exports.List = List;
|
|
5893
5950
|
exports.ListConfig = ListConfig;
|
|
5894
5951
|
exports.Manager = Manager;
|
|
5952
|
+
exports.MetadataStore = MetadataStore;
|
|
5895
5953
|
exports.ModalValidation = script$3;
|
|
5896
5954
|
exports.NotificationSystem = NotificationSystem;
|
|
5897
5955
|
exports.ProcessWrap = ProcessWrap;
|
|
@@ -5928,10 +5986,12 @@ exports.metadataService = metadataService;
|
|
|
5928
5986
|
exports.newImport = newImport;
|
|
5929
5987
|
exports.openService = openService;
|
|
5930
5988
|
exports.parseError = parseError;
|
|
5989
|
+
exports.prettifyValueByMetadata = prettifyValueByMetadata;
|
|
5931
5990
|
exports.processWizardService = processWizardService;
|
|
5932
5991
|
exports.requestHandler = requestHandler;
|
|
5933
5992
|
exports.ruleValidationService = ruleValidationService;
|
|
5934
5993
|
exports.setupSocket = setupSocket;
|
|
5994
|
+
exports.testTypes = main;
|
|
5935
5995
|
exports.useCommunication = useCommunication;
|
|
5936
5996
|
exports.useCustomerState = useCustomerState;
|
|
5937
5997
|
exports.useFormAction = useFormAction;
|