@infomaximum/widget-sdk 7.0.0-3 → 7.0.0-31
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/CHANGELOG.md +437 -69
- package/README.md +1 -1
- package/dist/index.d.ts +27389 -9399
- package/dist/index.esm.js +2937 -1662
- package/dist/index.js +3137 -1774
- package/package.json +10 -6
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Localization } from '@infomaximum/localization';
|
|
2
1
|
export { ELanguages } from '@infomaximum/localization';
|
|
3
2
|
export { EFilteringMethodValues } from '@infomaximum/base-filter';
|
|
3
|
+
import { EFormatTypes, EFormattingPresets } from '@infomaximum/bi-formatting';
|
|
4
|
+
export { EFormatTypes, EFormattingPresets, availableFormattingByFormat } from '@infomaximum/bi-formatting';
|
|
4
5
|
|
|
5
6
|
/** Массив версий в строгом порядке, по которому последовательно выполняется миграция */
|
|
6
7
|
var apiVersions = [
|
|
@@ -29,6 +30,8 @@ var apiVersions = [
|
|
|
29
30
|
"16.1", // Для версии системы 250703
|
|
30
31
|
"16.2", // Для версии системы 250709
|
|
31
32
|
"17", // 2508
|
|
33
|
+
"18", // 2601
|
|
34
|
+
"19", // 2602
|
|
32
35
|
];
|
|
33
36
|
/**
|
|
34
37
|
* Актуальная версия settings, с которой работает система.
|
|
@@ -36,414 +39,6 @@ var apiVersions = [
|
|
|
36
39
|
*/
|
|
37
40
|
var apiVersion = apiVersions.at(-1);
|
|
38
41
|
|
|
39
|
-
var EWidgetActionInputMethod;
|
|
40
|
-
(function (EWidgetActionInputMethod) {
|
|
41
|
-
EWidgetActionInputMethod["COLUMN"] = "COLUMN";
|
|
42
|
-
EWidgetActionInputMethod["VARIABLE"] = "VARIABLE";
|
|
43
|
-
EWidgetActionInputMethod["STATIC_LIST"] = "STATIC_LIST";
|
|
44
|
-
EWidgetActionInputMethod["DYNAMIC_LIST"] = "DYNAMIC_LIST";
|
|
45
|
-
EWidgetActionInputMethod["FORMULA"] = "FORMULA";
|
|
46
|
-
EWidgetActionInputMethod["MANUALLY"] = "MANUALLY";
|
|
47
|
-
EWidgetActionInputMethod["EVENT"] = "EVENT";
|
|
48
|
-
EWidgetActionInputMethod["START_EVENT"] = "START_EVENT";
|
|
49
|
-
EWidgetActionInputMethod["FINISH_EVENT"] = "FINISH_EVENT";
|
|
50
|
-
EWidgetActionInputMethod["AGGREGATION"] = "AGGREGATION";
|
|
51
|
-
EWidgetActionInputMethod["DATA_MODEL"] = "DATA_MODEL";
|
|
52
|
-
})(EWidgetActionInputMethod || (EWidgetActionInputMethod = {}));
|
|
53
|
-
var EActionTypes;
|
|
54
|
-
(function (EActionTypes) {
|
|
55
|
-
EActionTypes["OPEN_URL"] = "OPEN_URL";
|
|
56
|
-
EActionTypes["UPDATE_VARIABLE"] = "UPDATE_VARIABLE";
|
|
57
|
-
EActionTypes["EXECUTE_SCRIPT"] = "EXECUTE_SCRIPT";
|
|
58
|
-
EActionTypes["OPEN_VIEW"] = "OPEN_VIEW";
|
|
59
|
-
EActionTypes["DRILL_DOWN"] = "DRILL_DOWN";
|
|
60
|
-
})(EActionTypes || (EActionTypes = {}));
|
|
61
|
-
var EViewMode;
|
|
62
|
-
(function (EViewMode) {
|
|
63
|
-
EViewMode["EXISTED_VIEW"] = "EXISTED_VIEW";
|
|
64
|
-
EViewMode["GENERATED_BY_SCRIPT"] = "GENERATED_BY_SCRIPT";
|
|
65
|
-
EViewMode["EMPTY"] = "EMPTY";
|
|
66
|
-
})(EViewMode || (EViewMode = {}));
|
|
67
|
-
var EViewOpenIn;
|
|
68
|
-
(function (EViewOpenIn) {
|
|
69
|
-
EViewOpenIn["WINDOW"] = "WINDOW";
|
|
70
|
-
EViewOpenIn["PLACEHOLDER"] = "PLACEHOLDER";
|
|
71
|
-
EViewOpenIn["MODAL_WINDOW"] = "MODAL_WINDOW";
|
|
72
|
-
EViewOpenIn["DRAWER_WINDOW"] = "DRAWER_WINDOW";
|
|
73
|
-
})(EViewOpenIn || (EViewOpenIn = {}));
|
|
74
|
-
var EDrawerPlacement;
|
|
75
|
-
(function (EDrawerPlacement) {
|
|
76
|
-
EDrawerPlacement["LEFT"] = "LEFT";
|
|
77
|
-
EDrawerPlacement["RIGHT"] = "RIGHT";
|
|
78
|
-
})(EDrawerPlacement || (EDrawerPlacement = {}));
|
|
79
|
-
var EAutoUpdateMode;
|
|
80
|
-
(function (EAutoUpdateMode) {
|
|
81
|
-
EAutoUpdateMode["NONE"] = "NONE";
|
|
82
|
-
EAutoUpdateMode["THIS_WIDGET"] = "THIS_WIDGET";
|
|
83
|
-
EAutoUpdateMode["ALL_VIEWS"] = "ALL_VIEWS";
|
|
84
|
-
})(EAutoUpdateMode || (EAutoUpdateMode = {}));
|
|
85
|
-
var EDataModelOption;
|
|
86
|
-
(function (EDataModelOption) {
|
|
87
|
-
EDataModelOption["TABLE_LIST"] = "TABLE_LIST";
|
|
88
|
-
EDataModelOption["COLUMN_LIST"] = "COLUMN_LIST";
|
|
89
|
-
})(EDataModelOption || (EDataModelOption = {}));
|
|
90
|
-
var EActivateConditionMode;
|
|
91
|
-
(function (EActivateConditionMode) {
|
|
92
|
-
EActivateConditionMode["FORMULA"] = "FORMULA";
|
|
93
|
-
EActivateConditionMode["VARIABLE"] = "VARIABLE";
|
|
94
|
-
})(EActivateConditionMode || (EActivateConditionMode = {}));
|
|
95
|
-
var EActionButtonsTypes;
|
|
96
|
-
(function (EActionButtonsTypes) {
|
|
97
|
-
EActionButtonsTypes["LINK"] = "link";
|
|
98
|
-
EActionButtonsTypes["BASE"] = "primary";
|
|
99
|
-
EActionButtonsTypes["SECONDARY"] = "primary-outlined";
|
|
100
|
-
})(EActionButtonsTypes || (EActionButtonsTypes = {}));
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Глобальный счетчик для генерации ID.
|
|
104
|
-
*
|
|
105
|
-
* @todo
|
|
106
|
-
* В будущем можно заменить единый счетчик на изолированные счетчики в разных контекстах.
|
|
107
|
-
*/
|
|
108
|
-
var id = 1;
|
|
109
|
-
var AutoIdentifiedArrayItemSchema = function (z) {
|
|
110
|
-
return z.object({
|
|
111
|
-
/**
|
|
112
|
-
* Идентификатор, добавляемый системой "на лету" для удобства разработки, не сохраняется на сервер.
|
|
113
|
-
* Гарантируется уникальность id в пределах settings виджета.
|
|
114
|
-
*/
|
|
115
|
-
id: z
|
|
116
|
-
.number()
|
|
117
|
-
.default(-1)
|
|
118
|
-
.transform(function (currentId) { return (currentId === -1 ? id++ : currentId); }),
|
|
119
|
-
});
|
|
120
|
-
};
|
|
121
|
-
var BaseWidgetSettingsSchema = function (z) {
|
|
122
|
-
return z.object({
|
|
123
|
-
title: z.string().default(""),
|
|
124
|
-
titleSize: themed(z.number().default(14), function (theme) { return theme.widgets.titleSize; }),
|
|
125
|
-
titleColor: themed(ColorSchema(z), function (theme) { return theme.widgets.titleColor; }),
|
|
126
|
-
titleWeight: themed(z.enum(EFontWeight).default(EFontWeight.NORMAL), function (theme) { return theme.widgets.titleWeight; }),
|
|
127
|
-
stateName: z.string().nullable().default(null),
|
|
128
|
-
showMarkdown: z.boolean().default(false),
|
|
129
|
-
markdownMeasures: z.array(MarkdownMeasureSchema(z)).default([]),
|
|
130
|
-
markdownText: z.string().default(""),
|
|
131
|
-
markdownTextSize: z.number().default(14),
|
|
132
|
-
filters: z.array(SettingsFilterSchema(z)).default([]),
|
|
133
|
-
filterMode: z.enum(EWidgetFilterMode).default(EWidgetFilterMode.DEFAULT),
|
|
134
|
-
ignoreFilters: z.boolean().default(false),
|
|
135
|
-
sorting: z.array(WidgetSortingIndicatorSchema(z)).default([]),
|
|
136
|
-
actionButtons: z.array(ActionButtonSchema(z)).default([]),
|
|
137
|
-
paddings: themed(z.union([z.number(), z.string()]).default(8), function (theme) { return theme.widgets.paddings; }),
|
|
138
|
-
viewTheme: z.boolean().default(false),
|
|
139
|
-
});
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
var ESimpleDataType;
|
|
143
|
-
(function (ESimpleDataType) {
|
|
144
|
-
ESimpleDataType["OTHER"] = "OTHER";
|
|
145
|
-
ESimpleDataType["DATE"] = "DATE";
|
|
146
|
-
ESimpleDataType["FLOAT"] = "FLOAT";
|
|
147
|
-
ESimpleDataType["DATETIME"] = "DATETIME";
|
|
148
|
-
ESimpleDataType["STRING"] = "STRING";
|
|
149
|
-
ESimpleDataType["INTEGER"] = "INTEGER";
|
|
150
|
-
ESimpleDataType["DATETIME64"] = "DATETIME64";
|
|
151
|
-
ESimpleDataType["BOOLEAN"] = "BOOLEAN";
|
|
152
|
-
})(ESimpleDataType || (ESimpleDataType = {}));
|
|
153
|
-
|
|
154
|
-
var EFormatTypes;
|
|
155
|
-
(function (EFormatTypes) {
|
|
156
|
-
/** Дата */
|
|
157
|
-
EFormatTypes["DATE"] = "DATE";
|
|
158
|
-
/** Число */
|
|
159
|
-
EFormatTypes["NUMBER"] = "NUMBER";
|
|
160
|
-
/** Месяц */
|
|
161
|
-
EFormatTypes["MONTH"] = "MONTH";
|
|
162
|
-
/** Дата и время */
|
|
163
|
-
EFormatTypes["DATETIME"] = "DATETIME";
|
|
164
|
-
/** Строка */
|
|
165
|
-
EFormatTypes["STRING"] = "STRING";
|
|
166
|
-
/** День недели */
|
|
167
|
-
EFormatTypes["DAY_OF_WEEK"] = "DAY_OF_WEEK";
|
|
168
|
-
/** Длительность */
|
|
169
|
-
EFormatTypes["DURATION"] = "DURATION";
|
|
170
|
-
/** Час */
|
|
171
|
-
EFormatTypes["HOUR"] = "HOUR";
|
|
172
|
-
/** Месяц и год */
|
|
173
|
-
EFormatTypes["MONTH_YEAR"] = "MONTH_YEAR";
|
|
174
|
-
/** Год */
|
|
175
|
-
EFormatTypes["YEAR"] = "YEAR";
|
|
176
|
-
/** Квартал */
|
|
177
|
-
EFormatTypes["QUARTER"] = "QUARTER";
|
|
178
|
-
/** Квартал и год */
|
|
179
|
-
EFormatTypes["QUARTER_YEAR"] = "QUARTER_YEAR";
|
|
180
|
-
/** День месяца */
|
|
181
|
-
EFormatTypes["DAY_OF_MONTH"] = "DAY_OF_MONTH";
|
|
182
|
-
/** Неделя */
|
|
183
|
-
EFormatTypes["WEEK"] = "WEEK";
|
|
184
|
-
/** Логический */
|
|
185
|
-
EFormatTypes["BOOLEAN"] = "BOOLEAN";
|
|
186
|
-
EFormatTypes["PERCENT"] = "PERCENT";
|
|
187
|
-
})(EFormatTypes || (EFormatTypes = {}));
|
|
188
|
-
var EFormattingPresets;
|
|
189
|
-
(function (EFormattingPresets) {
|
|
190
|
-
//Общая группа шаблонов
|
|
191
|
-
EFormattingPresets["AUTO"] = "AUTO";
|
|
192
|
-
EFormattingPresets["CUSTOM"] = "CUSTOM";
|
|
193
|
-
//Группа шаблонов для формата DATE
|
|
194
|
-
EFormattingPresets["DD/M/YYYY"] = "DD/M/YYYY";
|
|
195
|
-
EFormattingPresets["DD-MM-YYYY"] = "DD-MM-YYYY";
|
|
196
|
-
EFormattingPresets["DD-MM-YY"] = "DD-MM-YY";
|
|
197
|
-
EFormattingPresets["YYYY-MM-DD"] = "YYYY-MM-DD";
|
|
198
|
-
EFormattingPresets["YY-MM-DD"] = "YY-MM-DD";
|
|
199
|
-
EFormattingPresets["DD MM YYYY"] = "DD MM YYYY";
|
|
200
|
-
EFormattingPresets["DD MMM YYYY"] = "DD MMM YYYY";
|
|
201
|
-
EFormattingPresets["DD MMM YY"] = "DD MMM YY";
|
|
202
|
-
EFormattingPresets["MM.DD.YYYY"] = "MM.DD.YYYY";
|
|
203
|
-
EFormattingPresets["MM.DD.YY"] = "MM.DD.YY";
|
|
204
|
-
EFormattingPresets["DD MMMM YYYY"] = "DD MMMM YYYY";
|
|
205
|
-
EFormattingPresets["DD MMMM YY"] = "DD MMMM YY";
|
|
206
|
-
EFormattingPresets["DD/MM/YYYY"] = "DD/MM/YYYY";
|
|
207
|
-
EFormattingPresets["DD/MM/YY"] = "DD/MM/YY";
|
|
208
|
-
EFormattingPresets["MM/DD/YYYY"] = "MM/DD/YYYY";
|
|
209
|
-
EFormattingPresets["MM/DD/YY"] = "MM/DD/YY";
|
|
210
|
-
EFormattingPresets["MMMM DD, YYYY"] = "MMMM DD, YYYY";
|
|
211
|
-
EFormattingPresets["MMMM DD, YY"] = "MMMM DD, YY";
|
|
212
|
-
EFormattingPresets["DD.MM.YYYY"] = "DD.MM.YYYY";
|
|
213
|
-
EFormattingPresets["DD.MM.YY"] = "DD.MM.YY";
|
|
214
|
-
EFormattingPresets["MM-DD-YY"] = "MM-DD-YY";
|
|
215
|
-
EFormattingPresets["MM-DD-YYYY"] = "MM-DD-YYYY";
|
|
216
|
-
//Группа шаблонов для формата DATETIME
|
|
217
|
-
EFormattingPresets["DD/M/YYYY HH:mm"] = "DD/M/YYYY HH:mm";
|
|
218
|
-
EFormattingPresets["DD/MM/YYYY, HH:mm"] = "DD/MM/YYYY, HH:mm";
|
|
219
|
-
EFormattingPresets["DD/MM/YY, HH:mm"] = "DD/MM/YY, HH:mm";
|
|
220
|
-
EFormattingPresets["MM/DD/YY, hh:mm a"] = "MM/DD/YY, hh:mm a";
|
|
221
|
-
EFormattingPresets["MM/DD/YYYY, hh:mm a"] = "MM/DD/YYYY, hh:mm a";
|
|
222
|
-
EFormattingPresets["YYYY-MM-DD HH:mm"] = "YYYY-MM-DD HH:mm";
|
|
223
|
-
EFormattingPresets["YY-MM-DD, HH:mm"] = "YY-MM-DD, HH:mm";
|
|
224
|
-
EFormattingPresets["YYYY-MM-DD, HH:mm"] = "YYYY-MM-DD, HH:mm";
|
|
225
|
-
EFormattingPresets["YYYY-MM-DD HH:mm:ss"] = "YYYY-MM-DD HH:mm:ss";
|
|
226
|
-
EFormattingPresets["DD MM YYYY HH:mm"] = "DD MM YYYY HH:mm";
|
|
227
|
-
EFormattingPresets["DD MMMM YYYY, HH:mm"] = "DD MMMM YYYY, HH:mm";
|
|
228
|
-
EFormattingPresets["DD.MM.YY, HH:mm"] = "DD.MM.YY, HH:mm";
|
|
229
|
-
EFormattingPresets["DD.MM.YYYY, HH:mm"] = "DD.MM.YYYY, HH:mm";
|
|
230
|
-
EFormattingPresets["MM-DD-YY, hh:mm a"] = "MM-DD-YY, hh:mm a";
|
|
231
|
-
EFormattingPresets["MM-DD-YYYY, hh:mm a"] = "MM-DD-YYYY, hh:mm a";
|
|
232
|
-
EFormattingPresets["MM.DD.YY, hh:mm a"] = "MM.DD.YY, hh:mm a";
|
|
233
|
-
EFormattingPresets["MM.DD.YYYY, hh:mm a"] = "MM.DD.YYYY, hh:mm a";
|
|
234
|
-
EFormattingPresets["MM.DD.YYYY hh:mm a"] = "MM.DD.YYYY hh:mm a";
|
|
235
|
-
EFormattingPresets["DD MMM YY, HH:mm"] = "DD MMM YY, HH:mm";
|
|
236
|
-
EFormattingPresets["DD MMM YYYY, HH:mm"] = "DD MMM YYYY, HH:mm";
|
|
237
|
-
EFormattingPresets["MMMM DD, YY, HH:mm"] = "MMMM DD, YY, HH:mm";
|
|
238
|
-
EFormattingPresets["MMMM DD, YYYY, HH:mm"] = "MMMM DD, YYYY, HH:mm";
|
|
239
|
-
EFormattingPresets["DD MMMM YY, HH:mm"] = "DD MMMM YY, HH:mm";
|
|
240
|
-
EFormattingPresets["DD.MM.YYYY, HH:mm:ss"] = "DD.MM.YYYY, HH:mm:ss";
|
|
241
|
-
EFormattingPresets["DD.MM.YYYY HH:mm:ss"] = "DD.MM.YYYY HH:mm:ss";
|
|
242
|
-
EFormattingPresets["DD/MM/YYYY HH:mm:ss"] = "DD/MM/YYYY HH:mm:ss";
|
|
243
|
-
//Группа шаблонов для формата DAY_OF_WEEK
|
|
244
|
-
EFormattingPresets["DD"] = "DD";
|
|
245
|
-
EFormattingPresets["D"] = "D";
|
|
246
|
-
EFormattingPresets["DDDD"] = "DDDD";
|
|
247
|
-
//Группа шаблонов для формата MONTH
|
|
248
|
-
EFormattingPresets["MMM"] = "MMM";
|
|
249
|
-
EFormattingPresets["MM"] = "MM";
|
|
250
|
-
EFormattingPresets["MMMM"] = "MMMM";
|
|
251
|
-
//Группа шаблонов для формата NUMBER
|
|
252
|
-
EFormattingPresets["k"] = "k";
|
|
253
|
-
EFormattingPresets["x"] = "x";
|
|
254
|
-
EFormattingPresets["#,##x"] = "#,##x";
|
|
255
|
-
EFormattingPresets["#,##x.x"] = "#,##x.x";
|
|
256
|
-
EFormattingPresets["#,##x.xx"] = "#,##x.xx";
|
|
257
|
-
EFormattingPresets["x[%]"] = "x[%]";
|
|
258
|
-
EFormattingPresets["x.x[%]"] = "x.x[%]";
|
|
259
|
-
EFormattingPresets["[$]x"] = "[$]x";
|
|
260
|
-
EFormattingPresets["zx.xx[%]"] = "zx.xx[%]";
|
|
261
|
-
//Группа шаблонов для преобразования DURATION
|
|
262
|
-
EFormattingPresets["hh:mm:ss"] = "hh:mm:ss";
|
|
263
|
-
EFormattingPresets["dd:hh:mm:ss"] = "dd:hh:mm:ss";
|
|
264
|
-
EFormattingPresets["d"] = "d";
|
|
265
|
-
EFormattingPresets["h"] = "h";
|
|
266
|
-
EFormattingPresets["dk"] = "dk";
|
|
267
|
-
EFormattingPresets["hk"] = "hk";
|
|
268
|
-
EFormattingPresets["dd"] = "dd";
|
|
269
|
-
//Группа шаблонов для преобразования Час
|
|
270
|
-
EFormattingPresets["HH"] = "HH";
|
|
271
|
-
EFormattingPresets["hh a"] = "hh a";
|
|
272
|
-
//Группа шаблонов для преобразования Month_Year
|
|
273
|
-
EFormattingPresets["MMM, YYYY"] = "MMM, YYYY";
|
|
274
|
-
EFormattingPresets["MMM, YY"] = "MMM, YY";
|
|
275
|
-
EFormattingPresets["MM.YYYY"] = "MM.YYYY";
|
|
276
|
-
EFormattingPresets["MM.YY"] = "MM.YY";
|
|
277
|
-
EFormattingPresets["MMMM YYYY"] = "MMMM YYYY";
|
|
278
|
-
EFormattingPresets["MMMM YY"] = "MMMM YY";
|
|
279
|
-
//Группа шаблонов для преобразования Quarter
|
|
280
|
-
EFormattingPresets["[Q]q"] = "[Q]q";
|
|
281
|
-
EFormattingPresets["R"] = "R";
|
|
282
|
-
//Группа шаблонов для преобразования Quarter_Year
|
|
283
|
-
EFormattingPresets["[Q]q[-]YYYY"] = "[Q]q[-]YYYY";
|
|
284
|
-
EFormattingPresets["[Q]q[-]YY"] = "[Q]q[-]YY";
|
|
285
|
-
EFormattingPresets["R[-]YYYY"] = "R[-]YYYY";
|
|
286
|
-
EFormattingPresets["R[-]YY"] = "R[-]YY";
|
|
287
|
-
})(EFormattingPresets || (EFormattingPresets = {}));
|
|
288
|
-
var formattingConfig = {
|
|
289
|
-
get availableFormatsBySimpleType() {
|
|
290
|
-
var _a;
|
|
291
|
-
return _a = {},
|
|
292
|
-
_a[ESimpleDataType.OTHER] = [EFormatTypes.STRING],
|
|
293
|
-
_a[ESimpleDataType.STRING] = [EFormatTypes.STRING],
|
|
294
|
-
_a[ESimpleDataType.FLOAT] = [EFormatTypes.NUMBER, EFormatTypes.DURATION, EFormatTypes.PERCENT],
|
|
295
|
-
_a[ESimpleDataType.INTEGER] = [
|
|
296
|
-
EFormatTypes.NUMBER,
|
|
297
|
-
EFormatTypes.DURATION,
|
|
298
|
-
EFormatTypes.QUARTER_YEAR,
|
|
299
|
-
EFormatTypes.MONTH_YEAR,
|
|
300
|
-
EFormatTypes.MONTH,
|
|
301
|
-
EFormatTypes.DAY_OF_WEEK,
|
|
302
|
-
EFormatTypes.PERCENT,
|
|
303
|
-
],
|
|
304
|
-
_a[ESimpleDataType.DATE] = [EFormatTypes.DATE],
|
|
305
|
-
_a[ESimpleDataType.DATETIME] = [EFormatTypes.DATETIME],
|
|
306
|
-
_a[ESimpleDataType.DATETIME64] = [EFormatTypes.DATETIME],
|
|
307
|
-
_a[ESimpleDataType.BOOLEAN] = [EFormatTypes.BOOLEAN],
|
|
308
|
-
_a;
|
|
309
|
-
},
|
|
310
|
-
get availableFormattingByFormat() {
|
|
311
|
-
var _a;
|
|
312
|
-
return _a = {},
|
|
313
|
-
_a[EFormatTypes.DATE] = [
|
|
314
|
-
EFormattingPresets.AUTO,
|
|
315
|
-
EFormattingPresets["DD.MM.YY"],
|
|
316
|
-
EFormattingPresets["DD.MM.YYYY"],
|
|
317
|
-
EFormattingPresets["YY-MM-DD"],
|
|
318
|
-
EFormattingPresets["YYYY-MM-DD"],
|
|
319
|
-
EFormattingPresets["MM-DD-YY"],
|
|
320
|
-
EFormattingPresets["MM-DD-YYYY"],
|
|
321
|
-
EFormattingPresets["MM.DD.YY"],
|
|
322
|
-
EFormattingPresets["MM.DD.YYYY"],
|
|
323
|
-
EFormattingPresets["DD MMM YY"],
|
|
324
|
-
EFormattingPresets["DD MMM YYYY"],
|
|
325
|
-
EFormattingPresets["DD MMMM YY"],
|
|
326
|
-
EFormattingPresets["DD MMMM YYYY"],
|
|
327
|
-
EFormattingPresets["DD/MM/YY"],
|
|
328
|
-
EFormattingPresets["DD/MM/YYYY"],
|
|
329
|
-
EFormattingPresets["MM/DD/YY"],
|
|
330
|
-
EFormattingPresets["MM/DD/YYYY"],
|
|
331
|
-
EFormattingPresets["MMMM DD, YY"],
|
|
332
|
-
EFormattingPresets["MMMM DD, YYYY"],
|
|
333
|
-
EFormattingPresets.CUSTOM,
|
|
334
|
-
],
|
|
335
|
-
_a[EFormatTypes.DATETIME] = [
|
|
336
|
-
EFormattingPresets.AUTO,
|
|
337
|
-
EFormattingPresets["DD.MM.YY"],
|
|
338
|
-
EFormattingPresets["DD.MM.YY, HH:mm"],
|
|
339
|
-
EFormattingPresets["DD.MM.YYYY"],
|
|
340
|
-
EFormattingPresets["DD.MM.YYYY, HH:mm"],
|
|
341
|
-
EFormattingPresets["YY-MM-DD"],
|
|
342
|
-
EFormattingPresets["YYYY-MM-DD, HH:mm"],
|
|
343
|
-
EFormattingPresets["YYYY-MM-DD"],
|
|
344
|
-
EFormattingPresets["YYYY-MM-DD HH:mm"],
|
|
345
|
-
EFormattingPresets["MM-DD-YY"],
|
|
346
|
-
EFormattingPresets["MM-DD-YY, hh:mm a"],
|
|
347
|
-
EFormattingPresets["MM-DD-YYYY"],
|
|
348
|
-
EFormattingPresets["MM-DD-YYYY, hh:mm a"],
|
|
349
|
-
EFormattingPresets["MM.DD.YY"],
|
|
350
|
-
EFormattingPresets["MM.DD.YY, hh:mm a"],
|
|
351
|
-
EFormattingPresets["MM.DD.YYYY"],
|
|
352
|
-
EFormattingPresets["MM.DD.YYYY, hh:mm a"],
|
|
353
|
-
EFormattingPresets["DD MMM YY"],
|
|
354
|
-
EFormattingPresets["DD MMM YY, HH:mm"],
|
|
355
|
-
EFormattingPresets["DD MMM YYYY"],
|
|
356
|
-
EFormattingPresets["DD MMM YYYY, HH:mm"],
|
|
357
|
-
EFormattingPresets["DD MMMM YY"],
|
|
358
|
-
EFormattingPresets["DD MMMM YY, HH:mm"],
|
|
359
|
-
EFormattingPresets["DD MMMM YYYY"],
|
|
360
|
-
EFormattingPresets["DD MMMM YYYY, HH:mm"],
|
|
361
|
-
EFormattingPresets["DD/MM/YY"],
|
|
362
|
-
EFormattingPresets["DD/MM/YY, HH:mm"],
|
|
363
|
-
EFormattingPresets["DD/MM/YYYY"],
|
|
364
|
-
EFormattingPresets["DD/MM/YYYY, HH:mm"],
|
|
365
|
-
EFormattingPresets["MM/DD/YY"],
|
|
366
|
-
EFormattingPresets["MM/DD/YY, hh:mm a"],
|
|
367
|
-
EFormattingPresets["MM/DD/YYYY"],
|
|
368
|
-
EFormattingPresets["MM/DD/YYYY, hh:mm a"],
|
|
369
|
-
EFormattingPresets["MMMM DD, YY"],
|
|
370
|
-
EFormattingPresets["MMMM DD, YY, HH:mm"],
|
|
371
|
-
EFormattingPresets["MMMM DD, YYYY"],
|
|
372
|
-
EFormattingPresets["MMMM DD, YYYY, HH:mm"],
|
|
373
|
-
EFormattingPresets.CUSTOM,
|
|
374
|
-
],
|
|
375
|
-
_a[EFormatTypes.DAY_OF_WEEK] = [
|
|
376
|
-
EFormattingPresets.AUTO,
|
|
377
|
-
EFormattingPresets.DD,
|
|
378
|
-
EFormattingPresets.D,
|
|
379
|
-
EFormattingPresets.DDDD,
|
|
380
|
-
],
|
|
381
|
-
_a[EFormatTypes.MONTH] = [
|
|
382
|
-
EFormattingPresets.AUTO,
|
|
383
|
-
EFormattingPresets.MMM,
|
|
384
|
-
EFormattingPresets.MM,
|
|
385
|
-
EFormattingPresets.MMMM,
|
|
386
|
-
],
|
|
387
|
-
_a[EFormatTypes.NUMBER] = [
|
|
388
|
-
EFormattingPresets.AUTO,
|
|
389
|
-
EFormattingPresets["x"],
|
|
390
|
-
EFormattingPresets["#,##x"],
|
|
391
|
-
EFormattingPresets["#,##x.x"],
|
|
392
|
-
EFormattingPresets["#,##x.xx"],
|
|
393
|
-
EFormattingPresets["x[%]"],
|
|
394
|
-
EFormattingPresets["x.x[%]"],
|
|
395
|
-
EFormattingPresets["zx.xx[%]"],
|
|
396
|
-
EFormattingPresets["[$]x"],
|
|
397
|
-
EFormattingPresets.CUSTOM,
|
|
398
|
-
],
|
|
399
|
-
_a[EFormatTypes.DURATION] = [
|
|
400
|
-
EFormattingPresets.AUTO,
|
|
401
|
-
EFormattingPresets.d,
|
|
402
|
-
EFormattingPresets.h,
|
|
403
|
-
EFormattingPresets.CUSTOM,
|
|
404
|
-
],
|
|
405
|
-
_a[EFormatTypes.HOUR] = [
|
|
406
|
-
EFormattingPresets.AUTO,
|
|
407
|
-
EFormattingPresets.HH,
|
|
408
|
-
EFormattingPresets["hh a"],
|
|
409
|
-
],
|
|
410
|
-
_a[EFormatTypes.MONTH_YEAR] = [
|
|
411
|
-
EFormattingPresets.AUTO,
|
|
412
|
-
EFormattingPresets["MMM, YYYY"],
|
|
413
|
-
EFormattingPresets["MMM, YY"],
|
|
414
|
-
EFormattingPresets["MM.YYYY"],
|
|
415
|
-
EFormattingPresets["MM.YY"],
|
|
416
|
-
EFormattingPresets["MMMM YYYY"],
|
|
417
|
-
EFormattingPresets["MMMM YY"],
|
|
418
|
-
EFormattingPresets.CUSTOM,
|
|
419
|
-
],
|
|
420
|
-
_a[EFormatTypes.QUARTER] = [
|
|
421
|
-
EFormattingPresets.AUTO,
|
|
422
|
-
EFormattingPresets["[Q]q"],
|
|
423
|
-
EFormattingPresets.R,
|
|
424
|
-
],
|
|
425
|
-
_a[EFormatTypes.QUARTER_YEAR] = [
|
|
426
|
-
EFormattingPresets.AUTO,
|
|
427
|
-
EFormattingPresets["[Q]q[-]YYYY"],
|
|
428
|
-
EFormattingPresets["[Q]q[-]YY"],
|
|
429
|
-
EFormattingPresets["R[-]YYYY"],
|
|
430
|
-
EFormattingPresets["R[-]YY"],
|
|
431
|
-
EFormattingPresets.CUSTOM,
|
|
432
|
-
],
|
|
433
|
-
_a[EFormatTypes.STRING] = [],
|
|
434
|
-
_a[EFormatTypes.DAY_OF_MONTH] = [],
|
|
435
|
-
_a[EFormatTypes.WEEK] = [],
|
|
436
|
-
_a[EFormatTypes.YEAR] = [],
|
|
437
|
-
_a[EFormatTypes.BOOLEAN] = [],
|
|
438
|
-
_a[EFormatTypes.PERCENT] = [
|
|
439
|
-
EFormattingPresets.AUTO,
|
|
440
|
-
EFormattingPresets["x.x[%]"],
|
|
441
|
-
EFormattingPresets["zx.xx[%]"],
|
|
442
|
-
],
|
|
443
|
-
_a;
|
|
444
|
-
},
|
|
445
|
-
};
|
|
446
|
-
|
|
447
42
|
/******************************************************************************
|
|
448
43
|
Copyright (c) Microsoft Corporation.
|
|
449
44
|
|
|
@@ -460,6 +55,20 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
460
55
|
***************************************************************************** */
|
|
461
56
|
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
462
57
|
|
|
58
|
+
var extendStatics = function(d, b) {
|
|
59
|
+
extendStatics = Object.setPrototypeOf ||
|
|
60
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
61
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
62
|
+
return extendStatics(d, b);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
function __extends(d, b) {
|
|
66
|
+
if (typeof b !== "function" && b !== null)
|
|
67
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
68
|
+
extendStatics(d, b);
|
|
69
|
+
function __() { this.constructor = d; }
|
|
70
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
71
|
+
}
|
|
463
72
|
|
|
464
73
|
var __assign = function() {
|
|
465
74
|
__assign = Object.assign || function __assign(t) {
|
|
@@ -513,6 +122,16 @@ function __read(o, n) {
|
|
|
513
122
|
return ar;
|
|
514
123
|
}
|
|
515
124
|
|
|
125
|
+
function __spreadArray(to, from, pack) {
|
|
126
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
127
|
+
if (ar || !(i in from)) {
|
|
128
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
129
|
+
ar[i] = from[i];
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
133
|
+
}
|
|
134
|
+
|
|
516
135
|
function __makeTemplateObject(cooked, raw) {
|
|
517
136
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
518
137
|
return cooked;
|
|
@@ -522,842 +141,265 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
522
141
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
523
142
|
};
|
|
524
143
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
var
|
|
534
|
-
(
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
EOuterAggregation["min"] = "min";
|
|
540
|
-
EOuterAggregation["max"] = "max";
|
|
541
|
-
EOuterAggregation["sum"] = "sum";
|
|
542
|
-
EOuterAggregation["top"] = "top";
|
|
543
|
-
})(EOuterAggregation || (EOuterAggregation = {}));
|
|
544
|
-
/** Режимы значения показателя (на основе чего генерируется формула) */
|
|
545
|
-
var EWidgetIndicatorValueModes;
|
|
546
|
-
(function (EWidgetIndicatorValueModes) {
|
|
547
|
-
/** Готовая формула (как правило, введенная пользователем через редактор формул) */
|
|
548
|
-
EWidgetIndicatorValueModes["FORMULA"] = "FORMULA";
|
|
549
|
-
/** Шаблон формулы, предоставляемый системой */
|
|
550
|
-
EWidgetIndicatorValueModes["TEMPLATE"] = "TEMPLATE";
|
|
551
|
-
EWidgetIndicatorValueModes["AGGREGATION"] = "AGGREGATION";
|
|
552
|
-
EWidgetIndicatorValueModes["DURATION"] = "DURATION";
|
|
553
|
-
EWidgetIndicatorValueModes["CONVERSION"] = "CONVERSION";
|
|
554
|
-
EWidgetIndicatorValueModes["START_TIME"] = "START_TIME";
|
|
555
|
-
EWidgetIndicatorValueModes["END_TIME"] = "END_TIME";
|
|
556
|
-
})(EWidgetIndicatorValueModes || (EWidgetIndicatorValueModes = {}));
|
|
557
|
-
/** Режимы сортировки (на что ссылается сортировка) */
|
|
558
|
-
var ESortingValueModes;
|
|
559
|
-
(function (ESortingValueModes) {
|
|
560
|
-
/** Сортировка по формуле */
|
|
561
|
-
ESortingValueModes["FORMULA"] = "FORMULA";
|
|
562
|
-
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
563
|
-
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
564
|
-
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
565
|
-
var EFormatOrFormattingMode;
|
|
566
|
-
(function (EFormatOrFormattingMode) {
|
|
567
|
-
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
568
|
-
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
569
|
-
})(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
|
|
570
|
-
function inheritDisplayConditionFromHierarchy(dimension, hierarchy) {
|
|
571
|
-
return __assign(__assign({}, dimension), { displayCondition: hierarchy.displayCondition });
|
|
144
|
+
function compareVersions(a, b) {
|
|
145
|
+
var _a, _b;
|
|
146
|
+
var partsA = a.split(".").map(Number);
|
|
147
|
+
var partsB = b.split(".").map(Number);
|
|
148
|
+
var length = Math.max(partsA.length, partsB.length);
|
|
149
|
+
for (var i = 0; i < length; i++) {
|
|
150
|
+
var pa = (_a = partsA[i]) !== null && _a !== void 0 ? _a : 0;
|
|
151
|
+
var pb = (_b = partsB[i]) !== null && _b !== void 0 ? _b : 0;
|
|
152
|
+
var diff = Math.sign(pa - pb);
|
|
153
|
+
if (diff !== 0) {
|
|
154
|
+
return diff;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return 0;
|
|
572
158
|
}
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
(function (
|
|
576
|
-
|
|
577
|
-
EIndicatorType["PROCESS_MEASURE"] = "PROCESS_MEASURE";
|
|
578
|
-
/** Вводимое значение */
|
|
579
|
-
EIndicatorType["STATIC"] = "STATIC";
|
|
580
|
-
/** Статический список */
|
|
581
|
-
EIndicatorType["STATIC_LIST"] = "STATIC_LIST";
|
|
582
|
-
/** Динамический список */
|
|
583
|
-
EIndicatorType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
|
|
584
|
-
/** Список колонок */
|
|
585
|
-
EIndicatorType["COLUMN_LIST"] = "COLUMN_LIST";
|
|
586
|
-
/** Разрез */
|
|
587
|
-
EIndicatorType["DIMENSION"] = "DIMENSION";
|
|
588
|
-
/** Мера */
|
|
589
|
-
EIndicatorType["MEASURE"] = "MEASURE";
|
|
590
|
-
/** Иерархия */
|
|
591
|
-
EIndicatorType["DYNAMIC_DIMENSION"] = "DYNAMIC_DIMENSION";
|
|
592
|
-
/** Пользовательская сортировка */
|
|
593
|
-
EIndicatorType["USER_SORTING"] = "USER_SORTING";
|
|
594
|
-
})(EIndicatorType || (EIndicatorType = {}));
|
|
595
|
-
/** Обобщенные типы значений переменных */
|
|
596
|
-
var ESimpleInputType;
|
|
597
|
-
(function (ESimpleInputType) {
|
|
598
|
-
/** Число (точность Float64) */
|
|
599
|
-
ESimpleInputType["NUMBER"] = "FLOAT";
|
|
600
|
-
/** Целое число (точность Int64) */
|
|
601
|
-
ESimpleInputType["INTEGER_NUMBER"] = "INTEGER";
|
|
602
|
-
/** Текст */
|
|
603
|
-
ESimpleInputType["TEXT"] = "STRING";
|
|
604
|
-
/** Дата (точность Date) */
|
|
605
|
-
ESimpleInputType["DATE"] = "DATE";
|
|
606
|
-
/** Дата и время (точность DateTime64) */
|
|
607
|
-
ESimpleInputType["DATE_AND_TIME"] = "DATETIME";
|
|
608
|
-
/** Логический тип */
|
|
609
|
-
ESimpleInputType["BOOLEAN"] = "BOOLEAN";
|
|
610
|
-
})(ESimpleInputType || (ESimpleInputType = {}));
|
|
611
|
-
function isDimensionsHierarchy(indicator) {
|
|
612
|
-
return "hierarchyDimensions" in indicator;
|
|
159
|
+
function findClosestVersion(target, versions) {
|
|
160
|
+
return versions
|
|
161
|
+
.toSorted(function (a, b) { return compareVersions(b, a); })
|
|
162
|
+
.find(function (version) { return compareVersions(version, target) <= 0; });
|
|
613
163
|
}
|
|
614
|
-
var OuterAggregation;
|
|
615
|
-
(function (OuterAggregation) {
|
|
616
|
-
OuterAggregation["avg"] = "avgIf";
|
|
617
|
-
OuterAggregation["median"] = "medianIf";
|
|
618
|
-
OuterAggregation["count"] = "countIf";
|
|
619
|
-
OuterAggregation["countDistinct"] = "countIfDistinct";
|
|
620
|
-
OuterAggregation["min"] = "minIf";
|
|
621
|
-
OuterAggregation["max"] = "maxIf";
|
|
622
|
-
OuterAggregation["sum"] = "sumIf";
|
|
623
|
-
})(OuterAggregation || (OuterAggregation = {}));
|
|
624
|
-
var EDurationTemplateName;
|
|
625
|
-
(function (EDurationTemplateName) {
|
|
626
|
-
EDurationTemplateName["avg"] = "avg";
|
|
627
|
-
EDurationTemplateName["median"] = "median";
|
|
628
|
-
})(EDurationTemplateName || (EDurationTemplateName = {}));
|
|
629
|
-
var EEventAppearances;
|
|
630
|
-
(function (EEventAppearances) {
|
|
631
|
-
EEventAppearances["FIRST"] = "FIRST";
|
|
632
|
-
EEventAppearances["LAST"] = "LAST";
|
|
633
|
-
})(EEventAppearances || (EEventAppearances = {}));
|
|
634
|
-
|
|
635
|
-
// Типы, используемые в значениях элементов управления.
|
|
636
|
-
var EWidgetFilterMode;
|
|
637
|
-
(function (EWidgetFilterMode) {
|
|
638
|
-
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
639
|
-
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
640
|
-
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
641
|
-
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
642
|
-
var EMarkdownDisplayMode;
|
|
643
|
-
(function (EMarkdownDisplayMode) {
|
|
644
|
-
EMarkdownDisplayMode["NONE"] = "NONE";
|
|
645
|
-
EMarkdownDisplayMode["INDICATOR"] = "INDICATOR";
|
|
646
|
-
})(EMarkdownDisplayMode || (EMarkdownDisplayMode = {}));
|
|
647
|
-
var EDisplayConditionMode;
|
|
648
|
-
(function (EDisplayConditionMode) {
|
|
649
|
-
EDisplayConditionMode["DISABLED"] = "DISABLED";
|
|
650
|
-
EDisplayConditionMode["FORMULA"] = "FORMULA";
|
|
651
|
-
EDisplayConditionMode["VARIABLE"] = "VARIABLE";
|
|
652
|
-
})(EDisplayConditionMode || (EDisplayConditionMode = {}));
|
|
653
|
-
var EFontWeight;
|
|
654
|
-
(function (EFontWeight) {
|
|
655
|
-
EFontWeight["NORMAL"] = "NORMAL";
|
|
656
|
-
EFontWeight["BOLD"] = "BOLD";
|
|
657
|
-
})(EFontWeight || (EFontWeight = {}));
|
|
658
|
-
var EHeightMode;
|
|
659
|
-
(function (EHeightMode) {
|
|
660
|
-
EHeightMode["FIXED"] = "FIXED";
|
|
661
|
-
EHeightMode["PERCENT"] = "PERCENT";
|
|
662
|
-
})(EHeightMode || (EHeightMode = {}));
|
|
663
|
-
|
|
664
|
-
var SortDirectionSchema = function (z) {
|
|
665
|
-
return z.union([z.literal(ESortDirection.ascend), z.literal(ESortDirection.descend)]);
|
|
666
|
-
};
|
|
667
|
-
var SortOrderSchema = function (z) {
|
|
668
|
-
return z.object({
|
|
669
|
-
/** Формула сортировки */
|
|
670
|
-
formula: FormulaSchema(z),
|
|
671
|
-
/** Тип данных формулы */
|
|
672
|
-
dbDataType: z.string().optional(),
|
|
673
|
-
/** Направление сортировки */
|
|
674
|
-
direction: SortDirectionSchema(z),
|
|
675
|
-
/** Условие применения сортировки */
|
|
676
|
-
displayCondition: FormulaSchema(z).optional(),
|
|
677
|
-
});
|
|
678
|
-
};
|
|
679
|
-
var WidgetSortingValueSchema = function (z) {
|
|
680
|
-
return z.discriminatedUnion("mode", [
|
|
681
|
-
z.object({
|
|
682
|
-
mode: z.literal(ESortingValueModes.FORMULA),
|
|
683
|
-
formula: FormulaSchema(z),
|
|
684
|
-
dbDataType: z.string().optional(),
|
|
685
|
-
}),
|
|
686
|
-
z.object({
|
|
687
|
-
mode: z.literal(ESortingValueModes.IN_WIDGET),
|
|
688
|
-
group: z.string(),
|
|
689
|
-
index: z.number(),
|
|
690
|
-
}),
|
|
691
|
-
]);
|
|
692
|
-
};
|
|
693
|
-
|
|
694
|
-
/** Ключи мета-данных внутри схем настроек */
|
|
695
|
-
var ESettingsSchemaMetaKey;
|
|
696
|
-
(function (ESettingsSchemaMetaKey) {
|
|
697
|
-
/** Привязка значения из темы к настройке */
|
|
698
|
-
ESettingsSchemaMetaKey["themeValue"] = "themeValue";
|
|
699
|
-
/** Тип сущности */
|
|
700
|
-
ESettingsSchemaMetaKey["entity"] = "entity";
|
|
701
|
-
})(ESettingsSchemaMetaKey || (ESettingsSchemaMetaKey = {}));
|
|
702
|
-
|
|
703
|
-
var _a$6;
|
|
704
|
-
var RangeSchema = function (z) {
|
|
705
|
-
return z.object({
|
|
706
|
-
unit: z.string().optional(),
|
|
707
|
-
min: z.number().optional(),
|
|
708
|
-
max: z.number().optional(),
|
|
709
|
-
});
|
|
710
|
-
};
|
|
711
|
-
var DisplayConditionSchema = function (z) {
|
|
712
|
-
return z
|
|
713
|
-
.discriminatedUnion("mode", [
|
|
714
|
-
z.object({
|
|
715
|
-
mode: z.literal(EDisplayConditionMode.DISABLED),
|
|
716
|
-
}),
|
|
717
|
-
z.object({
|
|
718
|
-
mode: z.literal(EDisplayConditionMode.FORMULA),
|
|
719
|
-
formula: FormulaSchema(z),
|
|
720
|
-
}),
|
|
721
|
-
z.object({
|
|
722
|
-
mode: z.literal(EDisplayConditionMode.VARIABLE),
|
|
723
|
-
variableName: NameNullableSchema(z),
|
|
724
|
-
variableValue: z.string().nullable().default(null),
|
|
725
|
-
}),
|
|
726
|
-
])
|
|
727
|
-
.default({ mode: EDisplayConditionMode.DISABLED });
|
|
728
|
-
};
|
|
729
|
-
/** Схема ключа сущности (с возможностью находиться в неинициализированном состоянии) */
|
|
730
|
-
var KeyNullableSchema = function (z) { return z.string().nullable().default(null); };
|
|
731
|
-
/** Схема имени сущности (с возможностью находиться в неинициализированном состоянии) */
|
|
732
|
-
var NameNullableSchema = function (z) { return z.string().nullable().default(null); };
|
|
733
164
|
/**
|
|
734
|
-
*
|
|
735
|
-
*
|
|
165
|
+
* Версионированный enum.
|
|
166
|
+
*
|
|
167
|
+
* Единственный санкционированный способ доступа к историческим срезам — через
|
|
168
|
+
* `Symbol.for("@infomaximum/widget-sdk:VersionedEnum.forVersion")`.
|
|
169
|
+
* Никаких других `VersionedEnum`-классов в проекте с тем же ключом.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* export const EWidgetFilterMode = VersionedEnum.build({
|
|
174
|
+
* latestVersion: "19",
|
|
175
|
+
* history: {
|
|
176
|
+
* "17": { DEFAULT: "DEFAULT", SINGLE: "SINGLE", MULTI: "MULTI", DISABLED: "DISABLED" } as const,
|
|
177
|
+
* "19": { DEFAULT: "DEFAULT", SINGLE: "SINGLE", DISABLED: "DISABLED" } as const,
|
|
178
|
+
* },
|
|
179
|
+
* });
|
|
180
|
+
*
|
|
181
|
+
* // Использование latest-среза как обычного объекта:
|
|
182
|
+
* EWidgetFilterMode.DEFAULT // "DEFAULT"
|
|
183
|
+
* z.enum(EWidgetFilterMode) // схема на latest-ключах
|
|
184
|
+
*
|
|
185
|
+
* // Получение исторического среза:
|
|
186
|
+
* const v17 = EWidgetFilterMode[VersionedEnum.forVersion]("17");
|
|
187
|
+
* v17.MULTI // "MULTI"
|
|
188
|
+
* z.enum(v17) // схема на v17-ключах
|
|
189
|
+
* ```
|
|
736
190
|
*/
|
|
737
|
-
var
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
191
|
+
var VersionedEnum = /** @class */ (function () {
|
|
192
|
+
function VersionedEnum() {
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Построить версионированный enum.
|
|
196
|
+
*
|
|
197
|
+
* Поведение `[VersionedEnum.forVersion](target)`:
|
|
198
|
+
* - `target == null` → возвращает latest-срез.
|
|
199
|
+
* - `target` совпадает с ключом в `history` → точный срез.
|
|
200
|
+
* - Иначе → `findClosestVersion` (ближайшая версия ≤ target).
|
|
201
|
+
* - Если подходящей нет → `throw`.
|
|
202
|
+
*/
|
|
203
|
+
VersionedEnum.build = function (params) {
|
|
204
|
+
var e_1, _a;
|
|
205
|
+
var history = params.history;
|
|
206
|
+
var latestVersion = params.latestVersion;
|
|
207
|
+
var preparedMap = new Map();
|
|
208
|
+
try {
|
|
209
|
+
for (var _b = __values(Object.keys(history)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
210
|
+
var version = _c.value;
|
|
211
|
+
var slice = history[version];
|
|
212
|
+
if (slice !== undefined) {
|
|
213
|
+
preparedMap.set(version, Object.freeze(__assign({}, slice)));
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
218
|
+
finally {
|
|
219
|
+
try {
|
|
220
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
221
|
+
}
|
|
222
|
+
finally { if (e_1) throw e_1.error; }
|
|
223
|
+
}
|
|
224
|
+
var latestSlice = preparedMap.get(latestVersion);
|
|
225
|
+
if (latestSlice === undefined) {
|
|
226
|
+
throw new Error("VersionedEnum: latestVersion=\"".concat(latestVersion, "\" \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0432 history"));
|
|
227
|
+
}
|
|
228
|
+
var availableVersions = Array.from(preparedMap.keys());
|
|
229
|
+
var forVersionFn = function (target) {
|
|
230
|
+
if (target == null) {
|
|
231
|
+
return latestSlice;
|
|
232
|
+
}
|
|
233
|
+
var exact = preparedMap.get(target);
|
|
234
|
+
if (exact !== undefined) {
|
|
235
|
+
return exact;
|
|
236
|
+
}
|
|
237
|
+
var closest = findClosestVersion(target, availableVersions);
|
|
238
|
+
if (closest === undefined) {
|
|
239
|
+
throw new Error("VersionedEnum: no slice for version=".concat(target, ", available: ").concat(availableVersions.join(", "), ", and no earlier version available"));
|
|
240
|
+
}
|
|
241
|
+
return preparedMap.get(closest);
|
|
242
|
+
};
|
|
243
|
+
var result = Object.defineProperty(__assign({}, latestSlice), VersionedEnum.forVersion, {
|
|
244
|
+
value: forVersionFn,
|
|
245
|
+
enumerable: false,
|
|
246
|
+
configurable: false,
|
|
247
|
+
writable: false,
|
|
248
|
+
});
|
|
249
|
+
return Object.freeze(result);
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Symbol-ключ для доступа к историческим срезам.
|
|
253
|
+
*
|
|
254
|
+
* Зафиксирован как `Symbol.for("@infomaximum/widget-sdk:VersionedEnum.forVersion")` —
|
|
255
|
+
* глобальный реестр гарантирует стабильность при дублировании пакета.
|
|
256
|
+
* Никаких других `VersionedEnum`-классов в проекте с тем же ключом — запрет в ADR-0001.
|
|
257
|
+
*/
|
|
258
|
+
VersionedEnum.forVersion = Symbol.for("@infomaximum/widget-sdk:VersionedEnum.forVersion");
|
|
259
|
+
return VersionedEnum;
|
|
260
|
+
}());
|
|
744
261
|
/**
|
|
745
|
-
*
|
|
746
|
-
*
|
|
262
|
+
* Готовит аргумент для `z.enum(...)` из `VersionedEnum`, его исторического среза
|
|
263
|
+
* или плоского `Record<string, string>`.
|
|
747
264
|
*
|
|
748
|
-
*
|
|
265
|
+
* Решает структурную несовместимость `TVersionedEnum` (имеет non-enumerable
|
|
266
|
+
* Symbol-ключ `forVersion`) с `EnumLike`-типом zod: на уровне типов отбрасывает
|
|
267
|
+
* не-строковые ключи, на уровне runtime спред также не копирует non-enumerable
|
|
268
|
+
* Symbol. Литералы значений сохраняются.
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* z.enum(zodEnumLike(EFontWeight))
|
|
272
|
+
* z.enum(zodEnumLike(EFilterMode[VersionedEnum.forVersion]("17")))
|
|
749
273
|
*/
|
|
750
|
-
|
|
751
|
-
return
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
})
|
|
765
|
-
|
|
766
|
-
};
|
|
767
|
-
var FormattingSchema = function (z) {
|
|
768
|
-
return z
|
|
769
|
-
.discriminatedUnion("mode", [
|
|
770
|
-
z.object({
|
|
771
|
-
mode: z.literal(EFormatOrFormattingMode.BASE),
|
|
772
|
-
value: z.enum(EFormattingPresets).default(EFormattingPresets.AUTO),
|
|
773
|
-
}),
|
|
774
|
-
z.object({
|
|
775
|
-
mode: z.literal(EFormatOrFormattingMode.TEMPLATE),
|
|
776
|
-
value: z.string().default(""),
|
|
777
|
-
}),
|
|
778
|
-
])
|
|
779
|
-
.default({ mode: EFormatOrFormattingMode.BASE, value: EFormattingPresets.AUTO });
|
|
780
|
-
};
|
|
781
|
-
var WidgetColumnIndicatorSchema = function (z) {
|
|
782
|
-
return WidgetIndicatorSchema(z).extend({
|
|
783
|
-
dbDataType: z.string().optional(),
|
|
784
|
-
format: FormatSchema(z).optional(),
|
|
785
|
-
formatting: FormattingSchema(z).optional(),
|
|
786
|
-
displayCondition: DisplayConditionSchema(z),
|
|
787
|
-
onClick: z.array(ActionsOnClickSchema(z)).optional(),
|
|
788
|
-
});
|
|
789
|
-
};
|
|
790
|
-
var WidgetIndicatorFormulaValueSchema = function (z) {
|
|
791
|
-
return z.object({
|
|
792
|
-
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
793
|
-
formula: FormulaSchema(z).optional(),
|
|
794
|
-
});
|
|
795
|
-
};
|
|
796
|
-
var WidgetIndicatorTemplateValueSchema = function (z) {
|
|
797
|
-
return z.object({
|
|
798
|
-
mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
|
|
799
|
-
/** Имя шаблонной формулы, использующей колонку таблицы */
|
|
800
|
-
templateName: z.string().optional(),
|
|
801
|
-
/** Имя таблицы */
|
|
802
|
-
tableName: z.string().optional(),
|
|
803
|
-
/** Имя колонки */
|
|
804
|
-
columnName: z.string().optional(),
|
|
805
|
-
});
|
|
806
|
-
};
|
|
807
|
-
var ColumnIndicatorValueSchema = function (z) {
|
|
808
|
-
return z.union([MeasureValueSchema(z), DimensionValueSchema(z)]);
|
|
809
|
-
};
|
|
810
|
-
var MeasureValueSchema = function (z) {
|
|
811
|
-
return z.discriminatedUnion("mode", [
|
|
812
|
-
WidgetIndicatorFormulaValueSchema(z),
|
|
813
|
-
WidgetIndicatorTemplateValueSchema(z).extend({
|
|
814
|
-
innerTemplateName: z.enum(EMeasureInnerTemplateNames).optional(),
|
|
815
|
-
}),
|
|
816
|
-
]);
|
|
817
|
-
};
|
|
818
|
-
var DimensionValueSchema = function (z) {
|
|
819
|
-
return z.discriminatedUnion("mode", [
|
|
820
|
-
WidgetIndicatorFormulaValueSchema(z),
|
|
821
|
-
WidgetIndicatorTemplateValueSchema(z).extend({
|
|
822
|
-
innerTemplateName: z.never().optional(),
|
|
823
|
-
}),
|
|
824
|
-
]);
|
|
825
|
-
};
|
|
826
|
-
var WidgetIndicatorAggregationValueSchema = function (z) {
|
|
827
|
-
return z.object({
|
|
828
|
-
mode: z.literal(EWidgetIndicatorValueModes.AGGREGATION),
|
|
829
|
-
templateName: z.string(),
|
|
830
|
-
processKey: KeyNullableSchema(z),
|
|
831
|
-
eventName: NameNullableSchema(z),
|
|
832
|
-
eventNameFormula: FormulaNullableSchema(z),
|
|
833
|
-
anyEvent: z.literal(true).optional(),
|
|
834
|
-
caseCaseIdFormula: FormulaNullableSchema(z),
|
|
835
|
-
filters: z.array(ExtendedFormulaFilterValueSchema(z)).default([]),
|
|
836
|
-
tableName: z.string().optional(),
|
|
837
|
-
columnName: z.string().optional(),
|
|
838
|
-
eventTimeFormula: FormulaNullableSchema(z).optional(),
|
|
839
|
-
});
|
|
840
|
-
};
|
|
841
|
-
var WidgetMeasureAggregationValueSchema = function (z) {
|
|
842
|
-
return WidgetIndicatorAggregationValueSchema(z).extend({ outerAggregation: z.enum(EOuterAggregation) });
|
|
843
|
-
};
|
|
844
|
-
var WidgetIndicatorTimeValueSchema = function (z) {
|
|
845
|
-
return z.object({
|
|
846
|
-
templateName: z.string(),
|
|
847
|
-
mode: z.union([
|
|
848
|
-
z.literal(EWidgetIndicatorValueModes.START_TIME),
|
|
849
|
-
z.literal(EWidgetIndicatorValueModes.END_TIME),
|
|
850
|
-
]),
|
|
851
|
-
processKey: KeyNullableSchema(z),
|
|
852
|
-
eventName: NameNullableSchema(z),
|
|
853
|
-
eventTimeFormula: FormulaNullableSchema(z),
|
|
854
|
-
caseCaseIdFormula: FormulaNullableSchema(z),
|
|
855
|
-
eventNameFormula: FormulaNullableSchema(z),
|
|
856
|
-
filters: z.array(ExtendedFormulaFilterValueSchema(z)).default([]),
|
|
857
|
-
});
|
|
858
|
-
};
|
|
859
|
-
var WidgetDimensionSchema = function (z) {
|
|
860
|
-
return WidgetColumnIndicatorSchema(z).extend({
|
|
861
|
-
value: z
|
|
862
|
-
.discriminatedUnion("mode", [
|
|
863
|
-
DimensionValueSchema(z),
|
|
864
|
-
WidgetIndicatorAggregationValueSchema(z).extend({
|
|
865
|
-
innerTemplateName: z.string().optional(),
|
|
866
|
-
}),
|
|
867
|
-
WidgetIndicatorTimeValueSchema(z),
|
|
868
|
-
])
|
|
869
|
-
.optional(),
|
|
870
|
-
hideEmptyValues: z.boolean().default(false),
|
|
871
|
-
});
|
|
872
|
-
};
|
|
873
|
-
var WidgetDimensionInHierarchySchema = function (z) {
|
|
874
|
-
return WidgetDimensionSchema(z).omit({ displayCondition: true });
|
|
875
|
-
};
|
|
876
|
-
var WidgetDimensionHierarchySchema = function (z, dimensionSchema) {
|
|
877
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
878
|
-
name: z.string(),
|
|
879
|
-
// Для иерархии является дискриминатором, для него нельзя задавать дефолтное значение.
|
|
880
|
-
hierarchyDimensions: z.array(dimensionSchema),
|
|
881
|
-
displayCondition: DisplayConditionSchema(z),
|
|
882
|
-
});
|
|
883
|
-
};
|
|
884
|
-
var WidgetIndicatorConversionValueSchema = function (z) {
|
|
885
|
-
return z.object({
|
|
886
|
-
mode: z.literal(EWidgetIndicatorValueModes.CONVERSION),
|
|
887
|
-
startEventNameFormula: FormulaNullableSchema(z),
|
|
888
|
-
startEventProcessKey: KeyNullableSchema(z),
|
|
889
|
-
startEventName: NameNullableSchema(z),
|
|
890
|
-
startEventFilters: z.array(ExtendedFormulaFilterValueSchema(z)).default([]),
|
|
891
|
-
startEventTimeFormula: FormulaNullableSchema(z),
|
|
892
|
-
endEventNameFormula: FormulaNullableSchema(z),
|
|
893
|
-
endEventProcessKey: KeyNullableSchema(z),
|
|
894
|
-
endEventName: NameNullableSchema(z),
|
|
895
|
-
endEventFilters: z.array(ExtendedFormulaFilterValueSchema(z)).default([]),
|
|
896
|
-
endCaseCaseIdFormula: FormulaNullableSchema(z),
|
|
897
|
-
endEventTimeFormula: FormulaNullableSchema(z),
|
|
898
|
-
});
|
|
899
|
-
};
|
|
900
|
-
var WidgetIndicatorDurationValueSchema = function (z) {
|
|
901
|
-
return WidgetIndicatorConversionValueSchema(z).extend({
|
|
902
|
-
mode: z.literal(EWidgetIndicatorValueModes.DURATION),
|
|
903
|
-
templateName: z.string(),
|
|
904
|
-
startEventAppearances: z.enum(EEventAppearances),
|
|
905
|
-
endEventAppearances: z.enum(EEventAppearances),
|
|
906
|
-
});
|
|
907
|
-
};
|
|
908
|
-
var WidgetMeasureSchema = function (z) {
|
|
909
|
-
return WidgetColumnIndicatorSchema(z).extend({
|
|
910
|
-
value: z
|
|
911
|
-
.discriminatedUnion("mode", [
|
|
912
|
-
MeasureValueSchema(z),
|
|
913
|
-
WidgetMeasureAggregationValueSchema(z),
|
|
914
|
-
WidgetIndicatorConversionValueSchema(z),
|
|
915
|
-
WidgetIndicatorDurationValueSchema(z),
|
|
916
|
-
])
|
|
917
|
-
.optional(),
|
|
918
|
-
});
|
|
919
|
-
};
|
|
920
|
-
var MarkdownMeasureSchema = function (z) {
|
|
921
|
-
return WidgetMeasureSchema(z).extend({
|
|
922
|
-
displaySign: z.enum(EMarkdownDisplayMode).default(EMarkdownDisplayMode.NONE),
|
|
923
|
-
});
|
|
924
|
-
};
|
|
925
|
-
var WidgetSortingIndicatorSchema = function (z) {
|
|
926
|
-
return WidgetIndicatorSchema(z).extend({
|
|
927
|
-
direction: SortDirectionSchema(z),
|
|
928
|
-
value: WidgetSortingValueSchema(z),
|
|
929
|
-
});
|
|
930
|
-
};
|
|
931
|
-
var ProcessIndicatorValueSchema = function (z) {
|
|
932
|
-
return z.discriminatedUnion("mode", [
|
|
933
|
-
z.object({
|
|
934
|
-
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
935
|
-
formula: FormulaSchema(z),
|
|
936
|
-
}),
|
|
937
|
-
z.object({
|
|
938
|
-
mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
|
|
939
|
-
/** Имя шаблонной формулы, использующей колонку таблицы */
|
|
940
|
-
templateName: z.string(),
|
|
941
|
-
}),
|
|
942
|
-
]);
|
|
943
|
-
};
|
|
944
|
-
var ProcessIndicatorSchema = function (z) {
|
|
945
|
-
return WidgetIndicatorSchema(z).extend({
|
|
946
|
-
value: ProcessIndicatorValueSchema(z).optional(),
|
|
947
|
-
dbDataType: z.string().optional(),
|
|
948
|
-
format: FormatSchema(z).optional(),
|
|
949
|
-
formatting: FormattingSchema(z).optional(),
|
|
950
|
-
displayCondition: DisplayConditionSchema(z),
|
|
951
|
-
});
|
|
952
|
-
};
|
|
953
|
-
|
|
954
|
-
var FormulaFilterValueSchema = function (z) {
|
|
955
|
-
var _a;
|
|
956
|
-
return z.object({
|
|
957
|
-
name: z.string().nullish(),
|
|
958
|
-
formula: z.string(),
|
|
959
|
-
sliceIndex: z.number().optional(),
|
|
960
|
-
dbDataType: z.string(),
|
|
961
|
-
format: z.enum(EFormatTypes),
|
|
962
|
-
filteringMethod: z.enum(Object.values(formulaFilterMethods)),
|
|
963
|
-
checkedValues: z.array(z.string().nullable()).optional(),
|
|
964
|
-
formValues: z
|
|
965
|
-
.object((_a = {},
|
|
966
|
-
_a[EFormulaFilterFieldKeys.date] = z.string().nullable(),
|
|
967
|
-
_a[EFormulaFilterFieldKeys.dateRange] = z.tuple([z.string(), z.string()]),
|
|
968
|
-
_a[EFormulaFilterFieldKeys.numberRange] = z.tuple([
|
|
969
|
-
z.number().optional(),
|
|
970
|
-
z.number().optional(),
|
|
971
|
-
]),
|
|
972
|
-
_a[EFormulaFilterFieldKeys.string] = z.string(),
|
|
973
|
-
// todo: отказаться от использования z.string(), оставить только z.number() [BI-15912]
|
|
974
|
-
_a[EFormulaFilterFieldKeys.lastTimeValue] = z.number().or(z.string()),
|
|
975
|
-
_a[EFormulaFilterFieldKeys.lastTimeUnit] = z.enum(ELastTimeUnit),
|
|
976
|
-
_a[EFormulaFilterFieldKeys.durationUnit] = z.enum(EDurationUnit),
|
|
977
|
-
_a))
|
|
978
|
-
.partial()
|
|
979
|
-
.optional(),
|
|
980
|
-
});
|
|
981
|
-
};
|
|
982
|
-
var ExtendedFormulaFilterValueSchema = function (z) {
|
|
983
|
-
return z.union([FormulaFilterValueSchema(z), z.object({ formula: z.string() })]);
|
|
984
|
-
};
|
|
985
|
-
var DimensionProcessFilterSchema = function (z) {
|
|
986
|
-
return z.object({
|
|
987
|
-
value: z.union([
|
|
988
|
-
WidgetIndicatorAggregationValueSchema(z).extend({
|
|
989
|
-
outerAggregation: z.enum(EOuterAggregation),
|
|
990
|
-
}),
|
|
991
|
-
WidgetIndicatorAggregationValueSchema(z).extend({
|
|
992
|
-
innerTemplateName: z.string().optional(),
|
|
993
|
-
}),
|
|
994
|
-
WidgetIndicatorTimeValueSchema(z),
|
|
995
|
-
z.object({
|
|
996
|
-
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
997
|
-
formula: z.string().optional(),
|
|
998
|
-
}),
|
|
999
|
-
]),
|
|
1000
|
-
dbDataType: z.string(),
|
|
1001
|
-
condition: z.object({
|
|
1002
|
-
filteringMethod: z.enum(Object.values(formulaFilterMethods)),
|
|
1003
|
-
timeUnit: z.enum(EDimensionProcessFilterTimeUnit).optional(),
|
|
1004
|
-
values: z.array(z.string().nullable()),
|
|
1005
|
-
}),
|
|
1006
|
-
});
|
|
1007
|
-
};
|
|
1008
|
-
var SettingsFilterSchema = function (z) {
|
|
1009
|
-
return z.union([ExtendedFormulaFilterValueSchema(z), DimensionProcessFilterSchema(z)]);
|
|
1010
|
-
};
|
|
1011
|
-
|
|
1012
|
-
var ActionOnClickParameterCommonSchema = function (z) {
|
|
1013
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
1014
|
-
name: z.string(),
|
|
1015
|
-
});
|
|
1016
|
-
};
|
|
1017
|
-
var ParameterFromColumnSchema = function (z) {
|
|
1018
|
-
return z.object({
|
|
1019
|
-
inputMethod: z.literal(EWidgetActionInputMethod.COLUMN),
|
|
1020
|
-
tableName: z.string().nullable().default(null),
|
|
1021
|
-
columnName: z.string().nullable().default(null),
|
|
1022
|
-
dbDataType: z.string().optional(),
|
|
1023
|
-
});
|
|
1024
|
-
};
|
|
1025
|
-
var ParameterFromVariableSchema = function (z) {
|
|
1026
|
-
return z.object({
|
|
1027
|
-
inputMethod: z.literal(EWidgetActionInputMethod.VARIABLE),
|
|
1028
|
-
sourceVariable: z.string().nullable().default(null),
|
|
1029
|
-
});
|
|
1030
|
-
};
|
|
1031
|
-
var ParameterFromFormulaSchema = function (z) {
|
|
1032
|
-
return z.object({
|
|
1033
|
-
inputMethod: z.literal(EWidgetActionInputMethod.FORMULA),
|
|
1034
|
-
formula: FormulaSchema(z),
|
|
1035
|
-
considerFilters: z.boolean().default(false),
|
|
1036
|
-
dbDataType: z.string().optional(),
|
|
1037
|
-
});
|
|
1038
|
-
};
|
|
1039
|
-
var ParameterFromEventSchema = function (z) {
|
|
1040
|
-
return z.object({
|
|
1041
|
-
inputMethod: z.literal(EWidgetActionInputMethod.EVENT),
|
|
1042
|
-
});
|
|
1043
|
-
};
|
|
1044
|
-
var ParameterFromStartEventSchema = function (z) {
|
|
1045
|
-
return z.object({
|
|
1046
|
-
inputMethod: z.literal(EWidgetActionInputMethod.START_EVENT),
|
|
1047
|
-
});
|
|
1048
|
-
};
|
|
1049
|
-
var ParameterFromEndEventSchema = function (z) {
|
|
1050
|
-
return z.object({
|
|
1051
|
-
inputMethod: z.literal(EWidgetActionInputMethod.FINISH_EVENT),
|
|
1052
|
-
});
|
|
1053
|
-
};
|
|
1054
|
-
var ParameterFromAggregationSchema = function (z) {
|
|
1055
|
-
return z.object({
|
|
1056
|
-
inputMethod: z.literal(EWidgetActionInputMethod.AGGREGATION),
|
|
1057
|
-
formula: FormulaSchema(z),
|
|
1058
|
-
considerFilters: z.boolean().default(false),
|
|
1059
|
-
dbDataType: z.string().optional(),
|
|
1060
|
-
});
|
|
1061
|
-
};
|
|
1062
|
-
var ParameterFromManualInputSchema = function (z) {
|
|
1063
|
-
return z.object({
|
|
1064
|
-
inputMethod: z.literal(EWidgetActionInputMethod.MANUALLY),
|
|
1065
|
-
description: z.string().default(""),
|
|
1066
|
-
defaultValue: FormulaSchema(z),
|
|
1067
|
-
dbDataType: z.string().optional(),
|
|
1068
|
-
filterByRows: z.boolean().default(false),
|
|
1069
|
-
validation: FormulaSchema(z),
|
|
1070
|
-
acceptEmptyValue: z.boolean().default(false),
|
|
1071
|
-
});
|
|
1072
|
-
};
|
|
1073
|
-
var ParameterFromStaticListSchema = function (z) {
|
|
1074
|
-
return z.object({
|
|
1075
|
-
inputMethod: z.literal(EWidgetActionInputMethod.STATIC_LIST),
|
|
1076
|
-
options: z.string().default(""),
|
|
1077
|
-
defaultValue: z
|
|
1078
|
-
.union([z.string(), z.array(z.string())])
|
|
1079
|
-
.nullable()
|
|
1080
|
-
.default(null),
|
|
1081
|
-
acceptEmptyValue: z.boolean().default(false),
|
|
1082
|
-
});
|
|
1083
|
-
};
|
|
1084
|
-
var ParameterFromDynamicListSchema = function (z) {
|
|
1085
|
-
return z.object({
|
|
1086
|
-
inputMethod: z.literal(EWidgetActionInputMethod.DYNAMIC_LIST),
|
|
1087
|
-
options: FormulaSchema(z),
|
|
1088
|
-
defaultValue: FormulaSchema(z),
|
|
1089
|
-
dbDataType: z.string().optional(),
|
|
1090
|
-
displayOptions: FormulaSchema(z),
|
|
1091
|
-
filters: z.array(ExtendedFormulaFilterValueSchema(z)).default([]),
|
|
1092
|
-
filterByRows: z.boolean().default(false),
|
|
1093
|
-
considerFilters: z.boolean().default(false),
|
|
1094
|
-
insertAnyValues: z.boolean().default(false),
|
|
1095
|
-
validation: FormulaSchema(z),
|
|
1096
|
-
acceptEmptyValue: z.boolean().default(false),
|
|
1097
|
-
});
|
|
1098
|
-
};
|
|
1099
|
-
var ParameterFromDataModelSchema = function (z) {
|
|
1100
|
-
return z.object({
|
|
1101
|
-
inputMethod: z.literal(EWidgetActionInputMethod.DATA_MODEL),
|
|
1102
|
-
option: z.enum(EDataModelOption).default(EDataModelOption.TABLE_LIST),
|
|
1103
|
-
/**
|
|
1104
|
-
* Используется только при COLUMN_LIST. Не делаем union по option, чтобы сохранить
|
|
1105
|
-
* одновременно default для option и работоспособность внешнего discriminated union.
|
|
1106
|
-
*/
|
|
1107
|
-
parent: NameNullableSchema(z),
|
|
1108
|
-
});
|
|
1109
|
-
};
|
|
1110
|
-
var ActionOnClickParameterSchema = function (z) {
|
|
1111
|
-
return z.intersection(ActionOnClickParameterCommonSchema(z), z.discriminatedUnion("inputMethod", [
|
|
1112
|
-
ParameterFromColumnSchema(z),
|
|
1113
|
-
ParameterFromVariableSchema(z),
|
|
1114
|
-
ParameterFromFormulaSchema(z),
|
|
1115
|
-
ParameterFromEventSchema(z),
|
|
1116
|
-
ParameterFromStartEventSchema(z),
|
|
1117
|
-
ParameterFromEndEventSchema(z),
|
|
1118
|
-
ParameterFromAggregationSchema(z),
|
|
1119
|
-
ParameterFromManualInputSchema(z),
|
|
1120
|
-
ParameterFromStaticListSchema(z),
|
|
1121
|
-
ParameterFromDynamicListSchema(z),
|
|
1122
|
-
ParameterFromDataModelSchema(z),
|
|
1123
|
-
]));
|
|
1124
|
-
};
|
|
1125
|
-
var ActionCommonSchema = function (z) {
|
|
1126
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
1127
|
-
name: z.string(),
|
|
1128
|
-
});
|
|
1129
|
-
};
|
|
1130
|
-
var ActionDrillDownSchema = function (z) {
|
|
1131
|
-
return ActionCommonSchema(z).extend({ type: z.literal(EActionTypes.DRILL_DOWN) });
|
|
1132
|
-
};
|
|
1133
|
-
var ActionGoToURLSchema = function (z) {
|
|
1134
|
-
return ActionCommonSchema(z).extend({
|
|
1135
|
-
type: z.literal(EActionTypes.OPEN_URL),
|
|
1136
|
-
url: z.string(),
|
|
1137
|
-
newWindow: z.boolean().default(true),
|
|
1138
|
-
});
|
|
1139
|
-
};
|
|
1140
|
-
var ActivateConditionSchema = function (z) {
|
|
1141
|
-
return z
|
|
1142
|
-
.discriminatedUnion("mode", [
|
|
1143
|
-
z.object({
|
|
1144
|
-
mode: z.literal(EActivateConditionMode.FORMULA),
|
|
1145
|
-
formula: FormulaSchema(z),
|
|
1146
|
-
}),
|
|
1147
|
-
z.object({
|
|
1148
|
-
mode: z.literal(EActivateConditionMode.VARIABLE),
|
|
1149
|
-
variableName: z.string().nullable().default(null),
|
|
1150
|
-
variableValue: z.string().nullable().default(null),
|
|
1151
|
-
}),
|
|
1152
|
-
])
|
|
1153
|
-
.default({ mode: EActivateConditionMode.FORMULA, formula: "" });
|
|
1154
|
-
};
|
|
1155
|
-
var ActionRunScriptSchema = function (z) {
|
|
1156
|
-
return ActionCommonSchema(z).extend({
|
|
1157
|
-
type: z.literal(EActionTypes.EXECUTE_SCRIPT),
|
|
1158
|
-
parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
|
|
1159
|
-
scriptKey: z.string(),
|
|
1160
|
-
autoUpdate: z.enum(EAutoUpdateMode).default(EAutoUpdateMode.THIS_WIDGET),
|
|
1161
|
-
hideInactiveButton: z.boolean().default(false),
|
|
1162
|
-
activateCondition: ActivateConditionSchema(z),
|
|
1163
|
-
hint: z.string().default(""),
|
|
1164
|
-
});
|
|
1165
|
-
};
|
|
1166
|
-
var ActionUpdateVariableSchema = function (z) {
|
|
1167
|
-
return ActionCommonSchema(z).extend({
|
|
1168
|
-
type: z.literal(EActionTypes.UPDATE_VARIABLE),
|
|
1169
|
-
variables: z.array(ActionOnClickParameterSchema(z)).default([]),
|
|
1170
|
-
});
|
|
1171
|
-
};
|
|
1172
|
-
var ActionOpenInSchema = function (z) {
|
|
1173
|
-
return z.discriminatedUnion("openIn", [
|
|
1174
|
-
z.object({
|
|
1175
|
-
openIn: z.literal(EViewOpenIn.DRAWER_WINDOW),
|
|
1176
|
-
alignment: z.enum(EDrawerPlacement).default(EDrawerPlacement.RIGHT),
|
|
1177
|
-
inheritFilter: z.boolean().default(true),
|
|
1178
|
-
}),
|
|
1179
|
-
z.object({
|
|
1180
|
-
openIn: z.literal(EViewOpenIn.PLACEHOLDER),
|
|
1181
|
-
placeholderName: z.string(),
|
|
1182
|
-
}),
|
|
1183
|
-
z.object({
|
|
1184
|
-
openIn: z.literal(EViewOpenIn.MODAL_WINDOW),
|
|
1185
|
-
positionByClick: z.boolean().default(false),
|
|
1186
|
-
inheritFilter: z.boolean().default(true),
|
|
1187
|
-
}),
|
|
1188
|
-
z.object({
|
|
1189
|
-
openIn: z.literal(EViewOpenIn.WINDOW),
|
|
1190
|
-
newWindow: z.boolean().default(true),
|
|
1191
|
-
inheritFilter: z.boolean().default(true),
|
|
1192
|
-
}),
|
|
1193
|
-
]);
|
|
1194
|
-
};
|
|
1195
|
-
var ActionOpenViewCommonSchema = function (z) {
|
|
1196
|
-
return ActionCommonSchema(z).extend({ type: z.literal(EActionTypes.OPEN_VIEW) });
|
|
1197
|
-
};
|
|
1198
|
-
var ActionOpenViewSchema = function (z) {
|
|
1199
|
-
return z.intersection(z.discriminatedUnion("mode", [
|
|
1200
|
-
ActionOpenViewCommonSchema(z).extend({
|
|
1201
|
-
mode: z.literal(EViewMode.GENERATED_BY_SCRIPT),
|
|
1202
|
-
scriptKey: z.string(),
|
|
1203
|
-
parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
|
|
1204
|
-
displayName: z.string().default(""),
|
|
1205
|
-
}),
|
|
1206
|
-
ActionOpenViewCommonSchema(z).extend({
|
|
1207
|
-
mode: z.literal(EViewMode.EXISTED_VIEW),
|
|
1208
|
-
viewKey: z.string(),
|
|
1209
|
-
parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
|
|
1210
|
-
}),
|
|
1211
|
-
ActionOpenViewCommonSchema(z).extend({
|
|
1212
|
-
mode: z.literal(EViewMode.EMPTY),
|
|
1213
|
-
placeholderName: z.string(),
|
|
1214
|
-
openIn: z.literal(EViewOpenIn.PLACEHOLDER),
|
|
1215
|
-
}),
|
|
1216
|
-
]), ActionOpenInSchema(z));
|
|
1217
|
-
};
|
|
1218
|
-
var ActionsOnClickSchema = function (z) {
|
|
1219
|
-
return z.union([
|
|
1220
|
-
ActionGoToURLSchema(z),
|
|
1221
|
-
ActionRunScriptSchema(z),
|
|
1222
|
-
ActionUpdateVariableSchema(z),
|
|
1223
|
-
ActionOpenViewSchema(z),
|
|
1224
|
-
ActionDrillDownSchema(z),
|
|
1225
|
-
]);
|
|
1226
|
-
};
|
|
1227
|
-
var WidgetActionParameterCommonSchema = function (z) {
|
|
1228
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
1229
|
-
name: z.string(),
|
|
1230
|
-
displayName: z.string().default(""),
|
|
1231
|
-
isHidden: z.boolean().default(false),
|
|
1232
|
-
});
|
|
1233
|
-
};
|
|
1234
|
-
var WidgetActionParameterSchema = function (z) {
|
|
1235
|
-
return z.intersection(WidgetActionParameterCommonSchema(z), z.discriminatedUnion("inputMethod", [
|
|
1236
|
-
ParameterFromColumnSchema(z),
|
|
1237
|
-
ParameterFromVariableSchema(z),
|
|
1238
|
-
ParameterFromFormulaSchema(z),
|
|
1239
|
-
ParameterFromManualInputSchema(z),
|
|
1240
|
-
ParameterFromStaticListSchema(z),
|
|
1241
|
-
ParameterFromDynamicListSchema(z),
|
|
1242
|
-
ParameterFromAggregationSchema(z),
|
|
1243
|
-
ParameterFromDataModelSchema(z),
|
|
1244
|
-
]));
|
|
1245
|
-
};
|
|
1246
|
-
var WidgetActionSchema = function (z) {
|
|
1247
|
-
return ActionCommonSchema(z).extend({
|
|
1248
|
-
parameters: z.array(WidgetActionParameterSchema(z)).default([]),
|
|
1249
|
-
type: z.literal(EActionTypes.EXECUTE_SCRIPT),
|
|
1250
|
-
scriptKey: z.string(),
|
|
1251
|
-
autoUpdate: z.enum(EAutoUpdateMode).default(EAutoUpdateMode.THIS_WIDGET),
|
|
1252
|
-
description: z.string().default(""),
|
|
1253
|
-
hideInactiveButton: z.boolean().default(false),
|
|
1254
|
-
hint: z.string().default(""),
|
|
1255
|
-
activateCondition: ActivateConditionSchema(z),
|
|
1256
|
-
});
|
|
1257
|
-
};
|
|
1258
|
-
var ViewActionParameterSchema = function (z) {
|
|
1259
|
-
return z.intersection(AutoIdentifiedArrayItemSchema(z).extend({ name: z.string() }), z.discriminatedUnion("inputMethod", [
|
|
1260
|
-
ParameterFromAggregationSchema(z),
|
|
1261
|
-
ParameterFromVariableSchema(z),
|
|
1262
|
-
]));
|
|
1263
|
-
};
|
|
1264
|
-
var ViewActionSchema = function (z) {
|
|
1265
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
1266
|
-
name: z.string(),
|
|
1267
|
-
buttonType: z.enum(EActionButtonsTypes).default(EActionButtonsTypes.BASE),
|
|
1268
|
-
type: z.literal(EActionTypes.EXECUTE_SCRIPT).default(EActionTypes.EXECUTE_SCRIPT),
|
|
1269
|
-
parameters: z.array(ViewActionParameterSchema(z)).default([]),
|
|
1270
|
-
scriptKey: KeyNullableSchema(z),
|
|
1271
|
-
autoUpdate: z
|
|
1272
|
-
.union([z.literal(EAutoUpdateMode.NONE), z.literal(EAutoUpdateMode.ALL_VIEWS)])
|
|
1273
|
-
.default(EAutoUpdateMode.NONE),
|
|
1274
|
-
});
|
|
1275
|
-
};
|
|
1276
|
-
var ActionSchema = function (z) {
|
|
1277
|
-
return z.union([ActionsOnClickSchema(z), WidgetActionSchema(z), ViewActionSchema(z)]);
|
|
1278
|
-
};
|
|
1279
|
-
var ActionButtonSchema = function (z) {
|
|
1280
|
-
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
1281
|
-
name: z.string(),
|
|
1282
|
-
onClick: z.array(WidgetActionSchema(z)).default([]),
|
|
1283
|
-
buttonType: z.enum(EActionButtonsTypes).default(EActionButtonsTypes.BASE),
|
|
1284
|
-
backgroundColor: ColorSchema(z),
|
|
1285
|
-
borderColor: ColorSchema(z),
|
|
1286
|
-
color: ColorSchema(z),
|
|
1287
|
-
hint: z.string().default(""),
|
|
1288
|
-
});
|
|
1289
|
-
};
|
|
1290
|
-
|
|
1291
|
-
var prepareValuesForSql = function (simpleType, values) {
|
|
1292
|
-
return simpleType === ESimpleDataType.INTEGER ||
|
|
1293
|
-
simpleType === ESimpleDataType.FLOAT ||
|
|
1294
|
-
simpleType === ESimpleDataType.BOOLEAN
|
|
1295
|
-
? values
|
|
1296
|
-
: values.map(function (value) {
|
|
1297
|
-
return value === null ? null : "'".concat(escapeSingularQuotes$1(escapeReverseSlash(value)), "'");
|
|
1298
|
-
});
|
|
1299
|
-
};
|
|
1300
|
-
var escapeReverseSlash = function (formula) {
|
|
1301
|
-
return formula.replaceAll(/\\/gm, "\\\\");
|
|
1302
|
-
};
|
|
1303
|
-
var escapeSingularQuotes$1 = function (formula) {
|
|
1304
|
-
return formula.replaceAll("'", "\\'");
|
|
1305
|
-
};
|
|
274
|
+
function zodEnumLike(source) {
|
|
275
|
+
return __assign({}, source);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Возвращает массив значений `VersionedEnum` или его исторического среза,
|
|
279
|
+
* сохраняя literal union как тип элемента. Безопаснее, чем
|
|
280
|
+
* `Object.values(E) as TValue[]` — спред отсекает Symbol-ключ `forVersion`
|
|
281
|
+
* на runtime, а тип возвращает union литералов вместо `string`.
|
|
282
|
+
*
|
|
283
|
+
* @example
|
|
284
|
+
* const modes = versionedEnumValues(EFontWeight); // TFontWeight[]
|
|
285
|
+
* for (const mode of versionedEnumValues(EDataModelOption)) { ... }
|
|
286
|
+
*/
|
|
287
|
+
function versionedEnumValues(source) {
|
|
288
|
+
return Object.values(__assign({}, source));
|
|
289
|
+
}
|
|
1306
290
|
|
|
1307
|
-
var
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1327
|
-
var
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
})
|
|
1339
|
-
var
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
})
|
|
1349
|
-
var
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
};
|
|
1360
|
-
var
|
|
291
|
+
var EWidgetActionInputMethod = VersionedEnum.build({
|
|
292
|
+
latestVersion: "17",
|
|
293
|
+
history: {
|
|
294
|
+
"17": {
|
|
295
|
+
COLUMN: "COLUMN",
|
|
296
|
+
VARIABLE: "VARIABLE",
|
|
297
|
+
STATIC_LIST: "STATIC_LIST",
|
|
298
|
+
DYNAMIC_LIST: "DYNAMIC_LIST",
|
|
299
|
+
FORMULA: "FORMULA",
|
|
300
|
+
MANUALLY: "MANUALLY",
|
|
301
|
+
EVENT: "EVENT",
|
|
302
|
+
START_EVENT: "START_EVENT",
|
|
303
|
+
FINISH_EVENT: "FINISH_EVENT",
|
|
304
|
+
AGGREGATION: "AGGREGATION",
|
|
305
|
+
DATA_MODEL: "DATA_MODEL",
|
|
306
|
+
/** Значение берётся из редактируемого текста виджета в момент сохранения */
|
|
307
|
+
EDITABLE_TEXT_VALUE: "EDITABLE_TEXT_VALUE",
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
});
|
|
311
|
+
var EActionTypes = VersionedEnum.build({
|
|
312
|
+
latestVersion: "17",
|
|
313
|
+
history: {
|
|
314
|
+
"17": {
|
|
315
|
+
OPEN_URL: "OPEN_URL",
|
|
316
|
+
UPDATE_VARIABLE: "UPDATE_VARIABLE",
|
|
317
|
+
EXECUTE_SCRIPT: "EXECUTE_SCRIPT",
|
|
318
|
+
OPEN_VIEW: "OPEN_VIEW",
|
|
319
|
+
DRILL_DOWN: "DRILL_DOWN",
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
var EViewMode = VersionedEnum.build({
|
|
324
|
+
latestVersion: "17",
|
|
325
|
+
history: {
|
|
326
|
+
"17": {
|
|
327
|
+
EXISTED_VIEW: "EXISTED_VIEW",
|
|
328
|
+
GENERATED_BY_SCRIPT: "GENERATED_BY_SCRIPT",
|
|
329
|
+
EMPTY: "EMPTY",
|
|
330
|
+
},
|
|
331
|
+
},
|
|
332
|
+
});
|
|
333
|
+
var EViewOpenIn = VersionedEnum.build({
|
|
334
|
+
latestVersion: "17",
|
|
335
|
+
history: {
|
|
336
|
+
"17": {
|
|
337
|
+
WINDOW: "WINDOW",
|
|
338
|
+
PLACEHOLDER: "PLACEHOLDER",
|
|
339
|
+
MODAL_WINDOW: "MODAL_WINDOW",
|
|
340
|
+
DRAWER_WINDOW: "DRAWER_WINDOW",
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
});
|
|
344
|
+
var EDrawerPlacement = VersionedEnum.build({
|
|
345
|
+
latestVersion: "17",
|
|
346
|
+
history: {
|
|
347
|
+
"17": {
|
|
348
|
+
LEFT: "LEFT",
|
|
349
|
+
RIGHT: "RIGHT",
|
|
350
|
+
},
|
|
351
|
+
},
|
|
352
|
+
});
|
|
353
|
+
var EAutoUpdateMode = VersionedEnum.build({
|
|
354
|
+
latestVersion: "17",
|
|
355
|
+
history: {
|
|
356
|
+
"17": {
|
|
357
|
+
NONE: "NONE",
|
|
358
|
+
THIS_WIDGET: "THIS_WIDGET",
|
|
359
|
+
ALL_VIEWS: "ALL_VIEWS",
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
});
|
|
363
|
+
var EDataModelOption = VersionedEnum.build({
|
|
364
|
+
latestVersion: "17",
|
|
365
|
+
history: {
|
|
366
|
+
"17": {
|
|
367
|
+
TABLE_LIST: "TABLE_LIST",
|
|
368
|
+
COLUMN_LIST: "COLUMN_LIST",
|
|
369
|
+
},
|
|
370
|
+
},
|
|
371
|
+
});
|
|
372
|
+
var EActivateConditionMode = VersionedEnum.build({
|
|
373
|
+
latestVersion: "17",
|
|
374
|
+
history: {
|
|
375
|
+
"17": {
|
|
376
|
+
FORMULA: "FORMULA",
|
|
377
|
+
VARIABLE: "VARIABLE",
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
});
|
|
381
|
+
var EActionButtonsTypes = VersionedEnum.build({
|
|
382
|
+
latestVersion: "17",
|
|
383
|
+
history: {
|
|
384
|
+
"17": {
|
|
385
|
+
LINK: "link",
|
|
386
|
+
BASE: "primary",
|
|
387
|
+
SECONDARY: "primary-outlined",
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
});
|
|
391
|
+
var EExpectedFieldTypes;
|
|
392
|
+
(function (EExpectedFieldTypes) {
|
|
393
|
+
EExpectedFieldTypes["TEXT"] = "text";
|
|
394
|
+
EExpectedFieldTypes["DOUBLE"] = "number";
|
|
395
|
+
EExpectedFieldTypes["BOOLEAN"] = "boolean";
|
|
396
|
+
EExpectedFieldTypes["INTEGER"] = "integer";
|
|
397
|
+
EExpectedFieldTypes["DATE"] = "date";
|
|
398
|
+
EExpectedFieldTypes["DATE_TIME"] = "date_time";
|
|
399
|
+
EExpectedFieldTypes["BIGINTEGER"] = "big_integer";
|
|
400
|
+
EExpectedFieldTypes["BIGDECIMAL"] = "big_decimal";
|
|
401
|
+
EExpectedFieldTypes["FILE"] = "file";
|
|
402
|
+
})(EExpectedFieldTypes || (EExpectedFieldTypes = {}));
|
|
1361
403
|
|
|
1362
404
|
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
1363
405
|
var compactMap = function (items, f) {
|
|
@@ -1366,6 +408,24 @@ var compactMap = function (items, f) {
|
|
|
1366
408
|
var isNil = function (value) {
|
|
1367
409
|
return value === null || value === undefined;
|
|
1368
410
|
};
|
|
411
|
+
function omit(obj, keys) {
|
|
412
|
+
var e_1, _a;
|
|
413
|
+
var newObj = __assign({}, obj);
|
|
414
|
+
try {
|
|
415
|
+
for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
|
|
416
|
+
var key = keys_1_1.value;
|
|
417
|
+
delete newObj[key];
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
421
|
+
finally {
|
|
422
|
+
try {
|
|
423
|
+
if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
|
|
424
|
+
}
|
|
425
|
+
finally { if (e_1) throw e_1.error; }
|
|
426
|
+
}
|
|
427
|
+
return newObj;
|
|
428
|
+
}
|
|
1369
429
|
function memoize(fn) {
|
|
1370
430
|
var cache = new Map();
|
|
1371
431
|
return function (arg) {
|
|
@@ -1377,48 +437,1827 @@ function memoize(fn) {
|
|
|
1377
437
|
return result;
|
|
1378
438
|
};
|
|
1379
439
|
}
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
440
|
+
var clamp = function (value, min, max) {
|
|
441
|
+
if (value < min) {
|
|
442
|
+
return min;
|
|
443
|
+
}
|
|
444
|
+
if (value > max) {
|
|
445
|
+
return max;
|
|
446
|
+
}
|
|
447
|
+
return value;
|
|
448
|
+
};
|
|
449
|
+
function mapValues(obj, fn) {
|
|
450
|
+
return Object.fromEntries(Object.entries(obj).map(function (_a) {
|
|
451
|
+
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
452
|
+
return [key, fn(value, key)];
|
|
453
|
+
}));
|
|
454
|
+
}
|
|
455
|
+
/** Добавляет свойства к функции */
|
|
456
|
+
function assignPropsToFn(fn, props) {
|
|
457
|
+
return Object.assign(fn, props);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/** Фабрика версионированных схем. Не содержит состояния */
|
|
461
|
+
var VersionedSchemaFactory = /** @class */ (function () {
|
|
462
|
+
function VersionedSchemaFactory() {
|
|
463
|
+
}
|
|
464
|
+
VersionedSchemaFactory.compareVersions = function (a, b) {
|
|
465
|
+
var _a, _b;
|
|
466
|
+
var partsA = a.split(".").map(Number);
|
|
467
|
+
var partsB = b.split(".").map(Number);
|
|
468
|
+
var length = Math.max(partsA.length, partsB.length);
|
|
469
|
+
for (var i = 0; i < length; i++) {
|
|
470
|
+
var pa = (_a = partsA[i]) !== null && _a !== void 0 ? _a : 0;
|
|
471
|
+
var pb = (_b = partsB[i]) !== null && _b !== void 0 ? _b : 0;
|
|
472
|
+
var diff = Math.sign(pa - pb);
|
|
473
|
+
if (diff !== 0) {
|
|
474
|
+
return diff;
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
return 0;
|
|
478
|
+
};
|
|
479
|
+
VersionedSchemaFactory.findClosestVersion = function (versions, targetVersion, compare) {
|
|
480
|
+
return versions
|
|
481
|
+
.toSorted(function (a, b) { return compare(b, a); })
|
|
482
|
+
.find(function (version) { return compare(version, targetVersion) <= 0; });
|
|
483
|
+
};
|
|
484
|
+
/** Добавляет метаданные к схеме (curried) */
|
|
485
|
+
VersionedSchemaFactory.annotateSchema = function (meta) {
|
|
486
|
+
if (meta === undefined) {
|
|
487
|
+
return function (schemaFactory) { return schemaFactory; };
|
|
488
|
+
}
|
|
489
|
+
return function (schemaFactory) {
|
|
490
|
+
return (function (z) {
|
|
491
|
+
var restArgs = [];
|
|
492
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
493
|
+
restArgs[_i - 1] = arguments[_i];
|
|
494
|
+
}
|
|
495
|
+
return schemaFactory.apply(void 0, __spreadArray([z], __read(restArgs), false)).meta(meta);
|
|
496
|
+
});
|
|
497
|
+
};
|
|
498
|
+
};
|
|
499
|
+
/**
|
|
500
|
+
* Оборачивает фабрику схемы, добавляя кеширование результата.
|
|
501
|
+
*
|
|
502
|
+
* Предполагается, что `z` — синглтон (один экземпляр на всё приложение),
|
|
503
|
+
* поэтому достаточно закешировать единственный результат.
|
|
504
|
+
*
|
|
505
|
+
* Вызовы с дополнительными аргументами (restArgs) не кешируются,
|
|
506
|
+
* так как результат может зависеть от их значений.
|
|
507
|
+
*/
|
|
508
|
+
VersionedSchemaFactory.withCache = function (schemaFactory) {
|
|
509
|
+
var cached;
|
|
510
|
+
return (function (z) {
|
|
511
|
+
var restArgs = [];
|
|
512
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
513
|
+
restArgs[_i - 1] = arguments[_i];
|
|
514
|
+
}
|
|
515
|
+
if (restArgs.length > 0) {
|
|
516
|
+
return schemaFactory.apply(void 0, __spreadArray([z], __read(restArgs), false));
|
|
517
|
+
}
|
|
518
|
+
if (cached === undefined) {
|
|
519
|
+
cached = schemaFactory(z);
|
|
520
|
+
}
|
|
521
|
+
return cached;
|
|
522
|
+
});
|
|
523
|
+
};
|
|
524
|
+
/** Построить версионированную схему */
|
|
525
|
+
VersionedSchemaFactory.build = function (_a) {
|
|
526
|
+
var _this = this;
|
|
527
|
+
var history = _a.history, latestVersion = _a.latestVersion, meta = _a.meta;
|
|
528
|
+
var latestFactory = history[latestVersion];
|
|
529
|
+
if (!latestFactory) {
|
|
530
|
+
throw new Error("Не найдено записи в 'history' по 'latestVersion'");
|
|
531
|
+
}
|
|
532
|
+
var annotate = this.annotateSchema(meta);
|
|
533
|
+
var preparedHistory = mapValues(history, function (factory) {
|
|
534
|
+
return _this.withCache(annotate(factory));
|
|
535
|
+
});
|
|
536
|
+
var schema = assignPropsToFn(preparedHistory[latestVersion], {
|
|
537
|
+
forVersion: function (targetVersion) {
|
|
538
|
+
if (targetVersion === null || targetVersion === undefined) {
|
|
539
|
+
return preparedHistory[latestVersion];
|
|
540
|
+
}
|
|
541
|
+
if (targetVersion in preparedHistory) {
|
|
542
|
+
return preparedHistory[targetVersion];
|
|
543
|
+
}
|
|
544
|
+
var closestVersion = _this.findClosestVersion(Object.keys(preparedHistory), targetVersion, VersionedSchemaFactory.compareVersions);
|
|
545
|
+
if (closestVersion === undefined || !(closestVersion in preparedHistory)) {
|
|
546
|
+
throw new Error("\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E \u043F\u043E\u0434\u0445\u043E\u0434\u044F\u0449\u0435\u0439 \u0441\u0445\u0435\u043C\u044B \u0434\u043B\u044F \u0432\u0435\u0440\u0441\u0438\u0438 '".concat(targetVersion, "'"));
|
|
547
|
+
}
|
|
548
|
+
return preparedHistory[closestVersion];
|
|
549
|
+
},
|
|
550
|
+
});
|
|
551
|
+
return schema;
|
|
552
|
+
};
|
|
553
|
+
return VersionedSchemaFactory;
|
|
554
|
+
}());
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* Глобальный реестр версионированных схем (публичный слой, только чтение).
|
|
558
|
+
*
|
|
559
|
+
* Отвечает за:
|
|
560
|
+
*
|
|
561
|
+
* 1. Хранение зарегистрированных схем
|
|
562
|
+
* 2. Поиск схем по ключу
|
|
563
|
+
*
|
|
564
|
+
* Не предоставляет API для модификации registry.
|
|
565
|
+
*/
|
|
566
|
+
var SchemaRegistryReader = /** @class */ (function () {
|
|
567
|
+
function SchemaRegistryReader() {
|
|
568
|
+
}
|
|
569
|
+
/** Получить версионированную схему из `registry` по ключу схемы */
|
|
570
|
+
SchemaRegistryReader.get = function (schemaKey) {
|
|
571
|
+
return this.registry.get(schemaKey);
|
|
572
|
+
};
|
|
573
|
+
/**
|
|
574
|
+
* Имя поля в метаданных схемы, в котором хранится идентификатор типа схемы.
|
|
575
|
+
*
|
|
576
|
+
* Это поле добавляется ко всем схемам, зарегистрированным через `SchemaRegistry`.
|
|
577
|
+
*/
|
|
578
|
+
SchemaRegistryReader.typeKey = "type";
|
|
579
|
+
SchemaRegistryReader.registry = new Map();
|
|
580
|
+
return SchemaRegistryReader;
|
|
581
|
+
}());
|
|
582
|
+
/**
|
|
583
|
+
* Глобальный реестр версионированных схем (внутренний слой).
|
|
584
|
+
*
|
|
585
|
+
* Расширяет SchemaRegistryReader возможностью создать запись в registry.
|
|
586
|
+
*
|
|
587
|
+
* Отвечает за:
|
|
588
|
+
* 1. Декларацию схем (build + аннотация)
|
|
589
|
+
* 2. Регистрацию схем по ключу
|
|
590
|
+
*/
|
|
591
|
+
var SchemaRegistry = /** @class */ (function (_super) {
|
|
592
|
+
__extends(SchemaRegistry, _super);
|
|
593
|
+
function SchemaRegistry() {
|
|
594
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
595
|
+
}
|
|
596
|
+
/** Объявляет версионированную схему и регистрирует её во внутреннем `registry` */
|
|
597
|
+
SchemaRegistry.define = function (_a) {
|
|
598
|
+
var _b;
|
|
599
|
+
var key = _a.key, history = _a.history, latestVersion = _a.latestVersion;
|
|
600
|
+
var schema = VersionedSchemaFactory.build({
|
|
601
|
+
history: history,
|
|
602
|
+
latestVersion: latestVersion,
|
|
603
|
+
meta: (_b = {}, _b[this.typeKey] = key, _b),
|
|
604
|
+
});
|
|
605
|
+
this.registry.set(key, schema);
|
|
606
|
+
return schema;
|
|
607
|
+
};
|
|
608
|
+
return SchemaRegistry;
|
|
609
|
+
}(SchemaRegistryReader));
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Глобальный счетчик для генерации ID.
|
|
613
|
+
*
|
|
614
|
+
* @todo
|
|
615
|
+
* В будущем можно заменить единый счетчик на изолированные счетчики в разных контекстах.
|
|
616
|
+
*/
|
|
617
|
+
var id = 1;
|
|
618
|
+
var AutoIdentifiedArrayItemSchema = SchemaRegistry.define({
|
|
619
|
+
key: "AutoIdentifiedArrayItem",
|
|
620
|
+
latestVersion: "17",
|
|
621
|
+
history: {
|
|
622
|
+
"17": function (z) {
|
|
623
|
+
return z.object({
|
|
624
|
+
/**
|
|
625
|
+
* Идентификатор, добавляемый системой "на лету" для удобства разработки, не сохраняется на сервер.
|
|
626
|
+
* Гарантируется уникальность id в пределах settings виджета.
|
|
627
|
+
*/
|
|
628
|
+
id: z
|
|
629
|
+
.number()
|
|
630
|
+
.default(-1)
|
|
631
|
+
.transform(function (currentId) { return (currentId === -1 ? id++ : currentId); }),
|
|
632
|
+
});
|
|
633
|
+
},
|
|
634
|
+
},
|
|
635
|
+
});
|
|
636
|
+
var BaseWidgetSettingsSchema = SchemaRegistry.define({
|
|
637
|
+
key: "BaseWidgetSettings",
|
|
638
|
+
latestVersion: "19",
|
|
639
|
+
get history() {
|
|
640
|
+
var v17 = function (z) {
|
|
641
|
+
var v17FilterMode = EWidgetFilterMode[VersionedEnum.forVersion]("17");
|
|
642
|
+
var v17FontWeight = EFontWeight[VersionedEnum.forVersion]("17");
|
|
643
|
+
return z.object({
|
|
644
|
+
title: z.string().default(""),
|
|
645
|
+
titleSize: themed(z.number().default(14), function (theme) { return theme.widgets.titleSize; }),
|
|
646
|
+
titleColor: themed(ColorSchema.forVersion("17")(z), function (theme) { return theme.widgets.titleColor; }),
|
|
647
|
+
titleWeight: themed(z.enum(zodEnumLike(v17FontWeight)).default(v17FontWeight.NORMAL), function (theme) { return theme.widgets.titleWeight; }),
|
|
648
|
+
stateName: z.string().nullable().default(null),
|
|
649
|
+
showMarkdown: z.boolean().default(false),
|
|
650
|
+
markdownMeasures: z.array(MarkdownMeasureSchema.forVersion("17")(z)).default([]),
|
|
651
|
+
markdownText: z.string().default(""),
|
|
652
|
+
markdownTextSize: z.number().default(14),
|
|
653
|
+
customNoDataHint: z.string().default(""),
|
|
654
|
+
filters: z.array(SettingsFilterSchema.forVersion("17")(z)).default([]),
|
|
655
|
+
filterMode: z.enum(zodEnumLike(v17FilterMode)).default(v17FilterMode.DEFAULT),
|
|
656
|
+
ignoreFilters: z.boolean().default(false),
|
|
657
|
+
sorting: z.array(WidgetSortingIndicatorSchema.forVersion("17")(z)).default([]),
|
|
658
|
+
actionButtons: z.array(ActionButtonSchema.forVersion("17")(z)).default([]),
|
|
659
|
+
paddings: z.union([z.number(), z.string()]).default(8),
|
|
660
|
+
viewTheme: z.boolean().default(false),
|
|
661
|
+
});
|
|
662
|
+
};
|
|
663
|
+
return {
|
|
664
|
+
"17": v17,
|
|
665
|
+
"19": function (z) {
|
|
666
|
+
return v17(z)
|
|
667
|
+
.omit({ paddings: true, filterMode: true })
|
|
668
|
+
.extend({ ignoreFilters: WidgetIgnoreFilterModeSchema.forVersion("19")(z) });
|
|
669
|
+
},
|
|
670
|
+
};
|
|
671
|
+
},
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
var EWidgetIndicatorType = VersionedEnum.build({
|
|
675
|
+
latestVersion: "17",
|
|
676
|
+
history: {
|
|
677
|
+
"17": {
|
|
678
|
+
MEASURE: "MEASURE",
|
|
679
|
+
EVENT_INDICATOR: "EVENT_INDICATOR",
|
|
680
|
+
TRANSITION_INDICATOR: "TRANSITION_INDICATOR",
|
|
681
|
+
DIMENSION: "DIMENSION",
|
|
682
|
+
SORTING: "SORTING",
|
|
683
|
+
},
|
|
684
|
+
},
|
|
685
|
+
});
|
|
686
|
+
var EOuterAggregation = VersionedEnum.build({
|
|
687
|
+
latestVersion: "17",
|
|
688
|
+
history: {
|
|
689
|
+
"17": {
|
|
690
|
+
avg: "avg",
|
|
691
|
+
median: "median",
|
|
692
|
+
count: "count",
|
|
693
|
+
countDistinct: "countDistinct",
|
|
694
|
+
min: "min",
|
|
695
|
+
max: "max",
|
|
696
|
+
sum: "sum",
|
|
697
|
+
top: "top",
|
|
698
|
+
},
|
|
699
|
+
},
|
|
700
|
+
});
|
|
701
|
+
/** Режимы значения показателя (на основе чего генерируется формула) */
|
|
702
|
+
var EWidgetIndicatorValueModes = VersionedEnum.build({
|
|
703
|
+
latestVersion: "17",
|
|
704
|
+
history: {
|
|
705
|
+
"17": {
|
|
706
|
+
/** Готовая формула (как правило, введенная пользователем через редактор формул) */
|
|
707
|
+
FORMULA: "FORMULA",
|
|
708
|
+
/** Шаблон формулы, предоставляемый системой */
|
|
709
|
+
TEMPLATE: "TEMPLATE",
|
|
710
|
+
AGGREGATION: "AGGREGATION",
|
|
711
|
+
DURATION: "DURATION",
|
|
712
|
+
CONVERSION: "CONVERSION",
|
|
713
|
+
START_TIME: "START_TIME",
|
|
714
|
+
END_TIME: "END_TIME",
|
|
715
|
+
},
|
|
716
|
+
},
|
|
717
|
+
});
|
|
718
|
+
/** Режимы сортировки (на что ссылается сортировка) */
|
|
719
|
+
var ESortingValueModes = VersionedEnum.build({
|
|
720
|
+
latestVersion: "17",
|
|
721
|
+
history: {
|
|
722
|
+
"17": {
|
|
723
|
+
/** Сортировка по формуле */
|
|
724
|
+
FORMULA: "FORMULA",
|
|
725
|
+
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
726
|
+
IN_WIDGET: "IN_WIDGET",
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
});
|
|
730
|
+
var EFormatOrFormattingMode = VersionedEnum.build({
|
|
731
|
+
latestVersion: "17",
|
|
732
|
+
history: {
|
|
733
|
+
"17": {
|
|
734
|
+
BASE: "BASE",
|
|
735
|
+
TEMPLATE: "TEMPLATE",
|
|
736
|
+
},
|
|
737
|
+
},
|
|
738
|
+
});
|
|
739
|
+
function inheritDisplayConditionFromHierarchy(dimension, hierarchy) {
|
|
740
|
+
return __assign(__assign({}, dimension), { displayCondition: hierarchy.displayCondition });
|
|
741
|
+
}
|
|
742
|
+
/** Тип показателя */
|
|
743
|
+
var EIndicatorType = VersionedEnum.build({
|
|
744
|
+
latestVersion: "17",
|
|
745
|
+
history: {
|
|
746
|
+
"17": {
|
|
747
|
+
/** Показатели процесса */
|
|
748
|
+
PROCESS_MEASURE: "PROCESS_MEASURE",
|
|
749
|
+
/** Вводимое значение */
|
|
750
|
+
STATIC: "STATIC",
|
|
751
|
+
/** Статический список */
|
|
752
|
+
STATIC_LIST: "STATIC_LIST",
|
|
753
|
+
/** Динамический список */
|
|
754
|
+
DYNAMIC_LIST: "DYNAMIC_LIST",
|
|
755
|
+
/** Список колонок */
|
|
756
|
+
COLUMN_LIST: "COLUMN_LIST",
|
|
757
|
+
/** Разрез */
|
|
758
|
+
DIMENSION: "DIMENSION",
|
|
759
|
+
/** Мера */
|
|
760
|
+
MEASURE: "MEASURE",
|
|
761
|
+
/** Иерархия */
|
|
762
|
+
DYNAMIC_DIMENSION: "DYNAMIC_DIMENSION",
|
|
763
|
+
/** Пользовательская сортировка */
|
|
764
|
+
USER_SORTING: "USER_SORTING",
|
|
765
|
+
},
|
|
766
|
+
},
|
|
767
|
+
});
|
|
768
|
+
/** Обобщенные типы значений переменных */
|
|
769
|
+
var ESimpleInputType = VersionedEnum.build({
|
|
770
|
+
latestVersion: "17",
|
|
771
|
+
history: {
|
|
772
|
+
"17": {
|
|
773
|
+
/** Число (точность Float64) */
|
|
774
|
+
NUMBER: "FLOAT",
|
|
775
|
+
/** Целое число (точность Int64) */
|
|
776
|
+
INTEGER_NUMBER: "INTEGER",
|
|
777
|
+
/** Текст */
|
|
778
|
+
TEXT: "STRING",
|
|
779
|
+
/** Дата (точность Date) */
|
|
780
|
+
DATE: "DATE",
|
|
781
|
+
/** Дата и время (точность DateTime64) */
|
|
782
|
+
DATE_AND_TIME: "DATETIME",
|
|
783
|
+
/** Логический тип */
|
|
784
|
+
BOOLEAN: "BOOLEAN",
|
|
785
|
+
},
|
|
786
|
+
},
|
|
787
|
+
});
|
|
788
|
+
function isDimensionsHierarchy(indicator) {
|
|
789
|
+
return "hierarchyDimensions" in indicator;
|
|
790
|
+
}
|
|
791
|
+
var OuterAggregation = VersionedEnum.build({
|
|
792
|
+
latestVersion: "17",
|
|
793
|
+
history: {
|
|
794
|
+
"17": {
|
|
795
|
+
avg: "avgIf",
|
|
796
|
+
median: "medianIf",
|
|
797
|
+
count: "countIf",
|
|
798
|
+
countDistinct: "countIfDistinct",
|
|
799
|
+
min: "minIf",
|
|
800
|
+
max: "maxIf",
|
|
801
|
+
sum: "sumIf",
|
|
802
|
+
},
|
|
803
|
+
},
|
|
804
|
+
});
|
|
805
|
+
var EDurationTemplateName = VersionedEnum.build({
|
|
806
|
+
latestVersion: "17",
|
|
807
|
+
history: {
|
|
808
|
+
"17": {
|
|
809
|
+
avg: "avg",
|
|
810
|
+
median: "median",
|
|
811
|
+
},
|
|
812
|
+
},
|
|
813
|
+
});
|
|
814
|
+
var EEventAppearances = VersionedEnum.build({
|
|
815
|
+
latestVersion: "17",
|
|
816
|
+
history: {
|
|
817
|
+
"17": {
|
|
818
|
+
FIRST: "FIRST",
|
|
819
|
+
LAST: "LAST",
|
|
820
|
+
},
|
|
821
|
+
},
|
|
822
|
+
});
|
|
823
|
+
|
|
824
|
+
// Типы, используемые в значениях элементов управления.
|
|
825
|
+
/** Режим фильтрации (с возможностью наследования, начиная с v19) */
|
|
826
|
+
var EWidgetFilterMode = VersionedEnum.build({
|
|
827
|
+
latestVersion: "19",
|
|
828
|
+
get history() {
|
|
829
|
+
var v17 = {
|
|
830
|
+
DEFAULT: "DEFAULT",
|
|
831
|
+
SINGLE: "SINGLE",
|
|
832
|
+
MULTI: "MULTI",
|
|
833
|
+
DISABLED: "DISABLED",
|
|
834
|
+
};
|
|
835
|
+
return {
|
|
836
|
+
"17": v17,
|
|
837
|
+
"19": {
|
|
838
|
+
INHERITED: "INHERITED",
|
|
839
|
+
DEFAULT: "DEFAULT",
|
|
840
|
+
SINGLE: "SINGLE",
|
|
841
|
+
DISABLED: "DISABLED",
|
|
842
|
+
},
|
|
843
|
+
};
|
|
844
|
+
},
|
|
845
|
+
});
|
|
846
|
+
/** Режим игнорирования фильтрации (разрешённое значение образа: вкл/выкл) */
|
|
847
|
+
var EIgnoreFilterMode = VersionedEnum.build({
|
|
848
|
+
latestVersion: "19",
|
|
849
|
+
history: {
|
|
850
|
+
"19": {
|
|
851
|
+
ENABLED: "ENABLED",
|
|
852
|
+
DISABLED: "DISABLED",
|
|
853
|
+
},
|
|
854
|
+
},
|
|
855
|
+
});
|
|
856
|
+
/** Режим игнорирования фильтрации (с возможностью наследования) */
|
|
857
|
+
var EWidgetIgnoreFilterMode = VersionedEnum.build({
|
|
858
|
+
latestVersion: "19",
|
|
859
|
+
history: {
|
|
860
|
+
"19": {
|
|
861
|
+
INHERITED: "INHERITED",
|
|
862
|
+
ENABLED: "ENABLED",
|
|
863
|
+
DISABLED: "DISABLED",
|
|
864
|
+
},
|
|
865
|
+
},
|
|
866
|
+
});
|
|
867
|
+
var EMarkdownDisplayMode = VersionedEnum.build({
|
|
868
|
+
latestVersion: "17",
|
|
869
|
+
history: {
|
|
870
|
+
"17": {
|
|
871
|
+
NONE: "NONE",
|
|
872
|
+
INDICATOR: "INDICATOR",
|
|
873
|
+
},
|
|
874
|
+
},
|
|
875
|
+
});
|
|
876
|
+
var EDisplayConditionMode = VersionedEnum.build({
|
|
877
|
+
latestVersion: "17",
|
|
878
|
+
history: {
|
|
879
|
+
"17": {
|
|
880
|
+
DISABLED: "DISABLED",
|
|
881
|
+
FORMULA: "FORMULA",
|
|
882
|
+
VARIABLE: "VARIABLE",
|
|
883
|
+
},
|
|
884
|
+
},
|
|
885
|
+
});
|
|
886
|
+
var EFontWeight = VersionedEnum.build({
|
|
887
|
+
latestVersion: "17",
|
|
888
|
+
history: {
|
|
889
|
+
"17": {
|
|
890
|
+
NORMAL: "NORMAL",
|
|
891
|
+
BOLD: "BOLD",
|
|
892
|
+
},
|
|
893
|
+
},
|
|
894
|
+
});
|
|
895
|
+
var EHeightMode = VersionedEnum.build({
|
|
896
|
+
latestVersion: "17",
|
|
897
|
+
history: {
|
|
898
|
+
"17": {
|
|
899
|
+
FIXED: "FIXED",
|
|
900
|
+
PERCENT: "PERCENT",
|
|
901
|
+
},
|
|
902
|
+
},
|
|
903
|
+
});
|
|
904
|
+
|
|
905
|
+
var SortDirectionSchema = SchemaRegistry.define({
|
|
906
|
+
key: "SortDirection",
|
|
907
|
+
latestVersion: "17",
|
|
908
|
+
history: {
|
|
909
|
+
"17": function (z) {
|
|
910
|
+
return z.union([z.literal(ESortDirection.ascend), z.literal(ESortDirection.descend)]);
|
|
911
|
+
},
|
|
912
|
+
},
|
|
913
|
+
});
|
|
914
|
+
var SortOrderSchema = SchemaRegistry.define({
|
|
915
|
+
key: "SortOrder",
|
|
916
|
+
latestVersion: "17",
|
|
917
|
+
history: {
|
|
918
|
+
"17": function (z) {
|
|
919
|
+
return z.object({
|
|
920
|
+
/** Формула сортировки */
|
|
921
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
922
|
+
/** Тип данных формулы */
|
|
923
|
+
dbDataType: z.string().optional(),
|
|
924
|
+
/** Направление сортировки */
|
|
925
|
+
direction: SortDirectionSchema.forVersion("17")(z),
|
|
926
|
+
/** Условие применения сортировки */
|
|
927
|
+
displayCondition: FormulaSchema.forVersion("17")(z).optional(),
|
|
928
|
+
});
|
|
929
|
+
},
|
|
930
|
+
},
|
|
931
|
+
});
|
|
932
|
+
var WidgetSortingValueSchema = SchemaRegistry.define({
|
|
933
|
+
key: "WidgetSortingValue",
|
|
934
|
+
latestVersion: "17",
|
|
935
|
+
history: {
|
|
936
|
+
"17": function (z) {
|
|
937
|
+
return z.discriminatedUnion("mode", [
|
|
938
|
+
z.object({
|
|
939
|
+
mode: z.literal(ESortingValueModes.FORMULA),
|
|
940
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
941
|
+
dbDataType: z.string().optional(),
|
|
942
|
+
}),
|
|
943
|
+
z.object({
|
|
944
|
+
mode: z.literal(ESortingValueModes.IN_WIDGET),
|
|
945
|
+
group: z.string(),
|
|
946
|
+
index: z.number(),
|
|
947
|
+
}),
|
|
948
|
+
]);
|
|
949
|
+
},
|
|
950
|
+
},
|
|
951
|
+
});
|
|
952
|
+
var SortingValueSchema = SchemaRegistry.define({
|
|
953
|
+
key: "SortingValueSchema",
|
|
954
|
+
latestVersion: "19",
|
|
955
|
+
history: {
|
|
956
|
+
"19": function (z) {
|
|
957
|
+
return z.discriminatedUnion("mode", [
|
|
958
|
+
z.object({
|
|
959
|
+
mode: z.literal(ESortingMode.BY_VALUES),
|
|
960
|
+
direction: SortDirectionSchema(z).default(ESortDirection.ascend),
|
|
961
|
+
}),
|
|
962
|
+
z.object({
|
|
963
|
+
mode: z.literal(ESortingMode.FORMULA),
|
|
964
|
+
direction: SortDirectionSchema(z).default(ESortDirection.ascend),
|
|
965
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
966
|
+
dbDataType: z.string().optional(),
|
|
967
|
+
}),
|
|
968
|
+
]);
|
|
969
|
+
},
|
|
970
|
+
},
|
|
971
|
+
});
|
|
972
|
+
|
|
973
|
+
/** Ключи мета-данных внутри схем настроек */
|
|
974
|
+
var ESettingsSchemaMetaKey = VersionedEnum.build({
|
|
975
|
+
latestVersion: "17",
|
|
976
|
+
history: {
|
|
977
|
+
"17": {
|
|
978
|
+
/** Привязка значения из темы к настройке */
|
|
979
|
+
themeValue: "themeValue",
|
|
980
|
+
/** Тип сущности */
|
|
981
|
+
entity: "entity",
|
|
982
|
+
},
|
|
983
|
+
},
|
|
984
|
+
});
|
|
985
|
+
|
|
986
|
+
var RangeSchema = SchemaRegistry.define({
|
|
987
|
+
key: "Range",
|
|
988
|
+
latestVersion: "17",
|
|
989
|
+
history: {
|
|
990
|
+
"17": function (z) {
|
|
991
|
+
return z.object({
|
|
992
|
+
unit: z.string().optional(),
|
|
993
|
+
min: z.number().optional(),
|
|
994
|
+
max: z.number().optional(),
|
|
995
|
+
});
|
|
996
|
+
},
|
|
997
|
+
},
|
|
998
|
+
});
|
|
999
|
+
var DisplayConditionSchema = SchemaRegistry.define({
|
|
1000
|
+
key: "DisplayCondition",
|
|
1001
|
+
latestVersion: "17",
|
|
1002
|
+
history: {
|
|
1003
|
+
"17": function (z) {
|
|
1004
|
+
return z
|
|
1005
|
+
.discriminatedUnion("mode", [
|
|
1006
|
+
z.object({
|
|
1007
|
+
mode: z.literal(EDisplayConditionMode.DISABLED),
|
|
1008
|
+
}),
|
|
1009
|
+
z.object({
|
|
1010
|
+
mode: z.literal(EDisplayConditionMode.FORMULA),
|
|
1011
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1012
|
+
}),
|
|
1013
|
+
z.object({
|
|
1014
|
+
mode: z.literal(EDisplayConditionMode.VARIABLE),
|
|
1015
|
+
variableName: NameNullableSchema.forVersion("17")(z),
|
|
1016
|
+
variableValue: z.string().nullable().default(null),
|
|
1017
|
+
}),
|
|
1018
|
+
])
|
|
1019
|
+
.default({ mode: EDisplayConditionMode.DISABLED });
|
|
1020
|
+
},
|
|
1021
|
+
},
|
|
1022
|
+
});
|
|
1023
|
+
/** Схема ключа сущности (с возможностью находиться в неинициализированном состоянии) */
|
|
1024
|
+
var KeyNullableSchema = SchemaRegistry.define({
|
|
1025
|
+
key: "KeyNullable",
|
|
1026
|
+
latestVersion: "17",
|
|
1027
|
+
history: {
|
|
1028
|
+
"17": function (z) { return z.string().nullable().default(null); },
|
|
1029
|
+
},
|
|
1030
|
+
});
|
|
1031
|
+
/** Схема имени сущности (с возможностью находиться в неинициализированном состоянии) */
|
|
1032
|
+
var NameNullableSchema = SchemaRegistry.define({
|
|
1033
|
+
key: "NameNullable",
|
|
1034
|
+
latestVersion: "17",
|
|
1035
|
+
history: {
|
|
1036
|
+
"17": function (z) { return z.string().nullable().default(null); },
|
|
1037
|
+
},
|
|
1038
|
+
});
|
|
1039
|
+
/** Схема формулы */
|
|
1040
|
+
var FormulaSchema = SchemaRegistry.define({
|
|
1041
|
+
key: "Formula",
|
|
1042
|
+
latestVersion: "17",
|
|
1043
|
+
history: {
|
|
1044
|
+
"17": function (z) { return z.string().default(""); },
|
|
1045
|
+
},
|
|
1046
|
+
});
|
|
1047
|
+
/**
|
|
1048
|
+
* Схема формулы, которая не может быть пустой строкой, но может быть в
|
|
1049
|
+
* неинициализированном состоянии null (вместо пустой строки)
|
|
1050
|
+
*
|
|
1051
|
+
* @note для обратной совместимости без необходимости писать миграции
|
|
1052
|
+
*/
|
|
1053
|
+
var FormulaNullableSchema = SchemaRegistry.define({
|
|
1054
|
+
key: "FormulaNullable",
|
|
1055
|
+
latestVersion: "17",
|
|
1056
|
+
history: {
|
|
1057
|
+
"17": function (z) { return FormulaSchema.forVersion("17")(z).nullable().default(null); },
|
|
1058
|
+
},
|
|
1059
|
+
});
|
|
1060
|
+
|
|
1061
|
+
// NOTE: В будущем можно сделать fluent-обёртку для цепочных вызовов:
|
|
1062
|
+
// withMetaDecorator(schema).omit({ field: true }).extend({ newField: z.string() })
|
|
1063
|
+
// Это позволит избежать вложенных вызовов omitWithMeta/extendWithMeta.
|
|
1064
|
+
var PARENT_META_KEY = "parent";
|
|
1065
|
+
/**
|
|
1066
|
+
* Возвращает родительскую мету схемы, установленную через extendWithMeta / omitWithMeta.
|
|
1067
|
+
* Используй для обхода цепочки наследования схем.
|
|
1068
|
+
*/
|
|
1069
|
+
function getParentMeta(meta) {
|
|
1070
|
+
return meta[PARENT_META_KEY];
|
|
1071
|
+
}
|
|
1072
|
+
function inheritMeta(target, source) {
|
|
1073
|
+
var _a;
|
|
1074
|
+
var sourceMeta = source.meta();
|
|
1075
|
+
return sourceMeta !== undefined ? target.meta((_a = {}, _a[PARENT_META_KEY] = sourceMeta, _a)) : target;
|
|
1076
|
+
}
|
|
1077
|
+
/**
|
|
1078
|
+
* Расширяет Zod-схему дополнительными полями, сохраняя цепочку наследования мет.
|
|
1079
|
+
*
|
|
1080
|
+
* Мета базовой схемы сохраняется как `parent` в мете расширенной схемы — формируя
|
|
1081
|
+
* иммутабельный связанный список.
|
|
1082
|
+
*
|
|
1083
|
+
* Используй вместо `.extend()` при расширении схем, задекларированных через
|
|
1084
|
+
* `SchemaRegistry.define`, — это обязательное условие корректной работы миграций.
|
|
1085
|
+
*
|
|
1086
|
+
* @example
|
|
1087
|
+
* // Вместо:
|
|
1088
|
+
* DimensionSchema(z).extend({ color: ColorSchema(z) })
|
|
1089
|
+
*
|
|
1090
|
+
* // Используй:
|
|
1091
|
+
* extendWithMeta(DimensionSchema(z), { color: ColorSchema(z) })
|
|
1092
|
+
*/
|
|
1093
|
+
function extendWithMeta(schema, extension) {
|
|
1094
|
+
return inheritMeta(schema.extend(extension), schema);
|
|
1095
|
+
}
|
|
1096
|
+
/**
|
|
1097
|
+
* Создаёт Zod-схему с удалёнными полями, сохраняя цепочку наследования мет.
|
|
1098
|
+
*
|
|
1099
|
+
* Мета базовой схемы сохраняется как `parent` в мете результирующей схемы.
|
|
1100
|
+
*
|
|
1101
|
+
* Используй вместо `.omit()` при работе со схемами, задекларированными через
|
|
1102
|
+
* `SchemaRegistry.define`, — это обязательное условие корректной работы миграций.
|
|
1103
|
+
*
|
|
1104
|
+
* @example
|
|
1105
|
+
* // Вместо:
|
|
1106
|
+
* BaseWidgetSettingsSchema(z).omit({ paddings: true })
|
|
1107
|
+
*
|
|
1108
|
+
* // Используй:
|
|
1109
|
+
* omitWithMeta(BaseWidgetSettingsSchema(z), { paddings: true })
|
|
1110
|
+
*/
|
|
1111
|
+
function omitWithMeta(schema, keys) {
|
|
1112
|
+
return inheritMeta(schema.omit(keys), schema);
|
|
1113
|
+
}
|
|
1114
|
+
/**
|
|
1115
|
+
* Проверяет, есть ли в цепочке наследования мет узел, удовлетворяющий предикату.
|
|
1116
|
+
*
|
|
1117
|
+
* Обходит цепочку от текущей меты к корню через ссылки parent, установленные
|
|
1118
|
+
* функциями extendWithMeta / omitWithMeta.
|
|
1119
|
+
*
|
|
1120
|
+
* @example
|
|
1121
|
+
* hasInMetaChain(schema.meta(), (meta) => meta.type === "WidgetDimension")
|
|
1122
|
+
*/
|
|
1123
|
+
function hasInMetaChain(meta, predicate) {
|
|
1124
|
+
var current = meta;
|
|
1125
|
+
while (current !== undefined) {
|
|
1126
|
+
if (predicate(current))
|
|
1127
|
+
return true;
|
|
1128
|
+
current = getParentMeta(current);
|
|
1129
|
+
}
|
|
1130
|
+
return false;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
var WidgetIndicatorSchema = SchemaRegistry.define({
|
|
1134
|
+
key: "WidgetIndicator",
|
|
1135
|
+
latestVersion: "17",
|
|
1136
|
+
history: {
|
|
1137
|
+
"17": function (z) {
|
|
1138
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
1139
|
+
name: z.string(),
|
|
1140
|
+
});
|
|
1141
|
+
},
|
|
1142
|
+
},
|
|
1143
|
+
});
|
|
1144
|
+
var FormatSchema = SchemaRegistry.define({
|
|
1145
|
+
key: "Format",
|
|
1146
|
+
latestVersion: "17",
|
|
1147
|
+
history: {
|
|
1148
|
+
"17": function (z) {
|
|
1149
|
+
return z
|
|
1150
|
+
.discriminatedUnion("mode", [
|
|
1151
|
+
z.object({
|
|
1152
|
+
mode: z.literal(EFormatOrFormattingMode.BASE),
|
|
1153
|
+
value: z.enum(EFormatTypes).default(EFormatTypes.STRING).optional(),
|
|
1154
|
+
}),
|
|
1155
|
+
z.object({
|
|
1156
|
+
mode: z.literal(EFormatOrFormattingMode.TEMPLATE),
|
|
1157
|
+
value: z.string().default("").optional(),
|
|
1158
|
+
}),
|
|
1159
|
+
])
|
|
1160
|
+
.default({ mode: EFormatOrFormattingMode.BASE, value: EFormatTypes.STRING });
|
|
1161
|
+
},
|
|
1162
|
+
},
|
|
1163
|
+
});
|
|
1164
|
+
var FormattingSchema = SchemaRegistry.define({
|
|
1165
|
+
key: "Formatting",
|
|
1166
|
+
latestVersion: "17",
|
|
1167
|
+
history: {
|
|
1168
|
+
"17": function (z) {
|
|
1169
|
+
return z
|
|
1170
|
+
.discriminatedUnion("mode", [
|
|
1171
|
+
z.object({
|
|
1172
|
+
mode: z.literal(EFormatOrFormattingMode.BASE),
|
|
1173
|
+
value: z.enum(EFormattingPresets).default(EFormattingPresets.AUTO),
|
|
1174
|
+
}),
|
|
1175
|
+
z.object({
|
|
1176
|
+
mode: z.literal(EFormatOrFormattingMode.TEMPLATE),
|
|
1177
|
+
value: z.string().default(""),
|
|
1178
|
+
}),
|
|
1179
|
+
])
|
|
1180
|
+
.default({ mode: EFormatOrFormattingMode.BASE, value: EFormattingPresets.AUTO });
|
|
1181
|
+
},
|
|
1182
|
+
},
|
|
1183
|
+
});
|
|
1184
|
+
var WidgetColumnIndicatorSchema = SchemaRegistry.define({
|
|
1185
|
+
key: "WidgetColumnIndicator",
|
|
1186
|
+
latestVersion: "17",
|
|
1187
|
+
history: {
|
|
1188
|
+
"17": function (z) {
|
|
1189
|
+
return extendWithMeta(WidgetIndicatorSchema.forVersion("17")(z), {
|
|
1190
|
+
dbDataType: z.string().optional(),
|
|
1191
|
+
format: FormatSchema.forVersion("17")(z).optional(),
|
|
1192
|
+
formatting: FormattingSchema.forVersion("17")(z).optional(),
|
|
1193
|
+
displayCondition: DisplayConditionSchema.forVersion("17")(z),
|
|
1194
|
+
onClick: z.array(ActionsOnClickSchema.forVersion("17")(z)).default([]).optional(),
|
|
1195
|
+
});
|
|
1196
|
+
},
|
|
1197
|
+
},
|
|
1198
|
+
});
|
|
1199
|
+
var WidgetIndicatorFormulaValueSchema = SchemaRegistry.define({
|
|
1200
|
+
key: "WidgetIndicatorFormulaValue",
|
|
1201
|
+
latestVersion: "17",
|
|
1202
|
+
history: {
|
|
1203
|
+
"17": function (z) {
|
|
1204
|
+
return z.object({
|
|
1205
|
+
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
1206
|
+
formula: FormulaSchema.forVersion("17")(z).optional(),
|
|
1207
|
+
});
|
|
1208
|
+
},
|
|
1209
|
+
},
|
|
1210
|
+
});
|
|
1211
|
+
var WidgetIndicatorTemplateValueSchema = SchemaRegistry.define({
|
|
1212
|
+
key: "WidgetIndicatorTemplateValue",
|
|
1213
|
+
latestVersion: "17",
|
|
1214
|
+
history: {
|
|
1215
|
+
"17": function (z) {
|
|
1216
|
+
return z.object({
|
|
1217
|
+
mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
|
|
1218
|
+
/** Имя шаблонной формулы, использующей колонку таблицы */
|
|
1219
|
+
templateName: z.string().optional(),
|
|
1220
|
+
/** Имя таблицы */
|
|
1221
|
+
tableName: z.string().optional(),
|
|
1222
|
+
/** Имя колонки */
|
|
1223
|
+
columnName: z.string().optional(),
|
|
1224
|
+
});
|
|
1225
|
+
},
|
|
1226
|
+
},
|
|
1227
|
+
});
|
|
1228
|
+
var ColumnIndicatorValueSchema = SchemaRegistry.define({
|
|
1229
|
+
key: "ColumnIndicatorValue",
|
|
1230
|
+
latestVersion: "17",
|
|
1231
|
+
history: {
|
|
1232
|
+
"17": function (z) {
|
|
1233
|
+
return z.union([MeasureValueSchema.forVersion("17")(z), DimensionValueSchema.forVersion("17")(z)]);
|
|
1234
|
+
},
|
|
1235
|
+
},
|
|
1236
|
+
});
|
|
1237
|
+
var MeasureValueSchema = SchemaRegistry.define({
|
|
1238
|
+
key: "MeasureValue",
|
|
1239
|
+
latestVersion: "17",
|
|
1240
|
+
history: {
|
|
1241
|
+
"17": function (z) {
|
|
1242
|
+
return z.discriminatedUnion("mode", [
|
|
1243
|
+
WidgetIndicatorFormulaValueSchema.forVersion("17")(z),
|
|
1244
|
+
extendWithMeta(WidgetIndicatorTemplateValueSchema.forVersion("17")(z), {
|
|
1245
|
+
innerTemplateName: z.enum(zodEnumLike(EMeasureInnerTemplateNames)).optional(),
|
|
1246
|
+
}),
|
|
1247
|
+
]);
|
|
1248
|
+
},
|
|
1249
|
+
},
|
|
1250
|
+
});
|
|
1251
|
+
var DimensionValueSchema = SchemaRegistry.define({
|
|
1252
|
+
key: "DimensionValue",
|
|
1253
|
+
latestVersion: "17",
|
|
1254
|
+
history: {
|
|
1255
|
+
"17": function (z) {
|
|
1256
|
+
return z.discriminatedUnion("mode", [
|
|
1257
|
+
WidgetIndicatorFormulaValueSchema.forVersion("17")(z),
|
|
1258
|
+
extendWithMeta(WidgetIndicatorTemplateValueSchema.forVersion("17")(z), {
|
|
1259
|
+
innerTemplateName: z.never().optional(),
|
|
1260
|
+
}),
|
|
1261
|
+
]);
|
|
1262
|
+
},
|
|
1263
|
+
},
|
|
1264
|
+
});
|
|
1265
|
+
var WidgetIndicatorAggregationValueSchema = SchemaRegistry.define({
|
|
1266
|
+
key: "WidgetIndicatorAggregationValue",
|
|
1267
|
+
latestVersion: "17",
|
|
1268
|
+
history: {
|
|
1269
|
+
"17": function (z) {
|
|
1270
|
+
return z.object({
|
|
1271
|
+
mode: z.literal(EWidgetIndicatorValueModes.AGGREGATION),
|
|
1272
|
+
templateName: z.string(),
|
|
1273
|
+
processKey: KeyNullableSchema.forVersion("17")(z),
|
|
1274
|
+
eventName: NameNullableSchema.forVersion("17")(z),
|
|
1275
|
+
eventNameFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1276
|
+
anyEvent: z.literal(true).optional(),
|
|
1277
|
+
caseCaseIdFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1278
|
+
filters: z.array(ExtendedFormulaFilterValueSchema.forVersion("17")(z)).default([]),
|
|
1279
|
+
tableName: z.string().optional(),
|
|
1280
|
+
columnName: z.string().optional(),
|
|
1281
|
+
eventTimeFormula: FormulaNullableSchema.forVersion("17")(z).optional(),
|
|
1282
|
+
innerTemplateName: z.string().optional(),
|
|
1283
|
+
});
|
|
1284
|
+
},
|
|
1285
|
+
},
|
|
1286
|
+
});
|
|
1287
|
+
var WidgetMeasureAggregationValueSchema = SchemaRegistry.define({
|
|
1288
|
+
key: "WidgetMeasureAggregationValue",
|
|
1289
|
+
latestVersion: "17",
|
|
1290
|
+
history: {
|
|
1291
|
+
"17": function (z) {
|
|
1292
|
+
return extendWithMeta(WidgetIndicatorAggregationValueSchema.forVersion("17")(z), {
|
|
1293
|
+
outerAggregation: z.enum(EOuterAggregation[VersionedEnum.forVersion]("17")),
|
|
1294
|
+
});
|
|
1295
|
+
},
|
|
1296
|
+
},
|
|
1297
|
+
});
|
|
1298
|
+
var WidgetIndicatorTimeValueSchema = SchemaRegistry.define({
|
|
1299
|
+
key: "WidgetIndicatorTimeValue",
|
|
1300
|
+
latestVersion: "17",
|
|
1301
|
+
history: {
|
|
1302
|
+
"17": function (z) {
|
|
1303
|
+
return z.object({
|
|
1304
|
+
templateName: z.string(),
|
|
1305
|
+
mode: z.union([
|
|
1306
|
+
z.literal(EWidgetIndicatorValueModes.START_TIME),
|
|
1307
|
+
z.literal(EWidgetIndicatorValueModes.END_TIME),
|
|
1308
|
+
]),
|
|
1309
|
+
processKey: KeyNullableSchema.forVersion("17")(z),
|
|
1310
|
+
eventName: NameNullableSchema.forVersion("17")(z),
|
|
1311
|
+
eventTimeFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1312
|
+
caseCaseIdFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1313
|
+
eventNameFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1314
|
+
filters: z.array(ExtendedFormulaFilterValueSchema.forVersion("17")(z)).default([]),
|
|
1315
|
+
});
|
|
1316
|
+
},
|
|
1317
|
+
},
|
|
1318
|
+
});
|
|
1319
|
+
var WidgetDimensionSchema = SchemaRegistry.define({
|
|
1320
|
+
key: "WidgetDimension",
|
|
1321
|
+
latestVersion: "19",
|
|
1322
|
+
get history() {
|
|
1323
|
+
var v17 = function (z) {
|
|
1324
|
+
return extendWithMeta(WidgetColumnIndicatorSchema.forVersion("17")(z), {
|
|
1325
|
+
value: z
|
|
1326
|
+
.discriminatedUnion("mode", [
|
|
1327
|
+
DimensionValueSchema.forVersion("17")(z),
|
|
1328
|
+
extendWithMeta(WidgetIndicatorAggregationValueSchema.forVersion("17")(z), {
|
|
1329
|
+
innerTemplateName: z.string().optional(),
|
|
1330
|
+
}),
|
|
1331
|
+
WidgetIndicatorTimeValueSchema.forVersion("17")(z),
|
|
1332
|
+
])
|
|
1333
|
+
.optional(),
|
|
1334
|
+
hideEmptyValues: z.boolean().default(false),
|
|
1335
|
+
});
|
|
1336
|
+
};
|
|
1337
|
+
return {
|
|
1338
|
+
"17": v17,
|
|
1339
|
+
"19": function (z) {
|
|
1340
|
+
return extendWithMeta(v17(z), {
|
|
1341
|
+
filterMode: WidgetFilterModeSchema.forVersion("19")(z).default(EWidgetFilterMode.INHERITED),
|
|
1342
|
+
});
|
|
1343
|
+
},
|
|
1344
|
+
};
|
|
1345
|
+
},
|
|
1346
|
+
});
|
|
1347
|
+
var WidgetDimensionInHierarchySchema = SchemaRegistry.define({
|
|
1348
|
+
key: "WidgetDimensionInHierarchy",
|
|
1349
|
+
latestVersion: "19",
|
|
1350
|
+
history: {
|
|
1351
|
+
"17": function (z) {
|
|
1352
|
+
return omitWithMeta(WidgetDimensionSchema.forVersion("17")(z), { displayCondition: true });
|
|
1353
|
+
},
|
|
1354
|
+
"19": function (z) {
|
|
1355
|
+
return omitWithMeta(WidgetDimensionSchema.forVersion("19")(z), { displayCondition: true });
|
|
1356
|
+
},
|
|
1357
|
+
},
|
|
1358
|
+
});
|
|
1359
|
+
var WidgetDimensionHierarchySchema = SchemaRegistry.define({
|
|
1360
|
+
key: "WidgetDimensionHierarchy",
|
|
1361
|
+
latestVersion: "19",
|
|
1362
|
+
get history() {
|
|
1363
|
+
// Тело buildHierarchy одинаково для v17/v19 — версии нужны только для ограничения типа D,
|
|
1364
|
+
// чтобы вызывающий код мог передавать dimension-схему нужной версии без ручного приведения.
|
|
1365
|
+
var buildHierarchy = function (z, dimensionSchema) {
|
|
1366
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
1367
|
+
name: z.string(),
|
|
1368
|
+
// Для иерархии является дискриминатором, для него нельзя задавать дефолтное значение.
|
|
1369
|
+
hierarchyDimensions: z.array(dimensionSchema),
|
|
1370
|
+
displayCondition: DisplayConditionSchema.forVersion("17")(z),
|
|
1371
|
+
});
|
|
1372
|
+
};
|
|
1373
|
+
var forVersionedBuilder = function (_version) {
|
|
1374
|
+
return function (z, dimensionSchema) {
|
|
1375
|
+
return buildHierarchy(z, dimensionSchema);
|
|
1376
|
+
};
|
|
1377
|
+
};
|
|
1378
|
+
return {
|
|
1379
|
+
"17": forVersionedBuilder(),
|
|
1380
|
+
"19": forVersionedBuilder(),
|
|
1381
|
+
};
|
|
1382
|
+
},
|
|
1383
|
+
});
|
|
1384
|
+
var WidgetIndicatorConversionValueSchema = SchemaRegistry.define({
|
|
1385
|
+
key: "WidgetIndicatorConversionValue",
|
|
1386
|
+
latestVersion: "17",
|
|
1387
|
+
history: {
|
|
1388
|
+
"17": function (z) {
|
|
1389
|
+
return z.object({
|
|
1390
|
+
mode: z.literal(EWidgetIndicatorValueModes.CONVERSION),
|
|
1391
|
+
startEventNameFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1392
|
+
startEventProcessKey: KeyNullableSchema.forVersion("17")(z),
|
|
1393
|
+
startEventName: NameNullableSchema.forVersion("17")(z),
|
|
1394
|
+
startEventFilters: z
|
|
1395
|
+
.array(ExtendedFormulaFilterValueSchema.forVersion("17")(z))
|
|
1396
|
+
.default([]),
|
|
1397
|
+
startEventTimeFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1398
|
+
endEventNameFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1399
|
+
endEventProcessKey: KeyNullableSchema.forVersion("17")(z),
|
|
1400
|
+
endEventName: NameNullableSchema.forVersion("17")(z),
|
|
1401
|
+
endEventFilters: z.array(ExtendedFormulaFilterValueSchema.forVersion("17")(z)).default([]),
|
|
1402
|
+
endCaseCaseIdFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1403
|
+
endEventTimeFormula: FormulaNullableSchema.forVersion("17")(z),
|
|
1404
|
+
});
|
|
1405
|
+
},
|
|
1406
|
+
},
|
|
1407
|
+
});
|
|
1408
|
+
var WidgetIndicatorDurationValueSchema = SchemaRegistry.define({
|
|
1409
|
+
key: "WidgetIndicatorDurationValue",
|
|
1410
|
+
latestVersion: "17",
|
|
1411
|
+
history: {
|
|
1412
|
+
"17": function (z) {
|
|
1413
|
+
return extendWithMeta(WidgetIndicatorConversionValueSchema.forVersion("17")(z), {
|
|
1414
|
+
mode: z.literal(EWidgetIndicatorValueModes.DURATION),
|
|
1415
|
+
templateName: z.string(),
|
|
1416
|
+
startEventAppearances: z.enum(EEventAppearances[VersionedEnum.forVersion]("17")),
|
|
1417
|
+
endEventAppearances: z.enum(EEventAppearances[VersionedEnum.forVersion]("17")),
|
|
1418
|
+
});
|
|
1419
|
+
},
|
|
1420
|
+
},
|
|
1421
|
+
});
|
|
1422
|
+
var WidgetMeasureSchema = SchemaRegistry.define({
|
|
1423
|
+
key: "WidgetMeasure",
|
|
1424
|
+
latestVersion: "17",
|
|
1425
|
+
history: {
|
|
1426
|
+
"17": function (z) {
|
|
1427
|
+
return extendWithMeta(WidgetColumnIndicatorSchema.forVersion("17")(z), {
|
|
1428
|
+
value: z
|
|
1429
|
+
.discriminatedUnion("mode", [
|
|
1430
|
+
MeasureValueSchema.forVersion("17")(z),
|
|
1431
|
+
WidgetMeasureAggregationValueSchema.forVersion("17")(z),
|
|
1432
|
+
WidgetIndicatorConversionValueSchema.forVersion("17")(z),
|
|
1433
|
+
WidgetIndicatorDurationValueSchema.forVersion("17")(z),
|
|
1434
|
+
])
|
|
1435
|
+
.optional(),
|
|
1436
|
+
});
|
|
1437
|
+
},
|
|
1438
|
+
},
|
|
1439
|
+
});
|
|
1440
|
+
var MarkdownMeasureSchema = SchemaRegistry.define({
|
|
1441
|
+
key: "MarkdownMeasure",
|
|
1442
|
+
latestVersion: "17",
|
|
1443
|
+
history: {
|
|
1444
|
+
"17": function (z) {
|
|
1445
|
+
var v17MarkdownDisplayMode = EMarkdownDisplayMode[VersionedEnum.forVersion]("17");
|
|
1446
|
+
return extendWithMeta(WidgetMeasureSchema.forVersion("17")(z), {
|
|
1447
|
+
displaySign: z
|
|
1448
|
+
.enum(zodEnumLike(v17MarkdownDisplayMode))
|
|
1449
|
+
.default(v17MarkdownDisplayMode.NONE),
|
|
1450
|
+
});
|
|
1451
|
+
},
|
|
1452
|
+
},
|
|
1453
|
+
});
|
|
1454
|
+
var WidgetSortingIndicatorSchema = SchemaRegistry.define({
|
|
1455
|
+
key: "WidgetSortingIndicator",
|
|
1456
|
+
latestVersion: "17",
|
|
1457
|
+
history: {
|
|
1458
|
+
"17": function (z) {
|
|
1459
|
+
return extendWithMeta(WidgetIndicatorSchema.forVersion("17")(z), {
|
|
1460
|
+
direction: SortDirectionSchema.forVersion("17")(z),
|
|
1461
|
+
value: WidgetSortingValueSchema.forVersion("17")(z),
|
|
1462
|
+
});
|
|
1463
|
+
},
|
|
1464
|
+
},
|
|
1465
|
+
});
|
|
1466
|
+
var ProcessIndicatorValueSchema = SchemaRegistry.define({
|
|
1467
|
+
key: "ProcessIndicatorValue",
|
|
1468
|
+
latestVersion: "17",
|
|
1469
|
+
history: {
|
|
1470
|
+
"17": function (z) {
|
|
1471
|
+
return z.discriminatedUnion("mode", [
|
|
1472
|
+
z.object({
|
|
1473
|
+
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
1474
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1475
|
+
}),
|
|
1476
|
+
z.object({
|
|
1477
|
+
mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
|
|
1478
|
+
/** Имя шаблонной формулы, использующей колонку таблицы */
|
|
1479
|
+
templateName: z.string(),
|
|
1480
|
+
}),
|
|
1481
|
+
]);
|
|
1482
|
+
},
|
|
1483
|
+
},
|
|
1484
|
+
});
|
|
1485
|
+
var ProcessIndicatorSchema = SchemaRegistry.define({
|
|
1486
|
+
key: "ProcessIndicator",
|
|
1487
|
+
latestVersion: "17",
|
|
1488
|
+
history: {
|
|
1489
|
+
"17": function (z) {
|
|
1490
|
+
return extendWithMeta(WidgetIndicatorSchema.forVersion("17")(z), {
|
|
1491
|
+
value: ProcessIndicatorValueSchema.forVersion("17")(z).optional(),
|
|
1492
|
+
dbDataType: z.string().optional(),
|
|
1493
|
+
format: FormatSchema.forVersion("17")(z).optional(),
|
|
1494
|
+
formatting: FormattingSchema.forVersion("17")(z).optional(),
|
|
1495
|
+
displayCondition: DisplayConditionSchema.forVersion("17")(z),
|
|
1496
|
+
});
|
|
1497
|
+
},
|
|
1498
|
+
},
|
|
1499
|
+
});
|
|
1500
|
+
|
|
1501
|
+
var FormulaFilterValueSchema = SchemaRegistry.define({
|
|
1502
|
+
key: "FormulaFilterValue",
|
|
1503
|
+
latestVersion: "17",
|
|
1504
|
+
history: {
|
|
1505
|
+
"17": function (z) {
|
|
1506
|
+
var _a;
|
|
1507
|
+
return z.object({
|
|
1508
|
+
name: z.string().nullish(),
|
|
1509
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1510
|
+
sliceIndex: z.number().optional(),
|
|
1511
|
+
dbDataType: z.string(),
|
|
1512
|
+
format: z.union([z.enum(EFormatTypes), z.string()]).optional(),
|
|
1513
|
+
filteringMethod: z.enum(Object.values(formulaFilterMethods)),
|
|
1514
|
+
checkedValues: z.array(z.string().nullable()).default([]).optional(),
|
|
1515
|
+
formValues: z
|
|
1516
|
+
.object((_a = {},
|
|
1517
|
+
_a[EFormulaFilterFieldKeys.date] = z.string().nullable(),
|
|
1518
|
+
_a[EFormulaFilterFieldKeys.dateRange] = z.tuple([z.string(), z.string()]),
|
|
1519
|
+
_a[EFormulaFilterFieldKeys.numberRange] = z.tuple([
|
|
1520
|
+
z.number().nullable(),
|
|
1521
|
+
z.number().nullable(),
|
|
1522
|
+
]),
|
|
1523
|
+
_a[EFormulaFilterFieldKeys.string] = z.string(),
|
|
1524
|
+
// todo: отказаться от использования z.string(), оставить только z.number() [BI-15912]
|
|
1525
|
+
_a[EFormulaFilterFieldKeys.lastTimeValue] = z.number().or(z.string()),
|
|
1526
|
+
_a[EFormulaFilterFieldKeys.lastTimeUnit] = z.enum(zodEnumLike(ELastTimeUnit)),
|
|
1527
|
+
_a[EFormulaFilterFieldKeys.durationUnit] = z.enum(zodEnumLike(EDurationUnit)),
|
|
1528
|
+
_a))
|
|
1529
|
+
.partial()
|
|
1530
|
+
.optional(),
|
|
1531
|
+
});
|
|
1532
|
+
},
|
|
1533
|
+
},
|
|
1534
|
+
});
|
|
1535
|
+
var ExtendedFormulaFilterValueSchema = SchemaRegistry.define({
|
|
1536
|
+
key: "ExtendedFormulaFilterValue",
|
|
1537
|
+
latestVersion: "17",
|
|
1538
|
+
history: {
|
|
1539
|
+
"17": function (z) {
|
|
1540
|
+
return z.union([
|
|
1541
|
+
FormulaFilterValueSchema.forVersion("17")(z),
|
|
1542
|
+
z.object({ formula: FormulaSchema.forVersion("17")(z) }),
|
|
1543
|
+
]);
|
|
1544
|
+
},
|
|
1545
|
+
},
|
|
1546
|
+
});
|
|
1547
|
+
var DimensionProcessFilterSchema = SchemaRegistry.define({
|
|
1548
|
+
key: "DimensionProcessFilter",
|
|
1549
|
+
latestVersion: "17",
|
|
1550
|
+
history: {
|
|
1551
|
+
"17": function (z) {
|
|
1552
|
+
return z.object({
|
|
1553
|
+
value: z.union([
|
|
1554
|
+
extendWithMeta(WidgetIndicatorAggregationValueSchema.forVersion("17")(z), {
|
|
1555
|
+
outerAggregation: z.enum(EOuterAggregation[VersionedEnum.forVersion]("17")),
|
|
1556
|
+
}),
|
|
1557
|
+
extendWithMeta(WidgetIndicatorAggregationValueSchema.forVersion("17")(z), {
|
|
1558
|
+
innerTemplateName: z.string().optional(),
|
|
1559
|
+
}),
|
|
1560
|
+
WidgetIndicatorTimeValueSchema.forVersion("17")(z),
|
|
1561
|
+
z.object({
|
|
1562
|
+
mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
|
|
1563
|
+
formula: FormulaSchema.forVersion("17")(z).optional(),
|
|
1564
|
+
}),
|
|
1565
|
+
]),
|
|
1566
|
+
dbDataType: z.string(),
|
|
1567
|
+
condition: z.object({
|
|
1568
|
+
filteringMethod: z.enum(Object.values(formulaFilterMethods)),
|
|
1569
|
+
timeUnit: z.enum(zodEnumLike(EDimensionProcessFilterTimeUnit)).optional(),
|
|
1570
|
+
values: z.array(z.string().nullable()),
|
|
1571
|
+
}),
|
|
1572
|
+
});
|
|
1573
|
+
},
|
|
1574
|
+
},
|
|
1575
|
+
});
|
|
1576
|
+
var SettingsFilterSchema = SchemaRegistry.define({
|
|
1577
|
+
key: "SettingsFilter",
|
|
1578
|
+
latestVersion: "17",
|
|
1579
|
+
history: {
|
|
1580
|
+
"17": function (z) {
|
|
1581
|
+
return z.union([
|
|
1582
|
+
DimensionProcessFilterSchema.forVersion("17")(z),
|
|
1583
|
+
ExtendedFormulaFilterValueSchema.forVersion("17")(z),
|
|
1584
|
+
]);
|
|
1585
|
+
},
|
|
1586
|
+
},
|
|
1587
|
+
});
|
|
1588
|
+
var WidgetIgnoreFilterModeSchema = SchemaRegistry.define({
|
|
1589
|
+
key: "WidgetIgnoreFilterMode",
|
|
1590
|
+
latestVersion: "19",
|
|
1591
|
+
history: {
|
|
1592
|
+
"19": function (z) {
|
|
1593
|
+
var v19IgnoreFilterMode = EWidgetIgnoreFilterMode[VersionedEnum.forVersion]("19");
|
|
1594
|
+
return z.enum(zodEnumLike(v19IgnoreFilterMode)).default(v19IgnoreFilterMode.INHERITED);
|
|
1595
|
+
},
|
|
1596
|
+
},
|
|
1597
|
+
});
|
|
1598
|
+
var WidgetFilterModeSchema = SchemaRegistry.define({
|
|
1599
|
+
key: "WidgetFilterMode",
|
|
1600
|
+
latestVersion: "19",
|
|
1601
|
+
history: {
|
|
1602
|
+
"19": function (z) {
|
|
1603
|
+
var v19FilterMode = EWidgetFilterMode[VersionedEnum.forVersion]("19");
|
|
1604
|
+
return z.enum(zodEnumLike(v19FilterMode)).default(v19FilterMode.INHERITED);
|
|
1605
|
+
},
|
|
1606
|
+
},
|
|
1607
|
+
});
|
|
1608
|
+
|
|
1609
|
+
var ActionOnClickParameterCommonSchema = SchemaRegistry.define({
|
|
1610
|
+
key: "ActionOnClickParameterCommon",
|
|
1611
|
+
latestVersion: "17",
|
|
1612
|
+
history: {
|
|
1613
|
+
"17": function (z) {
|
|
1614
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
1615
|
+
name: z.string(),
|
|
1616
|
+
});
|
|
1617
|
+
},
|
|
1618
|
+
},
|
|
1619
|
+
});
|
|
1620
|
+
var ParameterFromColumnSchema = SchemaRegistry.define({
|
|
1621
|
+
key: "ParameterFromColumn",
|
|
1622
|
+
latestVersion: "17",
|
|
1623
|
+
history: {
|
|
1624
|
+
"17": function (z) {
|
|
1625
|
+
return z.object({
|
|
1626
|
+
inputMethod: z.literal(EWidgetActionInputMethod.COLUMN),
|
|
1627
|
+
tableName: z.string().nullable().default(null),
|
|
1628
|
+
columnName: z.string().nullable().default(null),
|
|
1629
|
+
dbDataType: z.string().optional(),
|
|
1630
|
+
value: z.string().nullable().optional(),
|
|
1631
|
+
});
|
|
1632
|
+
},
|
|
1633
|
+
},
|
|
1634
|
+
});
|
|
1635
|
+
var ParameterFromVariableSchema = SchemaRegistry.define({
|
|
1636
|
+
key: "ParameterFromVariable",
|
|
1637
|
+
latestVersion: "17",
|
|
1638
|
+
history: {
|
|
1639
|
+
"17": function (z) {
|
|
1640
|
+
return z.object({
|
|
1641
|
+
inputMethod: z.literal(EWidgetActionInputMethod.VARIABLE),
|
|
1642
|
+
sourceVariable: z.string().nullable().default(null),
|
|
1643
|
+
});
|
|
1644
|
+
},
|
|
1645
|
+
},
|
|
1646
|
+
});
|
|
1647
|
+
var ParameterFromFormulaSchema = SchemaRegistry.define({
|
|
1648
|
+
key: "ParameterFromFormula",
|
|
1649
|
+
latestVersion: "17",
|
|
1650
|
+
history: {
|
|
1651
|
+
"17": function (z) {
|
|
1652
|
+
return z.object({
|
|
1653
|
+
inputMethod: z.literal(EWidgetActionInputMethod.FORMULA),
|
|
1654
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1655
|
+
considerFilters: z.boolean().default(false),
|
|
1656
|
+
dbDataType: z.string().optional(),
|
|
1657
|
+
});
|
|
1658
|
+
},
|
|
1659
|
+
},
|
|
1660
|
+
});
|
|
1661
|
+
var ParameterFromEventSchema = SchemaRegistry.define({
|
|
1662
|
+
key: "ParameterFromEvent",
|
|
1663
|
+
latestVersion: "17",
|
|
1664
|
+
history: {
|
|
1665
|
+
"17": function (z) {
|
|
1666
|
+
return z.object({
|
|
1667
|
+
inputMethod: z.literal(EWidgetActionInputMethod.EVENT),
|
|
1668
|
+
});
|
|
1669
|
+
},
|
|
1670
|
+
},
|
|
1671
|
+
});
|
|
1672
|
+
var ParameterFromStartEventSchema = SchemaRegistry.define({
|
|
1673
|
+
key: "ParameterFromStartEvent",
|
|
1674
|
+
latestVersion: "17",
|
|
1675
|
+
history: {
|
|
1676
|
+
"17": function (z) {
|
|
1677
|
+
return z.object({
|
|
1678
|
+
inputMethod: z.literal(EWidgetActionInputMethod.START_EVENT),
|
|
1679
|
+
});
|
|
1680
|
+
},
|
|
1681
|
+
},
|
|
1682
|
+
});
|
|
1683
|
+
var ParameterFromEndEventSchema = SchemaRegistry.define({
|
|
1684
|
+
key: "ParameterFromEndEvent",
|
|
1685
|
+
latestVersion: "17",
|
|
1686
|
+
history: {
|
|
1687
|
+
"17": function (z) {
|
|
1688
|
+
return z.object({
|
|
1689
|
+
inputMethod: z.literal(EWidgetActionInputMethod.FINISH_EVENT),
|
|
1690
|
+
});
|
|
1691
|
+
},
|
|
1692
|
+
},
|
|
1693
|
+
});
|
|
1694
|
+
var ParameterFromAggregationSchema = SchemaRegistry.define({
|
|
1695
|
+
key: "ParameterFromAggregation",
|
|
1696
|
+
latestVersion: "17",
|
|
1697
|
+
history: {
|
|
1698
|
+
"17": function (z) {
|
|
1699
|
+
return z.object({
|
|
1700
|
+
inputMethod: z.literal(EWidgetActionInputMethod.AGGREGATION),
|
|
1701
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1702
|
+
considerFilters: z.boolean().default(false),
|
|
1703
|
+
dbDataType: z.string().optional(),
|
|
1704
|
+
});
|
|
1705
|
+
},
|
|
1706
|
+
},
|
|
1707
|
+
});
|
|
1708
|
+
var ParameterFromManualInputSchema = SchemaRegistry.define({
|
|
1709
|
+
key: "ParameterFromManualInput",
|
|
1710
|
+
latestVersion: "17",
|
|
1711
|
+
history: {
|
|
1712
|
+
"17": function (z) {
|
|
1713
|
+
return z.object({
|
|
1714
|
+
inputMethod: z.literal(EWidgetActionInputMethod.MANUALLY),
|
|
1715
|
+
description: z.string().default(""),
|
|
1716
|
+
defaultValue: FormulaSchema.forVersion("17")(z),
|
|
1717
|
+
dbDataType: z.string().optional(),
|
|
1718
|
+
filterByRows: z.boolean().default(false),
|
|
1719
|
+
validation: FormulaSchema.forVersion("17")(z),
|
|
1720
|
+
acceptEmptyValue: z.boolean().default(false),
|
|
1721
|
+
});
|
|
1722
|
+
},
|
|
1723
|
+
},
|
|
1724
|
+
});
|
|
1725
|
+
var ParameterFromStaticListSchema = SchemaRegistry.define({
|
|
1726
|
+
key: "ParameterFromStaticList",
|
|
1727
|
+
latestVersion: "17",
|
|
1728
|
+
history: {
|
|
1729
|
+
"17": function (z) {
|
|
1730
|
+
return z.object({
|
|
1731
|
+
inputMethod: z.literal(EWidgetActionInputMethod.STATIC_LIST),
|
|
1732
|
+
options: z.string().default(""),
|
|
1733
|
+
defaultValue: z
|
|
1734
|
+
.union([z.string(), z.array(z.string())])
|
|
1735
|
+
.nullable()
|
|
1736
|
+
.default(null),
|
|
1737
|
+
acceptEmptyValue: z.boolean().default(false),
|
|
1738
|
+
});
|
|
1739
|
+
},
|
|
1740
|
+
},
|
|
1741
|
+
});
|
|
1742
|
+
var ParameterFromDynamicListSchema = SchemaRegistry.define({
|
|
1743
|
+
key: "ParameterFromDynamicList",
|
|
1744
|
+
latestVersion: "17",
|
|
1745
|
+
history: {
|
|
1746
|
+
"17": function (z) {
|
|
1747
|
+
return z.object({
|
|
1748
|
+
inputMethod: z.literal(EWidgetActionInputMethod.DYNAMIC_LIST),
|
|
1749
|
+
options: FormulaSchema.forVersion("17")(z),
|
|
1750
|
+
defaultValue: FormulaSchema.forVersion("17")(z),
|
|
1751
|
+
dbDataType: z.string().optional(),
|
|
1752
|
+
displayOptions: FormulaSchema.forVersion("17")(z),
|
|
1753
|
+
filters: z.array(ExtendedFormulaFilterValueSchema.forVersion("17")(z)).default([]),
|
|
1754
|
+
filterByRows: z.boolean().default(false),
|
|
1755
|
+
considerFilters: z.boolean().default(false),
|
|
1756
|
+
insertAnyValues: z.boolean().default(false),
|
|
1757
|
+
validation: FormulaSchema.forVersion("17")(z),
|
|
1758
|
+
acceptEmptyValue: z.boolean().default(false),
|
|
1759
|
+
sorting: SortingValueSchema.forVersion("19")(z)
|
|
1760
|
+
.default({
|
|
1761
|
+
direction: ESortDirection.ascend,
|
|
1762
|
+
mode: ESortingMode.BY_VALUES,
|
|
1763
|
+
})
|
|
1764
|
+
.optional(),
|
|
1765
|
+
});
|
|
1766
|
+
},
|
|
1767
|
+
},
|
|
1768
|
+
});
|
|
1769
|
+
var ParameterFromDataModelSchema = SchemaRegistry.define({
|
|
1770
|
+
key: "ParameterFromDataModel",
|
|
1771
|
+
latestVersion: "17",
|
|
1772
|
+
history: {
|
|
1773
|
+
"17": function (z) {
|
|
1774
|
+
return z.object({
|
|
1775
|
+
inputMethod: z.literal(EWidgetActionInputMethod.DATA_MODEL),
|
|
1776
|
+
option: z.enum(zodEnumLike(EDataModelOption)).default(EDataModelOption.TABLE_LIST),
|
|
1777
|
+
/**
|
|
1778
|
+
* Используется только при COLUMN_LIST. Не делаем union по option, чтобы сохранить
|
|
1779
|
+
* одновременно default для option и работоспособность внешнего discriminated union.
|
|
1780
|
+
*/
|
|
1781
|
+
parent: NameNullableSchema.forVersion("17")(z),
|
|
1782
|
+
});
|
|
1783
|
+
},
|
|
1784
|
+
},
|
|
1785
|
+
});
|
|
1786
|
+
/**
|
|
1787
|
+
* Значение берётся из редактируемого текста виджета в момент сохранения.
|
|
1788
|
+
* Используется только в `onSave` виджета `editable-text-widget`.
|
|
1789
|
+
*/
|
|
1790
|
+
var ParameterFromEditableTextValueSchema = SchemaRegistry.define({
|
|
1791
|
+
key: "ParameterFromEditableTextValue",
|
|
1792
|
+
latestVersion: "17",
|
|
1793
|
+
history: {
|
|
1794
|
+
"17": function (z) {
|
|
1795
|
+
return z.object({
|
|
1796
|
+
inputMethod: z.literal(EWidgetActionInputMethod.EDITABLE_TEXT_VALUE),
|
|
1797
|
+
value: z.string().optional(),
|
|
1798
|
+
});
|
|
1799
|
+
},
|
|
1800
|
+
},
|
|
1801
|
+
});
|
|
1802
|
+
var ActionOnClickParameterSchema = SchemaRegistry.define({
|
|
1803
|
+
key: "ActionOnClickParameter",
|
|
1804
|
+
latestVersion: "17",
|
|
1805
|
+
history: {
|
|
1806
|
+
"17": function (z) {
|
|
1807
|
+
return z.intersection(ActionOnClickParameterCommonSchema.forVersion("17")(z), z.discriminatedUnion("inputMethod", [
|
|
1808
|
+
ParameterFromColumnSchema.forVersion("17")(z),
|
|
1809
|
+
ParameterFromVariableSchema.forVersion("17")(z),
|
|
1810
|
+
ParameterFromFormulaSchema.forVersion("17")(z),
|
|
1811
|
+
ParameterFromEventSchema.forVersion("17")(z),
|
|
1812
|
+
ParameterFromStartEventSchema.forVersion("17")(z),
|
|
1813
|
+
ParameterFromEndEventSchema.forVersion("17")(z),
|
|
1814
|
+
ParameterFromAggregationSchema.forVersion("17")(z),
|
|
1815
|
+
ParameterFromManualInputSchema.forVersion("17")(z),
|
|
1816
|
+
ParameterFromStaticListSchema.forVersion("17")(z),
|
|
1817
|
+
ParameterFromDynamicListSchema.forVersion("17")(z),
|
|
1818
|
+
ParameterFromDataModelSchema.forVersion("17")(z),
|
|
1819
|
+
ParameterFromEditableTextValueSchema.forVersion("17")(z),
|
|
1820
|
+
]));
|
|
1821
|
+
},
|
|
1822
|
+
},
|
|
1823
|
+
});
|
|
1824
|
+
var ActionCommonSchema = SchemaRegistry.define({
|
|
1825
|
+
key: "ActionCommon",
|
|
1826
|
+
latestVersion: "17",
|
|
1827
|
+
history: {
|
|
1828
|
+
"17": function (z) {
|
|
1829
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
1830
|
+
name: z.string(),
|
|
1831
|
+
});
|
|
1832
|
+
},
|
|
1833
|
+
},
|
|
1834
|
+
});
|
|
1835
|
+
var ActionDrillDownSchema = SchemaRegistry.define({
|
|
1836
|
+
key: "ActionDrillDown",
|
|
1837
|
+
latestVersion: "17",
|
|
1838
|
+
history: {
|
|
1839
|
+
"17": function (z) {
|
|
1840
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
1841
|
+
type: z.literal(EActionTypes.DRILL_DOWN),
|
|
1842
|
+
variables: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1843
|
+
});
|
|
1844
|
+
},
|
|
1845
|
+
},
|
|
1846
|
+
});
|
|
1847
|
+
var ActionGoToURLSchema = SchemaRegistry.define({
|
|
1848
|
+
key: "ActionGoToURL",
|
|
1849
|
+
latestVersion: "17",
|
|
1850
|
+
history: {
|
|
1851
|
+
"17": function (z) {
|
|
1852
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
1853
|
+
type: z.literal(EActionTypes.OPEN_URL),
|
|
1854
|
+
url: FormulaSchema.forVersion("17")(z),
|
|
1855
|
+
newWindow: z.boolean().default(true),
|
|
1856
|
+
variables: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1857
|
+
});
|
|
1858
|
+
},
|
|
1859
|
+
},
|
|
1860
|
+
});
|
|
1861
|
+
var ActivateConditionSchema = SchemaRegistry.define({
|
|
1862
|
+
key: "ActivateCondition",
|
|
1863
|
+
latestVersion: "17",
|
|
1864
|
+
history: {
|
|
1865
|
+
"17": function (z) {
|
|
1866
|
+
return z
|
|
1867
|
+
.discriminatedUnion("mode", [
|
|
1868
|
+
z.object({
|
|
1869
|
+
mode: z.literal(EActivateConditionMode.FORMULA),
|
|
1870
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
1871
|
+
}),
|
|
1872
|
+
z.object({
|
|
1873
|
+
mode: z.literal(EActivateConditionMode.VARIABLE),
|
|
1874
|
+
variableName: z.string().nullable().default(null),
|
|
1875
|
+
variableValue: z.string().nullable().default(null),
|
|
1876
|
+
}),
|
|
1877
|
+
])
|
|
1878
|
+
.default({ mode: EActivateConditionMode.FORMULA, formula: "" });
|
|
1879
|
+
},
|
|
1880
|
+
},
|
|
1881
|
+
});
|
|
1882
|
+
var ActionRunScriptSchema = SchemaRegistry.define({
|
|
1883
|
+
key: "ActionRunScript",
|
|
1884
|
+
latestVersion: "17",
|
|
1885
|
+
history: {
|
|
1886
|
+
"17": function (z) {
|
|
1887
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
1888
|
+
type: z.literal(EActionTypes.EXECUTE_SCRIPT),
|
|
1889
|
+
parameters: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1890
|
+
scriptKey: z.string(),
|
|
1891
|
+
autoUpdate: z.enum(zodEnumLike(EAutoUpdateMode)).default(EAutoUpdateMode.THIS_WIDGET),
|
|
1892
|
+
hideInactiveButton: z.boolean().default(false),
|
|
1893
|
+
activateCondition: ActivateConditionSchema.forVersion("17")(z),
|
|
1894
|
+
hint: z.string().default(""),
|
|
1895
|
+
variables: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1896
|
+
runButtonText: z.string().default(""),
|
|
1897
|
+
});
|
|
1898
|
+
},
|
|
1899
|
+
},
|
|
1900
|
+
});
|
|
1901
|
+
var ActionUpdateVariableSchema = SchemaRegistry.define({
|
|
1902
|
+
key: "ActionUpdateVariable",
|
|
1903
|
+
latestVersion: "17",
|
|
1904
|
+
history: {
|
|
1905
|
+
"17": function (z) {
|
|
1906
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
1907
|
+
type: z.literal(EActionTypes.UPDATE_VARIABLE),
|
|
1908
|
+
variables: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1909
|
+
});
|
|
1910
|
+
},
|
|
1911
|
+
},
|
|
1912
|
+
});
|
|
1913
|
+
var ActionOpenInSchema = SchemaRegistry.define({
|
|
1914
|
+
key: "ActionOpenIn",
|
|
1915
|
+
latestVersion: "17",
|
|
1916
|
+
history: {
|
|
1917
|
+
"17": function (z) {
|
|
1918
|
+
return z.discriminatedUnion("openIn", [
|
|
1919
|
+
z.object({
|
|
1920
|
+
openIn: z.literal(EViewOpenIn.DRAWER_WINDOW),
|
|
1921
|
+
alignment: z.enum(zodEnumLike(EDrawerPlacement)).default(EDrawerPlacement.RIGHT),
|
|
1922
|
+
inheritFilter: z.boolean().default(true),
|
|
1923
|
+
}),
|
|
1924
|
+
z.object({
|
|
1925
|
+
openIn: z.literal(EViewOpenIn.PLACEHOLDER),
|
|
1926
|
+
placeholderName: z.string().optional(),
|
|
1927
|
+
}),
|
|
1928
|
+
z.object({
|
|
1929
|
+
openIn: z.literal(EViewOpenIn.MODAL_WINDOW),
|
|
1930
|
+
positionByClick: z.boolean().default(false),
|
|
1931
|
+
inheritFilter: z.boolean().default(true),
|
|
1932
|
+
}),
|
|
1933
|
+
z.object({
|
|
1934
|
+
openIn: z.literal(EViewOpenIn.WINDOW),
|
|
1935
|
+
newWindow: z.boolean().default(true),
|
|
1936
|
+
inheritFilter: z.boolean().default(true),
|
|
1937
|
+
}),
|
|
1938
|
+
]);
|
|
1939
|
+
},
|
|
1940
|
+
},
|
|
1941
|
+
});
|
|
1942
|
+
var ActionOpenViewCommonSchema = SchemaRegistry.define({
|
|
1943
|
+
key: "ActionOpenViewCommon",
|
|
1944
|
+
latestVersion: "17",
|
|
1945
|
+
history: {
|
|
1946
|
+
"17": function (z) {
|
|
1947
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
1948
|
+
type: z.literal(EActionTypes.OPEN_VIEW),
|
|
1949
|
+
variables: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1950
|
+
});
|
|
1951
|
+
},
|
|
1952
|
+
},
|
|
1953
|
+
});
|
|
1954
|
+
var ActionOpenViewSchema = SchemaRegistry.define({
|
|
1955
|
+
key: "ActionOpenView",
|
|
1956
|
+
latestVersion: "17",
|
|
1957
|
+
history: {
|
|
1958
|
+
"17": function (z) {
|
|
1959
|
+
return z.intersection(z.discriminatedUnion("mode", [
|
|
1960
|
+
extendWithMeta(ActionOpenViewCommonSchema.forVersion("17")(z), {
|
|
1961
|
+
mode: z.literal(EViewMode.GENERATED_BY_SCRIPT),
|
|
1962
|
+
scriptKey: z.string().optional(),
|
|
1963
|
+
parameters: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1964
|
+
displayName: z.string().default(""),
|
|
1965
|
+
}),
|
|
1966
|
+
extendWithMeta(ActionOpenViewCommonSchema.forVersion("17")(z), {
|
|
1967
|
+
mode: z.literal(EViewMode.EXISTED_VIEW),
|
|
1968
|
+
viewKey: z.string().optional(),
|
|
1969
|
+
parameters: z.array(ActionOnClickParameterSchema.forVersion("17")(z)).default([]),
|
|
1970
|
+
}),
|
|
1971
|
+
extendWithMeta(ActionOpenViewCommonSchema.forVersion("17")(z), {
|
|
1972
|
+
mode: z.literal(EViewMode.EMPTY),
|
|
1973
|
+
placeholderName: z.string().optional(),
|
|
1974
|
+
openIn: z.literal(EViewOpenIn.PLACEHOLDER),
|
|
1975
|
+
}),
|
|
1976
|
+
]), ActionOpenInSchema.forVersion("17")(z));
|
|
1977
|
+
},
|
|
1978
|
+
},
|
|
1979
|
+
});
|
|
1980
|
+
var ActionsOnClickSchema = SchemaRegistry.define({
|
|
1981
|
+
key: "ActionsOnClick",
|
|
1982
|
+
latestVersion: "17",
|
|
1983
|
+
history: {
|
|
1984
|
+
"17": function (z) {
|
|
1985
|
+
return z.union([
|
|
1986
|
+
ActionGoToURLSchema.forVersion("17")(z),
|
|
1987
|
+
ActionRunScriptSchema.forVersion("17")(z),
|
|
1988
|
+
ActionUpdateVariableSchema.forVersion("17")(z),
|
|
1989
|
+
ActionOpenViewSchema.forVersion("17")(z),
|
|
1990
|
+
ActionDrillDownSchema.forVersion("17")(z),
|
|
1991
|
+
]);
|
|
1992
|
+
},
|
|
1993
|
+
},
|
|
1994
|
+
});
|
|
1995
|
+
var WidgetActionParameterCommonSchema = SchemaRegistry.define({
|
|
1996
|
+
key: "WidgetActionParameterCommon",
|
|
1997
|
+
latestVersion: "17",
|
|
1998
|
+
history: {
|
|
1999
|
+
"17": function (z) {
|
|
2000
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
2001
|
+
name: z.string(),
|
|
2002
|
+
displayName: z.string().default(""),
|
|
2003
|
+
isHidden: z.boolean().default(false),
|
|
2004
|
+
});
|
|
2005
|
+
},
|
|
2006
|
+
},
|
|
2007
|
+
});
|
|
2008
|
+
var WidgetActionParameterSchema = SchemaRegistry.define({
|
|
2009
|
+
key: "WidgetActionParameter",
|
|
2010
|
+
latestVersion: "17",
|
|
2011
|
+
history: {
|
|
2012
|
+
"17": function (z) {
|
|
2013
|
+
return z.intersection(WidgetActionParameterCommonSchema.forVersion("17")(z), z.discriminatedUnion("inputMethod", [
|
|
2014
|
+
ParameterFromColumnSchema.forVersion("17")(z),
|
|
2015
|
+
ParameterFromVariableSchema.forVersion("17")(z),
|
|
2016
|
+
ParameterFromFormulaSchema.forVersion("17")(z),
|
|
2017
|
+
ParameterFromManualInputSchema.forVersion("17")(z),
|
|
2018
|
+
ParameterFromStaticListSchema.forVersion("17")(z),
|
|
2019
|
+
ParameterFromDynamicListSchema.forVersion("17")(z),
|
|
2020
|
+
ParameterFromAggregationSchema.forVersion("17")(z),
|
|
2021
|
+
ParameterFromDataModelSchema.forVersion("17")(z),
|
|
2022
|
+
]));
|
|
2023
|
+
},
|
|
2024
|
+
},
|
|
2025
|
+
});
|
|
2026
|
+
var WidgetActionSchema = SchemaRegistry.define({
|
|
2027
|
+
key: "WidgetAction",
|
|
2028
|
+
latestVersion: "17",
|
|
2029
|
+
history: {
|
|
2030
|
+
"17": function (z) {
|
|
2031
|
+
return extendWithMeta(ActionCommonSchema.forVersion("17")(z), {
|
|
2032
|
+
parameters: z.array(WidgetActionParameterSchema.forVersion("17")(z)).default([]),
|
|
2033
|
+
type: z.literal(EActionTypes.EXECUTE_SCRIPT),
|
|
2034
|
+
scriptKey: z.string(),
|
|
2035
|
+
autoUpdate: z.enum(zodEnumLike(EAutoUpdateMode)).default(EAutoUpdateMode.THIS_WIDGET),
|
|
2036
|
+
description: z.string().default(""),
|
|
2037
|
+
hideInactiveButton: z.boolean().default(false),
|
|
2038
|
+
hint: z.string().default(""),
|
|
2039
|
+
activateCondition: ActivateConditionSchema.forVersion("17")(z),
|
|
2040
|
+
variables: z.array(WidgetActionParameterSchema.forVersion("17")(z)).default([]),
|
|
2041
|
+
runButtonText: z.string().default(""),
|
|
2042
|
+
});
|
|
2043
|
+
},
|
|
2044
|
+
},
|
|
2045
|
+
});
|
|
2046
|
+
var ViewActionParameterSchema = SchemaRegistry.define({
|
|
2047
|
+
key: "ViewActionParameter",
|
|
2048
|
+
latestVersion: "17",
|
|
2049
|
+
history: {
|
|
2050
|
+
"17": function (z) {
|
|
2051
|
+
return z.intersection(extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), { name: z.string() }), z.discriminatedUnion("inputMethod", [
|
|
2052
|
+
ParameterFromAggregationSchema.forVersion("17")(z),
|
|
2053
|
+
ParameterFromVariableSchema.forVersion("17")(z),
|
|
2054
|
+
]));
|
|
2055
|
+
},
|
|
2056
|
+
},
|
|
2057
|
+
});
|
|
2058
|
+
var ViewActionSchema = SchemaRegistry.define({
|
|
2059
|
+
key: "ViewAction",
|
|
2060
|
+
latestVersion: "17",
|
|
2061
|
+
history: {
|
|
2062
|
+
"17": function (z) {
|
|
2063
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
2064
|
+
name: z.string(),
|
|
2065
|
+
buttonType: z.enum(zodEnumLike(EActionButtonsTypes)).default(EActionButtonsTypes.BASE),
|
|
2066
|
+
type: z.literal(EActionTypes.EXECUTE_SCRIPT).default(EActionTypes.EXECUTE_SCRIPT),
|
|
2067
|
+
parameters: z.array(ViewActionParameterSchema.forVersion("17")(z)).default([]),
|
|
2068
|
+
scriptKey: KeyNullableSchema.forVersion("17")(z),
|
|
2069
|
+
autoUpdate: z
|
|
2070
|
+
.union([z.literal(EAutoUpdateMode.NONE), z.literal(EAutoUpdateMode.ALL_VIEWS)])
|
|
2071
|
+
.default(EAutoUpdateMode.NONE),
|
|
2072
|
+
});
|
|
2073
|
+
},
|
|
2074
|
+
},
|
|
2075
|
+
});
|
|
2076
|
+
var ActionSchema = SchemaRegistry.define({
|
|
2077
|
+
key: "Action",
|
|
2078
|
+
latestVersion: "17",
|
|
2079
|
+
history: {
|
|
2080
|
+
"17": function (z) {
|
|
2081
|
+
return z.union([
|
|
2082
|
+
/* Изменение порядка схем связано с отсутствием strict
|
|
2083
|
+
Strict будет добавлен в BI-16355
|
|
2084
|
+
*/
|
|
2085
|
+
WidgetActionSchema.forVersion("17")(z),
|
|
2086
|
+
ActionsOnClickSchema.forVersion("17")(z),
|
|
2087
|
+
ViewActionSchema.forVersion("17")(z),
|
|
2088
|
+
]);
|
|
2089
|
+
},
|
|
2090
|
+
},
|
|
2091
|
+
});
|
|
2092
|
+
var ActionButtonSchema = SchemaRegistry.define({
|
|
2093
|
+
key: "ActionButton",
|
|
2094
|
+
latestVersion: "17",
|
|
2095
|
+
history: {
|
|
2096
|
+
"17": function (z) {
|
|
2097
|
+
return extendWithMeta(AutoIdentifiedArrayItemSchema.forVersion("17")(z), {
|
|
2098
|
+
name: z.string(),
|
|
2099
|
+
onClick: z.array(WidgetActionSchema.forVersion("17")(z)).default([]),
|
|
2100
|
+
buttonType: z.enum(zodEnumLike(EActionButtonsTypes)).default(EActionButtonsTypes.BASE),
|
|
2101
|
+
backgroundColor: ColorSchema.forVersion("17")(z),
|
|
2102
|
+
borderColor: ColorSchema.forVersion("17")(z),
|
|
2103
|
+
color: ColorSchema.forVersion("17")(z),
|
|
2104
|
+
hint: z.string().default(""),
|
|
2105
|
+
});
|
|
2106
|
+
},
|
|
2107
|
+
},
|
|
2108
|
+
});
|
|
2109
|
+
|
|
2110
|
+
var ESimpleDataType = VersionedEnum.build({
|
|
2111
|
+
latestVersion: "17",
|
|
2112
|
+
history: {
|
|
2113
|
+
"17": {
|
|
2114
|
+
OTHER: "OTHER",
|
|
2115
|
+
DATE: "DATE",
|
|
2116
|
+
FLOAT: "FLOAT",
|
|
2117
|
+
DATETIME: "DATETIME",
|
|
2118
|
+
STRING: "STRING",
|
|
2119
|
+
INTEGER: "INTEGER",
|
|
2120
|
+
DATETIME64: "DATETIME64",
|
|
2121
|
+
BOOLEAN: "BOOLEAN",
|
|
2122
|
+
},
|
|
2123
|
+
},
|
|
2124
|
+
});
|
|
2125
|
+
|
|
2126
|
+
var prepareValuesForSql = function (simpleType, values) {
|
|
2127
|
+
return simpleType === ESimpleDataType.INTEGER ||
|
|
2128
|
+
simpleType === ESimpleDataType.FLOAT ||
|
|
2129
|
+
simpleType === ESimpleDataType.BOOLEAN
|
|
2130
|
+
? values
|
|
2131
|
+
: values.map(function (value) {
|
|
2132
|
+
return value === null ? null : "'".concat(escapeSingularQuotes$1(escapeReverseSlash(value)), "'");
|
|
2133
|
+
});
|
|
2134
|
+
};
|
|
2135
|
+
var escapeReverseSlash = function (formula) {
|
|
2136
|
+
return formula.replaceAll(/\\/gm, "\\\\");
|
|
2137
|
+
};
|
|
2138
|
+
var escapeSingularQuotes$1 = function (formula) {
|
|
2139
|
+
return formula.replaceAll("'", "\\'");
|
|
2140
|
+
};
|
|
2141
|
+
|
|
2142
|
+
var ECalculatorFilterMethods = VersionedEnum.build({
|
|
2143
|
+
latestVersion: "17",
|
|
2144
|
+
history: {
|
|
2145
|
+
"17": {
|
|
2146
|
+
EQUAL_TO: "EQUAL_TO",
|
|
2147
|
+
NOT_EQUAL_TO: "NOT_EQUAL_TO",
|
|
2148
|
+
GREATER_THAN: "GREATER_THAN",
|
|
2149
|
+
LESS_THAN: "LESS_THAN",
|
|
2150
|
+
GREATER_THAN_OR_EQUAL_TO: "GREATER_THAN_OR_EQUAL_TO",
|
|
2151
|
+
LESS_THAN_OR_EQUAL_TO: "LESS_THAN_OR_EQUAL_TO",
|
|
2152
|
+
STARTS_WITH: "STARTS_WITH",
|
|
2153
|
+
ENDS_WITH: "ENDS_WITH",
|
|
2154
|
+
CONTAINS: "CONTAINS",
|
|
2155
|
+
NOT_CONTAINS: "NOT_CONTAINS",
|
|
2156
|
+
IN_RANGE: "IN_RANGE",
|
|
2157
|
+
NOT_IN_RANGE: "NOT_IN_RANGE",
|
|
2158
|
+
INCLUDE: "INCLUDE",
|
|
2159
|
+
EXCLUDE: "EXCLUDE",
|
|
2160
|
+
NONEMPTY: "NONEMPTY",
|
|
2161
|
+
EMPTY: "EMPTY",
|
|
2162
|
+
},
|
|
2163
|
+
},
|
|
2164
|
+
});
|
|
2165
|
+
|
|
2166
|
+
var formulaFilterMethods = __assign(__assign({}, Object.fromEntries(Object.entries(ECalculatorFilterMethods).map(function (_a) {
|
|
2167
|
+
var _b = __read(_a, 2), k = _b[0], v = _b[1];
|
|
2168
|
+
return [k, v];
|
|
2169
|
+
}))), { LAST_TIME: "LAST_TIME" });
|
|
2170
|
+
var EProcessFilterNames = VersionedEnum.build({
|
|
2171
|
+
latestVersion: "17",
|
|
2172
|
+
history: {
|
|
2173
|
+
"17": {
|
|
2174
|
+
/** Наличие события */
|
|
2175
|
+
presenceOfEvent: "presenceOfEvent",
|
|
2176
|
+
/** Количество повторов события */
|
|
2177
|
+
repetitionOfEvent: "repetitionOfEvent",
|
|
2178
|
+
/** Наличие перехода */
|
|
2179
|
+
presenceOfTransition: "presenceOfTransition",
|
|
2180
|
+
/** Длительность перехода */
|
|
2181
|
+
durationOfTransition: "durationOfTransition",
|
|
2182
|
+
},
|
|
2183
|
+
},
|
|
2184
|
+
});
|
|
2185
|
+
var EFormulaFilterFieldKeys = VersionedEnum.build({
|
|
2186
|
+
latestVersion: "17",
|
|
2187
|
+
history: {
|
|
2188
|
+
"17": {
|
|
2189
|
+
date: "date",
|
|
2190
|
+
dateRange: "dateRange",
|
|
2191
|
+
numberRange: "numberRange",
|
|
2192
|
+
string: "string",
|
|
2193
|
+
lastTimeValue: "lastTimeValue",
|
|
2194
|
+
lastTimeUnit: "lastTimeUnit",
|
|
2195
|
+
durationUnit: "durationUnit",
|
|
2196
|
+
},
|
|
2197
|
+
},
|
|
2198
|
+
});
|
|
2199
|
+
var EDimensionProcessFilterTimeUnit = VersionedEnum.build({
|
|
2200
|
+
latestVersion: "17",
|
|
2201
|
+
history: {
|
|
2202
|
+
"17": {
|
|
2203
|
+
YEARS: "YEARS",
|
|
2204
|
+
MONTHS: "MONTHS",
|
|
2205
|
+
HOURS: "HOURS",
|
|
2206
|
+
DAYS: "DAYS",
|
|
2207
|
+
MINUTES: "MINUTES",
|
|
2208
|
+
},
|
|
2209
|
+
},
|
|
2210
|
+
});
|
|
2211
|
+
var isFormulaFilterValue = function (value) {
|
|
2212
|
+
return "filteringMethod" in value;
|
|
2213
|
+
};
|
|
2214
|
+
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
2215
|
+
|
|
2216
|
+
var EClickHouseBaseTypes = VersionedEnum.build({
|
|
2217
|
+
latestVersion: "17",
|
|
2218
|
+
history: {
|
|
2219
|
+
"17": {
|
|
2220
|
+
// DATE
|
|
2221
|
+
Date: "Date",
|
|
2222
|
+
Date32: "Date32",
|
|
2223
|
+
// DATETIME
|
|
2224
|
+
DateTime: "DateTime",
|
|
2225
|
+
DateTime32: "DateTime32",
|
|
2226
|
+
// DATETIME64
|
|
2227
|
+
DateTime64: "DateTime64",
|
|
2228
|
+
// STRING
|
|
2229
|
+
FixedString: "FixedString",
|
|
2230
|
+
String: "String",
|
|
2231
|
+
// FLOAT
|
|
2232
|
+
Decimal: "Decimal",
|
|
2233
|
+
Decimal32: "Decimal32",
|
|
2234
|
+
Decimal64: "Decimal64",
|
|
2235
|
+
Decimal128: "Decimal128",
|
|
2236
|
+
Decimal256: "Decimal256",
|
|
2237
|
+
Float32: "Float32",
|
|
2238
|
+
Float64: "Float64",
|
|
2239
|
+
// INTEGER
|
|
2240
|
+
Int8: "Int8",
|
|
2241
|
+
Int16: "Int16",
|
|
2242
|
+
Int32: "Int32",
|
|
2243
|
+
Int64: "Int64",
|
|
2244
|
+
Int128: "Int128",
|
|
2245
|
+
Int256: "Int256",
|
|
2246
|
+
UInt8: "UInt8",
|
|
2247
|
+
UInt16: "UInt16",
|
|
2248
|
+
UInt32: "UInt32",
|
|
2249
|
+
UInt64: "UInt64",
|
|
2250
|
+
UInt128: "UInt128",
|
|
2251
|
+
UInt256: "UInt256",
|
|
2252
|
+
// BOOLEAN
|
|
2253
|
+
Bool: "Bool",
|
|
2254
|
+
},
|
|
2255
|
+
},
|
|
2256
|
+
});
|
|
2257
|
+
var stringTypes = ["String", "FixedString"];
|
|
2258
|
+
var parseClickHouseType = memoize(function (type) {
|
|
2259
|
+
if (isNil(type)) {
|
|
2260
|
+
return {
|
|
1422
2261
|
simpleBaseType: ESimpleDataType.OTHER,
|
|
1423
2262
|
dbBaseDataType: undefined,
|
|
1424
2263
|
containers: [],
|
|
@@ -1489,35 +2328,39 @@ var isTypeParameters = function (stringifiedParameters) {
|
|
|
1489
2328
|
return stringifiedParameters.split(", ").some(function (p) { return !Number.isNaN(Number(p)) || p.startsWith("'"); });
|
|
1490
2329
|
};
|
|
1491
2330
|
|
|
1492
|
-
var _a$
|
|
1493
|
-
var EDimensionTemplateNames
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
2331
|
+
var _a$6;
|
|
2332
|
+
var EDimensionTemplateNames = VersionedEnum.build({
|
|
2333
|
+
latestVersion: "17",
|
|
2334
|
+
history: {
|
|
2335
|
+
"17": {
|
|
2336
|
+
dateTime: "dateTime",
|
|
2337
|
+
date: "date",
|
|
2338
|
+
year: "year",
|
|
2339
|
+
yearAndQuarter: "yearAndQuarter",
|
|
2340
|
+
quarter: "quarter",
|
|
2341
|
+
yearAndMonth: "yearAndMonth",
|
|
2342
|
+
dayOfMonth: "dayOfMonth",
|
|
2343
|
+
month: "month",
|
|
2344
|
+
week: "week",
|
|
2345
|
+
dayOfWeek: "dayOfWeek",
|
|
2346
|
+
hour: "hour",
|
|
2347
|
+
},
|
|
2348
|
+
},
|
|
2349
|
+
});
|
|
1507
2350
|
/** Стандартные шаблоны разреза */
|
|
1508
|
-
var dimensionTemplateFormulas = (_a$
|
|
1509
|
-
_a$
|
|
1510
|
-
_a$
|
|
1511
|
-
_a$
|
|
1512
|
-
_a$
|
|
1513
|
-
_a$
|
|
1514
|
-
_a$
|
|
1515
|
-
_a$
|
|
1516
|
-
_a$
|
|
1517
|
-
_a$
|
|
1518
|
-
_a$
|
|
1519
|
-
_a$
|
|
1520
|
-
_a$
|
|
2351
|
+
var dimensionTemplateFormulas = (_a$6 = {},
|
|
2352
|
+
_a$6[EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
2353
|
+
_a$6[EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
2354
|
+
_a$6[EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
2355
|
+
_a$6[EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
2356
|
+
_a$6[EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
2357
|
+
_a$6[EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
2358
|
+
_a$6[EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
2359
|
+
_a$6[EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
2360
|
+
_a$6[EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
2361
|
+
_a$6[EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
2362
|
+
_a$6[EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
2363
|
+
_a$6);
|
|
1521
2364
|
|
|
1522
2365
|
function createAggregationTemplate$1(functionName, options) {
|
|
1523
2366
|
return "process(".concat(functionName, "(").concat((options === null || options === void 0 ? void 0 : options.distinct) ? "distinct " : "", "{columnFormula}, {eventNameFormula} ={eventName}{filters}), {caseCaseIdFormula})");
|
|
@@ -1629,7 +2472,7 @@ var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
|
|
|
1629
2472
|
var parseIndicatorLink = function (formula) {
|
|
1630
2473
|
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
1631
2474
|
if (dashboardMatch) {
|
|
1632
|
-
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
2475
|
+
return { scopeName: null, indicatorName: unescapeSpecialCharacters(dashboardMatch[1]) };
|
|
1633
2476
|
}
|
|
1634
2477
|
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
1635
2478
|
if (workspaceMatch) {
|
|
@@ -1664,8 +2507,13 @@ var clearMultiLineComments = function (formula) {
|
|
|
1664
2507
|
return formula.replace(/\/\*[\s\S]*?\*\//g, "");
|
|
1665
2508
|
};
|
|
1666
2509
|
|
|
2510
|
+
var dateSimpleTypes = [
|
|
2511
|
+
ESimpleDataType.DATE,
|
|
2512
|
+
ESimpleDataType.DATETIME,
|
|
2513
|
+
ESimpleDataType.DATETIME64,
|
|
2514
|
+
];
|
|
1667
2515
|
function isDateSimpleType(simpleType) {
|
|
1668
|
-
return
|
|
2516
|
+
return dateSimpleTypes.includes(simpleType);
|
|
1669
2517
|
}
|
|
1670
2518
|
var castToDateValue = function (simpleType) { return function (value) {
|
|
1671
2519
|
return simpleType === ESimpleDataType.DATE ? "toDate('".concat(value, "')") : "toDateTime('".concat(value, "')");
|
|
@@ -1736,37 +2584,41 @@ var convertFiltersToFormula = function (filters) {
|
|
|
1736
2584
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
1737
2585
|
};
|
|
1738
2586
|
|
|
1739
|
-
var _a$
|
|
1740
|
-
var EDimensionAggregationTemplateName
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
2587
|
+
var _a$5;
|
|
2588
|
+
var EDimensionAggregationTemplateName = VersionedEnum.build({
|
|
2589
|
+
latestVersion: "17",
|
|
2590
|
+
history: {
|
|
2591
|
+
"17": {
|
|
2592
|
+
avg: "avg",
|
|
2593
|
+
median: "median",
|
|
2594
|
+
count: "count",
|
|
2595
|
+
countDistinct: "countDistinct",
|
|
2596
|
+
min: "min",
|
|
2597
|
+
max: "max",
|
|
2598
|
+
sum: "sum",
|
|
2599
|
+
top: "top",
|
|
2600
|
+
firstValue: "firstValue",
|
|
2601
|
+
lastValue: "lastValue",
|
|
2602
|
+
countExecutions: "countExecutions",
|
|
2603
|
+
countReworks: "countReworks",
|
|
2604
|
+
},
|
|
2605
|
+
},
|
|
2606
|
+
});
|
|
1755
2607
|
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1756
|
-
var dimensionAggregationTemplates = (_a$
|
|
1757
|
-
_a$
|
|
1758
|
-
_a$
|
|
1759
|
-
_a$
|
|
1760
|
-
_a$
|
|
1761
|
-
_a$
|
|
1762
|
-
_a$
|
|
1763
|
-
_a$
|
|
1764
|
-
_a$
|
|
1765
|
-
_a$
|
|
1766
|
-
_a$
|
|
1767
|
-
_a$
|
|
1768
|
-
_a$
|
|
1769
|
-
_a$
|
|
2608
|
+
var dimensionAggregationTemplates = (_a$5 = {},
|
|
2609
|
+
_a$5[EDimensionAggregationTemplateName.avg] = avgTemplate,
|
|
2610
|
+
_a$5[EDimensionAggregationTemplateName.median] = medianTemplate,
|
|
2611
|
+
_a$5[EDimensionAggregationTemplateName.count] = countTemplate,
|
|
2612
|
+
_a$5[EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
|
|
2613
|
+
_a$5[EDimensionAggregationTemplateName.min] = minTemplate,
|
|
2614
|
+
_a$5[EDimensionAggregationTemplateName.max] = maxTemplate,
|
|
2615
|
+
_a$5[EDimensionAggregationTemplateName.sum] = sumTemplate,
|
|
2616
|
+
_a$5[EDimensionAggregationTemplateName.top] = topTemplate,
|
|
2617
|
+
_a$5[EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
2618
|
+
_a$5[EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
2619
|
+
_a$5[EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
2620
|
+
_a$5[EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
2621
|
+
_a$5);
|
|
1770
2622
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1771
2623
|
var prepareDimensionAggregationParams = function (value) {
|
|
1772
2624
|
if (!value.eventName ||
|
|
@@ -1883,21 +2735,26 @@ function getProcessDimensionValueFormula(value) {
|
|
|
1883
2735
|
}
|
|
1884
2736
|
}
|
|
1885
2737
|
|
|
1886
|
-
var EMeasureAggregationTemplateName
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
2738
|
+
var EMeasureAggregationTemplateName = VersionedEnum.build({
|
|
2739
|
+
latestVersion: "17",
|
|
2740
|
+
history: {
|
|
2741
|
+
"17": {
|
|
2742
|
+
agvIf: "agvIf",
|
|
2743
|
+
medianIf: "medianIf",
|
|
2744
|
+
countIf: "countIf",
|
|
2745
|
+
countIfDistinct: "countIfDistinct",
|
|
2746
|
+
minIf: "minIf",
|
|
2747
|
+
maxIf: "maxIf",
|
|
2748
|
+
sumIf: "sumIf",
|
|
2749
|
+
anyIf: "anyIf",
|
|
2750
|
+
top: "top",
|
|
2751
|
+
firstValue: "firstValue",
|
|
2752
|
+
lastValue: "lastValue",
|
|
2753
|
+
countExecutions: "countExecutions",
|
|
2754
|
+
countReworks: "countReworks",
|
|
2755
|
+
},
|
|
2756
|
+
},
|
|
2757
|
+
});
|
|
1901
2758
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1902
2759
|
var prepareMeasureAggregationParams = function (value) {
|
|
1903
2760
|
if ((!value.anyEvent && !value.eventName) ||
|
|
@@ -1933,32 +2790,42 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1933
2790
|
return columnParams;
|
|
1934
2791
|
};
|
|
1935
2792
|
|
|
1936
|
-
var _a$
|
|
1937
|
-
var EMeasureTemplateNames
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
})
|
|
2793
|
+
var _a$4, _b;
|
|
2794
|
+
var EMeasureTemplateNames = VersionedEnum.build({
|
|
2795
|
+
latestVersion: "17",
|
|
2796
|
+
history: {
|
|
2797
|
+
"17": {
|
|
2798
|
+
avg: "avg",
|
|
2799
|
+
median: "median",
|
|
2800
|
+
count: "count",
|
|
2801
|
+
countDistinct: "countDistinct",
|
|
2802
|
+
min: "min",
|
|
2803
|
+
max: "max",
|
|
2804
|
+
sum: "sum",
|
|
2805
|
+
any: "any",
|
|
2806
|
+
},
|
|
2807
|
+
},
|
|
2808
|
+
});
|
|
2809
|
+
var EMeasureInnerTemplateNames = VersionedEnum.build({
|
|
2810
|
+
latestVersion: "17",
|
|
2811
|
+
history: {
|
|
2812
|
+
"17": {
|
|
2813
|
+
begin: "begin",
|
|
2814
|
+
end: "end",
|
|
2815
|
+
},
|
|
2816
|
+
},
|
|
2817
|
+
});
|
|
1952
2818
|
/** Стандартные шаблоны меры */
|
|
1953
|
-
var measureTemplateFormulas = (_a$
|
|
1954
|
-
_a$
|
|
1955
|
-
_a$
|
|
1956
|
-
_a$
|
|
1957
|
-
_a$
|
|
1958
|
-
_a$
|
|
1959
|
-
_a$
|
|
1960
|
-
_a$
|
|
1961
|
-
_a$
|
|
2819
|
+
var measureTemplateFormulas = (_a$4 = {},
|
|
2820
|
+
_a$4[EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
2821
|
+
_a$4[EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
2822
|
+
_a$4[EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
2823
|
+
_a$4[EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
2824
|
+
_a$4[EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
2825
|
+
_a$4[EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
2826
|
+
_a$4[EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
2827
|
+
_a$4[EMeasureTemplateNames.any] = "any({columnFormula})",
|
|
2828
|
+
_a$4);
|
|
1962
2829
|
var measureInnerTemplateFormulas = (_b = {},
|
|
1963
2830
|
_b[EMeasureInnerTemplateNames.begin] = "begin({columnFormula})",
|
|
1964
2831
|
_b[EMeasureInnerTemplateNames.end] = "end({columnFormula})",
|
|
@@ -2076,6 +2943,10 @@ function createAggregationTemplate(templateName, _a) {
|
|
|
2076
2943
|
return anyEvent
|
|
2077
2944
|
? createAnyEventTemplate("sum({columnFormula})")
|
|
2078
2945
|
: createSpecificEventTemplate("sumIf");
|
|
2946
|
+
case EMeasureAggregationTemplateName.anyIf:
|
|
2947
|
+
return anyEvent
|
|
2948
|
+
? createAnyEventTemplate("any({columnFormula})")
|
|
2949
|
+
: createSpecificEventTemplate("anyIf");
|
|
2079
2950
|
case EMeasureAggregationTemplateName.top:
|
|
2080
2951
|
return anyEvent
|
|
2081
2952
|
? createAnyEventTemplate("topK(1)({columnFormula})[1]")
|
|
@@ -2145,16 +3016,20 @@ function getMeasureFormula(_a) {
|
|
|
2145
3016
|
return "";
|
|
2146
3017
|
}
|
|
2147
3018
|
|
|
2148
|
-
var _a$
|
|
2149
|
-
var EEventMeasureTemplateNames
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
3019
|
+
var _a$3;
|
|
3020
|
+
var EEventMeasureTemplateNames = VersionedEnum.build({
|
|
3021
|
+
latestVersion: "17",
|
|
3022
|
+
history: {
|
|
3023
|
+
"17": {
|
|
3024
|
+
eventsCount: "eventsCount",
|
|
3025
|
+
reworksCount: "reworksCount",
|
|
3026
|
+
},
|
|
3027
|
+
},
|
|
3028
|
+
});
|
|
3029
|
+
var eventMeasureTemplateFormulas = (_a$3 = {},
|
|
3030
|
+
_a$3[EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
3031
|
+
_a$3[EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
3032
|
+
_a$3);
|
|
2158
3033
|
|
|
2159
3034
|
function getEventMeasureFormula(_a, process) {
|
|
2160
3035
|
var value = _a.value;
|
|
@@ -2171,16 +3046,20 @@ function getEventMeasureFormula(_a, process) {
|
|
|
2171
3046
|
return "";
|
|
2172
3047
|
}
|
|
2173
3048
|
|
|
2174
|
-
var _a$
|
|
2175
|
-
var ETransitionMeasureTemplateNames
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
3049
|
+
var _a$2;
|
|
3050
|
+
var ETransitionMeasureTemplateNames = VersionedEnum.build({
|
|
3051
|
+
latestVersion: "17",
|
|
3052
|
+
history: {
|
|
3053
|
+
"17": {
|
|
3054
|
+
transitionsCount: "transitionsCount",
|
|
3055
|
+
medianTime: "medianTime",
|
|
3056
|
+
},
|
|
3057
|
+
},
|
|
3058
|
+
});
|
|
3059
|
+
var transitionMeasureTemplateFormulas = (_a$2 = {},
|
|
3060
|
+
_a$2[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
3061
|
+
_a$2[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
3062
|
+
_a$2);
|
|
2184
3063
|
|
|
2185
3064
|
function getTransitionMeasureFormula(_a, process) {
|
|
2186
3065
|
var value = _a.value;
|
|
@@ -2220,34 +3099,47 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
|
|
|
2220
3099
|
return isNil(displayCondition) ? dimension : __assign(__assign({}, dimension), { displayCondition: displayCondition });
|
|
2221
3100
|
};
|
|
2222
3101
|
/**
|
|
2223
|
-
* Шаблон формулы для
|
|
3102
|
+
* Шаблон формулы для приведения произвольного выражения к Boolean.
|
|
3103
|
+
* Используется и для display-condition виджетов/вкладок/инпутов,
|
|
3104
|
+
* и для фильтров по формуле.
|
|
3105
|
+
*
|
|
3106
|
+
* NULL отсекается явной проверкой isNotNull (трактуется как false).
|
|
3107
|
+
* Остальные непреобразуемые к Boolean значения подпадают под дефолт true.
|
|
2224
3108
|
*
|
|
3109
|
+
* - null -> false (явная проверка isNotNull)
|
|
2225
3110
|
* - 0 -> false
|
|
2226
3111
|
* - 1 -> true
|
|
2227
3112
|
* - 15 -> true
|
|
2228
|
-
* - '0' ->
|
|
3113
|
+
* - '0' -> false
|
|
2229
3114
|
* - '1' -> true
|
|
2230
|
-
* - '15' ->
|
|
3115
|
+
* - '15' -> true (значение по умолчанию, т.к. не преобразуется к Boolean)
|
|
2231
3116
|
* - 'false' -> false
|
|
2232
3117
|
* - 'true' -> true
|
|
2233
3118
|
* - 'abc' -> true (значение по умолчанию, т.к. не преобразуется к Boolean)
|
|
2234
|
-
* - null -> true (значение по умолчанию, т.к. не преобразуется к Boolean)
|
|
2235
3119
|
*/
|
|
2236
|
-
var displayConditionTemplate = "accurateCastOrDefault({formula}, 'Boolean', true)";
|
|
2237
|
-
|
|
2238
|
-
var ELastTimeUnit
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
3120
|
+
var displayConditionTemplate = "isNotNull({formula}) AND accurateCastOrDefault({formula}, 'Boolean', true)";
|
|
3121
|
+
|
|
3122
|
+
var ELastTimeUnit = VersionedEnum.build({
|
|
3123
|
+
latestVersion: "17",
|
|
3124
|
+
history: {
|
|
3125
|
+
"17": {
|
|
3126
|
+
DAYS: "DAYS",
|
|
3127
|
+
MONTHS: "MONTHS",
|
|
3128
|
+
YEARS: "YEARS",
|
|
3129
|
+
},
|
|
3130
|
+
},
|
|
3131
|
+
});
|
|
3132
|
+
var EDurationUnit = VersionedEnum.build({
|
|
3133
|
+
latestVersion: "17",
|
|
3134
|
+
history: {
|
|
3135
|
+
"17": {
|
|
3136
|
+
DAYS: "DAYS",
|
|
3137
|
+
HOURS: "HOURS",
|
|
3138
|
+
MINUTES: "MINUTES",
|
|
3139
|
+
SECONDS: "SECONDS",
|
|
3140
|
+
},
|
|
3141
|
+
},
|
|
3142
|
+
});
|
|
2251
3143
|
var isRangeFilteringMethod = function (filteringMethod) {
|
|
2252
3144
|
return filteringMethod === formulaFilterMethods.IN_RANGE ||
|
|
2253
3145
|
filteringMethod === formulaFilterMethods.NOT_IN_RANGE;
|
|
@@ -2312,7 +3204,7 @@ var getFormulaFilterValues = function (filterValue) {
|
|
|
2312
3204
|
});
|
|
2313
3205
|
}
|
|
2314
3206
|
function convertDurationRangeToSecond(range, rangeUnit) {
|
|
2315
|
-
if (range === void 0) { range = [
|
|
3207
|
+
if (range === void 0) { range = [null, null]; }
|
|
2316
3208
|
return range.map(function (value, index) {
|
|
2317
3209
|
if (isNil(value)) {
|
|
2318
3210
|
return String(index === 0 ? -Infinity : Infinity);
|
|
@@ -2397,14 +3289,14 @@ var mapFormulaFiltersToInputs = function (filters) {
|
|
|
2397
3289
|
return compactMap(filters, mapFormulaFilterToCalculatorInput);
|
|
2398
3290
|
};
|
|
2399
3291
|
|
|
2400
|
-
var _a;
|
|
2401
|
-
var intervalByUnit = (_a = {},
|
|
2402
|
-
_a[EDimensionProcessFilterTimeUnit.YEARS] = "year",
|
|
2403
|
-
_a[EDimensionProcessFilterTimeUnit.MONTHS] = "month",
|
|
2404
|
-
_a[EDimensionProcessFilterTimeUnit.DAYS] = "day",
|
|
2405
|
-
_a[EDimensionProcessFilterTimeUnit.HOURS] = "hour",
|
|
2406
|
-
_a[EDimensionProcessFilterTimeUnit.MINUTES] = "minute",
|
|
2407
|
-
_a);
|
|
3292
|
+
var _a$1;
|
|
3293
|
+
var intervalByUnit = (_a$1 = {},
|
|
3294
|
+
_a$1[EDimensionProcessFilterTimeUnit.YEARS] = "year",
|
|
3295
|
+
_a$1[EDimensionProcessFilterTimeUnit.MONTHS] = "month",
|
|
3296
|
+
_a$1[EDimensionProcessFilterTimeUnit.DAYS] = "day",
|
|
3297
|
+
_a$1[EDimensionProcessFilterTimeUnit.HOURS] = "hour",
|
|
3298
|
+
_a$1[EDimensionProcessFilterTimeUnit.MINUTES] = "minute",
|
|
3299
|
+
_a$1);
|
|
2408
3300
|
function mapDimensionProcessFilterToCalculatorInput(filter) {
|
|
2409
3301
|
var formula = filter.value.mode === EWidgetIndicatorValueModes.FORMULA
|
|
2410
3302
|
? filter.value.formula
|
|
@@ -2459,8 +3351,158 @@ function mapMeasuresToInputs(measures, variables, addFormulas) {
|
|
|
2459
3351
|
return compactMap(measures, function (measure) { return mapMeasureToInput(measure, variables, addFormulas); });
|
|
2460
3352
|
}
|
|
2461
3353
|
|
|
3354
|
+
var isFormulaWithSliceGuard = function (value) {
|
|
3355
|
+
return "filteringMethod" in value && "formula" in value;
|
|
3356
|
+
};
|
|
3357
|
+
function isNestingDimension(indicator) {
|
|
3358
|
+
return (!isDimensionsHierarchy(indicator) &&
|
|
3359
|
+
parseClickHouseType(indicator.dbDataType).containers.includes("Array"));
|
|
3360
|
+
}
|
|
3361
|
+
function findMatchedFilter(filterValues, dimension) {
|
|
3362
|
+
var dimensionFormula = getDimensionFormula(dimension);
|
|
3363
|
+
return filterValues.findLast(function (filterValue) {
|
|
3364
|
+
if (!isFormulaWithSliceGuard(filterValue)) {
|
|
3365
|
+
return false;
|
|
3366
|
+
}
|
|
3367
|
+
var isFormulaMatched = filterValue.formula === dimensionFormula;
|
|
3368
|
+
if (dimension.arrayNesting) {
|
|
3369
|
+
return isFormulaMatched && filterValue.sliceIndex;
|
|
3370
|
+
}
|
|
3371
|
+
return isFormulaMatched;
|
|
3372
|
+
});
|
|
3373
|
+
}
|
|
3374
|
+
function calculateSelectionIndex(dimension, hierarchyDimensions, index, dimensionMaxNestingMap, filterSliceIndex) {
|
|
3375
|
+
var correctIndex = index + 1;
|
|
3376
|
+
if (filterSliceIndex) {
|
|
3377
|
+
var maxNestingDepth = Number(dimensionMaxNestingMap === null || dimensionMaxNestingMap === void 0 ? void 0 : dimensionMaxNestingMap.get(String(dimension.id))) || 0;
|
|
3378
|
+
var isBelowMaxDepth = filterSliceIndex < maxNestingDepth;
|
|
3379
|
+
var isNestingPending = dimension.arrayNesting && !dimensionMaxNestingMap;
|
|
3380
|
+
correctIndex = isBelowMaxDepth || isNestingPending ? index : index + 1;
|
|
3381
|
+
}
|
|
3382
|
+
return Math.min(correctIndex, hierarchyDimensions.length - 1);
|
|
3383
|
+
}
|
|
3384
|
+
var minNestingIndex = 1;
|
|
3385
|
+
function getDimensionSliceIndex(dimensionMaxNestingMap, filterSliceIndex, checkedValuesLength, dimensionId) {
|
|
3386
|
+
if (!filterSliceIndex) {
|
|
3387
|
+
return minNestingIndex;
|
|
3388
|
+
}
|
|
3389
|
+
var maxNestingDepth = typeof dimensionId === "number" && Number(dimensionMaxNestingMap === null || dimensionMaxNestingMap === void 0 ? void 0 : dimensionMaxNestingMap.get(String(dimensionId)));
|
|
3390
|
+
var isFilterSliceIndexMaxNesting = filterSliceIndex && maxNestingDepth && filterSliceIndex >= maxNestingDepth;
|
|
3391
|
+
if (!dimensionMaxNestingMap || checkedValuesLength > 1 || isFilterSliceIndexMaxNesting) {
|
|
3392
|
+
return filterSliceIndex;
|
|
3393
|
+
}
|
|
3394
|
+
if (checkedValuesLength === 1) {
|
|
3395
|
+
return filterSliceIndex + 1;
|
|
3396
|
+
}
|
|
3397
|
+
return minNestingIndex;
|
|
3398
|
+
}
|
|
3399
|
+
function getSlicedDimension(dimension, sliceIndex) {
|
|
3400
|
+
return __assign(__assign({}, dimension), { sliceIndex: sliceIndex });
|
|
3401
|
+
}
|
|
3402
|
+
function selectSlicedDimensionFromHierarchy(hierarchy, widgetFilterValues, dimensionMaxNestingMap) {
|
|
3403
|
+
var _a;
|
|
3404
|
+
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
3405
|
+
for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
|
|
3406
|
+
var dimension = hierarchyDimensions[i];
|
|
3407
|
+
if (!dimension) {
|
|
3408
|
+
continue;
|
|
3409
|
+
}
|
|
3410
|
+
var displayedDimension = inheritDisplayConditionFromHierarchy(dimension, hierarchy);
|
|
3411
|
+
var matchedFilter = findMatchedFilter(widgetFilterValues, displayedDimension);
|
|
3412
|
+
if (!matchedFilter || !isFormulaWithSliceGuard(matchedFilter)) {
|
|
3413
|
+
continue;
|
|
3414
|
+
}
|
|
3415
|
+
var checkedValuesLength = (_a = matchedFilter.checkedValues) === null || _a === void 0 ? void 0 : _a.length;
|
|
3416
|
+
if (checkedValuesLength === undefined) {
|
|
3417
|
+
continue;
|
|
3418
|
+
}
|
|
3419
|
+
var filterSliceIndex = matchedFilter.sliceIndex;
|
|
3420
|
+
var selectionIndex = checkedValuesLength > 1
|
|
3421
|
+
? i
|
|
3422
|
+
: calculateSelectionIndex(displayedDimension, hierarchyDimensions, i, dimensionMaxNestingMap, filterSliceIndex);
|
|
3423
|
+
var currentDimension = hierarchyDimensions[selectionIndex];
|
|
3424
|
+
if (!currentDimension) {
|
|
3425
|
+
continue;
|
|
3426
|
+
}
|
|
3427
|
+
var displayedCurrentDimension = inheritDisplayConditionFromHierarchy(currentDimension, hierarchy);
|
|
3428
|
+
var dimensionSliceIndex = (displayedCurrentDimension === null || displayedCurrentDimension === void 0 ? void 0 : displayedCurrentDimension.arrayNesting)
|
|
3429
|
+
? getDimensionSliceIndex(dimensionMaxNestingMap, displayedDimension.id === (displayedCurrentDimension === null || displayedCurrentDimension === void 0 ? void 0 : displayedCurrentDimension.id) ? filterSliceIndex : undefined, checkedValuesLength, displayedCurrentDimension === null || displayedCurrentDimension === void 0 ? void 0 : displayedCurrentDimension.id)
|
|
3430
|
+
: undefined;
|
|
3431
|
+
return getSlicedDimension(displayedCurrentDimension, dimensionSliceIndex);
|
|
3432
|
+
}
|
|
3433
|
+
var activeDimension = hierarchyDimensions.at(0);
|
|
3434
|
+
if (!activeDimension) {
|
|
3435
|
+
return;
|
|
3436
|
+
}
|
|
3437
|
+
var displayedActiveDimension = inheritDisplayConditionFromHierarchy(activeDimension, hierarchy);
|
|
3438
|
+
var sliceIndex = (displayedActiveDimension === null || displayedActiveDimension === void 0 ? void 0 : displayedActiveDimension.arrayNesting) ? minNestingIndex : undefined;
|
|
3439
|
+
return getSlicedDimension(displayedActiveDimension, sliceIndex);
|
|
3440
|
+
}
|
|
3441
|
+
function getSlicedDimensionByFilters(dimension, widgetFilters, dimensionMaxNestingMap) {
|
|
3442
|
+
var _a, _b;
|
|
3443
|
+
if (!dimension.arrayNesting) {
|
|
3444
|
+
return dimension;
|
|
3445
|
+
}
|
|
3446
|
+
var matchedFilter = findMatchedFilter(widgetFilters, dimension);
|
|
3447
|
+
if (!matchedFilter || !isFormulaWithSliceGuard(matchedFilter)) {
|
|
3448
|
+
return getSlicedDimension(dimension, 1);
|
|
3449
|
+
}
|
|
3450
|
+
var dimensionSliceIndex = getDimensionSliceIndex(dimensionMaxNestingMap, matchedFilter.sliceIndex, (_b = (_a = matchedFilter.checkedValues) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0, dimension.id);
|
|
3451
|
+
return getSlicedDimension(dimension, dimensionSliceIndex);
|
|
3452
|
+
}
|
|
3453
|
+
var getSlicedDimensionFormula = function (dimension) {
|
|
3454
|
+
var dimensionFormula = getDimensionFormula(dimension);
|
|
3455
|
+
var slicedDimensionFormula = dimension.sliceIndex
|
|
3456
|
+
? applyIndexToArrayFormula(dimensionFormula, dimension.sliceIndex)
|
|
3457
|
+
: dimensionFormula;
|
|
3458
|
+
return { slicedDimensionFormula: slicedDimensionFormula, dimensionFormula: dimensionFormula };
|
|
3459
|
+
};
|
|
3460
|
+
var replaceHierarchiesWithSlicedDimension = function (dimension, widgetFilters, dimensionMaxNestingMap) {
|
|
3461
|
+
if (isDimensionsHierarchy(dimension)) {
|
|
3462
|
+
var slicedDimension = selectSlicedDimensionFromHierarchy(dimension, widgetFilters, dimensionMaxNestingMap);
|
|
3463
|
+
if (!slicedDimension) {
|
|
3464
|
+
return;
|
|
3465
|
+
}
|
|
3466
|
+
var displayedIndicator = __assign(__assign({}, slicedDimension), { displayCondition: dimension.displayCondition });
|
|
3467
|
+
return getSlicedDimension(displayedIndicator, slicedDimension === null || slicedDimension === void 0 ? void 0 : slicedDimension.sliceIndex);
|
|
3468
|
+
}
|
|
3469
|
+
return getSlicedDimensionByFilters(dimension, widgetFilters, dimensionMaxNestingMap);
|
|
3470
|
+
};
|
|
3471
|
+
var replaceHierarchiesWithSlicedDimensions = function (dimensions, widgetFilters, dimensionMaxNestingMap) {
|
|
3472
|
+
return compactMap(dimensions, function (dimension) {
|
|
3473
|
+
return replaceHierarchiesWithSlicedDimension(dimension, widgetFilters, dimensionMaxNestingMap);
|
|
3474
|
+
});
|
|
3475
|
+
};
|
|
3476
|
+
var findDimensionsForNestingQuery = function (dimensions, widgetFilters) {
|
|
3477
|
+
var slicedDimensions = replaceHierarchiesWithSlicedDimensions(dimensions, widgetFilters);
|
|
3478
|
+
return slicedDimensions.filter(function (dimension) {
|
|
3479
|
+
var _a, _b;
|
|
3480
|
+
if (!(dimension === null || dimension === void 0 ? void 0 : dimension.arrayNesting)) {
|
|
3481
|
+
return false;
|
|
3482
|
+
}
|
|
3483
|
+
var dimensionFormula = getDimensionFormula(dimension);
|
|
3484
|
+
var lastFilterByDimension = widgetFilters.findLast(function (filterValue) {
|
|
3485
|
+
if (!isFormulaWithSliceGuard(filterValue) || !filterValue.sliceIndex) {
|
|
3486
|
+
return false;
|
|
3487
|
+
}
|
|
3488
|
+
return (filterValue.formula === dimensionFormula && dimension.sliceIndex === filterValue.sliceIndex);
|
|
3489
|
+
});
|
|
3490
|
+
if (!lastFilterByDimension || !isFormulaWithSliceGuard(lastFilterByDimension)) {
|
|
3491
|
+
return false;
|
|
3492
|
+
}
|
|
3493
|
+
var filterSliceIndex = lastFilterByDimension.sliceIndex;
|
|
3494
|
+
var selectedFilterValues = (_b = (_a = lastFilterByDimension.checkedValues) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
3495
|
+
if (!filterSliceIndex || selectedFilterValues !== 1) {
|
|
3496
|
+
return false;
|
|
3497
|
+
}
|
|
3498
|
+
return true;
|
|
3499
|
+
});
|
|
3500
|
+
};
|
|
3501
|
+
|
|
2462
3502
|
function mapDimensionToInput(dimension, variables) {
|
|
2463
|
-
var formula =
|
|
3503
|
+
var formula = dimension.sliceIndex !== undefined
|
|
3504
|
+
? getSlicedDimensionFormula(dimension).slicedDimensionFormula
|
|
3505
|
+
: getDimensionFormula(dimension);
|
|
2464
3506
|
if (!formula) {
|
|
2465
3507
|
return null;
|
|
2466
3508
|
}
|
|
@@ -2528,13 +3570,26 @@ function mapEventMeasuresToInputs(indicators, process, variables, addFormulas) {
|
|
|
2528
3570
|
});
|
|
2529
3571
|
}
|
|
2530
3572
|
|
|
2531
|
-
var ESortDirection
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
3573
|
+
var ESortDirection = VersionedEnum.build({
|
|
3574
|
+
latestVersion: "17",
|
|
3575
|
+
history: {
|
|
3576
|
+
"17": {
|
|
3577
|
+
descend: "DESC",
|
|
3578
|
+
ascend: "ASC",
|
|
3579
|
+
ASC: "ascend",
|
|
3580
|
+
DESC: "descend",
|
|
3581
|
+
},
|
|
3582
|
+
},
|
|
3583
|
+
});
|
|
3584
|
+
var ESortingMode = VersionedEnum.build({
|
|
3585
|
+
latestVersion: "17",
|
|
3586
|
+
history: {
|
|
3587
|
+
"17": {
|
|
3588
|
+
BY_VALUES: "BY_VALUES",
|
|
3589
|
+
FORMULA: "FORMULA",
|
|
3590
|
+
},
|
|
3591
|
+
},
|
|
3592
|
+
});
|
|
2538
3593
|
|
|
2539
3594
|
/**
|
|
2540
3595
|
* Выбрать активный разрез иерархии на основе активных фильтров.
|
|
@@ -2543,7 +3598,7 @@ var ESortDirection;
|
|
|
2543
3598
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
2544
3599
|
*/
|
|
2545
3600
|
function selectDimensionFromHierarchy(hierarchy, filters) {
|
|
2546
|
-
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
3601
|
+
var hierarchyDimensions = hierarchy.hierarchyDimensions;
|
|
2547
3602
|
var _loop_1 = function (i) {
|
|
2548
3603
|
var dimension = hierarchyDimensions[i];
|
|
2549
3604
|
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
@@ -2628,9 +3683,9 @@ var getDefaultSortOrders = function (_a) {
|
|
|
2628
3683
|
};
|
|
2629
3684
|
function mapSortingToInputs(_a) {
|
|
2630
3685
|
var _b;
|
|
2631
|
-
var settings = _a.settings, variables = _a.variables, filters = _a.filters, getIndicatorType = _a.getIndicatorType;
|
|
3686
|
+
var settings = _a.settings, variables = _a.variables, filters = _a.filters, widgetFilters = _a.widgetFilters, getIndicatorType = _a.getIndicatorType, dimensionMaxNestingMap = _a.dimensionMaxNestingMap;
|
|
2632
3687
|
var sortOrder = compactMap((_b = settings["sorting"]) !== null && _b !== void 0 ? _b : [], function (_a) {
|
|
2633
|
-
var _b;
|
|
3688
|
+
var _b, _c;
|
|
2634
3689
|
var direction = _a.direction, value = _a.value;
|
|
2635
3690
|
if (value.mode === ESortingValueModes.FORMULA) {
|
|
2636
3691
|
return value.formula
|
|
@@ -2643,6 +3698,21 @@ function mapSortingToInputs(_a) {
|
|
|
2643
3698
|
return;
|
|
2644
3699
|
}
|
|
2645
3700
|
if (getIndicatorType(value.group, indicator) === EWidgetIndicatorType.DIMENSION) {
|
|
3701
|
+
if (dimensionMaxNestingMap !== undefined) {
|
|
3702
|
+
var slicedDimension = replaceHierarchiesWithSlicedDimension(indicator, widgetFilters !== null && widgetFilters !== void 0 ? widgetFilters : [], dimensionMaxNestingMap);
|
|
3703
|
+
if (!slicedDimension ||
|
|
3704
|
+
!checkDisplayCondition(slicedDimension.displayCondition, variables)) {
|
|
3705
|
+
return;
|
|
3706
|
+
}
|
|
3707
|
+
return {
|
|
3708
|
+
formula: getSlicedDimensionFormula(slicedDimension).slicedDimensionFormula,
|
|
3709
|
+
direction: direction,
|
|
3710
|
+
dbDataType: slicedDimension.dbDataType,
|
|
3711
|
+
displayCondition: ((_b = slicedDimension.displayCondition) === null || _b === void 0 ? void 0 : _b.mode) === EDisplayConditionMode.FORMULA
|
|
3712
|
+
? slicedDimension.displayCondition.formula
|
|
3713
|
+
: undefined,
|
|
3714
|
+
};
|
|
3715
|
+
}
|
|
2646
3716
|
var activeDimensions = (isDimensionsHierarchy(indicator)
|
|
2647
3717
|
? selectDimensionFromHierarchy(indicator, filters)
|
|
2648
3718
|
: indicator);
|
|
@@ -2654,7 +3724,7 @@ function mapSortingToInputs(_a) {
|
|
|
2654
3724
|
formula: formula,
|
|
2655
3725
|
direction: direction,
|
|
2656
3726
|
dbDataType: activeDimensions.dbDataType,
|
|
2657
|
-
displayCondition: ((
|
|
3727
|
+
displayCondition: ((_c = indicator.displayCondition) === null || _c === void 0 ? void 0 : _c.mode) === EDisplayConditionMode.FORMULA
|
|
2658
3728
|
? indicator.displayCondition.formula
|
|
2659
3729
|
: undefined,
|
|
2660
3730
|
};
|
|
@@ -2697,57 +3767,67 @@ function bindContentsWithIndicators(outputs, indicators) {
|
|
|
2697
3767
|
return compactMap(indicators, function (indicator) { return bindContentWithIndicator(outputs, indicator); });
|
|
2698
3768
|
}
|
|
2699
3769
|
|
|
2700
|
-
var EControlType
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2704
|
-
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2719
|
-
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
}
|
|
3770
|
+
var EControlType = VersionedEnum.build({
|
|
3771
|
+
latestVersion: "17",
|
|
3772
|
+
history: {
|
|
3773
|
+
"17": {
|
|
3774
|
+
/** Ввод текста */
|
|
3775
|
+
input: "input",
|
|
3776
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
3777
|
+
inputTemplate: "inputTemplate",
|
|
3778
|
+
/** Ввод текста в формате markdown */
|
|
3779
|
+
inputMarkdown: "inputMarkdown",
|
|
3780
|
+
/** Ввод числа */
|
|
3781
|
+
inputNumber: "inputNumber",
|
|
3782
|
+
/** Выбор диапазона чисел */
|
|
3783
|
+
inputRange: "inputRange",
|
|
3784
|
+
/** Ввод размера (число + единица измерения) */
|
|
3785
|
+
size: "size",
|
|
3786
|
+
/** Выбор boolean значения через переключатель */
|
|
3787
|
+
switch: "switch",
|
|
3788
|
+
/** Выбор варианта из выпадающего списка */
|
|
3789
|
+
select: "select",
|
|
3790
|
+
/** Выбор одного из вариантов, представленных через иконки */
|
|
3791
|
+
radioIconGroup: "radioIconGroup",
|
|
3792
|
+
/** Ввод значения показателя */
|
|
3793
|
+
formula: "formula",
|
|
3794
|
+
/** Ввод формулы и ее типа */
|
|
3795
|
+
typedFormula: "typedFormula",
|
|
3796
|
+
/** Выбор настроек форматирования */
|
|
3797
|
+
formatting: "formatting",
|
|
3798
|
+
/** Ввод шаблона форматирования */
|
|
3799
|
+
formattingTemplate: "formattingTemplate",
|
|
3800
|
+
/** Выбор действий по клику */
|
|
3801
|
+
actionOnClick: "actionOnClick",
|
|
3802
|
+
/** Ввод фильтров */
|
|
3803
|
+
filter: "filter",
|
|
3804
|
+
/** Ввод условия отображения */
|
|
3805
|
+
displayCondition: "displayCondition",
|
|
3806
|
+
/** Ввод цвета */
|
|
3807
|
+
colorPicker: "colorPicker",
|
|
3808
|
+
/** Отображение тегов с возможностью "провалиться" внутрь */
|
|
3809
|
+
tagSet: "tagSet",
|
|
3810
|
+
/** Множественный выбор событий процесса */
|
|
3811
|
+
eventsPicker: "eventsPicker",
|
|
3812
|
+
/**
|
|
3813
|
+
* @deprecated используется только для виджета "Маршруты", будет перенесено на уровень виджета.
|
|
3814
|
+
* Ввод цветов для событий процесса.
|
|
3815
|
+
*/
|
|
3816
|
+
eventsColor: "eventsColor",
|
|
3817
|
+
/** Сортировка */
|
|
3818
|
+
sorting: "sorting",
|
|
3819
|
+
},
|
|
3820
|
+
},
|
|
3821
|
+
});
|
|
3822
|
+
var EUnitMode = VersionedEnum.build({
|
|
3823
|
+
latestVersion: "17",
|
|
3824
|
+
history: {
|
|
3825
|
+
"17": {
|
|
3826
|
+
PIXEL: "PIXEL",
|
|
3827
|
+
PERCENT: "PERCENT",
|
|
3828
|
+
},
|
|
3829
|
+
},
|
|
3830
|
+
});
|
|
2751
3831
|
var defaultActionsConfig = {
|
|
2752
3832
|
OPEN_URL: { availability: true },
|
|
2753
3833
|
UPDATE_VARIABLE: { availability: true },
|
|
@@ -2755,24 +3835,56 @@ var defaultActionsConfig = {
|
|
|
2755
3835
|
OPEN_VIEW: { availability: true },
|
|
2756
3836
|
};
|
|
2757
3837
|
|
|
2758
|
-
var
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
3838
|
+
var _a;
|
|
3839
|
+
var availableFormatsBySimpleType = (_a = {},
|
|
3840
|
+
_a[ESimpleDataType.OTHER] = [EFormatTypes.STRING],
|
|
3841
|
+
_a[ESimpleDataType.STRING] = [EFormatTypes.STRING],
|
|
3842
|
+
_a[ESimpleDataType.FLOAT] = [EFormatTypes.NUMBER, EFormatTypes.DURATION, EFormatTypes.PERCENT],
|
|
3843
|
+
_a[ESimpleDataType.INTEGER] = [
|
|
3844
|
+
EFormatTypes.NUMBER,
|
|
3845
|
+
EFormatTypes.DURATION,
|
|
3846
|
+
EFormatTypes.QUARTER_YEAR,
|
|
3847
|
+
EFormatTypes.MONTH_YEAR,
|
|
3848
|
+
EFormatTypes.MONTH,
|
|
3849
|
+
EFormatTypes.DAY_OF_WEEK,
|
|
3850
|
+
EFormatTypes.PERCENT,
|
|
3851
|
+
],
|
|
3852
|
+
_a[ESimpleDataType.DATE] = [EFormatTypes.DATE],
|
|
3853
|
+
_a[ESimpleDataType.DATETIME] = [EFormatTypes.DATETIME],
|
|
3854
|
+
_a[ESimpleDataType.DATETIME64] = [EFormatTypes.DATETIME],
|
|
3855
|
+
_a[ESimpleDataType.BOOLEAN] = [EFormatTypes.BOOLEAN],
|
|
3856
|
+
_a);
|
|
3857
|
+
|
|
3858
|
+
var ESelectOptionTypes = VersionedEnum.build({
|
|
3859
|
+
latestVersion: "17",
|
|
3860
|
+
history: {
|
|
3861
|
+
"17": {
|
|
3862
|
+
DIVIDER: "DIVIDER",
|
|
3863
|
+
SYSTEM: "SYSTEM",
|
|
3864
|
+
GROUP: "GROUP",
|
|
3865
|
+
BRANCH: "BRANCH",
|
|
3866
|
+
LEAF: "LEAF",
|
|
3867
|
+
},
|
|
3868
|
+
},
|
|
3869
|
+
});
|
|
3870
|
+
var ECustomSelectTemplates = VersionedEnum.build({
|
|
3871
|
+
latestVersion: "17",
|
|
3872
|
+
history: {
|
|
3873
|
+
"17": {
|
|
3874
|
+
FORMULA: "FORMULA",
|
|
3875
|
+
DIMENSION_GROUPS: "DIMENSION_GROUPS",
|
|
3876
|
+
},
|
|
3877
|
+
},
|
|
3878
|
+
});
|
|
2771
3879
|
//todo: заполнить в рамках BI-13985
|
|
2772
|
-
var ESystemRecordKey
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
3880
|
+
var ESystemRecordKey = VersionedEnum.build({
|
|
3881
|
+
latestVersion: "17",
|
|
3882
|
+
history: {
|
|
3883
|
+
"17": {
|
|
3884
|
+
formatting: "formatting",
|
|
3885
|
+
},
|
|
3886
|
+
},
|
|
3887
|
+
});
|
|
2776
3888
|
|
|
2777
3889
|
var findFilterByFormula = function (filters, formula) {
|
|
2778
3890
|
var _a;
|
|
@@ -2822,80 +3934,47 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
2822
3934
|
replacedFilter: null,
|
|
2823
3935
|
});
|
|
2824
3936
|
};
|
|
2825
|
-
var
|
|
3937
|
+
var isWidgetFilter = function (filter) {
|
|
3938
|
+
return "filterValue" in filter;
|
|
3939
|
+
};
|
|
3940
|
+
var isCalculatorFilter = function (filter) { return "formula" in filter; };
|
|
3941
|
+
var getWidgetFilterFormula = function (_a) {
|
|
3942
|
+
var filterValue = _a.filterValue, preparedFilterValue = _a.preparedFilterValue;
|
|
3943
|
+
if (!("filteringMethod" in filterValue && "formula" in filterValue)) {
|
|
3944
|
+
return preparedFilterValue.formula;
|
|
3945
|
+
}
|
|
3946
|
+
var formulaFilterValue = filterValue;
|
|
3947
|
+
if (!formulaFilterValue.sliceIndex) {
|
|
3948
|
+
return formulaFilterValue.formula;
|
|
3949
|
+
}
|
|
3950
|
+
return applyIndexToArrayFormula(formulaFilterValue.formula, formulaFilterValue.sliceIndex);
|
|
3951
|
+
};
|
|
3952
|
+
var mergeWidgetFilter = function (filter, replacedFilter) {
|
|
3953
|
+
return __assign(__assign({}, filter), { preparedFilterValue: replacedFilter, filterValue: __assign(__assign(__assign({}, filter.filterValue), omit(replacedFilter, ["values"])), { checkedValues: replacedFilter.values }) });
|
|
3954
|
+
};
|
|
3955
|
+
function replaceFiltersBySelection(filters, selection) {
|
|
2826
3956
|
return filters.reduce(function (acc, filter) {
|
|
2827
3957
|
var _a;
|
|
2828
|
-
var
|
|
2829
|
-
|
|
3958
|
+
var isFilterFromWidget = isWidgetFilter(filter);
|
|
3959
|
+
var filterFormula = isFilterFromWidget ? getWidgetFilterFormula(filter) : filter.formula;
|
|
3960
|
+
if (!filterFormula) {
|
|
3961
|
+
return acc;
|
|
3962
|
+
}
|
|
3963
|
+
var currentFilter = selection.has(filterFormula)
|
|
3964
|
+
? (_a = selection.get(filterFormula)) === null || _a === void 0 ? void 0 : _a.replacedFilter
|
|
2830
3965
|
: filter;
|
|
2831
|
-
if (!
|
|
3966
|
+
if (!currentFilter) {
|
|
2832
3967
|
return acc;
|
|
2833
3968
|
}
|
|
2834
|
-
|
|
3969
|
+
var hasReplacedCalculatorForWidget = selection.has(filterFormula) && isFilterFromWidget && isCalculatorFilter(currentFilter);
|
|
3970
|
+
var resolvedFilter = hasReplacedCalculatorForWidget
|
|
3971
|
+
? mergeWidgetFilter(filter, currentFilter)
|
|
3972
|
+
: currentFilter;
|
|
3973
|
+
acc.push(resolvedFilter);
|
|
2835
3974
|
return acc;
|
|
2836
3975
|
}, []);
|
|
2837
|
-
}
|
|
2838
|
-
|
|
2839
|
-
var localization = null;
|
|
2840
|
-
var supportedLanguages = [Localization.Language.ru, Localization.Language.en];
|
|
2841
|
-
/**
|
|
2842
|
-
* Получает локализованный текст на основе переданного языка и объекта локализации.
|
|
2843
|
-
* @param {ELanguages} language - Текущий язык, на котором должен быть возвращен локализованный текст.
|
|
2844
|
-
* @param {L} locObj - Объект локализации, содержащий тексты на разных языках.
|
|
2845
|
-
* @param {P} [props] - Дополнительные параметры локализации.
|
|
2846
|
-
* @returns {string} - Локализованный текст для указанного языка.
|
|
2847
|
-
*/
|
|
2848
|
-
var getLocalizedText = function (language, locObj, props) {
|
|
2849
|
-
if (!localization || localization.getLanguage() !== language) {
|
|
2850
|
-
var isSupportLanguage = supportedLanguages.includes(language);
|
|
2851
|
-
!isSupportLanguage &&
|
|
2852
|
-
console.error("An unsupported \"".concat(language, "\" language has been passed. The default language is English"));
|
|
2853
|
-
var lang = isSupportLanguage ? language : Localization.Language.en;
|
|
2854
|
-
localization = new Localization({ language: lang });
|
|
2855
|
-
}
|
|
2856
|
-
return localization.getLocalized(locObj, props);
|
|
2857
|
-
};
|
|
3976
|
+
}
|
|
2858
3977
|
|
|
2859
|
-
var EColorMode;
|
|
2860
|
-
(function (EColorMode) {
|
|
2861
|
-
/** Окрашивание отключено */
|
|
2862
|
-
EColorMode["DISABLED"] = "DISABLED";
|
|
2863
|
-
/** Цвет каждого значения вычисляется по формуле */
|
|
2864
|
-
EColorMode["FORMULA"] = "FORMULA";
|
|
2865
|
-
/** Один цвет для всех значений */
|
|
2866
|
-
EColorMode["BASE"] = "BASE";
|
|
2867
|
-
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
2868
|
-
EColorMode["GRADIENT"] = "GRADIENT";
|
|
2869
|
-
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
2870
|
-
EColorMode["AUTO"] = "AUTO";
|
|
2871
|
-
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
2872
|
-
EColorMode["RULE"] = "RULE";
|
|
2873
|
-
/** Задать цвет конкретным значениям разреза */
|
|
2874
|
-
EColorMode["VALUES"] = "VALUES";
|
|
2875
|
-
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
2876
|
-
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
2877
|
-
})(EColorMode || (EColorMode = {}));
|
|
2878
|
-
var getRuleColor = function (ruleFormula, globalContext) {
|
|
2879
|
-
var _a, _b;
|
|
2880
|
-
var link = parseIndicatorLink(ruleFormula);
|
|
2881
|
-
if (!link) {
|
|
2882
|
-
return;
|
|
2883
|
-
}
|
|
2884
|
-
var _c = link.scopeName, scopeName = _c === void 0 ? null : _c, ruleName = link.indicatorName;
|
|
2885
|
-
var rulesByScope = isNil(scopeName)
|
|
2886
|
-
? globalContext.reportDisplayRules
|
|
2887
|
-
: (_a = globalContext.workspaceDisplayRules) === null || _a === void 0 ? void 0 : _a.get(scopeName);
|
|
2888
|
-
return (_b = rulesByScope === null || rulesByScope === void 0 ? void 0 : rulesByScope.get(ruleName)) === null || _b === void 0 ? void 0 : _b.color;
|
|
2889
|
-
};
|
|
2890
|
-
var isValidColor = function (color, globalContext) {
|
|
2891
|
-
if (color.mode === EColorMode.RULE) {
|
|
2892
|
-
return !color.formula || Boolean(getRuleColor(color.formula, globalContext));
|
|
2893
|
-
}
|
|
2894
|
-
if (color.mode === EColorMode.VALUES) {
|
|
2895
|
-
return color.items.every(function (item) { return isValidColor(item.color, globalContext); });
|
|
2896
|
-
}
|
|
2897
|
-
return true;
|
|
2898
|
-
};
|
|
2899
3978
|
var colors = [
|
|
2900
3979
|
"#222F3E",
|
|
2901
3980
|
"#00D2D3",
|
|
@@ -2928,6 +4007,54 @@ var colors = [
|
|
|
2928
4007
|
"#BCC8D4",
|
|
2929
4008
|
"#BA46AA",
|
|
2930
4009
|
];
|
|
4010
|
+
|
|
4011
|
+
var EColorMode = VersionedEnum.build({
|
|
4012
|
+
latestVersion: "17",
|
|
4013
|
+
history: {
|
|
4014
|
+
"17": {
|
|
4015
|
+
/** Окрашивание отключено */
|
|
4016
|
+
DISABLED: "DISABLED",
|
|
4017
|
+
/** Цвет каждого значения вычисляется по формуле */
|
|
4018
|
+
FORMULA: "FORMULA",
|
|
4019
|
+
/** Один цвет для всех значений */
|
|
4020
|
+
BASE: "BASE",
|
|
4021
|
+
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
4022
|
+
GRADIENT: "GRADIENT",
|
|
4023
|
+
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
4024
|
+
AUTO: "AUTO",
|
|
4025
|
+
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
4026
|
+
RULE: "RULE",
|
|
4027
|
+
/** Задать цвет конкретным значениям разреза */
|
|
4028
|
+
VALUES: "VALUES",
|
|
4029
|
+
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
4030
|
+
BY_DIMENSION: "BY_DIMENSION",
|
|
4031
|
+
/** Окрашивание по числовым диапазонам меры: colors[n] + limits[n-1] */
|
|
4032
|
+
RANGES: "RANGES",
|
|
4033
|
+
},
|
|
4034
|
+
},
|
|
4035
|
+
});
|
|
4036
|
+
|
|
4037
|
+
var getRuleColor = function (ruleFormula, globalContext) {
|
|
4038
|
+
var _a, _b;
|
|
4039
|
+
var link = parseIndicatorLink(ruleFormula);
|
|
4040
|
+
if (!link) {
|
|
4041
|
+
return;
|
|
4042
|
+
}
|
|
4043
|
+
var _c = link.scopeName, scopeName = _c === void 0 ? null : _c, ruleName = link.indicatorName;
|
|
4044
|
+
var rulesByScope = isNil(scopeName)
|
|
4045
|
+
? globalContext.reportDisplayRules
|
|
4046
|
+
: (_a = globalContext.workspaceDisplayRules) === null || _a === void 0 ? void 0 : _a.get(scopeName);
|
|
4047
|
+
return (_b = rulesByScope === null || rulesByScope === void 0 ? void 0 : rulesByScope.get(ruleName)) === null || _b === void 0 ? void 0 : _b.color;
|
|
4048
|
+
};
|
|
4049
|
+
var isValidColor = function (color, globalContext) {
|
|
4050
|
+
if (color.mode === EColorMode.RULE) {
|
|
4051
|
+
return !color.formula || Boolean(getRuleColor(color.formula, globalContext));
|
|
4052
|
+
}
|
|
4053
|
+
if (color.mode === EColorMode.VALUES) {
|
|
4054
|
+
return color.items.every(function (item) { return isValidColor(item.color, globalContext); });
|
|
4055
|
+
}
|
|
4056
|
+
return true;
|
|
4057
|
+
};
|
|
2931
4058
|
/**
|
|
2932
4059
|
* Получить цвет по индексу элемента
|
|
2933
4060
|
* @param index - индекс элемента, которому требуется цвет
|
|
@@ -2942,22 +4069,245 @@ var getColorByIndex = function (index) {
|
|
|
2942
4069
|
return color;
|
|
2943
4070
|
};
|
|
2944
4071
|
|
|
2945
|
-
var
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
}
|
|
2956
|
-
|
|
2957
|
-
|
|
4072
|
+
var ColorBaseSchema = SchemaRegistry.define({
|
|
4073
|
+
key: "ColorBase",
|
|
4074
|
+
latestVersion: "17",
|
|
4075
|
+
history: {
|
|
4076
|
+
"17": function (z) {
|
|
4077
|
+
return z.object({
|
|
4078
|
+
mode: z.literal(EColorMode.BASE),
|
|
4079
|
+
value: z.string(),
|
|
4080
|
+
});
|
|
4081
|
+
},
|
|
4082
|
+
},
|
|
4083
|
+
});
|
|
4084
|
+
var ColorRuleSchema = SchemaRegistry.define({
|
|
4085
|
+
key: "ColorRule",
|
|
4086
|
+
latestVersion: "17",
|
|
4087
|
+
history: {
|
|
4088
|
+
"17": function (z) {
|
|
4089
|
+
return z.object({
|
|
4090
|
+
mode: z.literal(EColorMode.RULE),
|
|
4091
|
+
// Здесь не нужна FormulaSchema, т.к. не требуется подстановка формулы
|
|
4092
|
+
formula: z.string().default(""),
|
|
4093
|
+
});
|
|
4094
|
+
},
|
|
4095
|
+
},
|
|
4096
|
+
});
|
|
4097
|
+
var ColorAutoSchema = SchemaRegistry.define({
|
|
4098
|
+
key: "ColorAuto",
|
|
4099
|
+
latestVersion: "17",
|
|
4100
|
+
history: {
|
|
4101
|
+
"17": function (z) {
|
|
4102
|
+
return z.object({
|
|
4103
|
+
mode: z.literal(EColorMode.AUTO),
|
|
4104
|
+
});
|
|
4105
|
+
},
|
|
4106
|
+
},
|
|
4107
|
+
});
|
|
4108
|
+
var ColorDisabledSchema = SchemaRegistry.define({
|
|
4109
|
+
key: "ColorDisabled",
|
|
4110
|
+
latestVersion: "17",
|
|
4111
|
+
history: {
|
|
4112
|
+
"17": function (z) {
|
|
4113
|
+
return z.object({
|
|
4114
|
+
mode: z.literal(EColorMode.DISABLED),
|
|
4115
|
+
});
|
|
4116
|
+
},
|
|
4117
|
+
},
|
|
4118
|
+
});
|
|
4119
|
+
var ColorGradientSchema = SchemaRegistry.define({
|
|
4120
|
+
key: "ColorGradient",
|
|
4121
|
+
latestVersion: "17",
|
|
4122
|
+
history: {
|
|
4123
|
+
"17": function (z) {
|
|
4124
|
+
return z.object({
|
|
4125
|
+
mode: z.literal(EColorMode.GRADIENT),
|
|
4126
|
+
startValue: z.string(),
|
|
4127
|
+
endValue: z.string(),
|
|
4128
|
+
classCount: z.number().min(3).max(10).nullish(),
|
|
4129
|
+
});
|
|
4130
|
+
},
|
|
4131
|
+
},
|
|
4132
|
+
});
|
|
4133
|
+
var ColorFormulaSchema = SchemaRegistry.define({
|
|
4134
|
+
key: "ColorFormula",
|
|
4135
|
+
latestVersion: "17",
|
|
4136
|
+
history: {
|
|
4137
|
+
"17": function (z) {
|
|
4138
|
+
return z.object({
|
|
4139
|
+
mode: z.literal(EColorMode.FORMULA),
|
|
4140
|
+
formula: FormulaSchema.forVersion("17")(z),
|
|
4141
|
+
});
|
|
4142
|
+
},
|
|
4143
|
+
},
|
|
4144
|
+
});
|
|
4145
|
+
var ColorValuesSchema = SchemaRegistry.define({
|
|
4146
|
+
key: "ColorValues",
|
|
4147
|
+
latestVersion: "17",
|
|
4148
|
+
history: {
|
|
4149
|
+
"17": function (z) {
|
|
4150
|
+
return z.object({
|
|
4151
|
+
mode: z.literal(EColorMode.VALUES),
|
|
4152
|
+
items: z
|
|
4153
|
+
.array(z.object({
|
|
4154
|
+
value: z.string(),
|
|
4155
|
+
color: z.union([
|
|
4156
|
+
ColorBaseSchema.forVersion("17")(z),
|
|
4157
|
+
ColorRuleSchema.forVersion("17")(z),
|
|
4158
|
+
]),
|
|
4159
|
+
}))
|
|
4160
|
+
.default([]),
|
|
4161
|
+
});
|
|
4162
|
+
},
|
|
4163
|
+
},
|
|
4164
|
+
});
|
|
4165
|
+
var ColorByDimensionSchema = SchemaRegistry.define({
|
|
4166
|
+
key: "ColorByDimension",
|
|
4167
|
+
latestVersion: "17",
|
|
4168
|
+
history: {
|
|
4169
|
+
"17": function (z) {
|
|
4170
|
+
return z.object({
|
|
4171
|
+
mode: z.literal(EColorMode.BY_DIMENSION),
|
|
4172
|
+
/** Имя разреза из области видимости правила отображения */
|
|
4173
|
+
dimensionName: z.string(),
|
|
4174
|
+
items: z
|
|
4175
|
+
.array(z.object({
|
|
4176
|
+
value: z.string(),
|
|
4177
|
+
color: z.union([
|
|
4178
|
+
ColorBaseSchema.forVersion("17")(z),
|
|
4179
|
+
ColorRuleSchema.forVersion("17")(z),
|
|
4180
|
+
]),
|
|
4181
|
+
}))
|
|
4182
|
+
.default([]),
|
|
4183
|
+
});
|
|
4184
|
+
},
|
|
4185
|
+
},
|
|
4186
|
+
});
|
|
4187
|
+
var ColorRangesSchema = SchemaRegistry.define({
|
|
4188
|
+
key: "ColorRanges",
|
|
4189
|
+
latestVersion: "17",
|
|
4190
|
+
history: {
|
|
4191
|
+
"17": function (z) {
|
|
4192
|
+
return z
|
|
4193
|
+
.object({
|
|
4194
|
+
mode: z.literal(EColorMode.RANGES),
|
|
4195
|
+
colors: z.array(z.string()).default([]),
|
|
4196
|
+
limits: z.array(z.number()).default([]),
|
|
4197
|
+
})
|
|
4198
|
+
.refine(function (_a) {
|
|
4199
|
+
var colors = _a.colors, limits = _a.limits;
|
|
4200
|
+
return limits.length === colors.length - 1;
|
|
4201
|
+
}, {
|
|
4202
|
+
path: ["limits"],
|
|
4203
|
+
message: "limits.length должно быть равно colors.length - 1",
|
|
4204
|
+
});
|
|
4205
|
+
},
|
|
4206
|
+
},
|
|
4207
|
+
});
|
|
4208
|
+
var ColoredValueSchema = SchemaRegistry.define({
|
|
4209
|
+
key: "ColoredValue",
|
|
4210
|
+
latestVersion: "17",
|
|
4211
|
+
history: {
|
|
4212
|
+
"17": function (z) {
|
|
4213
|
+
return z.object({
|
|
4214
|
+
value: z.string(),
|
|
4215
|
+
color: z.union([ColorBaseSchema.forVersion("17")(z), ColorRuleSchema.forVersion("17")(z)]),
|
|
4216
|
+
});
|
|
4217
|
+
},
|
|
4218
|
+
},
|
|
4219
|
+
});
|
|
4220
|
+
var ColorSchema = SchemaRegistry.define({
|
|
4221
|
+
key: "Color",
|
|
4222
|
+
latestVersion: "17",
|
|
4223
|
+
history: {
|
|
4224
|
+
"17": function (z) {
|
|
4225
|
+
return z
|
|
4226
|
+
.discriminatedUnion("mode", [
|
|
4227
|
+
ColorAutoSchema.forVersion("17")(z),
|
|
4228
|
+
ColorDisabledSchema.forVersion("17")(z),
|
|
4229
|
+
ColorBaseSchema.forVersion("17")(z),
|
|
4230
|
+
ColorRuleSchema.forVersion("17")(z),
|
|
4231
|
+
ColorGradientSchema.forVersion("17")(z),
|
|
4232
|
+
ColorFormulaSchema.forVersion("17")(z),
|
|
4233
|
+
ColorValuesSchema.forVersion("17")(z),
|
|
4234
|
+
ColorByDimensionSchema.forVersion("17")(z),
|
|
4235
|
+
ColorRangesSchema.forVersion("17")(z),
|
|
4236
|
+
])
|
|
4237
|
+
.default({ mode: EColorMode.AUTO });
|
|
4238
|
+
},
|
|
4239
|
+
},
|
|
4240
|
+
});
|
|
4241
|
+
|
|
4242
|
+
var hexToRgb = function (hex) {
|
|
4243
|
+
if (hex.length === 0) {
|
|
4244
|
+
return;
|
|
4245
|
+
}
|
|
4246
|
+
var rgbTuple = [0, 0, 0];
|
|
4247
|
+
var matchArray = hex
|
|
4248
|
+
.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (m, r, g, b) { return "#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b); })
|
|
4249
|
+
.substring(1)
|
|
4250
|
+
.match(/.{2}/g);
|
|
4251
|
+
matchArray === null || matchArray === void 0 ? void 0 : matchArray.forEach(function (value, index) {
|
|
4252
|
+
if (index > 2) {
|
|
4253
|
+
return undefined;
|
|
4254
|
+
}
|
|
4255
|
+
rgbTuple[index] = parseInt(value, 16);
|
|
2958
4256
|
});
|
|
4257
|
+
return rgbTuple;
|
|
4258
|
+
};
|
|
4259
|
+
|
|
4260
|
+
var rgbToHex = function (rgb) {
|
|
4261
|
+
return "#".concat(rgb.map(function (x) { return x.toString(16).padStart(2, "0"); }).join(""));
|
|
4262
|
+
};
|
|
4263
|
+
|
|
4264
|
+
var lerp = function (a, b, t) { return a + (b - a) * t; };
|
|
4265
|
+
/**
|
|
4266
|
+
* Вычисляет промежуточный hex цвет между двумя цветами путем линейной интерполяции
|
|
4267
|
+
* в RGB пространстве
|
|
4268
|
+
*
|
|
4269
|
+
* @param startHex цвет начала
|
|
4270
|
+
* @param endHex цвет конца
|
|
4271
|
+
* @param position позиция на градиенте от 0 до 1
|
|
4272
|
+
*/
|
|
4273
|
+
var interpolateHexColor = function (startHex, endHex, position) {
|
|
4274
|
+
var clampedPosition = clamp(position, 0, 1);
|
|
4275
|
+
var startRgb = hexToRgb(startHex);
|
|
4276
|
+
var endRgb = hexToRgb(endHex);
|
|
4277
|
+
if (!startRgb || !endRgb) {
|
|
4278
|
+
throw new Error("\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430: start: ".concat(startHex, ", end: ").concat(endHex));
|
|
4279
|
+
}
|
|
4280
|
+
var interpolated = [
|
|
4281
|
+
Math.round(lerp(startRgb[0], endRgb[0], clampedPosition)),
|
|
4282
|
+
Math.round(lerp(startRgb[1], endRgb[1], clampedPosition)),
|
|
4283
|
+
Math.round(lerp(startRgb[2], endRgb[2], clampedPosition)),
|
|
4284
|
+
];
|
|
4285
|
+
return rgbToHex(interpolated);
|
|
2959
4286
|
};
|
|
2960
4287
|
|
|
4288
|
+
/** @deprecated временно используется для миграции */
|
|
4289
|
+
var WidgetPresetSettingsSchema = SchemaRegistry.define({
|
|
4290
|
+
key: "WidgetPresetSettings",
|
|
4291
|
+
latestVersion: "17",
|
|
4292
|
+
history: {
|
|
4293
|
+
"17": function (z) {
|
|
4294
|
+
return BaseWidgetSettingsSchema.forVersion("17")(z)
|
|
4295
|
+
.pick({
|
|
4296
|
+
filterMode: true,
|
|
4297
|
+
ignoreFilters: true,
|
|
4298
|
+
stateName: true,
|
|
4299
|
+
titleColor: true,
|
|
4300
|
+
titleSize: true,
|
|
4301
|
+
titleWeight: true,
|
|
4302
|
+
paddings: true,
|
|
4303
|
+
})
|
|
4304
|
+
.extend({
|
|
4305
|
+
textSize: z.number().default(12),
|
|
4306
|
+
});
|
|
4307
|
+
},
|
|
4308
|
+
},
|
|
4309
|
+
});
|
|
4310
|
+
|
|
2961
4311
|
/**
|
|
2962
4312
|
* Привязывает мета-информацию о теме к Zod-схеме
|
|
2963
4313
|
*
|
|
@@ -2981,79 +4331,4 @@ var themed = function (scheme, selectThemeValue) {
|
|
|
2981
4331
|
return scheme.meta((_a = {}, _a[ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
2982
4332
|
};
|
|
2983
4333
|
|
|
2984
|
-
|
|
2985
|
-
return z.object({
|
|
2986
|
-
mode: z.literal(EColorMode.BASE),
|
|
2987
|
-
value: z.string(),
|
|
2988
|
-
});
|
|
2989
|
-
};
|
|
2990
|
-
var ColorRuleSchema = function (z) {
|
|
2991
|
-
return z.object({
|
|
2992
|
-
mode: z.literal(EColorMode.RULE),
|
|
2993
|
-
formula: FormulaSchema(z),
|
|
2994
|
-
});
|
|
2995
|
-
};
|
|
2996
|
-
var ColorAutoSchema = function (z) {
|
|
2997
|
-
return z.object({
|
|
2998
|
-
mode: z.literal(EColorMode.AUTO),
|
|
2999
|
-
});
|
|
3000
|
-
};
|
|
3001
|
-
var ColorDisabledSchema = function (z) {
|
|
3002
|
-
return z.object({
|
|
3003
|
-
mode: z.literal(EColorMode.DISABLED),
|
|
3004
|
-
});
|
|
3005
|
-
};
|
|
3006
|
-
var ColorGradientSchema = function (z) {
|
|
3007
|
-
return z.object({
|
|
3008
|
-
mode: z.literal(EColorMode.GRADIENT),
|
|
3009
|
-
startValue: z.string(),
|
|
3010
|
-
endValue: z.string(),
|
|
3011
|
-
classCount: z.number().min(3).max(10).nullish(),
|
|
3012
|
-
});
|
|
3013
|
-
};
|
|
3014
|
-
var ColorFormulaSchema = function (z) {
|
|
3015
|
-
return z.object({
|
|
3016
|
-
mode: z.literal(EColorMode.FORMULA),
|
|
3017
|
-
formula: FormulaSchema(z),
|
|
3018
|
-
});
|
|
3019
|
-
};
|
|
3020
|
-
var ColorValuesSchema = function (z) {
|
|
3021
|
-
return z.object({
|
|
3022
|
-
mode: z.literal(EColorMode.VALUES),
|
|
3023
|
-
items: z
|
|
3024
|
-
.array(z.object({ value: z.string(), color: z.union([ColorBaseSchema(z), ColorRuleSchema(z)]) }))
|
|
3025
|
-
.default([]),
|
|
3026
|
-
});
|
|
3027
|
-
};
|
|
3028
|
-
var ColorByDimensionSchema = function (z) {
|
|
3029
|
-
return z.object({
|
|
3030
|
-
mode: z.literal(EColorMode.BY_DIMENSION),
|
|
3031
|
-
/** Имя разреза из области видимости правила отображения */
|
|
3032
|
-
dimensionName: z.string(),
|
|
3033
|
-
items: z
|
|
3034
|
-
.array(z.object({ value: z.string(), color: z.union([ColorBaseSchema(z), ColorRuleSchema(z)]) }))
|
|
3035
|
-
.default([]),
|
|
3036
|
-
});
|
|
3037
|
-
};
|
|
3038
|
-
var ColoredValueSchema = function (z) {
|
|
3039
|
-
return z.object({
|
|
3040
|
-
value: z.string(),
|
|
3041
|
-
color: z.union([ColorBaseSchema(z), ColorRuleSchema(z)]),
|
|
3042
|
-
});
|
|
3043
|
-
};
|
|
3044
|
-
var ColorSchema = function (z) {
|
|
3045
|
-
return z
|
|
3046
|
-
.discriminatedUnion("mode", [
|
|
3047
|
-
ColorAutoSchema(z),
|
|
3048
|
-
ColorDisabledSchema(z),
|
|
3049
|
-
ColorBaseSchema(z),
|
|
3050
|
-
ColorRuleSchema(z),
|
|
3051
|
-
ColorGradientSchema(z),
|
|
3052
|
-
ColorFormulaSchema(z),
|
|
3053
|
-
ColorValuesSchema(z),
|
|
3054
|
-
ColorByDimensionSchema(z),
|
|
3055
|
-
])
|
|
3056
|
-
.default({ mode: EColorMode.AUTO });
|
|
3057
|
-
};
|
|
3058
|
-
|
|
3059
|
-
export { ActionButtonSchema, ActionDrillDownSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DimensionValueSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESettingsSchemaMetaKey, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, FormulaNullableSchema, FormulaSchema, KeyNullableSchema, MarkdownMeasureSchema, MeasureValueSchema, NameNullableSchema, OuterAggregation, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDataModelSchema, ParameterFromDynamicListSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionInHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValueSchema, WidgetIndicatorDurationValueSchema, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureAggregationValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, apiVersion, apiVersions, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, defaultActionsConfig, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, inheritDisplayConditionFromHierarchy, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureInnerTemplateFormulas, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|
|
4334
|
+
export { ActionButtonSchema, ActionDrillDownSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRangesSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DimensionValueSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EExpectedFieldTypes, EFontWeight, EFormatOrFormattingMode, EFormulaFilterFieldKeys, EHeightMode, EIgnoreFilterMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESettingsSchemaMetaKey, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingMode, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIgnoreFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, FormulaNullableSchema, FormulaSchema, KeyNullableSchema, MarkdownMeasureSchema, MeasureValueSchema, NameNullableSchema, OuterAggregation, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDataModelSchema, ParameterFromDynamicListSchema, ParameterFromEditableTextValueSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SchemaRegistryReader, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, SortingValueSchema, VersionedEnum, VersionedSchemaFactory, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionInHierarchySchema, WidgetDimensionSchema, WidgetFilterModeSchema, WidgetIgnoreFilterModeSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValueSchema, WidgetIndicatorDurationValueSchema, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureAggregationValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, apiVersion, apiVersions, applyIndexToArrayFormula, availableFormatsBySimpleType, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, defaultActionsConfig, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, extendWithMeta, fillTemplateSql, findDimensionsForNestingQuery, findMatchedFilter, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDimensionSliceIndex, getDisplayConditionFormula, getEventMeasureFormula, getMeasureFormula, getParentMeta, getProcessDimensionValueFormula, getRuleColor, getSlicedDimension, getSlicedDimensionByFilters, getSlicedDimensionFormula, getTransitionMeasureFormula, hasInMetaChain, hexToRgb, inheritDisplayConditionFromHierarchy, interpolateHexColor, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isNestingDimension, isValidColor, mapDimensionToInput, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureInnerTemplateFormulas, measureTemplateFormulas, omitWithMeta, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, replaceHierarchiesWithSlicedDimension, replaceHierarchiesWithSlicedDimensions, selectDimensionFromHierarchy, selectSlicedDimensionFromHierarchy, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, versionedEnumValues, workspaceLinkRegExp, zodEnumLike };
|