eservices-back-core 2.0.34 → 2.0.36

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.
Files changed (47) hide show
  1. package/dist/Server.d.ts +0 -2
  2. package/dist/Server.d.ts.map +1 -1
  3. package/dist/Server.js.map +1 -1
  4. package/dist/auth/use-auth.d.ts +1 -2
  5. package/dist/auth/use-auth.d.ts.map +1 -1
  6. package/dist/middleware/auth-middleware.d.ts +1 -1
  7. package/dist/model/Filter.d.ts +135 -0
  8. package/dist/model/Filter.d.ts.map +1 -0
  9. package/dist/model/Filter.js +236 -0
  10. package/dist/model/Filter.js.map +1 -0
  11. package/dist/model/filter-config.d.ts +69 -0
  12. package/dist/model/filter-config.d.ts.map +1 -0
  13. package/dist/model/filter-config.js +146 -0
  14. package/dist/model/filter-config.js.map +1 -0
  15. package/dist/services/list-setting-service.d.ts +5 -3
  16. package/dist/services/list-setting-service.d.ts.map +1 -1
  17. package/dist/services/list-setting-service.js +111 -101
  18. package/dist/services/list-setting-service.js.map +1 -1
  19. package/dist/socket/events/entity_read.d.ts +8 -0
  20. package/dist/socket/events/entity_read.d.ts.map +1 -1
  21. package/dist/socket/events/entity_read.js +20 -0
  22. package/dist/socket/events/entity_read.js.map +1 -1
  23. package/dist/store/custom-filters-store.d.ts +7 -0
  24. package/dist/store/custom-filters-store.d.ts.map +1 -0
  25. package/dist/store/custom-filters-store.js +29 -0
  26. package/dist/store/custom-filters-store.js.map +1 -0
  27. package/dist/store/filters-store.d.ts +7 -0
  28. package/dist/store/filters-store.d.ts.map +1 -0
  29. package/dist/store/filters-store.js +28 -0
  30. package/dist/store/filters-store.js.map +1 -0
  31. package/dist/templates/error.html +4 -3
  32. package/dist/utils/Filter.d.ts +1 -0
  33. package/dist/utils/Filter.d.ts.map +1 -1
  34. package/dist/utils/Filter.js +1 -0
  35. package/dist/utils/Filter.js.map +1 -1
  36. package/dist/utils/get-extend-customer-filters.d.ts +1 -0
  37. package/dist/utils/get-extend-customer-filters.d.ts.map +1 -1
  38. package/dist/utils/get-extend-customer-filters.js +2 -1
  39. package/dist/utils/get-extend-customer-filters.js.map +1 -1
  40. package/dist/utils/get-required-attribute-values.d.ts +11 -0
  41. package/dist/utils/get-required-attribute-values.d.ts.map +1 -0
  42. package/dist/utils/get-required-attribute-values.js +46 -0
  43. package/dist/utils/get-required-attribute-values.js.map +1 -0
  44. package/dist/utils/use-config.d.ts.map +1 -1
  45. package/dist/utils/use-config.js +42 -17
  46. package/dist/utils/use-config.js.map +1 -1
  47. package/package.json +3 -2
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const use_logger_1 = require("../logger/use-logger");
4
+ function wrapString(str) {
5
+ return typeof str === 'string' ? `'${str}'` : `${str}`;
6
+ }
7
+ /**
8
+ * @description Класс предназначенный для работы с фильтрами. Предоставляет одиночные static методы
9
+ * при помощи, которых можно самостоятельно создать фильтр или полноценный механизм задачи фильтра
10
+ * через объект(Более краткий и удобный) через new.
11
+ *
12
+ * @example
13
+ * const filter = new Filter([
14
+ * ["eq", ["Name", "Jack"] ],
15
+ * ["eq", ["Age", "@age"] ]
16
+ * ]);
17
+ * const data = { age: 25 }
18
+ * const strFilter = filter.generate(data);
19
+ *
20
+ * @example
21
+ * const filter = new Filter([
22
+ * "or",
23
+ * [
24
+ * ["in", ["Status", ["A", "D"] ] ],
25
+ * ["in", ["Type", "$userType" ] ]
26
+ * ]
27
+ * ])
28
+ * const data = {
29
+ * userType: ["User", "Person"]
30
+ * }
31
+ * const strFilter = filter.generate(data)
32
+ */
33
+ class Filter {
34
+ get valid() {
35
+ return !!this.compileFn;
36
+ }
37
+ addRequiredArgument(name) {
38
+ this.requiredArguments.push(name);
39
+ }
40
+ constructor(value) {
41
+ this.compileFn = null;
42
+ /**
43
+ * @description Массив обзятальных полей, еоторый заправшиваются в конфигурации фильтра.
44
+ */
45
+ this.requiredArguments = [];
46
+ try {
47
+ this.compileFn = this.compileItem(value);
48
+ }
49
+ catch (e) {
50
+ use_logger_1.Logger.error(e);
51
+ }
52
+ }
53
+ generate(data = {}) {
54
+ return this.compileFn(data);
55
+ }
56
+ compileItem(item) {
57
+ if (Array.isArray(item)) {
58
+ return (Filter.AVAILABLE_OPERATION.includes(item[0]))
59
+ ? this.compileExpressionByType(item[0], item[1])
60
+ : this.compileExpressionByType('and', item);
61
+ }
62
+ else if (typeof item === 'string') {
63
+ return () => item;
64
+ }
65
+ else if (this.isValidObjectExpression(item))
66
+ return this.compileExpressionByType(item.operation, item.arguments);
67
+ else {
68
+ throw new Error(`Unknown filter item ${JSON.stringify(item)}`);
69
+ }
70
+ }
71
+ compileExpressionByType(type, data) {
72
+ switch (type) {
73
+ case 'and':
74
+ case 'or': {
75
+ if (!Array.isArray(data))
76
+ throw new Error(`Filter Config: with "and" should be provided array data.`);
77
+ return this.compileArray(type, data);
78
+ }
79
+ case 'eq': return this.compileEqual(data[0], data[1]);
80
+ case 'in': return this.compileInclude(data[0], data[1]);
81
+ default: throw new Error(`filter-config: Unknown operation '${type}'`);
82
+ }
83
+ }
84
+ compileArray(type, data) {
85
+ const arrayCompileItems = data.map(item => this.compileItem(item));
86
+ return (compileValues) => '( ' + arrayCompileItems.map(fn => fn(compileValues)).join(` ${type} `) + ' )';
87
+ }
88
+ compileEqual(field, value) {
89
+ this.checkForRequiredValue(value);
90
+ return (compileValues) => Filter.eq(field, this.convertValue(value, compileValues));
91
+ }
92
+ compileInclude(field, value) {
93
+ this.checkForRequiredValue(value);
94
+ return (compileValues) => Filter.in(field, this.convertValue(value, compileValues));
95
+ }
96
+ isRequiredValue(value) {
97
+ if (typeof value !== 'string')
98
+ return false;
99
+ return value.startsWith('@');
100
+ }
101
+ isValidObjectExpression(data) {
102
+ if (!(typeof data === 'object' && data !== null))
103
+ return false;
104
+ return Filter.AVAILABLE_OPERATION.includes(data.operation);
105
+ }
106
+ checkForRequiredValue(value) {
107
+ if (!this.isRequiredValue(value))
108
+ return;
109
+ this.addRequiredArgument(value);
110
+ }
111
+ convertValue(value, compileValues) {
112
+ if (typeof value !== 'string')
113
+ return value;
114
+ return compileValues[value] || value;
115
+ }
116
+ /**
117
+ * @description Not Equal(!==).
118
+ * @param name
119
+ * @param values
120
+ */
121
+ static notEq(name, values) {
122
+ return `@${name} nq ${wrapString(values)}`;
123
+ }
124
+ /**
125
+ * @description Equal(===)
126
+ * @param name
127
+ * @param values
128
+ */
129
+ static eq(name, values) {
130
+ if (Array.isArray(values))
131
+ return Filter.in(name, values);
132
+ return `@${name} eq ${wrapString(values)}`;
133
+ }
134
+ /**
135
+ * @description Include.
136
+ * @param name
137
+ * @param values
138
+ */
139
+ static in(name, values) {
140
+ const parsedValues = values.map(wrapString).join(', ');
141
+ return `@${name} in (${parsedValues})`;
142
+ }
143
+ }
144
+ Filter.AVAILABLE_OPERATION = ['and', 'or', 'eq', 'nq', 'in'];
145
+ exports.default = Filter;
146
+ //# sourceMappingURL=filter-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-config.js","sourceRoot":"","sources":["../../src/model/filter-config.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export default class ListSettingService {
9
9
  * @description Метод для получения расширенной информации о полей. Возвращает дополнительные настройки для ячейки по
10
10
  * имени сущности полю в ней.
11
11
  */
12
- getCellReferenceInformation(entity: string, fieldName?: string): Promise<{
12
+ getCellReferenceInformation(entity: string, fieldName?: string): {
13
13
  type: "Entity" | "Integer" | "Guid" | "String" | "Decimal" | "DateTime" | "List" | "Boolean";
14
14
  unit: string;
15
15
  presentation: string;
@@ -33,13 +33,13 @@ export default class ListSettingService {
33
33
  type?: undefined;
34
34
  unit?: undefined;
35
35
  presentation?: undefined;
36
- }>;
36
+ };
37
37
  private fixListSettingsConfig;
38
38
  /**
39
39
  * @description На вход функция получает неопознанный объект. Далее проводит проверки по типу и т.д. Неважно в каком
40
40
  * состоянии по итогу будет объект, он всё-равно будет заново преобразован.
41
41
  */
42
- modifyConfigCell(entity: string, cell: unknown): Promise<IBaseListSettingsConfigCell>;
42
+ modifyConfigCell(entity: string, cell: unknown): IBaseListSettingsConfigCell;
43
43
  /**
44
44
  * @description Метод возвращает надстройку для переданного поля. В случае, если данное поле не является ссылкой
45
45
  * на другое поле, то возвращаются значения из метаданных. В ином случае, необходимо произвести поиск связанных полей,
@@ -55,6 +55,8 @@ export default class ListSettingService {
55
55
  * @description Проверяет наличие сущности(поле entity) внутри настройки списка.
56
56
  */
57
57
  private checkEntityInsideSettings;
58
+ private checkFiltersInsideSettings;
59
+ private parseListFilters;
58
60
  }
59
61
  export interface IBaseListSettingsConfigCell {
60
62
  name?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"list-setting-service.d.ts","sourceRoot":"","sources":["../../src/services/list-setting-service.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAEtC;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAAE,OAAO;IAS3C;;;OAGG;IACG,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;IAsDpE,OAAO,CAAC,qBAAqB;IAqB7B;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IA0DpD;;;;;;OAMG;IAEH;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAIjC;AAED,MAAM,WAAW,2BAA2B;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB"}
1
+ {"version":3,"file":"list-setting-service.d.ts","sourceRoot":"","sources":["../../src/services/list-setting-service.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAEtC;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAAE,OAAO;IAc3C;;;OAGG;IACH,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;IAsD9D,OAAO,CAAC,qBAAqB;IAiB7B;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAoD9C;;;;;;OAMG;IAEH;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAI9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,gBAAgB;CAaxB;AAED,MAAM,WAAW,2BAA2B;IAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB"}
@@ -16,7 +16,6 @@ const list_settings_error_1 = __importDefault(require("../errors/list-settings-e
16
16
  const debug_1 = __importDefault(require("debug"));
17
17
  const utils_1 = require("../utils");
18
18
  const metadata_service_1 = __importDefault(require("./metadata-service"));
19
- const reduce_all_settled_result_1 = __importDefault(require("../utils/reduce-all-settled-result"));
20
19
  const entity_error_1 = __importDefault(require("../errors/entity-error"));
21
20
  const value_list_format_1 = require("../utils/value-list-format");
22
21
  const constants_1 = require("../constants");
@@ -36,7 +35,10 @@ class ListSettingService {
36
35
  if (!this.checkEntityInsideSettings(listSettings))
37
36
  throw list_settings_error_1.default.IncorrectEntity(listSettings);
38
37
  // Checking the Column Configuration Array
39
- listSettings.config = yield this.fixListSettingsConfig(listSettings);
38
+ listSettings.config = this.fixListSettingsConfig(listSettings);
39
+ if (this.checkFiltersInsideSettings(listSettings))
40
+ // @ts-ignore
41
+ listSettings.filters = this.parseListFilters(listSettings.entity, listSettings.filters);
40
42
  return listSettings;
41
43
  });
42
44
  }
@@ -46,52 +48,50 @@ class ListSettingService {
46
48
  */
47
49
  getCellReferenceInformation(entity, fieldName) {
48
50
  var _a, _b;
49
- return __awaiter(this, void 0, void 0, function* () {
50
- // Если у нас есть название поля, то получаем именно для него настройки, в противном случае только для сущности.
51
- if (fieldName) {
52
- const fieldMetadata = metadata_service_1.default.getFieldInformation(entity, fieldName);
53
- if (!fieldMetadata)
54
- throw list_settings_error_1.default.FieldForEntityNotFound(entity, fieldName);
55
- if (!fieldMetadata.referencedEntity)
56
- return {
57
- type: fieldMetadata.dataType,
58
- unit: fieldMetadata.valueUnit,
59
- presentation: fieldMetadata.presentationType === "Undefined" ? undefined : fieldMetadata.presentationType
60
- };
61
- /**
62
- * @description Если у нас данное поле ссылается на сущность, то мы переопределяем нужную нам сущностью.
63
- */
64
- entity = fieldMetadata.referencedEntity;
65
- }
66
- const config = (_b = (_a = Server_1.default.instance.configuration) === null || _a === void 0 ? void 0 : _a.referenceEntity) === null || _b === void 0 ? void 0 : _b.find(a => a.entity.includes(entity));
67
- // Переопределено в хранилище.
68
- if (config) {
69
- const name = config.name.map(name => [fieldName, name].filter(a => !!a).join('.'));
70
- return Object.assign(Object.assign({}, config), { name, entity });
71
- }
72
- const metadata = metadata_store_1.default.get(entity);
73
- let useObjectTypeName = false;
74
- if (metadata_service_1.default.checkFieldInEntity(entity, constants_1.OBJECT_TYPE_NAME_FIELD))
75
- useObjectTypeName = true;
76
- if (!metadata.fieldNameForIdentification)
77
- throw entity_error_1.default.EntityWithoutPrimaryField(entity);
78
- // Устанавливаем поля, которые необходимы для данной колонки
79
- const names = [
80
- metadata.fieldNameForIdentification, metadata.fieldNameForLabel || metadata.fieldNameForIdentification
81
- ];
82
- // Если для данной сущности существует поле, которое указывает имя сущности.
83
- if (useObjectTypeName)
84
- names.push(constants_1.OBJECT_TYPE_NAME_FIELD);
85
- const parsedNames = names.map(name => [fieldName, name]
86
- .filter(a => !!a)
87
- .join('.'));
88
- return {
89
- link: true,
90
- entity,
91
- name: parsedNames,
92
- useObjectTypeName
93
- };
94
- });
51
+ // Если у нас есть название поля, то получаем именно для него настройки, в противном случае только для сущности.
52
+ if (fieldName) {
53
+ const fieldMetadata = metadata_service_1.default.getFieldInformation(entity, fieldName);
54
+ if (!fieldMetadata)
55
+ throw list_settings_error_1.default.FieldForEntityNotFound(entity, fieldName);
56
+ if (!fieldMetadata.referencedEntity)
57
+ return {
58
+ type: fieldMetadata.dataType,
59
+ unit: fieldMetadata.valueUnit,
60
+ presentation: fieldMetadata.presentationType === "Undefined" ? undefined : fieldMetadata.presentationType
61
+ };
62
+ /**
63
+ * @description Если у нас данное поле ссылается на сущность, то мы переопределяем нужную нам сущностью.
64
+ */
65
+ entity = fieldMetadata.referencedEntity;
66
+ }
67
+ const config = (_b = (_a = Server_1.default.instance.configuration) === null || _a === void 0 ? void 0 : _a.referenceEntity) === null || _b === void 0 ? void 0 : _b.find(a => a.entity.includes(entity));
68
+ // Переопределено в хранилище.
69
+ if (config) {
70
+ const name = config.name.map(name => [fieldName, name].filter(a => !!a).join('.'));
71
+ return Object.assign(Object.assign({}, config), { name, entity });
72
+ }
73
+ const metadata = metadata_store_1.default.get(entity);
74
+ let useObjectTypeName = false;
75
+ if (metadata_service_1.default.checkFieldInEntity(entity, constants_1.OBJECT_TYPE_NAME_FIELD))
76
+ useObjectTypeName = true;
77
+ if (!metadata.fieldNameForIdentification)
78
+ throw entity_error_1.default.EntityWithoutPrimaryField(entity);
79
+ // Устанавливаем поля, которые необходимы для данной колонки
80
+ const names = [
81
+ metadata.fieldNameForIdentification, metadata.fieldNameForLabel || metadata.fieldNameForIdentification
82
+ ];
83
+ // Если для данной сущности существует поле, которое указывает имя сущности.
84
+ if (useObjectTypeName)
85
+ names.push(constants_1.OBJECT_TYPE_NAME_FIELD);
86
+ const parsedNames = names.map(name => [fieldName, name]
87
+ .filter(a => !!a)
88
+ .join('.'));
89
+ return {
90
+ link: true,
91
+ entity,
92
+ name: parsedNames,
93
+ useObjectTypeName
94
+ };
95
95
  }
96
96
  fixListSettingsConfig(listSettings) {
97
97
  const entity = listSettings.entity;
@@ -99,19 +99,14 @@ class ListSettingService {
99
99
  if (!Array.isArray(config))
100
100
  throw list_settings_error_1.default.ConfigMustBeArray(config);
101
101
  debug('Start checking entity(%s) with config.length %d', listSettings.entity, config.length);
102
- return Promise.allSettled(config.map(cell => this.modifyConfigCell(entity, cell)))
103
- .then(res => res.reduce((acc, item) => {
104
- if (item.status === 'fulfilled' && item.value)
105
- acc.push(item.value);
106
- else {
107
- debug('Item without value %o', item);
102
+ return config.map(cell => {
103
+ try {
104
+ return this.modifyConfigCell(entity, cell);
108
105
  }
109
- return acc;
110
- }, []))
111
- .then(res => {
112
- debug('Finish checking entity(%s) with config.length %d', listSettings.entity, res.length);
113
- return res;
114
- });
106
+ catch (e) {
107
+ return null;
108
+ }
109
+ }).filter(item => !!item);
115
110
  }
116
111
  /**
117
112
  * @description На вход функция получает неопознанный объект. Далее проводит проверки по типу и т.д. Неважно в каком
@@ -119,50 +114,47 @@ class ListSettingService {
119
114
  */
120
115
  modifyConfigCell(entity, cell) {
121
116
  var _a;
122
- return __awaiter(this, void 0, void 0, function* () {
123
- if (!this.checkTypeForConfigCell(cell)) {
124
- debug('Inside listSettings found cell with wrong type. %o', cell);
125
- return null;
126
- }
127
- // Removing old title from cell
128
- if (cell.title) {
129
- cell.label = cell.title;
130
- delete cell.title;
117
+ if (!this.checkTypeForConfigCell(cell)) {
118
+ debug('Inside listSettings found cell with wrong type. %o', cell);
119
+ return null;
120
+ }
121
+ // Removing old title from cell
122
+ if (cell.title) {
123
+ cell.label = cell.title;
124
+ delete cell.title;
125
+ }
126
+ // Для значения указан формат
127
+ if (typeof cell.value === 'string') {
128
+ cell.name = (0, value_list_format_1.getCellNamesFromListFormatter)(cell.value);
129
+ }
130
+ /**
131
+ * @description Если поле name указано - происходит проверка по типу.
132
+ * Если это массив - проверка всех полей на наличие в сущности.
133
+ * Если это строка - полноценная проверка поля и добавление нужных метаданных.
134
+ * Иначе удаляем cell.name
135
+ */
136
+ if (cell.name) {
137
+ if (Array.isArray(cell.name)) {
138
+ cell.name = cell.name.filter(name => metadata_service_1.default.checkFieldInEntity(entity, name));
131
139
  }
132
- // Для значения указан формат
133
- if (typeof cell.value === 'string') {
134
- cell.name = (0, value_list_format_1.getCellNamesFromListFormatter)(cell.value);
140
+ else if (typeof cell.name === 'string') {
141
+ Object.assign(cell, this.getCellReferenceInformation(entity, cell.name));
135
142
  }
136
- /**
137
- * @description Если поле name указано - происходит проверка по типу.
138
- * Если это массив - проверка всех полей на наличие в сущности.
139
- * Если это строка - полноценная проверка поля и добавление нужных метаданных.
140
- * Иначе удаляем cell.name
141
- */
142
- if (cell.name) {
143
- if (Array.isArray(cell.name)) {
144
- cell.name = yield Promise.allSettled(cell.name.map(name => metadata_service_1.default.checkFieldInEntity(entity, name) && name)).then(reduce_all_settled_result_1.default)
145
- .then(item => item.filter(a => !!a));
146
- }
147
- else if (typeof cell.name === 'string') {
148
- Object.assign(cell, yield this.getCellReferenceInformation(entity, cell.name));
149
- }
150
- else {
151
- debug('Type of name is incorrect: %o', cell.name);
152
- delete cell.name;
153
- }
154
- }
155
- if (cell.self) {
156
- debug(`Self was detected for list-settings with entity %s`, entity);
157
- Object.assign(cell, yield this.getCellReferenceInformation(entity));
158
- delete cell.self;
159
- }
160
- // Установка заголовка в ячейку.
161
- if (cell.label === undefined && cell.name) {
162
- cell.label = (_a = (metadata_service_1.default.getFieldInformation(entity, cell.name))) === null || _a === void 0 ? void 0 : _a.displayName;
143
+ else {
144
+ debug('Type of name is incorrect: %o', cell.name);
145
+ delete cell.name;
163
146
  }
164
- return cell;
165
- });
147
+ }
148
+ if (cell.self) {
149
+ debug(`Self was detected for list-settings with entity %s`, entity);
150
+ Object.assign(cell, this.getCellReferenceInformation(entity));
151
+ delete cell.self;
152
+ }
153
+ // Установка заголовка в ячейку.
154
+ if (cell.label === undefined && cell.name) {
155
+ cell.label = (_a = (metadata_service_1.default.getFieldInformation(entity, cell.name))) === null || _a === void 0 ? void 0 : _a.displayName;
156
+ }
157
+ return cell;
166
158
  }
167
159
  /**
168
160
  * @description Метод возвращает надстройку для переданного поля. В случае, если данное поле не является ссылкой
@@ -183,6 +175,24 @@ class ListSettingService {
183
175
  checkEntityInsideSettings(settings) {
184
176
  return !!settings && "entity" in settings && typeof settings.entity === 'string';
185
177
  }
178
+ checkFiltersInsideSettings(settings) {
179
+ return !!settings && "filters" in settings && Array.isArray(settings.filters);
180
+ }
181
+ parseListFilters(entity, filters) {
182
+ try {
183
+ return filters.map(item => {
184
+ try {
185
+ return this.modifyConfigCell(entity, item);
186
+ }
187
+ catch (e) {
188
+ return null;
189
+ }
190
+ }).filter(item => !!item);
191
+ }
192
+ catch (e) {
193
+ return [];
194
+ }
195
+ }
186
196
  }
187
197
  exports.default = ListSettingService;
188
198
  //# sourceMappingURL=list-setting-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-setting-service.js","sourceRoot":"","sources":["../../src/services/list-setting-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-setting-service.js","sourceRoot":"","sources":["../../src/services/list-setting-service.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,13 @@ export interface IEntityReadParams {
12
12
  * к GrandObject. Подробнее тут https://form.jenesius.com/guide/utils.html#grandobject
13
13
  */
14
14
  useGrand?: boolean;
15
+ /**
16
+ * @issue 3692
17
+ * @description Пользовательские фильтры, которые нужно добавить в запрос
18
+ */
19
+ customFilters?: (string | {
20
+ name: 'string';
21
+ arguments: Record<string, any>;
22
+ })[];
15
23
  }
16
24
  //# sourceMappingURL=entity_read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity_read.d.ts","sourceRoot":"","sources":["../../../src/socket/events/entity_read.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAItD,wBAAsB,UAAU,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,eA4B5E;AASD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CAEnB"}
1
+ {"version":3,"file":"entity_read.d.ts","sourceRoot":"","sources":["../../../src/socket/events/entity_read.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAOtD,wBAAsB,UAAU,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,eAoD5E;AASD,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAC,CAAC,EAAE,CAAA;CAC7E"}
@@ -21,6 +21,9 @@ const debug_1 = __importDefault(require("debug"));
21
21
  const utils_1 = require("../../utils");
22
22
  const jenesius_vue_form_1 = require("jenesius-vue-form");
23
23
  const parse_order_1 = __importDefault(require("../../utils/parse-order"));
24
+ const custom_filters_store_1 = __importDefault(require("../../store/custom-filters-store"));
25
+ const use_logger_1 = require("../../logger/use-logger");
26
+ const get_required_attribute_values_1 = __importDefault(require("../../utils/get-required-attribute-values"));
24
27
  const debug = (0, debug_1.default)((0, utils_1.getCoreDebugMark)("socket:entity-read"));
25
28
  function readEntity(options, data) {
26
29
  return __awaiter(this, void 0, void 0, function* () {
@@ -40,6 +43,23 @@ function readEntity(options, data) {
40
43
  let filter = data.filter || "";
41
44
  if (Server_1.default.instance.type === 'front' && data.useContextFilter !== false)
42
45
  filter = yield (0, get_extend_customer_filters_1.joinExtendCustomerFilters)(filter, options.contextId, data.entity);
46
+ if (data.customFilters && Array.isArray(data.customFilters)) {
47
+ debug('Custom filters(%s): %o', data.entity, data.customFilters);
48
+ const generatedCustomFilters = yield Promise.all(data.customFilters.map((customFilterInfo) => __awaiter(this, void 0, void 0, function* () {
49
+ const customFilterName = typeof customFilterInfo === 'string' ? customFilterInfo : customFilterInfo.name;
50
+ const customerFilterAttributes = typeof customFilterInfo === 'string' ? {} : (customFilterInfo.arguments || {});
51
+ const filterConfig = custom_filters_store_1.default.get(customFilterName);
52
+ if (!filterConfig) {
53
+ use_logger_1.Logger.error('Filter %s not found.', customFilterName);
54
+ return null;
55
+ }
56
+ const insideValue = yield (0, get_required_attribute_values_1.default)(filterConfig, options, customerFilterAttributes);
57
+ debug(insideValue);
58
+ return filterConfig.generate(insideValue);
59
+ })));
60
+ debug('Result Custom filters: %s', generatedCustomFilters);
61
+ filter = (0, get_extend_customer_filters_1.joinFilters)(filter, ...generatedCustomFilters.filter(item => !!item));
62
+ }
43
63
  debug(`For entity "%s" result filter %s`, data.entity, filter);
44
64
  return dataService.getList(data.entity, Object.assign(Object.assign({}, data), { filter, order: (0, parse_order_1.default)(data.order) })).then(res => {
45
65
  if (data.useGrand)
@@ -1 +1 @@
1
- {"version":3,"file":"entity_read.js","sourceRoot":"","sources":["../../../src/socket/events/entity_read.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uEAA8C;AAC9C,+EAAsD;AACtD,0DAAkC;AAClC,yFAAkF;AAClF,kDAA+B;AAC/B,uCAA6C;AAC7C,yDAAwC;AACxC,0EAAiD;AAGjD,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,IAAA,wBAAgB,EAAC,oBAAoB,CAAC,CAAC,CAAA;AAEjE,SAAsB,UAAU,CAAC,OAA6B,EAAE,IAAa;;QAC5E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,MAAM,mBAAQ,CAAC,2BAA2B,EAAE,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,MAAM,mBAAQ,CAAC,WAAW,EAAE,CAAC;YAE9D,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,yBAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YACzD,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/B,IAAI,gBAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK;YACtE,MAAM,GAAG,MAAM,IAAA,uDAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElF,KAAK,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,kCAClC,IAAI,KACP,MAAM,EACN,KAAK,EAAE,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACb,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,yBAAK,CAAC,WAAW,CAAC,CAAA;YACpD,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,CAAA;IACH,CAAC;CAAA;AA5BD,gCA4BC;AAID,MAAM,kBAAkB,GAAG,CAAC,KAAc,EACd,EAAE,CAC7B,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;IACpC,QAAQ,IAAI,KAAK,IAAI,OAAQ,KAA2B,CAAC,MAAM,KAAK,QAAQ,CAAA"}
1
+ {"version":3,"file":"entity_read.js","sourceRoot":"","sources":["../../../src/socket/events/entity_read.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uEAA8C;AAC9C,+EAAsD;AACtD,0DAAkC;AAClC,yFAA+F;AAC/F,kDAA+B;AAC/B,uCAA6C;AAC7C,yDAAwC;AACxC,0EAAiD;AAEjD,4FAAkE;AAClE,wDAA+C;AAC/C,8GAAmF;AAEnF,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,IAAA,wBAAgB,EAAC,oBAAoB,CAAC,CAAC,CAAA;AAEjE,SAAsB,UAAU,CAAC,OAA6B,EAAE,IAAa;;QAC5E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAAE,MAAM,mBAAQ,CAAC,2BAA2B,EAAE,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;gBAAE,MAAM,mBAAQ,CAAC,WAAW,EAAE,CAAC;YAE9D,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,yBAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YACzD,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/B,IAAI,gBAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK;YACtE,MAAM,GAAG,MAAM,IAAA,uDAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElF,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YAChE,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/C,IAAI,CAAC,aAAa,CAAC,GAAG,CACrB,CAAO,gBAAgB,EAAE,EAAE;gBAC1B,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzG,MAAM,wBAAwB,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAEhH,MAAM,YAAY,GAAG,8BAAkB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnB,mBAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAA;oBACtD,OAAO,IAAI,CAAC;gBACb,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,IAAA,uCAA0B,EAAC,YAAY,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC;gBACtG,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnB,OAAO,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC,CAAA,CACD,CACD,CAAA;YACD,KAAK,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAA;YAC1D,MAAM,GAAG,IAAA,yCAAW,EAAC,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,KAAK,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/D,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,kCAClC,IAAI,KACP,MAAM,EACN,KAAK,EAAE,IAAA,qBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,IAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACb,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,yBAAK,CAAC,WAAW,CAAC,CAAA;YACpD,OAAO,GAAG,CAAC;QACZ,CAAC,CAAC,CAAA;IACH,CAAC;CAAA;AApDD,gCAoDC;AAID,MAAM,kBAAkB,GAAG,CAAC,KAAc,EACd,EAAE,CAC7B,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;IACpC,QAAQ,IAAI,KAAK,IAAI,OAAQ,KAA2B,CAAC,MAAM,KAAK,QAAQ,CAAA"}
@@ -0,0 +1,7 @@
1
+ import Filter from "../model/Filter";
2
+ declare const _default: {
3
+ get: (name: string) => Filter;
4
+ init: (data: Record<string, any>) => void;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=custom-filters-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-filters-store.d.ts","sourceRoot":"","sources":["../../src/store/custom-filters-store.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;;gBAMd,MAAM;iBAGL,OAAO,MAAM,EAAE,GAAG,CAAC;;AAN3C,wBAoBI"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Filter_1 = __importDefault(require("../model/Filter"));
7
+ const use_logger_1 = require("../logger/use-logger");
8
+ exports.default = (function CustomFiltersStore() {
9
+ const state = {};
10
+ function get(name) {
11
+ return state[name];
12
+ }
13
+ function init(data) {
14
+ Object.keys(data)
15
+ .forEach(name => {
16
+ try {
17
+ state[name] = new Filter_1.default(data[name]);
18
+ }
19
+ catch (e) {
20
+ use_logger_1.Logger.error(e);
21
+ }
22
+ });
23
+ }
24
+ return {
25
+ get,
26
+ init
27
+ };
28
+ })();
29
+ //# sourceMappingURL=custom-filters-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-filters-store.js","sourceRoot":"","sources":["../../src/store/custom-filters-store.ts"],"names":[],"mappings":";;;;;AAAA,6DAAqC;AACrC,qDAA4C;AAE5C,kBAAe,CAAC,SAAS,kBAAkB;IACvC,MAAM,KAAK,GAA2B,EAAE,CAAA;IAExC,SAAS,GAAG,CAAC,IAAY;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,SAAS,IAAI,CAAC,IAAyB;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aAChB,OAAO,CAAC,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,mBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IACD,OAAO;QACH,GAAG;QACH,IAAI;KACP,CAAA;AACL,CAAC,CAAC,EAAE,CAAA"}
@@ -0,0 +1,7 @@
1
+ import FilterConfig from "../model/filter-config";
2
+ declare const _default: {
3
+ get: (name: string) => FilterConfig;
4
+ init: (data: Record<string, any>) => void;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=filters-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters-store.d.ts","sourceRoot":"","sources":["../../src/store/filters-store.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;;gBAK3B,MAAM;iBAGL,OAAO,MAAM,EAAE,GAAG,CAAC;;AAN3C,wBAoBI"}