@infomaximum/widget-sdk 6.0.2 → 7.0.0-2
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 +295 -20
- package/README.md +2 -1
- package/dist/index.d.ts +9521 -1128
- package/dist/index.esm.js +1262 -431
- package/dist/index.js +1339 -431
- package/package.json +3 -2
package/dist/index.esm.js
CHANGED
|
@@ -2,6 +2,40 @@ import { Localization } from '@infomaximum/localization';
|
|
|
2
2
|
export { ELanguages } from '@infomaximum/localization';
|
|
3
3
|
export { EFilteringMethodValues } from '@infomaximum/base-filter';
|
|
4
4
|
|
|
5
|
+
/** Массив версий в строгом порядке, по которому последовательно выполняется миграция */
|
|
6
|
+
var apiVersions = [
|
|
7
|
+
"1",
|
|
8
|
+
"2",
|
|
9
|
+
"3",
|
|
10
|
+
"4",
|
|
11
|
+
"5",
|
|
12
|
+
"6",
|
|
13
|
+
"7", // Версии от 7 и старше пока не удаляем [BI-15416]
|
|
14
|
+
"8",
|
|
15
|
+
"9",
|
|
16
|
+
"10",
|
|
17
|
+
"10.1",
|
|
18
|
+
"10.2",
|
|
19
|
+
"10.3", // 241223
|
|
20
|
+
"11",
|
|
21
|
+
"12",
|
|
22
|
+
"13", // 2503
|
|
23
|
+
"13.1", // 250314
|
|
24
|
+
"14",
|
|
25
|
+
"15", // Для версии системы 2505
|
|
26
|
+
"15.1", // Для версии системы 250609
|
|
27
|
+
"15.2", // Для версии системы 250614
|
|
28
|
+
"16", // Для версии системы 2507
|
|
29
|
+
"16.1", // Для версии системы 250703
|
|
30
|
+
"16.2", // Для версии системы 250709
|
|
31
|
+
"17", // 2508
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Актуальная версия settings, с которой работает система.
|
|
35
|
+
* Используется единая версия для settings виджетов и показателей.
|
|
36
|
+
*/
|
|
37
|
+
var apiVersion = apiVersions.at(-1);
|
|
38
|
+
|
|
5
39
|
var EWidgetActionInputMethod;
|
|
6
40
|
(function (EWidgetActionInputMethod) {
|
|
7
41
|
EWidgetActionInputMethod["COLUMN"] = "COLUMN";
|
|
@@ -22,6 +56,7 @@ var EActionTypes;
|
|
|
22
56
|
EActionTypes["UPDATE_VARIABLE"] = "UPDATE_VARIABLE";
|
|
23
57
|
EActionTypes["EXECUTE_SCRIPT"] = "EXECUTE_SCRIPT";
|
|
24
58
|
EActionTypes["OPEN_VIEW"] = "OPEN_VIEW";
|
|
59
|
+
EActionTypes["DRILL_DOWN"] = "DRILL_DOWN";
|
|
25
60
|
})(EActionTypes || (EActionTypes = {}));
|
|
26
61
|
var EViewMode;
|
|
27
62
|
(function (EViewMode) {
|
|
@@ -64,6 +99,46 @@ var EActionButtonsTypes;
|
|
|
64
99
|
EActionButtonsTypes["SECONDARY"] = "primary-outlined";
|
|
65
100
|
})(EActionButtonsTypes || (EActionButtonsTypes = {}));
|
|
66
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
|
+
|
|
67
142
|
var ESimpleDataType;
|
|
68
143
|
(function (ESimpleDataType) {
|
|
69
144
|
ESimpleDataType["OTHER"] = "OTHER";
|
|
@@ -76,285 +151,6 @@ var ESimpleDataType;
|
|
|
76
151
|
ESimpleDataType["BOOLEAN"] = "BOOLEAN";
|
|
77
152
|
})(ESimpleDataType || (ESimpleDataType = {}));
|
|
78
153
|
|
|
79
|
-
var prepareValuesForSql = function (simpleType, values) {
|
|
80
|
-
return simpleType === ESimpleDataType.INTEGER ||
|
|
81
|
-
simpleType === ESimpleDataType.FLOAT ||
|
|
82
|
-
simpleType === ESimpleDataType.BOOLEAN
|
|
83
|
-
? values
|
|
84
|
-
: values.map(function (value) {
|
|
85
|
-
return value === null ? null : "'".concat(escapeSingularQuotes$1(escapeReverseSlash(value)), "'");
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
var escapeReverseSlash = function (formula) {
|
|
89
|
-
return formula.replaceAll(/\\/gm, "\\\\");
|
|
90
|
-
};
|
|
91
|
-
var escapeSingularQuotes$1 = function (formula) {
|
|
92
|
-
return formula.replaceAll("'", "\\'");
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
/******************************************************************************
|
|
96
|
-
Copyright (c) Microsoft Corporation.
|
|
97
|
-
|
|
98
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
99
|
-
purpose with or without fee is hereby granted.
|
|
100
|
-
|
|
101
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
102
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
103
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
104
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
105
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
106
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
107
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
108
|
-
***************************************************************************** */
|
|
109
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var __assign = function() {
|
|
113
|
-
__assign = Object.assign || function __assign(t) {
|
|
114
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
115
|
-
s = arguments[i];
|
|
116
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
117
|
-
}
|
|
118
|
-
return t;
|
|
119
|
-
};
|
|
120
|
-
return __assign.apply(this, arguments);
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
function __rest(s, e) {
|
|
124
|
-
var t = {};
|
|
125
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
126
|
-
t[p] = s[p];
|
|
127
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
128
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
129
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
130
|
-
t[p[i]] = s[p[i]];
|
|
131
|
-
}
|
|
132
|
-
return t;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
function __values(o) {
|
|
136
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
137
|
-
if (m) return m.call(o);
|
|
138
|
-
if (o && typeof o.length === "number") return {
|
|
139
|
-
next: function () {
|
|
140
|
-
if (o && i >= o.length) o = void 0;
|
|
141
|
-
return { value: o && o[i++], done: !o };
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
function __read(o, n) {
|
|
148
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
149
|
-
if (!m) return o;
|
|
150
|
-
var i = m.call(o), r, ar = [], e;
|
|
151
|
-
try {
|
|
152
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
153
|
-
}
|
|
154
|
-
catch (error) { e = { error: error }; }
|
|
155
|
-
finally {
|
|
156
|
-
try {
|
|
157
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
158
|
-
}
|
|
159
|
-
finally { if (e) throw e.error; }
|
|
160
|
-
}
|
|
161
|
-
return ar;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function __makeTemplateObject(cooked, raw) {
|
|
165
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
166
|
-
return cooked;
|
|
167
|
-
}
|
|
168
|
-
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
169
|
-
var e = new Error(message);
|
|
170
|
-
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
var ECalculatorFilterMethods;
|
|
174
|
-
(function (ECalculatorFilterMethods) {
|
|
175
|
-
ECalculatorFilterMethods["EQUAL_TO"] = "EQUAL_TO";
|
|
176
|
-
ECalculatorFilterMethods["NOT_EQUAL_TO"] = "NOT_EQUAL_TO";
|
|
177
|
-
ECalculatorFilterMethods["GREATER_THAN"] = "GREATER_THAN";
|
|
178
|
-
ECalculatorFilterMethods["LESS_THAN"] = "LESS_THAN";
|
|
179
|
-
ECalculatorFilterMethods["GREATER_THAN_OR_EQUAL_TO"] = "GREATER_THAN_OR_EQUAL_TO";
|
|
180
|
-
ECalculatorFilterMethods["LESS_THAN_OR_EQUAL_TO"] = "LESS_THAN_OR_EQUAL_TO";
|
|
181
|
-
ECalculatorFilterMethods["STARTS_WITH"] = "STARTS_WITH";
|
|
182
|
-
ECalculatorFilterMethods["ENDS_WITH"] = "ENDS_WITH";
|
|
183
|
-
ECalculatorFilterMethods["CONTAINS"] = "CONTAINS";
|
|
184
|
-
ECalculatorFilterMethods["NOT_CONTAINS"] = "NOT_CONTAINS";
|
|
185
|
-
ECalculatorFilterMethods["IN_RANGE"] = "IN_RANGE";
|
|
186
|
-
ECalculatorFilterMethods["NOT_IN_RANGE"] = "NOT_IN_RANGE";
|
|
187
|
-
ECalculatorFilterMethods["INCLUDE"] = "INCLUDE";
|
|
188
|
-
ECalculatorFilterMethods["EXCLUDE"] = "EXCLUDE";
|
|
189
|
-
ECalculatorFilterMethods["NONEMPTY"] = "NONEMPTY";
|
|
190
|
-
ECalculatorFilterMethods["EMPTY"] = "EMPTY";
|
|
191
|
-
})(ECalculatorFilterMethods || (ECalculatorFilterMethods = {}));
|
|
192
|
-
|
|
193
|
-
var formulaFilterMethods = __assign(__assign({}, ECalculatorFilterMethods), { LAST_TIME: "LAST_TIME" });
|
|
194
|
-
var EProcessFilterNames;
|
|
195
|
-
(function (EProcessFilterNames) {
|
|
196
|
-
/** Наличие события */
|
|
197
|
-
EProcessFilterNames["presenceOfEvent"] = "presenceOfEvent";
|
|
198
|
-
/** Количество повторов события */
|
|
199
|
-
EProcessFilterNames["repetitionOfEvent"] = "repetitionOfEvent";
|
|
200
|
-
/** Наличие перехода */
|
|
201
|
-
EProcessFilterNames["presenceOfTransition"] = "presenceOfTransition";
|
|
202
|
-
/** Длительность перехода */
|
|
203
|
-
EProcessFilterNames["durationOfTransition"] = "durationOfTransition";
|
|
204
|
-
})(EProcessFilterNames || (EProcessFilterNames = {}));
|
|
205
|
-
var EFormulaFilterFieldKeys;
|
|
206
|
-
(function (EFormulaFilterFieldKeys) {
|
|
207
|
-
EFormulaFilterFieldKeys["date"] = "date";
|
|
208
|
-
EFormulaFilterFieldKeys["dateRange"] = "dateRange";
|
|
209
|
-
EFormulaFilterFieldKeys["numberRange"] = "numberRange";
|
|
210
|
-
EFormulaFilterFieldKeys["string"] = "string";
|
|
211
|
-
EFormulaFilterFieldKeys["lastTimeValue"] = "lastTimeValue";
|
|
212
|
-
EFormulaFilterFieldKeys["lastTimeUnit"] = "lastTimeUnit";
|
|
213
|
-
EFormulaFilterFieldKeys["durationUnit"] = "durationUnit";
|
|
214
|
-
})(EFormulaFilterFieldKeys || (EFormulaFilterFieldKeys = {}));
|
|
215
|
-
var EDimensionProcessFilterTimeUnit;
|
|
216
|
-
(function (EDimensionProcessFilterTimeUnit) {
|
|
217
|
-
EDimensionProcessFilterTimeUnit["YEARS"] = "YEARS";
|
|
218
|
-
EDimensionProcessFilterTimeUnit["MONTHS"] = "MONTHS";
|
|
219
|
-
EDimensionProcessFilterTimeUnit["HOURS"] = "HOURS";
|
|
220
|
-
EDimensionProcessFilterTimeUnit["DAYS"] = "DAYS";
|
|
221
|
-
EDimensionProcessFilterTimeUnit["MINUTES"] = "MINUTES";
|
|
222
|
-
})(EDimensionProcessFilterTimeUnit || (EDimensionProcessFilterTimeUnit = {}));
|
|
223
|
-
var isFormulaFilterValue = function (value) {
|
|
224
|
-
return "filteringMethod" in value;
|
|
225
|
-
};
|
|
226
|
-
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
227
|
-
|
|
228
|
-
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
229
|
-
var compactMap = function (items, f) {
|
|
230
|
-
return compact(items === null || items === void 0 ? void 0 : items.map(f));
|
|
231
|
-
};
|
|
232
|
-
var isNil = function (value) {
|
|
233
|
-
return value === null || value === undefined;
|
|
234
|
-
};
|
|
235
|
-
function memoize(fn) {
|
|
236
|
-
var cache = new Map();
|
|
237
|
-
return function (arg) {
|
|
238
|
-
if (cache.has(arg)) {
|
|
239
|
-
return cache.get(arg);
|
|
240
|
-
}
|
|
241
|
-
var result = fn(arg);
|
|
242
|
-
cache.set(arg, result);
|
|
243
|
-
return result;
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
var EClickHouseBaseTypes;
|
|
248
|
-
(function (EClickHouseBaseTypes) {
|
|
249
|
-
// DATE
|
|
250
|
-
EClickHouseBaseTypes["Date"] = "Date";
|
|
251
|
-
EClickHouseBaseTypes["Date32"] = "Date32";
|
|
252
|
-
// DATETIME
|
|
253
|
-
EClickHouseBaseTypes["DateTime"] = "DateTime";
|
|
254
|
-
EClickHouseBaseTypes["DateTime32"] = "DateTime32";
|
|
255
|
-
// DATETIME64
|
|
256
|
-
EClickHouseBaseTypes["DateTime64"] = "DateTime64";
|
|
257
|
-
// STRING
|
|
258
|
-
EClickHouseBaseTypes["FixedString"] = "FixedString";
|
|
259
|
-
EClickHouseBaseTypes["String"] = "String";
|
|
260
|
-
// FLOAT
|
|
261
|
-
EClickHouseBaseTypes["Decimal"] = "Decimal";
|
|
262
|
-
EClickHouseBaseTypes["Decimal32"] = "Decimal32";
|
|
263
|
-
EClickHouseBaseTypes["Decimal64"] = "Decimal64";
|
|
264
|
-
EClickHouseBaseTypes["Decimal128"] = "Decimal128";
|
|
265
|
-
EClickHouseBaseTypes["Decimal256"] = "Decimal256";
|
|
266
|
-
EClickHouseBaseTypes["Float32"] = "Float32";
|
|
267
|
-
EClickHouseBaseTypes["Float64"] = "Float64";
|
|
268
|
-
// INTEGER
|
|
269
|
-
EClickHouseBaseTypes["Int8"] = "Int8";
|
|
270
|
-
EClickHouseBaseTypes["Int16"] = "Int16";
|
|
271
|
-
EClickHouseBaseTypes["Int32"] = "Int32";
|
|
272
|
-
EClickHouseBaseTypes["Int64"] = "Int64";
|
|
273
|
-
EClickHouseBaseTypes["Int128"] = "Int128";
|
|
274
|
-
EClickHouseBaseTypes["Int256"] = "Int256";
|
|
275
|
-
EClickHouseBaseTypes["UInt8"] = "UInt8";
|
|
276
|
-
EClickHouseBaseTypes["UInt16"] = "UInt16";
|
|
277
|
-
EClickHouseBaseTypes["UInt32"] = "UInt32";
|
|
278
|
-
EClickHouseBaseTypes["UInt64"] = "UInt64";
|
|
279
|
-
EClickHouseBaseTypes["UInt128"] = "UInt128";
|
|
280
|
-
EClickHouseBaseTypes["UInt256"] = "UInt256";
|
|
281
|
-
// BOOLEAN
|
|
282
|
-
EClickHouseBaseTypes["Bool"] = "Bool";
|
|
283
|
-
})(EClickHouseBaseTypes || (EClickHouseBaseTypes = {}));
|
|
284
|
-
var stringTypes = ["String", "FixedString"];
|
|
285
|
-
var parseClickHouseType = memoize(function (type) {
|
|
286
|
-
if (isNil(type)) {
|
|
287
|
-
return {
|
|
288
|
-
simpleBaseType: ESimpleDataType.OTHER,
|
|
289
|
-
dbBaseDataType: undefined,
|
|
290
|
-
containers: [],
|
|
291
|
-
simpleType: ESimpleDataType.OTHER,
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
|
-
var _a = extractInnerType(type), containers = _a.containers, dbBaseDataType = _a.dbBaseDataType;
|
|
295
|
-
if (!dbBaseDataType) {
|
|
296
|
-
throw new Error("Invalid ClickHouse type: ".concat(type));
|
|
297
|
-
}
|
|
298
|
-
return {
|
|
299
|
-
dbBaseDataType: dbBaseDataType,
|
|
300
|
-
simpleBaseType: simplifyBaseType(dbBaseDataType),
|
|
301
|
-
containers: containers,
|
|
302
|
-
get simpleType() {
|
|
303
|
-
return containers.includes("Array") ? ESimpleDataType.OTHER : this.simpleBaseType;
|
|
304
|
-
},
|
|
305
|
-
};
|
|
306
|
-
});
|
|
307
|
-
/** 'A(B(C))' -> ['A', 'B', 'C'] */
|
|
308
|
-
var splitByBrackets = function (input) { return input.split(/[\(\)]/).filter(Boolean); };
|
|
309
|
-
/**
|
|
310
|
-
* Отделить внутренний тип от оберток.
|
|
311
|
-
* Не поддерживаются обертки Tuple и LowCardinality.
|
|
312
|
-
*/
|
|
313
|
-
var extractInnerType = function (type) {
|
|
314
|
-
var tokens = splitByBrackets(type);
|
|
315
|
-
// Удаление параметров типа.
|
|
316
|
-
if (tokens.length > 0 && isTypeParameters(tokens.at(-1))) {
|
|
317
|
-
tokens.pop();
|
|
318
|
-
}
|
|
319
|
-
var dbBaseDataType = tokens.pop();
|
|
320
|
-
return { containers: tokens, dbBaseDataType: dbBaseDataType };
|
|
321
|
-
};
|
|
322
|
-
var simplifyBaseType = function (dbBaseType) {
|
|
323
|
-
var isSourceTypeStartsWith = function (prefix) { return dbBaseType.startsWith(prefix); };
|
|
324
|
-
if (isSourceTypeStartsWith("Int") || isSourceTypeStartsWith("UInt")) {
|
|
325
|
-
return ESimpleDataType.INTEGER;
|
|
326
|
-
}
|
|
327
|
-
if (isSourceTypeStartsWith("Decimal") || isSourceTypeStartsWith("Float")) {
|
|
328
|
-
return ESimpleDataType.FLOAT;
|
|
329
|
-
}
|
|
330
|
-
if (stringTypes.some(isSourceTypeStartsWith)) {
|
|
331
|
-
return ESimpleDataType.STRING;
|
|
332
|
-
}
|
|
333
|
-
if (isSourceTypeStartsWith("DateTime64")) {
|
|
334
|
-
return ESimpleDataType.DATETIME64;
|
|
335
|
-
}
|
|
336
|
-
if (isSourceTypeStartsWith("DateTime")) {
|
|
337
|
-
return ESimpleDataType.DATETIME;
|
|
338
|
-
}
|
|
339
|
-
if (isSourceTypeStartsWith("Date")) {
|
|
340
|
-
return ESimpleDataType.DATE;
|
|
341
|
-
}
|
|
342
|
-
if (isSourceTypeStartsWith("Bool")) {
|
|
343
|
-
return ESimpleDataType.BOOLEAN;
|
|
344
|
-
}
|
|
345
|
-
return ESimpleDataType.OTHER;
|
|
346
|
-
};
|
|
347
|
-
/**
|
|
348
|
-
* - `3` -> true
|
|
349
|
-
* - `3, 'Europe/Moscow'` -> true
|
|
350
|
-
* - `3, Europe/Moscow` -> false
|
|
351
|
-
*
|
|
352
|
-
* Пример типа с параметрами: `DateTime64(3, 'Europe/Moscow')`
|
|
353
|
-
*/
|
|
354
|
-
var isTypeParameters = function (stringifiedParameters) {
|
|
355
|
-
return stringifiedParameters.split(", ").some(function (p) { return !Number.isNaN(Number(p)) || p.startsWith("'"); });
|
|
356
|
-
};
|
|
357
|
-
|
|
358
154
|
var EFormatTypes;
|
|
359
155
|
(function (EFormatTypes) {
|
|
360
156
|
/** Дата */
|
|
@@ -648,6 +444,1051 @@ var formattingConfig = {
|
|
|
648
444
|
},
|
|
649
445
|
};
|
|
650
446
|
|
|
447
|
+
/******************************************************************************
|
|
448
|
+
Copyright (c) Microsoft Corporation.
|
|
449
|
+
|
|
450
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
451
|
+
purpose with or without fee is hereby granted.
|
|
452
|
+
|
|
453
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
454
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
455
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
456
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
457
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
458
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
459
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
460
|
+
***************************************************************************** */
|
|
461
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
var __assign = function() {
|
|
465
|
+
__assign = Object.assign || function __assign(t) {
|
|
466
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
467
|
+
s = arguments[i];
|
|
468
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
469
|
+
}
|
|
470
|
+
return t;
|
|
471
|
+
};
|
|
472
|
+
return __assign.apply(this, arguments);
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
function __rest(s, e) {
|
|
476
|
+
var t = {};
|
|
477
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
478
|
+
t[p] = s[p];
|
|
479
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
480
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
481
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
482
|
+
t[p[i]] = s[p[i]];
|
|
483
|
+
}
|
|
484
|
+
return t;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
function __values(o) {
|
|
488
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
489
|
+
if (m) return m.call(o);
|
|
490
|
+
if (o && typeof o.length === "number") return {
|
|
491
|
+
next: function () {
|
|
492
|
+
if (o && i >= o.length) o = void 0;
|
|
493
|
+
return { value: o && o[i++], done: !o };
|
|
494
|
+
}
|
|
495
|
+
};
|
|
496
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
function __read(o, n) {
|
|
500
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
501
|
+
if (!m) return o;
|
|
502
|
+
var i = m.call(o), r, ar = [], e;
|
|
503
|
+
try {
|
|
504
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
505
|
+
}
|
|
506
|
+
catch (error) { e = { error: error }; }
|
|
507
|
+
finally {
|
|
508
|
+
try {
|
|
509
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
510
|
+
}
|
|
511
|
+
finally { if (e) throw e.error; }
|
|
512
|
+
}
|
|
513
|
+
return ar;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
function __makeTemplateObject(cooked, raw) {
|
|
517
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
518
|
+
return cooked;
|
|
519
|
+
}
|
|
520
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
521
|
+
var e = new Error(message);
|
|
522
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
523
|
+
};
|
|
524
|
+
|
|
525
|
+
var EWidgetIndicatorType;
|
|
526
|
+
(function (EWidgetIndicatorType) {
|
|
527
|
+
EWidgetIndicatorType["MEASURE"] = "MEASURE";
|
|
528
|
+
EWidgetIndicatorType["EVENT_INDICATOR"] = "EVENT_INDICATOR";
|
|
529
|
+
EWidgetIndicatorType["TRANSITION_INDICATOR"] = "TRANSITION_INDICATOR";
|
|
530
|
+
EWidgetIndicatorType["DIMENSION"] = "DIMENSION";
|
|
531
|
+
EWidgetIndicatorType["SORTING"] = "SORTING";
|
|
532
|
+
})(EWidgetIndicatorType || (EWidgetIndicatorType = {}));
|
|
533
|
+
var EOuterAggregation;
|
|
534
|
+
(function (EOuterAggregation) {
|
|
535
|
+
EOuterAggregation["avg"] = "avg";
|
|
536
|
+
EOuterAggregation["median"] = "median";
|
|
537
|
+
EOuterAggregation["count"] = "count";
|
|
538
|
+
EOuterAggregation["countDistinct"] = "countDistinct";
|
|
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 });
|
|
572
|
+
}
|
|
573
|
+
/** Тип показателя */
|
|
574
|
+
var EIndicatorType;
|
|
575
|
+
(function (EIndicatorType) {
|
|
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;
|
|
613
|
+
}
|
|
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
|
+
/**
|
|
734
|
+
* Перечисление системных типов сущностей в схеме настроек виджетов.
|
|
735
|
+
* @note при расширении лучше положить на более общий уровень.
|
|
736
|
+
*/
|
|
737
|
+
var EEntity;
|
|
738
|
+
(function (EEntity) {
|
|
739
|
+
EEntity["formula"] = "formula";
|
|
740
|
+
})(EEntity || (EEntity = {}));
|
|
741
|
+
var formulaMeta = Object.freeze((_a$6 = {}, _a$6[ESettingsSchemaMetaKey.entity] = EEntity.formula, _a$6));
|
|
742
|
+
/** Схема формулы */
|
|
743
|
+
var FormulaSchema = function (z) { return z.string().default("").meta(formulaMeta); };
|
|
744
|
+
/**
|
|
745
|
+
* Схема формулы, которая не может быть пустой строкой, но может быть в
|
|
746
|
+
* неинициализированном состоянии null (вместо пустой строки)
|
|
747
|
+
*
|
|
748
|
+
* @note для обратной совместимости без необходимости писать миграции
|
|
749
|
+
*/
|
|
750
|
+
var FormulaNullableSchema = function (z) {
|
|
751
|
+
return z.string().nullable().default(null).meta(formulaMeta);
|
|
752
|
+
};
|
|
753
|
+
|
|
754
|
+
var WidgetIndicatorSchema = function (z) {
|
|
755
|
+
return AutoIdentifiedArrayItemSchema(z).extend({
|
|
756
|
+
name: z.string(),
|
|
757
|
+
});
|
|
758
|
+
};
|
|
759
|
+
var FormatSchema = function (z) {
|
|
760
|
+
return z
|
|
761
|
+
.object({
|
|
762
|
+
mode: z.enum(EFormatOrFormattingMode),
|
|
763
|
+
value: z.enum(EFormatTypes).optional(),
|
|
764
|
+
})
|
|
765
|
+
.default({ mode: EFormatOrFormattingMode.BASE, value: EFormatTypes.STRING });
|
|
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
|
+
};
|
|
1306
|
+
|
|
1307
|
+
var ECalculatorFilterMethods;
|
|
1308
|
+
(function (ECalculatorFilterMethods) {
|
|
1309
|
+
ECalculatorFilterMethods["EQUAL_TO"] = "EQUAL_TO";
|
|
1310
|
+
ECalculatorFilterMethods["NOT_EQUAL_TO"] = "NOT_EQUAL_TO";
|
|
1311
|
+
ECalculatorFilterMethods["GREATER_THAN"] = "GREATER_THAN";
|
|
1312
|
+
ECalculatorFilterMethods["LESS_THAN"] = "LESS_THAN";
|
|
1313
|
+
ECalculatorFilterMethods["GREATER_THAN_OR_EQUAL_TO"] = "GREATER_THAN_OR_EQUAL_TO";
|
|
1314
|
+
ECalculatorFilterMethods["LESS_THAN_OR_EQUAL_TO"] = "LESS_THAN_OR_EQUAL_TO";
|
|
1315
|
+
ECalculatorFilterMethods["STARTS_WITH"] = "STARTS_WITH";
|
|
1316
|
+
ECalculatorFilterMethods["ENDS_WITH"] = "ENDS_WITH";
|
|
1317
|
+
ECalculatorFilterMethods["CONTAINS"] = "CONTAINS";
|
|
1318
|
+
ECalculatorFilterMethods["NOT_CONTAINS"] = "NOT_CONTAINS";
|
|
1319
|
+
ECalculatorFilterMethods["IN_RANGE"] = "IN_RANGE";
|
|
1320
|
+
ECalculatorFilterMethods["NOT_IN_RANGE"] = "NOT_IN_RANGE";
|
|
1321
|
+
ECalculatorFilterMethods["INCLUDE"] = "INCLUDE";
|
|
1322
|
+
ECalculatorFilterMethods["EXCLUDE"] = "EXCLUDE";
|
|
1323
|
+
ECalculatorFilterMethods["NONEMPTY"] = "NONEMPTY";
|
|
1324
|
+
ECalculatorFilterMethods["EMPTY"] = "EMPTY";
|
|
1325
|
+
})(ECalculatorFilterMethods || (ECalculatorFilterMethods = {}));
|
|
1326
|
+
|
|
1327
|
+
var formulaFilterMethods = __assign(__assign({}, ECalculatorFilterMethods), { LAST_TIME: "LAST_TIME" });
|
|
1328
|
+
var EProcessFilterNames;
|
|
1329
|
+
(function (EProcessFilterNames) {
|
|
1330
|
+
/** Наличие события */
|
|
1331
|
+
EProcessFilterNames["presenceOfEvent"] = "presenceOfEvent";
|
|
1332
|
+
/** Количество повторов события */
|
|
1333
|
+
EProcessFilterNames["repetitionOfEvent"] = "repetitionOfEvent";
|
|
1334
|
+
/** Наличие перехода */
|
|
1335
|
+
EProcessFilterNames["presenceOfTransition"] = "presenceOfTransition";
|
|
1336
|
+
/** Длительность перехода */
|
|
1337
|
+
EProcessFilterNames["durationOfTransition"] = "durationOfTransition";
|
|
1338
|
+
})(EProcessFilterNames || (EProcessFilterNames = {}));
|
|
1339
|
+
var EFormulaFilterFieldKeys;
|
|
1340
|
+
(function (EFormulaFilterFieldKeys) {
|
|
1341
|
+
EFormulaFilterFieldKeys["date"] = "date";
|
|
1342
|
+
EFormulaFilterFieldKeys["dateRange"] = "dateRange";
|
|
1343
|
+
EFormulaFilterFieldKeys["numberRange"] = "numberRange";
|
|
1344
|
+
EFormulaFilterFieldKeys["string"] = "string";
|
|
1345
|
+
EFormulaFilterFieldKeys["lastTimeValue"] = "lastTimeValue";
|
|
1346
|
+
EFormulaFilterFieldKeys["lastTimeUnit"] = "lastTimeUnit";
|
|
1347
|
+
EFormulaFilterFieldKeys["durationUnit"] = "durationUnit";
|
|
1348
|
+
})(EFormulaFilterFieldKeys || (EFormulaFilterFieldKeys = {}));
|
|
1349
|
+
var EDimensionProcessFilterTimeUnit;
|
|
1350
|
+
(function (EDimensionProcessFilterTimeUnit) {
|
|
1351
|
+
EDimensionProcessFilterTimeUnit["YEARS"] = "YEARS";
|
|
1352
|
+
EDimensionProcessFilterTimeUnit["MONTHS"] = "MONTHS";
|
|
1353
|
+
EDimensionProcessFilterTimeUnit["HOURS"] = "HOURS";
|
|
1354
|
+
EDimensionProcessFilterTimeUnit["DAYS"] = "DAYS";
|
|
1355
|
+
EDimensionProcessFilterTimeUnit["MINUTES"] = "MINUTES";
|
|
1356
|
+
})(EDimensionProcessFilterTimeUnit || (EDimensionProcessFilterTimeUnit = {}));
|
|
1357
|
+
var isFormulaFilterValue = function (value) {
|
|
1358
|
+
return "filteringMethod" in value;
|
|
1359
|
+
};
|
|
1360
|
+
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
1361
|
+
|
|
1362
|
+
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
1363
|
+
var compactMap = function (items, f) {
|
|
1364
|
+
return compact(items === null || items === void 0 ? void 0 : items.map(f));
|
|
1365
|
+
};
|
|
1366
|
+
var isNil = function (value) {
|
|
1367
|
+
return value === null || value === undefined;
|
|
1368
|
+
};
|
|
1369
|
+
function memoize(fn) {
|
|
1370
|
+
var cache = new Map();
|
|
1371
|
+
return function (arg) {
|
|
1372
|
+
if (cache.has(arg)) {
|
|
1373
|
+
return cache.get(arg);
|
|
1374
|
+
}
|
|
1375
|
+
var result = fn(arg);
|
|
1376
|
+
cache.set(arg, result);
|
|
1377
|
+
return result;
|
|
1378
|
+
};
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
var EClickHouseBaseTypes;
|
|
1382
|
+
(function (EClickHouseBaseTypes) {
|
|
1383
|
+
// DATE
|
|
1384
|
+
EClickHouseBaseTypes["Date"] = "Date";
|
|
1385
|
+
EClickHouseBaseTypes["Date32"] = "Date32";
|
|
1386
|
+
// DATETIME
|
|
1387
|
+
EClickHouseBaseTypes["DateTime"] = "DateTime";
|
|
1388
|
+
EClickHouseBaseTypes["DateTime32"] = "DateTime32";
|
|
1389
|
+
// DATETIME64
|
|
1390
|
+
EClickHouseBaseTypes["DateTime64"] = "DateTime64";
|
|
1391
|
+
// STRING
|
|
1392
|
+
EClickHouseBaseTypes["FixedString"] = "FixedString";
|
|
1393
|
+
EClickHouseBaseTypes["String"] = "String";
|
|
1394
|
+
// FLOAT
|
|
1395
|
+
EClickHouseBaseTypes["Decimal"] = "Decimal";
|
|
1396
|
+
EClickHouseBaseTypes["Decimal32"] = "Decimal32";
|
|
1397
|
+
EClickHouseBaseTypes["Decimal64"] = "Decimal64";
|
|
1398
|
+
EClickHouseBaseTypes["Decimal128"] = "Decimal128";
|
|
1399
|
+
EClickHouseBaseTypes["Decimal256"] = "Decimal256";
|
|
1400
|
+
EClickHouseBaseTypes["Float32"] = "Float32";
|
|
1401
|
+
EClickHouseBaseTypes["Float64"] = "Float64";
|
|
1402
|
+
// INTEGER
|
|
1403
|
+
EClickHouseBaseTypes["Int8"] = "Int8";
|
|
1404
|
+
EClickHouseBaseTypes["Int16"] = "Int16";
|
|
1405
|
+
EClickHouseBaseTypes["Int32"] = "Int32";
|
|
1406
|
+
EClickHouseBaseTypes["Int64"] = "Int64";
|
|
1407
|
+
EClickHouseBaseTypes["Int128"] = "Int128";
|
|
1408
|
+
EClickHouseBaseTypes["Int256"] = "Int256";
|
|
1409
|
+
EClickHouseBaseTypes["UInt8"] = "UInt8";
|
|
1410
|
+
EClickHouseBaseTypes["UInt16"] = "UInt16";
|
|
1411
|
+
EClickHouseBaseTypes["UInt32"] = "UInt32";
|
|
1412
|
+
EClickHouseBaseTypes["UInt64"] = "UInt64";
|
|
1413
|
+
EClickHouseBaseTypes["UInt128"] = "UInt128";
|
|
1414
|
+
EClickHouseBaseTypes["UInt256"] = "UInt256";
|
|
1415
|
+
// BOOLEAN
|
|
1416
|
+
EClickHouseBaseTypes["Bool"] = "Bool";
|
|
1417
|
+
})(EClickHouseBaseTypes || (EClickHouseBaseTypes = {}));
|
|
1418
|
+
var stringTypes = ["String", "FixedString"];
|
|
1419
|
+
var parseClickHouseType = memoize(function (type) {
|
|
1420
|
+
if (isNil(type)) {
|
|
1421
|
+
return {
|
|
1422
|
+
simpleBaseType: ESimpleDataType.OTHER,
|
|
1423
|
+
dbBaseDataType: undefined,
|
|
1424
|
+
containers: [],
|
|
1425
|
+
simpleType: ESimpleDataType.OTHER,
|
|
1426
|
+
};
|
|
1427
|
+
}
|
|
1428
|
+
var _a = extractInnerType(type), containers = _a.containers, dbBaseDataType = _a.dbBaseDataType;
|
|
1429
|
+
if (!dbBaseDataType) {
|
|
1430
|
+
throw new Error("Invalid ClickHouse type: ".concat(type));
|
|
1431
|
+
}
|
|
1432
|
+
return {
|
|
1433
|
+
dbBaseDataType: dbBaseDataType,
|
|
1434
|
+
simpleBaseType: simplifyBaseType(dbBaseDataType),
|
|
1435
|
+
containers: containers,
|
|
1436
|
+
get simpleType() {
|
|
1437
|
+
return containers.includes("Array") ? ESimpleDataType.OTHER : this.simpleBaseType;
|
|
1438
|
+
},
|
|
1439
|
+
};
|
|
1440
|
+
});
|
|
1441
|
+
/** 'A(B(C))' -> ['A', 'B', 'C'] */
|
|
1442
|
+
var splitByBrackets = function (input) { return input.split(/[\(\)]/).filter(Boolean); };
|
|
1443
|
+
/**
|
|
1444
|
+
* Отделить внутренний тип от оберток.
|
|
1445
|
+
* Не поддерживаются обертки Tuple и LowCardinality.
|
|
1446
|
+
*/
|
|
1447
|
+
var extractInnerType = function (type) {
|
|
1448
|
+
var tokens = splitByBrackets(type);
|
|
1449
|
+
// Удаление параметров типа.
|
|
1450
|
+
if (tokens.length > 0 && isTypeParameters(tokens.at(-1))) {
|
|
1451
|
+
tokens.pop();
|
|
1452
|
+
}
|
|
1453
|
+
var dbBaseDataType = tokens.pop();
|
|
1454
|
+
return { containers: tokens, dbBaseDataType: dbBaseDataType };
|
|
1455
|
+
};
|
|
1456
|
+
var simplifyBaseType = function (dbBaseType) {
|
|
1457
|
+
var isSourceTypeStartsWith = function (prefix) { return dbBaseType.startsWith(prefix); };
|
|
1458
|
+
if (isSourceTypeStartsWith("Int") || isSourceTypeStartsWith("UInt")) {
|
|
1459
|
+
return ESimpleDataType.INTEGER;
|
|
1460
|
+
}
|
|
1461
|
+
if (isSourceTypeStartsWith("Decimal") || isSourceTypeStartsWith("Float")) {
|
|
1462
|
+
return ESimpleDataType.FLOAT;
|
|
1463
|
+
}
|
|
1464
|
+
if (stringTypes.some(isSourceTypeStartsWith)) {
|
|
1465
|
+
return ESimpleDataType.STRING;
|
|
1466
|
+
}
|
|
1467
|
+
if (isSourceTypeStartsWith("DateTime64")) {
|
|
1468
|
+
return ESimpleDataType.DATETIME64;
|
|
1469
|
+
}
|
|
1470
|
+
if (isSourceTypeStartsWith("DateTime")) {
|
|
1471
|
+
return ESimpleDataType.DATETIME;
|
|
1472
|
+
}
|
|
1473
|
+
if (isSourceTypeStartsWith("Date")) {
|
|
1474
|
+
return ESimpleDataType.DATE;
|
|
1475
|
+
}
|
|
1476
|
+
if (isSourceTypeStartsWith("Bool")) {
|
|
1477
|
+
return ESimpleDataType.BOOLEAN;
|
|
1478
|
+
}
|
|
1479
|
+
return ESimpleDataType.OTHER;
|
|
1480
|
+
};
|
|
1481
|
+
/**
|
|
1482
|
+
* - `3` -> true
|
|
1483
|
+
* - `3, 'Europe/Moscow'` -> true
|
|
1484
|
+
* - `3, Europe/Moscow` -> false
|
|
1485
|
+
*
|
|
1486
|
+
* Пример типа с параметрами: `DateTime64(3, 'Europe/Moscow')`
|
|
1487
|
+
*/
|
|
1488
|
+
var isTypeParameters = function (stringifiedParameters) {
|
|
1489
|
+
return stringifiedParameters.split(", ").some(function (p) { return !Number.isNaN(Number(p)) || p.startsWith("'"); });
|
|
1490
|
+
};
|
|
1491
|
+
|
|
651
1492
|
var _a$5;
|
|
652
1493
|
var EDimensionTemplateNames;
|
|
653
1494
|
(function (EDimensionTemplateNames) {
|
|
@@ -678,113 +1519,6 @@ var dimensionTemplateFormulas = (_a$5 = {},
|
|
|
678
1519
|
_a$5[EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
679
1520
|
_a$5);
|
|
680
1521
|
|
|
681
|
-
var EWidgetIndicatorType;
|
|
682
|
-
(function (EWidgetIndicatorType) {
|
|
683
|
-
EWidgetIndicatorType["MEASURE"] = "MEASURE";
|
|
684
|
-
EWidgetIndicatorType["EVENT_INDICATOR"] = "EVENT_INDICATOR";
|
|
685
|
-
EWidgetIndicatorType["TRANSITION_INDICATOR"] = "TRANSITION_INDICATOR";
|
|
686
|
-
EWidgetIndicatorType["DIMENSION"] = "DIMENSION";
|
|
687
|
-
EWidgetIndicatorType["SORTING"] = "SORTING";
|
|
688
|
-
})(EWidgetIndicatorType || (EWidgetIndicatorType = {}));
|
|
689
|
-
var EOuterAggregation;
|
|
690
|
-
(function (EOuterAggregation) {
|
|
691
|
-
EOuterAggregation["avg"] = "avg";
|
|
692
|
-
EOuterAggregation["median"] = "median";
|
|
693
|
-
EOuterAggregation["count"] = "count";
|
|
694
|
-
EOuterAggregation["countDistinct"] = "countDistinct";
|
|
695
|
-
EOuterAggregation["min"] = "min";
|
|
696
|
-
EOuterAggregation["max"] = "max";
|
|
697
|
-
EOuterAggregation["sum"] = "sum";
|
|
698
|
-
EOuterAggregation["top"] = "top";
|
|
699
|
-
})(EOuterAggregation || (EOuterAggregation = {}));
|
|
700
|
-
/** Режимы значения показателя (на основе чего генерируется формула) */
|
|
701
|
-
var EWidgetIndicatorValueModes;
|
|
702
|
-
(function (EWidgetIndicatorValueModes) {
|
|
703
|
-
/** Готовая формула (как правило, введенная пользователем через редактор формул) */
|
|
704
|
-
EWidgetIndicatorValueModes["FORMULA"] = "FORMULA";
|
|
705
|
-
/** Шаблон формулы, предоставляемый системой */
|
|
706
|
-
EWidgetIndicatorValueModes["TEMPLATE"] = "TEMPLATE";
|
|
707
|
-
EWidgetIndicatorValueModes["AGGREGATION"] = "AGGREGATION";
|
|
708
|
-
EWidgetIndicatorValueModes["DURATION"] = "DURATION";
|
|
709
|
-
EWidgetIndicatorValueModes["CONVERSION"] = "CONVERSION";
|
|
710
|
-
EWidgetIndicatorValueModes["START_TIME"] = "START_TIME";
|
|
711
|
-
EWidgetIndicatorValueModes["END_TIME"] = "END_TIME";
|
|
712
|
-
})(EWidgetIndicatorValueModes || (EWidgetIndicatorValueModes = {}));
|
|
713
|
-
/** Режимы сортировки (на что ссылается сортировка) */
|
|
714
|
-
var ESortingValueModes;
|
|
715
|
-
(function (ESortingValueModes) {
|
|
716
|
-
/** Сортировка по формуле */
|
|
717
|
-
ESortingValueModes["FORMULA"] = "FORMULA";
|
|
718
|
-
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
719
|
-
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
720
|
-
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
721
|
-
var EFormatOrFormattingMode;
|
|
722
|
-
(function (EFormatOrFormattingMode) {
|
|
723
|
-
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
724
|
-
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
725
|
-
})(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
|
|
726
|
-
/** Тип показателя */
|
|
727
|
-
var EIndicatorType;
|
|
728
|
-
(function (EIndicatorType) {
|
|
729
|
-
/** Показатели процесса */
|
|
730
|
-
EIndicatorType["PROCESS_MEASURE"] = "PROCESS_MEASURE";
|
|
731
|
-
/** Вводимое значение */
|
|
732
|
-
EIndicatorType["STATIC"] = "STATIC";
|
|
733
|
-
/** Статический список */
|
|
734
|
-
EIndicatorType["STATIC_LIST"] = "STATIC_LIST";
|
|
735
|
-
/** Динамический список */
|
|
736
|
-
EIndicatorType["DYNAMIC_LIST"] = "DYNAMIC_LIST";
|
|
737
|
-
/** Список колонок */
|
|
738
|
-
EIndicatorType["COLUMN_LIST"] = "COLUMN_LIST";
|
|
739
|
-
/** Разрез */
|
|
740
|
-
EIndicatorType["DIMENSION"] = "DIMENSION";
|
|
741
|
-
/** Мера */
|
|
742
|
-
EIndicatorType["MEASURE"] = "MEASURE";
|
|
743
|
-
/** Иерархия */
|
|
744
|
-
EIndicatorType["DYNAMIC_DIMENSION"] = "DYNAMIC_DIMENSION";
|
|
745
|
-
/** Пользовательская сортировка */
|
|
746
|
-
EIndicatorType["USER_SORTING"] = "USER_SORTING";
|
|
747
|
-
})(EIndicatorType || (EIndicatorType = {}));
|
|
748
|
-
/** Обобщенные типы значений переменных */
|
|
749
|
-
var ESimpleInputType;
|
|
750
|
-
(function (ESimpleInputType) {
|
|
751
|
-
/** Число (точность Float64) */
|
|
752
|
-
ESimpleInputType["NUMBER"] = "FLOAT";
|
|
753
|
-
/** Целое число (точность Int64) */
|
|
754
|
-
ESimpleInputType["INTEGER_NUMBER"] = "INTEGER";
|
|
755
|
-
/** Текст */
|
|
756
|
-
ESimpleInputType["TEXT"] = "STRING";
|
|
757
|
-
/** Дата (точность Date) */
|
|
758
|
-
ESimpleInputType["DATE"] = "DATE";
|
|
759
|
-
/** Дата и время (точность DateTime64) */
|
|
760
|
-
ESimpleInputType["DATE_AND_TIME"] = "DATETIME";
|
|
761
|
-
/** Логический тип */
|
|
762
|
-
ESimpleInputType["BOOLEAN"] = "BOOLEAN";
|
|
763
|
-
})(ESimpleInputType || (ESimpleInputType = {}));
|
|
764
|
-
function isDimensionsHierarchy(indicator) {
|
|
765
|
-
return "hierarchyDimensions" in indicator;
|
|
766
|
-
}
|
|
767
|
-
var OuterAggregation;
|
|
768
|
-
(function (OuterAggregation) {
|
|
769
|
-
OuterAggregation["avg"] = "avgIf";
|
|
770
|
-
OuterAggregation["median"] = "medianIf";
|
|
771
|
-
OuterAggregation["count"] = "countIf";
|
|
772
|
-
OuterAggregation["countDistinct"] = "countIfDistinct";
|
|
773
|
-
OuterAggregation["min"] = "minIf";
|
|
774
|
-
OuterAggregation["max"] = "maxIf";
|
|
775
|
-
OuterAggregation["sum"] = "sumIf";
|
|
776
|
-
})(OuterAggregation || (OuterAggregation = {}));
|
|
777
|
-
var EDurationTemplateName;
|
|
778
|
-
(function (EDurationTemplateName) {
|
|
779
|
-
EDurationTemplateName["avg"] = "avg";
|
|
780
|
-
EDurationTemplateName["median"] = "median";
|
|
781
|
-
})(EDurationTemplateName || (EDurationTemplateName = {}));
|
|
782
|
-
var EEventAppearances;
|
|
783
|
-
(function (EEventAppearances) {
|
|
784
|
-
EEventAppearances["FIRST"] = "FIRST";
|
|
785
|
-
EEventAppearances["LAST"] = "LAST";
|
|
786
|
-
})(EEventAppearances || (EEventAppearances = {}));
|
|
787
|
-
|
|
788
1522
|
function createAggregationTemplate$1(functionName, options) {
|
|
789
1523
|
return "process(".concat(functionName, "(").concat((options === null || options === void 0 ? void 0 : options.distinct) ? "distinct " : "", "{columnFormula}, {eventNameFormula} ={eventName}{filters}), {caseCaseIdFormula})");
|
|
790
1524
|
}
|
|
@@ -819,13 +1553,6 @@ function sanitizeSingleLineComment(formula, wrapInBrackets) {
|
|
|
819
1553
|
return wrapInBrackets ? "(".concat(formula, "\n)") : "".concat(formula, "\n");
|
|
820
1554
|
}
|
|
821
1555
|
|
|
822
|
-
/** @deprecated - следует использовать fillTemplateSql */
|
|
823
|
-
function fillTemplateString(templateString, params) {
|
|
824
|
-
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
825
|
-
var _a;
|
|
826
|
-
return (_a = params[key]) !== null && _a !== void 0 ? _a : "";
|
|
827
|
-
});
|
|
828
|
-
}
|
|
829
1556
|
/** Функция для безопасного заполнения SQL шаблонов с защитой от однострочных SQL комментариев в подставляемых значениях. */
|
|
830
1557
|
function fillTemplateSql(templateString, params) {
|
|
831
1558
|
var e_1, _a;
|
|
@@ -850,7 +1577,10 @@ function fillTemplateSql(templateString, params) {
|
|
|
850
1577
|
}
|
|
851
1578
|
finally { if (e_1) throw e_1.error; }
|
|
852
1579
|
}
|
|
853
|
-
return
|
|
1580
|
+
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
1581
|
+
var _a;
|
|
1582
|
+
return (_a = newParams[key]) !== null && _a !== void 0 ? _a : "";
|
|
1583
|
+
});
|
|
854
1584
|
}
|
|
855
1585
|
|
|
856
1586
|
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
@@ -1467,30 +2197,6 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1467
2197
|
return "";
|
|
1468
2198
|
}
|
|
1469
2199
|
|
|
1470
|
-
// Типы, используемые в значениях элементов управления.
|
|
1471
|
-
var EWidgetFilterMode;
|
|
1472
|
-
(function (EWidgetFilterMode) {
|
|
1473
|
-
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1474
|
-
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1475
|
-
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1476
|
-
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
1477
|
-
var EMarkdownDisplayMode;
|
|
1478
|
-
(function (EMarkdownDisplayMode) {
|
|
1479
|
-
EMarkdownDisplayMode["NONE"] = "NONE";
|
|
1480
|
-
EMarkdownDisplayMode["INDICATOR"] = "INDICATOR";
|
|
1481
|
-
})(EMarkdownDisplayMode || (EMarkdownDisplayMode = {}));
|
|
1482
|
-
var EDisplayConditionMode;
|
|
1483
|
-
(function (EDisplayConditionMode) {
|
|
1484
|
-
EDisplayConditionMode["DISABLED"] = "DISABLED";
|
|
1485
|
-
EDisplayConditionMode["FORMULA"] = "FORMULA";
|
|
1486
|
-
EDisplayConditionMode["VARIABLE"] = "VARIABLE";
|
|
1487
|
-
})(EDisplayConditionMode || (EDisplayConditionMode = {}));
|
|
1488
|
-
var EFontWeight;
|
|
1489
|
-
(function (EFontWeight) {
|
|
1490
|
-
EFontWeight["NORMAL"] = "NORMAL";
|
|
1491
|
-
EFontWeight["BOLD"] = "BOLD";
|
|
1492
|
-
})(EFontWeight || (EFontWeight = {}));
|
|
1493
|
-
|
|
1494
2200
|
function checkDisplayCondition(displayCondition, variables) {
|
|
1495
2201
|
var _a;
|
|
1496
2202
|
if ((displayCondition === null || displayCondition === void 0 ? void 0 : displayCondition.mode) === EDisplayConditionMode.VARIABLE) {
|
|
@@ -1624,7 +2330,7 @@ var getFormulaFilterValues = function (filterValue) {
|
|
|
1624
2330
|
if (filteringMethod === formulaFilterMethods.LAST_TIME) {
|
|
1625
2331
|
var showTime = format === EFormatTypes.DATETIME;
|
|
1626
2332
|
return compact([
|
|
1627
|
-
convertDateToClickHouse(subtractDurationFromDate(new Date(), lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0, lastTimeUnit), showTime),
|
|
2333
|
+
convertDateToClickHouse(subtractDurationFromDate(new Date(), Number(lastTimeValue !== null && lastTimeValue !== void 0 ? lastTimeValue : 0), lastTimeUnit), showTime),
|
|
1628
2334
|
convertDateToClickHouse(new Date(), showTime),
|
|
1629
2335
|
]);
|
|
1630
2336
|
}
|
|
@@ -1836,8 +2542,8 @@ var ESortDirection;
|
|
|
1836
2542
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с одним значением - выбираем следующий за ним разрез
|
|
1837
2543
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
1838
2544
|
*/
|
|
1839
|
-
function selectDimensionFromHierarchy(
|
|
1840
|
-
var hierarchyDimensions =
|
|
2545
|
+
function selectDimensionFromHierarchy(hierarchy, filters) {
|
|
2546
|
+
var hierarchyDimensions = hierarchy.hierarchyDimensions; hierarchy.displayCondition;
|
|
1841
2547
|
var _loop_1 = function (i) {
|
|
1842
2548
|
var dimension = hierarchyDimensions[i];
|
|
1843
2549
|
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
@@ -1850,14 +2556,18 @@ function selectDimensionFromHierarchy(_a, filters) {
|
|
|
1850
2556
|
return "continue";
|
|
1851
2557
|
}
|
|
1852
2558
|
var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, hierarchyDimensions.length - 1);
|
|
1853
|
-
|
|
2559
|
+
var dimensionFromHierarchy_1 = hierarchyDimensions[selectionIndex];
|
|
2560
|
+
return { value: (dimensionFromHierarchy_1 &&
|
|
2561
|
+
inheritDisplayConditionFromHierarchy(dimensionFromHierarchy_1, hierarchy)) };
|
|
1854
2562
|
};
|
|
1855
2563
|
for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
|
|
1856
2564
|
var state_1 = _loop_1(i);
|
|
1857
2565
|
if (typeof state_1 === "object")
|
|
1858
2566
|
return state_1.value;
|
|
1859
2567
|
}
|
|
1860
|
-
|
|
2568
|
+
var dimensionFromHierarchy = hierarchyDimensions[0];
|
|
2569
|
+
return (dimensionFromHierarchy &&
|
|
2570
|
+
inheritDisplayConditionFromHierarchy(dimensionFromHierarchy, hierarchy));
|
|
1861
2571
|
}
|
|
1862
2572
|
|
|
1863
2573
|
var getDefaultSortOrders = function (_a) {
|
|
@@ -1873,7 +2583,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1873
2583
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1874
2584
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1875
2585
|
var _a;
|
|
1876
|
-
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.
|
|
2586
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.mode) === EFormatOrFormattingMode.BASE &&
|
|
2587
|
+
dimension.format.value !== undefined &&
|
|
1877
2588
|
[
|
|
1878
2589
|
EFormatTypes.DATE,
|
|
1879
2590
|
EFormatTypes.MONTH,
|
|
@@ -1932,9 +2643,9 @@ function mapSortingToInputs(_a) {
|
|
|
1932
2643
|
return;
|
|
1933
2644
|
}
|
|
1934
2645
|
if (getIndicatorType(value.group, indicator) === EWidgetIndicatorType.DIMENSION) {
|
|
1935
|
-
var activeDimensions = isDimensionsHierarchy(indicator)
|
|
2646
|
+
var activeDimensions = (isDimensionsHierarchy(indicator)
|
|
1936
2647
|
? selectDimensionFromHierarchy(indicator, filters)
|
|
1937
|
-
: indicator;
|
|
2648
|
+
: indicator);
|
|
1938
2649
|
var formula = activeDimensions && getDimensionFormula(activeDimensions);
|
|
1939
2650
|
if (!formula || !checkDisplayCondition(indicator.displayCondition, variables)) {
|
|
1940
2651
|
return;
|
|
@@ -1948,10 +2659,11 @@ function mapSortingToInputs(_a) {
|
|
|
1948
2659
|
: undefined,
|
|
1949
2660
|
};
|
|
1950
2661
|
}
|
|
2662
|
+
var measure = indicator;
|
|
1951
2663
|
return {
|
|
1952
|
-
formula: getMeasureFormula(
|
|
2664
|
+
formula: getMeasureFormula(measure),
|
|
1953
2665
|
direction: direction,
|
|
1954
|
-
dbDataType:
|
|
2666
|
+
dbDataType: measure.dbDataType,
|
|
1955
2667
|
};
|
|
1956
2668
|
});
|
|
1957
2669
|
return sortOrder;
|
|
@@ -1965,8 +2677,7 @@ function prepareSortOrders(_a) {
|
|
|
1965
2677
|
var replaceHierarchiesWithDimensions = function (dimensions, filters) {
|
|
1966
2678
|
return compactMap(dimensions, function (indicator) {
|
|
1967
2679
|
if (isDimensionsHierarchy(indicator)) {
|
|
1968
|
-
|
|
1969
|
-
return (selectedDimension && replaceDisplayCondition(selectedDimension, indicator.displayCondition));
|
|
2680
|
+
return selectDimensionFromHierarchy(indicator, filters);
|
|
1970
2681
|
}
|
|
1971
2682
|
return indicator;
|
|
1972
2683
|
});
|
|
@@ -2037,6 +2748,12 @@ var EUnitMode;
|
|
|
2037
2748
|
EUnitMode["PIXEL"] = "PIXEL";
|
|
2038
2749
|
EUnitMode["PERCENT"] = "PERCENT";
|
|
2039
2750
|
})(EUnitMode || (EUnitMode = {}));
|
|
2751
|
+
var defaultActionsConfig = {
|
|
2752
|
+
OPEN_URL: { availability: true },
|
|
2753
|
+
UPDATE_VARIABLE: { availability: true },
|
|
2754
|
+
EXECUTE_SCRIPT: { availability: true },
|
|
2755
|
+
OPEN_VIEW: { availability: true },
|
|
2756
|
+
};
|
|
2040
2757
|
|
|
2041
2758
|
var ESelectOptionTypes;
|
|
2042
2759
|
(function (ESelectOptionTypes) {
|
|
@@ -2225,4 +2942,118 @@ var getColorByIndex = function (index) {
|
|
|
2225
2942
|
return color;
|
|
2226
2943
|
};
|
|
2227
2944
|
|
|
2228
|
-
|
|
2945
|
+
var WidgetPresetSettingsSchema = function (z) {
|
|
2946
|
+
return BaseWidgetSettingsSchema(z)
|
|
2947
|
+
.pick({
|
|
2948
|
+
filterMode: true,
|
|
2949
|
+
ignoreFilters: true,
|
|
2950
|
+
stateName: true,
|
|
2951
|
+
titleColor: true,
|
|
2952
|
+
titleSize: true,
|
|
2953
|
+
titleWeight: true,
|
|
2954
|
+
paddings: true,
|
|
2955
|
+
})
|
|
2956
|
+
.extend({
|
|
2957
|
+
textSize: z.number().default(12),
|
|
2958
|
+
});
|
|
2959
|
+
};
|
|
2960
|
+
|
|
2961
|
+
/**
|
|
2962
|
+
* Привязывает мета-информацию о теме к Zod-схеме
|
|
2963
|
+
*
|
|
2964
|
+
* @template Value - Тип значения схемы
|
|
2965
|
+
* @template Theme - Тип темы (по умолчанию ITheme)
|
|
2966
|
+
*
|
|
2967
|
+
* @param scheme - Zod схема для привязки
|
|
2968
|
+
* @param selectThemeValue - Функция, возвращающая значение из темы
|
|
2969
|
+
*
|
|
2970
|
+
* @returns Zod схему с мета-информацией о теме
|
|
2971
|
+
*
|
|
2972
|
+
* @example
|
|
2973
|
+
* // Базовое использование
|
|
2974
|
+
* textSize: themed(
|
|
2975
|
+
* z.number().default(12),
|
|
2976
|
+
* (theme) => theme.textSize
|
|
2977
|
+
* )
|
|
2978
|
+
*/
|
|
2979
|
+
var themed = function (scheme, selectThemeValue) {
|
|
2980
|
+
var _a;
|
|
2981
|
+
return scheme.meta((_a = {}, _a[ESettingsSchemaMetaKey.themeValue] = selectThemeValue, _a));
|
|
2982
|
+
};
|
|
2983
|
+
|
|
2984
|
+
var ColorBaseSchema = function (z) {
|
|
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 };
|