@infomaximum/widget-sdk 6.0.0-4 → 6.0.0-6
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 +19 -0
- package/dist/index.d.ts +791 -760
- package/dist/index.esm.js +11 -3
- package/dist/index.js +10 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -73,353 +73,6 @@ interface IExportColumnOrder {
|
|
|
73
73
|
exportName: string;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
declare enum EFormatTypes {
|
|
77
|
-
/** Дата */
|
|
78
|
-
DATE = "DATE",
|
|
79
|
-
/** Число */
|
|
80
|
-
NUMBER = "NUMBER",
|
|
81
|
-
/** Месяц */
|
|
82
|
-
MONTH = "MONTH",
|
|
83
|
-
/** Дата и время */
|
|
84
|
-
DATETIME = "DATETIME",
|
|
85
|
-
/** Строка */
|
|
86
|
-
STRING = "STRING",
|
|
87
|
-
/** День недели */
|
|
88
|
-
DAY_OF_WEEK = "DAY_OF_WEEK",
|
|
89
|
-
/** Длительность */
|
|
90
|
-
DURATION = "DURATION",
|
|
91
|
-
/** Час */
|
|
92
|
-
HOUR = "HOUR",
|
|
93
|
-
/** Месяц и год */
|
|
94
|
-
MONTH_YEAR = "MONTH_YEAR",
|
|
95
|
-
/** Год */
|
|
96
|
-
YEAR = "YEAR",
|
|
97
|
-
/** Квартал */
|
|
98
|
-
QUARTER = "QUARTER",
|
|
99
|
-
/** Квартал и год */
|
|
100
|
-
QUARTER_YEAR = "QUARTER_YEAR",
|
|
101
|
-
/** День месяца */
|
|
102
|
-
DAY_OF_MONTH = "DAY_OF_MONTH",
|
|
103
|
-
/** Неделя */
|
|
104
|
-
WEEK = "WEEK",
|
|
105
|
-
/** Логический */
|
|
106
|
-
BOOLEAN = "BOOLEAN",
|
|
107
|
-
PERCENT = "PERCENT"
|
|
108
|
-
}
|
|
109
|
-
declare enum EFormattingPresets {
|
|
110
|
-
"AUTO" = "AUTO",
|
|
111
|
-
"CUSTOM" = "CUSTOM",
|
|
112
|
-
"DD/M/YYYY" = "DD/M/YYYY",
|
|
113
|
-
"DD-MM-YYYY" = "DD-MM-YYYY",
|
|
114
|
-
"DD-MM-YY" = "DD-MM-YY",
|
|
115
|
-
"YYYY-MM-DD" = "YYYY-MM-DD",
|
|
116
|
-
"YY-MM-DD" = "YY-MM-DD",
|
|
117
|
-
"DD MM YYYY" = "DD MM YYYY",
|
|
118
|
-
"DD MMM YYYY" = "DD MMM YYYY",
|
|
119
|
-
"DD MMM YY" = "DD MMM YY",
|
|
120
|
-
"MM.DD.YYYY" = "MM.DD.YYYY",
|
|
121
|
-
"MM.DD.YY" = "MM.DD.YY",
|
|
122
|
-
"DD MMMM YYYY" = "DD MMMM YYYY",
|
|
123
|
-
"DD MMMM YY" = "DD MMMM YY",
|
|
124
|
-
"DD/MM/YYYY" = "DD/MM/YYYY",
|
|
125
|
-
"DD/MM/YY" = "DD/MM/YY",
|
|
126
|
-
"MM/DD/YYYY" = "MM/DD/YYYY",
|
|
127
|
-
"MM/DD/YY" = "MM/DD/YY",
|
|
128
|
-
"MMMM DD, YYYY" = "MMMM DD, YYYY",
|
|
129
|
-
"MMMM DD, YY" = "MMMM DD, YY",
|
|
130
|
-
"DD.MM.YYYY" = "DD.MM.YYYY",
|
|
131
|
-
"DD.MM.YY" = "DD.MM.YY",
|
|
132
|
-
"MM-DD-YY" = "MM-DD-YY",
|
|
133
|
-
"MM-DD-YYYY" = "MM-DD-YYYY",
|
|
134
|
-
"DD/M/YYYY HH:mm" = "DD/M/YYYY HH:mm",
|
|
135
|
-
"DD/MM/YYYY, HH:mm" = "DD/MM/YYYY, HH:mm",
|
|
136
|
-
"DD/MM/YY, HH:mm" = "DD/MM/YY, HH:mm",
|
|
137
|
-
"MM/DD/YY, hh:mm a" = "MM/DD/YY, hh:mm a",
|
|
138
|
-
"MM/DD/YYYY, hh:mm a" = "MM/DD/YYYY, hh:mm a",
|
|
139
|
-
"YYYY-MM-DD HH:mm" = "YYYY-MM-DD HH:mm",
|
|
140
|
-
"YY-MM-DD, HH:mm" = "YY-MM-DD, HH:mm",
|
|
141
|
-
"YYYY-MM-DD, HH:mm" = "YYYY-MM-DD, HH:mm",
|
|
142
|
-
"YYYY-MM-DD HH:mm:ss" = "YYYY-MM-DD HH:mm:ss",
|
|
143
|
-
"DD MM YYYY HH:mm" = "DD MM YYYY HH:mm",
|
|
144
|
-
"DD MMMM YYYY, HH:mm" = "DD MMMM YYYY, HH:mm",
|
|
145
|
-
"DD.MM.YY, HH:mm" = "DD.MM.YY, HH:mm",
|
|
146
|
-
"DD.MM.YYYY, HH:mm" = "DD.MM.YYYY, HH:mm",
|
|
147
|
-
"MM-DD-YY, hh:mm a" = "MM-DD-YY, hh:mm a",
|
|
148
|
-
"MM-DD-YYYY, hh:mm a" = "MM-DD-YYYY, hh:mm a",
|
|
149
|
-
"MM.DD.YY, hh:mm a" = "MM.DD.YY, hh:mm a",
|
|
150
|
-
"MM.DD.YYYY, hh:mm a" = "MM.DD.YYYY, hh:mm a",
|
|
151
|
-
"MM.DD.YYYY hh:mm a" = "MM.DD.YYYY hh:mm a",
|
|
152
|
-
"DD MMM YY, HH:mm" = "DD MMM YY, HH:mm",
|
|
153
|
-
"DD MMM YYYY, HH:mm" = "DD MMM YYYY, HH:mm",
|
|
154
|
-
"MMMM DD, YY, HH:mm" = "MMMM DD, YY, HH:mm",
|
|
155
|
-
"MMMM DD, YYYY, HH:mm" = "MMMM DD, YYYY, HH:mm",
|
|
156
|
-
"DD MMMM YY, HH:mm" = "DD MMMM YY, HH:mm",
|
|
157
|
-
"DD.MM.YYYY, HH:mm:ss" = "DD.MM.YYYY, HH:mm:ss",
|
|
158
|
-
"DD.MM.YYYY HH:mm:ss" = "DD.MM.YYYY HH:mm:ss",
|
|
159
|
-
"DD/MM/YYYY HH:mm:ss" = "DD/MM/YYYY HH:mm:ss",
|
|
160
|
-
"DD" = "DD",
|
|
161
|
-
"D" = "D",
|
|
162
|
-
"DDDD" = "DDDD",
|
|
163
|
-
"MMM" = "MMM",
|
|
164
|
-
"MM" = "MM",
|
|
165
|
-
"MMMM" = "MMMM",
|
|
166
|
-
"k" = "k",
|
|
167
|
-
"x" = "x",
|
|
168
|
-
"#,##x" = "#,##x",
|
|
169
|
-
"#,##x.x" = "#,##x.x",
|
|
170
|
-
"#,##x.xx" = "#,##x.xx",
|
|
171
|
-
"x[%]" = "x[%]",
|
|
172
|
-
"x.x[%]" = "x.x[%]",
|
|
173
|
-
"[$]x" = "[$]x",
|
|
174
|
-
"zx.xx[%]" = "zx.xx[%]",
|
|
175
|
-
"hh:mm:ss" = "hh:mm:ss",
|
|
176
|
-
"dd:hh:mm:ss" = "dd:hh:mm:ss",
|
|
177
|
-
"d" = "d",
|
|
178
|
-
"h" = "h",
|
|
179
|
-
"dk" = "dk",
|
|
180
|
-
"hk" = "hk",
|
|
181
|
-
"dd" = "dd",
|
|
182
|
-
"HH" = "HH",
|
|
183
|
-
"hh a" = "hh a",
|
|
184
|
-
"MMM, YYYY" = "MMM, YYYY",
|
|
185
|
-
"MMM, YY" = "MMM, YY",
|
|
186
|
-
"MM.YYYY" = "MM.YYYY",
|
|
187
|
-
"MM.YY" = "MM.YY",
|
|
188
|
-
"MMMM YYYY" = "MMMM YYYY",
|
|
189
|
-
"MMMM YY" = "MMMM YY",
|
|
190
|
-
"[Q]q" = "[Q]q",
|
|
191
|
-
"R" = "R",
|
|
192
|
-
"[Q]q[-]YYYY" = "[Q]q[-]YYYY",
|
|
193
|
-
"[Q]q[-]YY" = "[Q]q[-]YY",
|
|
194
|
-
"R[-]YYYY" = "R[-]YYYY",
|
|
195
|
-
"R[-]YY" = "R[-]YY"
|
|
196
|
-
}
|
|
197
|
-
interface IWidgetFormatting {
|
|
198
|
-
getFormattedValue: (value: string, formatType: EFormatTypes, formatting: EFormattingPresets, formatTemplate: TNullable<string>) => string;
|
|
199
|
-
}
|
|
200
|
-
declare const formattingConfig: {
|
|
201
|
-
readonly availableFormatsBySimpleType: {
|
|
202
|
-
OTHER: EFormatTypes[];
|
|
203
|
-
STRING: EFormatTypes[];
|
|
204
|
-
FLOAT: EFormatTypes[];
|
|
205
|
-
INTEGER: EFormatTypes[];
|
|
206
|
-
DATE: EFormatTypes[];
|
|
207
|
-
DATETIME: EFormatTypes[];
|
|
208
|
-
DATETIME64: EFormatTypes[];
|
|
209
|
-
BOOLEAN: EFormatTypes[];
|
|
210
|
-
};
|
|
211
|
-
readonly availableFormattingByFormat: {
|
|
212
|
-
DATE: EFormattingPresets[];
|
|
213
|
-
DATETIME: EFormattingPresets[];
|
|
214
|
-
DAY_OF_WEEK: EFormattingPresets[];
|
|
215
|
-
MONTH: EFormattingPresets[];
|
|
216
|
-
NUMBER: EFormattingPresets[];
|
|
217
|
-
DURATION: EFormattingPresets[];
|
|
218
|
-
HOUR: EFormattingPresets[];
|
|
219
|
-
MONTH_YEAR: EFormattingPresets[];
|
|
220
|
-
QUARTER: EFormattingPresets[];
|
|
221
|
-
QUARTER_YEAR: EFormattingPresets[];
|
|
222
|
-
STRING: never[];
|
|
223
|
-
DAY_OF_MONTH: never[];
|
|
224
|
-
WEEK: never[];
|
|
225
|
-
YEAR: never[];
|
|
226
|
-
BOOLEAN: never[];
|
|
227
|
-
PERCENT: EFormattingPresets[];
|
|
228
|
-
};
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
declare enum ELastTimeUnit {
|
|
232
|
-
DAYS = "DAYS",
|
|
233
|
-
MONTHS = "MONTHS",
|
|
234
|
-
YEARS = "YEARS"
|
|
235
|
-
}
|
|
236
|
-
declare enum EDurationUnit {
|
|
237
|
-
DAYS = "DAYS",
|
|
238
|
-
HOURS = "HOURS",
|
|
239
|
-
MINUTES = "MINUTES",
|
|
240
|
-
SECONDS = "SECONDS"
|
|
241
|
-
}
|
|
242
|
-
declare const applyIndexToArrayFormula: (formula: string, index: number) => string;
|
|
243
|
-
declare const mapFormulaFilterToCalculatorInput: (filterValue: TExtendedFormulaFilterValue) => TNullable<ICalculatorFilter>;
|
|
244
|
-
declare const mapFormulaFiltersToInputs: (filters: TExtendedFormulaFilterValue[]) => ICalculatorFilter[];
|
|
245
|
-
|
|
246
|
-
type TSelectivePartial<T, Keys extends keyof T> = Omit<T, Keys> & Partial<Pick<T, Keys>>;
|
|
247
|
-
declare const formulaFilterMethods: {
|
|
248
|
-
readonly LAST_TIME: "LAST_TIME";
|
|
249
|
-
readonly EQUAL_TO: ECalculatorFilterMethods.EQUAL_TO;
|
|
250
|
-
readonly NOT_EQUAL_TO: ECalculatorFilterMethods.NOT_EQUAL_TO;
|
|
251
|
-
readonly GREATER_THAN: ECalculatorFilterMethods.GREATER_THAN;
|
|
252
|
-
readonly LESS_THAN: ECalculatorFilterMethods.LESS_THAN;
|
|
253
|
-
readonly GREATER_THAN_OR_EQUAL_TO: ECalculatorFilterMethods.GREATER_THAN_OR_EQUAL_TO;
|
|
254
|
-
readonly LESS_THAN_OR_EQUAL_TO: ECalculatorFilterMethods.LESS_THAN_OR_EQUAL_TO;
|
|
255
|
-
readonly STARTS_WITH: ECalculatorFilterMethods.STARTS_WITH;
|
|
256
|
-
readonly ENDS_WITH: ECalculatorFilterMethods.ENDS_WITH;
|
|
257
|
-
readonly CONTAINS: ECalculatorFilterMethods.CONTAINS;
|
|
258
|
-
readonly NOT_CONTAINS: ECalculatorFilterMethods.NOT_CONTAINS;
|
|
259
|
-
readonly IN_RANGE: ECalculatorFilterMethods.IN_RANGE;
|
|
260
|
-
readonly NOT_IN_RANGE: ECalculatorFilterMethods.NOT_IN_RANGE;
|
|
261
|
-
readonly INCLUDE: ECalculatorFilterMethods.INCLUDE;
|
|
262
|
-
readonly EXCLUDE: ECalculatorFilterMethods.EXCLUDE;
|
|
263
|
-
readonly NONEMPTY: ECalculatorFilterMethods.NONEMPTY;
|
|
264
|
-
readonly EMPTY: ECalculatorFilterMethods.EMPTY;
|
|
265
|
-
};
|
|
266
|
-
declare enum EProcessFilterNames {
|
|
267
|
-
/** Наличие события */
|
|
268
|
-
presenceOfEvent = "presenceOfEvent",
|
|
269
|
-
/** Количество повторов события */
|
|
270
|
-
repetitionOfEvent = "repetitionOfEvent",
|
|
271
|
-
/** Наличие перехода */
|
|
272
|
-
presenceOfTransition = "presenceOfTransition",
|
|
273
|
-
/** Длительность перехода */
|
|
274
|
-
durationOfTransition = "durationOfTransition"
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Параметры, которые влияют на отображаемый контент в окне настройки процессного фильтра,
|
|
278
|
-
* но не учитываются при применении фильтра.
|
|
279
|
-
*/
|
|
280
|
-
interface IProcessFilterPreviewParams {
|
|
281
|
-
/**
|
|
282
|
-
* События, доступные при выборе процесса.
|
|
283
|
-
* Если параметр не передан, используются все события процесса на основе запроса к вычислителю.
|
|
284
|
-
*/
|
|
285
|
-
eventsNamesByProcessKey?: Map<string, (string | null)[]>;
|
|
286
|
-
/** Фильтры событий */
|
|
287
|
-
eventFilters?: TExtendedFormulaFilterValue[];
|
|
288
|
-
}
|
|
289
|
-
interface IProcessEventFilterValue {
|
|
290
|
-
processKey: string;
|
|
291
|
-
eventName: string;
|
|
292
|
-
}
|
|
293
|
-
interface IProcessTransitionFilterValue {
|
|
294
|
-
startEventProcessKey: string;
|
|
295
|
-
startEventName: string;
|
|
296
|
-
endEventProcessKey: string;
|
|
297
|
-
endEventName: string;
|
|
298
|
-
}
|
|
299
|
-
interface IClickPosition {
|
|
300
|
-
x: number;
|
|
301
|
-
y: number;
|
|
302
|
-
elementWidth?: number;
|
|
303
|
-
elementHeight?: number;
|
|
304
|
-
}
|
|
305
|
-
interface IPositionConfig extends IClickPosition {
|
|
306
|
-
offsetX?: number;
|
|
307
|
-
offsetY?: number;
|
|
308
|
-
}
|
|
309
|
-
interface IAddPresenceOfEventFilter {
|
|
310
|
-
(name: EProcessFilterNames.presenceOfEvent, value: IProcessEventFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
311
|
-
}
|
|
312
|
-
interface IAddRepetitionOfEventFilter {
|
|
313
|
-
(name: EProcessFilterNames.repetitionOfEvent, value: IProcessEventFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
314
|
-
}
|
|
315
|
-
interface IAddPresenceOfTransitionFilter {
|
|
316
|
-
(name: EProcessFilterNames.presenceOfTransition, value: IProcessTransitionFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
317
|
-
}
|
|
318
|
-
interface IAddDurationOfTransitionFilter {
|
|
319
|
-
(name: EProcessFilterNames.durationOfTransition, value: IProcessTransitionFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
320
|
-
}
|
|
321
|
-
declare enum EFormulaFilterFieldKeys {
|
|
322
|
-
date = "date",
|
|
323
|
-
dateRange = "dateRange",
|
|
324
|
-
numberRange = "numberRange",
|
|
325
|
-
string = "string",
|
|
326
|
-
lastTimeValue = "lastTimeValue",
|
|
327
|
-
lastTimeUnit = "lastTimeUnit",
|
|
328
|
-
durationUnit = "durationUnit"
|
|
329
|
-
}
|
|
330
|
-
interface IFormulaFilterValue {
|
|
331
|
-
/** Заголовок фильтра */
|
|
332
|
-
name: TNullable<string>;
|
|
333
|
-
/** Формула */
|
|
334
|
-
formula: string;
|
|
335
|
-
/**
|
|
336
|
-
* Индекс элемента в результате вычисления формулы (если результат - массив).
|
|
337
|
-
*
|
|
338
|
-
* Используется, когда формула возвращает массив значений, но требуется работать только с одним конкретным элементом.
|
|
339
|
-
* Индекс добавляется к вычисляемой формуле, позволяя выбрать нужный элемент из результирующего массива.
|
|
340
|
-
*
|
|
341
|
-
* **Важно:** Индексация начинается с 1, т.к. используется ClickHouse (1-based).
|
|
342
|
-
*/
|
|
343
|
-
sliceIndex?: number;
|
|
344
|
-
/** Тип данных формулы (без учета `sliceIndex`) */
|
|
345
|
-
dbDataType: string;
|
|
346
|
-
/** Формат */
|
|
347
|
-
format: EFormatTypes;
|
|
348
|
-
/** Метод фильтрации */
|
|
349
|
-
filteringMethod: valueof<typeof formulaFilterMethods>;
|
|
350
|
-
/** Выбранные в списке значения в виде моделей */
|
|
351
|
-
checkedValues?: (string | null)[];
|
|
352
|
-
/** Значения полей формы редактора */
|
|
353
|
-
formValues?: Partial<{
|
|
354
|
-
[EFormulaFilterFieldKeys.date]: string | null;
|
|
355
|
-
[EFormulaFilterFieldKeys.dateRange]: [string, string];
|
|
356
|
-
[EFormulaFilterFieldKeys.numberRange]: Partial<[number, number]>;
|
|
357
|
-
[EFormulaFilterFieldKeys.string]: string;
|
|
358
|
-
[EFormulaFilterFieldKeys.lastTimeValue]: number;
|
|
359
|
-
[EFormulaFilterFieldKeys.lastTimeUnit]: ELastTimeUnit;
|
|
360
|
-
[EFormulaFilterFieldKeys.durationUnit]: EDurationUnit;
|
|
361
|
-
}>;
|
|
362
|
-
}
|
|
363
|
-
type TExtendedFormulaFilterValue = {
|
|
364
|
-
formula: string;
|
|
365
|
-
} | IFormulaFilterValue;
|
|
366
|
-
interface IStagesFilterItem {
|
|
367
|
-
id: number;
|
|
368
|
-
/** Название этапа */
|
|
369
|
-
name: string;
|
|
370
|
-
/** Формула фильтра этапа */
|
|
371
|
-
formula: string;
|
|
372
|
-
isSelected: boolean;
|
|
373
|
-
}
|
|
374
|
-
interface IStagesFilterValue {
|
|
375
|
-
/** Ключ виджета */
|
|
376
|
-
widgetKey: string;
|
|
377
|
-
/** Заголовок фильтра */
|
|
378
|
-
name: TNullable<string>;
|
|
379
|
-
/** Этапы */
|
|
380
|
-
stages: IStagesFilterItem[];
|
|
381
|
-
}
|
|
382
|
-
type TWidgetFilterValue = TExtendedFormulaFilterValue | IStagesFilterValue | IProcessEventFilterValue | IProcessTransitionFilterValue;
|
|
383
|
-
interface IWidgetFilter {
|
|
384
|
-
/** Значение фильтра */
|
|
385
|
-
filterValue: TWidgetFilterValue;
|
|
386
|
-
/** Значение фильтра, подготовленное для передачи в вычислитель */
|
|
387
|
-
preparedFilterValue: ICalculatorFilter;
|
|
388
|
-
/** Информация о возможности менять фильтр из виджета */
|
|
389
|
-
isReadonly: boolean;
|
|
390
|
-
}
|
|
391
|
-
interface IWidgetFiltration {
|
|
392
|
-
/** Информация о внешних фильтрах виджета */
|
|
393
|
-
filters: IWidgetFilter[];
|
|
394
|
-
/**
|
|
395
|
-
* Значения внешних фильтров виджета, подготовленные для передачи в вычислитель.
|
|
396
|
-
* Использует данные из filters, но предоставлено отдельным полем для удобства разработки.
|
|
397
|
-
*/
|
|
398
|
-
preparedFilterValues: ICalculatorFilter[];
|
|
399
|
-
/** Добавить фильтр по формуле */
|
|
400
|
-
addFormulaFilter(value: TSelectivePartial<IFormulaFilterValue, "format" | "formValues">): void;
|
|
401
|
-
/**
|
|
402
|
-
* Удалить фильтр, заданный формулой, из текущего набора фильтров
|
|
403
|
-
*
|
|
404
|
-
* @param formula Формула фильтра, который необходимо удалить. Должна точно соответствовать
|
|
405
|
-
* формуле ранее добавленного фильтра (с учетом регистра и пробелов).
|
|
406
|
-
* @param [sliceIndex] Опциональный индекс элемента массива. См. {@link IFormulaFilterValue.sliceIndex}.
|
|
407
|
-
*
|
|
408
|
-
* @remarks
|
|
409
|
-
* - Если фильтр был добавлен без указания индекса, его нужно удалять без указания индекса.
|
|
410
|
-
* - Если фильтр был добавлен с индексом, тот же индекс должен быть указан при удалении.
|
|
411
|
-
* - Удаление происходит по точному совпадению формулы и индекса (если он был указан).
|
|
412
|
-
*/
|
|
413
|
-
removeFormulaFilter(formula: string, sliceIndex?: number): void;
|
|
414
|
-
/** Добавить процессный фильтр */
|
|
415
|
-
addProcessFilter(...args: Parameters<IAddPresenceOfEventFilter> | Parameters<IAddRepetitionOfEventFilter> | Parameters<IAddPresenceOfTransitionFilter> | Parameters<IAddDurationOfTransitionFilter>): void;
|
|
416
|
-
/** Добавить фильтр по этапам */
|
|
417
|
-
addStagesFilter(value: Omit<IStagesFilterValue, "widgetKey">): void;
|
|
418
|
-
/** Удалить фильтр по этапам */
|
|
419
|
-
removeStagesFilter(widgetKey: string): void;
|
|
420
|
-
}
|
|
421
|
-
declare const isFormulaFilterValue: (value: TExtendedFormulaFilterValue) => value is IFormulaFilterValue;
|
|
422
|
-
|
|
423
76
|
declare enum EWidgetFilterMode {
|
|
424
77
|
DEFAULT = "DEFAULT",
|
|
425
78
|
SINGLE = "SINGLE",
|
|
@@ -457,9 +110,157 @@ interface IRange {
|
|
|
457
110
|
min?: number;
|
|
458
111
|
max?: number;
|
|
459
112
|
}
|
|
460
|
-
declare enum EFontWeight {
|
|
461
|
-
NORMAL = "NORMAL",
|
|
462
|
-
BOLD = "BOLD"
|
|
113
|
+
declare enum EFontWeight {
|
|
114
|
+
NORMAL = "NORMAL",
|
|
115
|
+
BOLD = "BOLD"
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
interface IWidgetTableColumn {
|
|
119
|
+
/** Имя колонки */
|
|
120
|
+
name: string;
|
|
121
|
+
/** Тип данных колонки */
|
|
122
|
+
dbDataType: string;
|
|
123
|
+
}
|
|
124
|
+
interface IScriptField {
|
|
125
|
+
name: string;
|
|
126
|
+
isRequired: boolean;
|
|
127
|
+
isArray: boolean;
|
|
128
|
+
}
|
|
129
|
+
interface IActionScript {
|
|
130
|
+
key: string;
|
|
131
|
+
name: string;
|
|
132
|
+
fields: IScriptField[];
|
|
133
|
+
}
|
|
134
|
+
interface IWidgetTable {
|
|
135
|
+
/** Имя таблицы */
|
|
136
|
+
name: string;
|
|
137
|
+
/** Колонки таблицы */
|
|
138
|
+
columns: Map<string, IWidgetTableColumn>;
|
|
139
|
+
}
|
|
140
|
+
interface IDisplayRule {
|
|
141
|
+
color: TColor;
|
|
142
|
+
}
|
|
143
|
+
interface IGlobalContext {
|
|
144
|
+
/** Используемый язык системы */
|
|
145
|
+
language: ELanguages;
|
|
146
|
+
/** Имя отчета */
|
|
147
|
+
reportName: string;
|
|
148
|
+
/** Имена образов по их ключу(в текущем отчете) */
|
|
149
|
+
viewNameByKey: Map<string, string>;
|
|
150
|
+
/** Меры уровня отчета */
|
|
151
|
+
reportMeasures: TNullable<Map<string, ICommonMeasures>>;
|
|
152
|
+
/** Меры уровня пространства(из модели данных) */
|
|
153
|
+
workspaceMeasures: TNullable<Map<string, Map<string, ICommonMeasures>>>;
|
|
154
|
+
/** Разрезы уровня отчета */
|
|
155
|
+
reportDimensions: TNullable<Map<string, ICommonDimensions>>;
|
|
156
|
+
/** Разрезы уровня пространства(из модели данных) */
|
|
157
|
+
workspaceDimensions: TNullable<Map<string, Map<string, ICommonDimensions>>>;
|
|
158
|
+
/** Правила отображения уровня */
|
|
159
|
+
reportDisplayRules: Map<string, IDisplayRule>;
|
|
160
|
+
/** Правила отображения уровня пространства(из модели данных) */
|
|
161
|
+
workspaceDisplayRules: Map<string, Map<string, IDisplayRule>>;
|
|
162
|
+
/** Пользовательские переменные уровня отчета */
|
|
163
|
+
variables: Map<string, TWidgetVariable>;
|
|
164
|
+
/** Метод установки значения пользовательской переменной уровня отчета */
|
|
165
|
+
setVariableValue(name: string, value: TWidgetVariable["value"]): TWidgetVariable["value"];
|
|
166
|
+
/** Метод очистки значения пользовательской переменной уровня отчета */
|
|
167
|
+
unsetVariableValue(name: string): TWidgetVariable["value"];
|
|
168
|
+
/** Состояния(название сущности) отчета */
|
|
169
|
+
states: Map<string, ICommonState>;
|
|
170
|
+
/** Процессы из модели данных (по ключу) */
|
|
171
|
+
processByKey: Map<string, IWidgetProcess>;
|
|
172
|
+
/** Имена таблиц из модели данных */
|
|
173
|
+
tables: Set<string>;
|
|
174
|
+
/** Функция для запроса информации о колонках таблицы из модели данных */
|
|
175
|
+
fetchColumnsByTableName(tableName: string): Promise<IWidgetTableColumn[] | undefined>;
|
|
176
|
+
/** Скрипты, доступные для запуска из отчета */
|
|
177
|
+
scripts: Map<string, IActionScript>;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
declare enum EColorMode {
|
|
181
|
+
/** Окрашивание отключено */
|
|
182
|
+
DISABLED = "DISABLED",
|
|
183
|
+
/** Цвет каждого значения вычисляется по формуле */
|
|
184
|
+
FORMULA = "FORMULA",
|
|
185
|
+
/** Один цвет для всех значений */
|
|
186
|
+
BASE = "BASE",
|
|
187
|
+
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
188
|
+
GRADIENT = "GRADIENT",
|
|
189
|
+
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
190
|
+
AUTO = "AUTO",
|
|
191
|
+
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
192
|
+
RULE = "RULE",
|
|
193
|
+
/** Задать цвет конкретным значениям разреза */
|
|
194
|
+
VALUES = "VALUES",
|
|
195
|
+
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
196
|
+
BY_DIMENSION = "BY_DIMENSION"
|
|
197
|
+
}
|
|
198
|
+
type TColorBase = {
|
|
199
|
+
mode: EColorMode.BASE;
|
|
200
|
+
value?: string;
|
|
201
|
+
};
|
|
202
|
+
type TColorRule = {
|
|
203
|
+
mode: EColorMode.RULE;
|
|
204
|
+
formula: string;
|
|
205
|
+
};
|
|
206
|
+
interface IColoredValue {
|
|
207
|
+
value: string;
|
|
208
|
+
color: TColorBase | TColorRule;
|
|
209
|
+
}
|
|
210
|
+
/** Настройка цвета */
|
|
211
|
+
type TColor = {
|
|
212
|
+
mode: EColorMode.FORMULA;
|
|
213
|
+
formula: string;
|
|
214
|
+
} | TColorBase | {
|
|
215
|
+
mode: EColorMode.GRADIENT;
|
|
216
|
+
startValue: string;
|
|
217
|
+
endValue: string;
|
|
218
|
+
classCount?: TNullable<number>;
|
|
219
|
+
} | {
|
|
220
|
+
mode: EColorMode.AUTO;
|
|
221
|
+
} | TColorRule | {
|
|
222
|
+
mode: EColorMode.VALUES;
|
|
223
|
+
items: IColoredValue[];
|
|
224
|
+
} | {
|
|
225
|
+
mode: EColorMode.BY_DIMENSION;
|
|
226
|
+
/** Имя разреза из области видимости правила отображения */
|
|
227
|
+
dimensionName: string;
|
|
228
|
+
items: IColoredValue[];
|
|
229
|
+
} | {
|
|
230
|
+
mode: EColorMode.DISABLED;
|
|
231
|
+
};
|
|
232
|
+
declare const getRuleColor: (ruleFormula: string, globalContext: Pick<IGlobalContext, "reportDisplayRules" | "workspaceDisplayRules">) => TColor | undefined;
|
|
233
|
+
declare const isValidColor: (color: TColor, globalContext: Pick<IGlobalContext, "reportDisplayRules" | "workspaceDisplayRules">) => boolean;
|
|
234
|
+
declare const colors: string[];
|
|
235
|
+
/**
|
|
236
|
+
* Получить цвет по индексу элемента
|
|
237
|
+
* @param index - индекс элемента, которому требуется цвет
|
|
238
|
+
*/
|
|
239
|
+
declare const getColorByIndex: (index: number) => string;
|
|
240
|
+
|
|
241
|
+
interface IAutoIdentifiedArrayItem {
|
|
242
|
+
/**
|
|
243
|
+
* Идентификатор, добавляемый системой "на лету" для удобства разработки, не сохраняется на сервер.
|
|
244
|
+
* Гарантируется уникальность id в пределах settings виджета.
|
|
245
|
+
*/
|
|
246
|
+
id: number;
|
|
247
|
+
}
|
|
248
|
+
interface IBaseWidgetSettings {
|
|
249
|
+
title?: string;
|
|
250
|
+
titleSize?: number;
|
|
251
|
+
titleColor?: TColor;
|
|
252
|
+
titleWeight?: EFontWeight;
|
|
253
|
+
stateName?: string | null;
|
|
254
|
+
showMarkdown?: boolean;
|
|
255
|
+
markdownMeasures?: IMarkdownMeasure[];
|
|
256
|
+
markdownText?: string;
|
|
257
|
+
markdownTextSize?: number;
|
|
258
|
+
filters?: TExtendedFormulaFilterValue[];
|
|
259
|
+
filterMode?: EWidgetFilterMode;
|
|
260
|
+
ignoreFilters?: boolean;
|
|
261
|
+
sorting?: IWidgetSortingIndicator[];
|
|
262
|
+
actionButtons?: IActionButton[];
|
|
263
|
+
paddings?: number | string;
|
|
463
264
|
}
|
|
464
265
|
|
|
465
266
|
declare enum ESortDirection {
|
|
@@ -520,9 +321,8 @@ type TProcessIndicatorValue = {
|
|
|
520
321
|
interface IProcessIndicator extends IWidgetIndicator {
|
|
521
322
|
value?: TProcessIndicatorValue;
|
|
522
323
|
dbDataType?: string;
|
|
523
|
-
format?:
|
|
524
|
-
formatting?:
|
|
525
|
-
formattingTemplate?: string;
|
|
324
|
+
format?: IWidgetColumnIndicator["format"];
|
|
325
|
+
formatting?: IWidgetColumnIndicator["formatting"];
|
|
526
326
|
displayCondition?: TDisplayCondition;
|
|
527
327
|
}
|
|
528
328
|
interface IProcessEventIndicator extends IProcessIndicator {
|
|
@@ -576,12 +376,21 @@ type TColumnIndicatorValue = {
|
|
|
576
376
|
/** Имя колонки */
|
|
577
377
|
columnName?: string;
|
|
578
378
|
};
|
|
379
|
+
declare enum EFormatOrFormattingMode {
|
|
380
|
+
BASE = "BASE",
|
|
381
|
+
TEMPLATE = "TEMPLATE"
|
|
382
|
+
}
|
|
579
383
|
/** Общий интерфейс разреза и меры */
|
|
580
384
|
interface IWidgetColumnIndicator extends IWidgetIndicator {
|
|
581
385
|
dbDataType?: string;
|
|
582
|
-
format?:
|
|
583
|
-
|
|
584
|
-
|
|
386
|
+
format?: {
|
|
387
|
+
value?: EFormatTypes;
|
|
388
|
+
mode: EFormatOrFormattingMode;
|
|
389
|
+
};
|
|
390
|
+
formatting?: {
|
|
391
|
+
value?: EFormattingPresets;
|
|
392
|
+
mode: EFormatOrFormattingMode;
|
|
393
|
+
};
|
|
585
394
|
displayCondition?: TDisplayCondition;
|
|
586
395
|
onClick?: TActionsOnClick[];
|
|
587
396
|
}
|
|
@@ -602,7 +411,6 @@ interface IWidgetMeasure extends Omit<IWidgetColumnIndicator, "value"> {
|
|
|
602
411
|
}) | TWidgetIndicatorConversionValue | TWidgetIndicatorDurationValue;
|
|
603
412
|
}
|
|
604
413
|
interface IMarkdownMeasure extends IWidgetMeasure {
|
|
605
|
-
format: EFormatTypes;
|
|
606
414
|
displaySign: EMarkdownDisplayMode;
|
|
607
415
|
}
|
|
608
416
|
/** Тип показателя */
|
|
@@ -719,188 +527,387 @@ type TWidgetIndicatorAggregationValue = {
|
|
|
719
527
|
columnName?: string;
|
|
720
528
|
eventTimeFormula?: string | null;
|
|
721
529
|
};
|
|
722
|
-
declare enum EEventAppearances {
|
|
723
|
-
FIRST = "FIRST",
|
|
724
|
-
LAST = "LAST"
|
|
530
|
+
declare enum EEventAppearances {
|
|
531
|
+
FIRST = "FIRST",
|
|
532
|
+
LAST = "LAST"
|
|
533
|
+
}
|
|
534
|
+
type TWidgetIndicatorConversionValue = {
|
|
535
|
+
mode: EWidgetIndicatorValueModes.CONVERSION;
|
|
536
|
+
startEventNameFormula: string | null;
|
|
537
|
+
startEventProcessKey: string | null;
|
|
538
|
+
startEventName: string | null;
|
|
539
|
+
startEventFilters: TExtendedFormulaFilterValue[];
|
|
540
|
+
startEventTimeFormula: string | null;
|
|
541
|
+
endEventNameFormula: string | null;
|
|
542
|
+
endEventProcessKey: string | null;
|
|
543
|
+
endEventName: string | null;
|
|
544
|
+
endEventFilters: TExtendedFormulaFilterValue[];
|
|
545
|
+
endCaseCaseIdFormula: string | null;
|
|
546
|
+
endEventTimeFormula: string | null;
|
|
547
|
+
};
|
|
548
|
+
type TWidgetIndicatorDurationValue = {
|
|
549
|
+
mode: EWidgetIndicatorValueModes.DURATION;
|
|
550
|
+
templateName: string;
|
|
551
|
+
startEventAppearances: EEventAppearances;
|
|
552
|
+
endEventAppearances: EEventAppearances;
|
|
553
|
+
} & Omit<TWidgetIndicatorConversionValue, "mode">;
|
|
554
|
+
type TWidgetIndicatorTimeValue = {
|
|
555
|
+
templateName: string;
|
|
556
|
+
mode: EWidgetIndicatorValueModes.START_TIME | EWidgetIndicatorValueModes.END_TIME;
|
|
557
|
+
processKey: string;
|
|
558
|
+
eventName: string;
|
|
559
|
+
eventTimeFormula: string;
|
|
560
|
+
caseCaseIdFormula: string;
|
|
561
|
+
eventNameFormula: string;
|
|
562
|
+
filters: TExtendedFormulaFilterValue[];
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
declare enum EFormatTypes {
|
|
566
|
+
/** Дата */
|
|
567
|
+
DATE = "DATE",
|
|
568
|
+
/** Число */
|
|
569
|
+
NUMBER = "NUMBER",
|
|
570
|
+
/** Месяц */
|
|
571
|
+
MONTH = "MONTH",
|
|
572
|
+
/** Дата и время */
|
|
573
|
+
DATETIME = "DATETIME",
|
|
574
|
+
/** Строка */
|
|
575
|
+
STRING = "STRING",
|
|
576
|
+
/** День недели */
|
|
577
|
+
DAY_OF_WEEK = "DAY_OF_WEEK",
|
|
578
|
+
/** Длительность */
|
|
579
|
+
DURATION = "DURATION",
|
|
580
|
+
/** Час */
|
|
581
|
+
HOUR = "HOUR",
|
|
582
|
+
/** Месяц и год */
|
|
583
|
+
MONTH_YEAR = "MONTH_YEAR",
|
|
584
|
+
/** Год */
|
|
585
|
+
YEAR = "YEAR",
|
|
586
|
+
/** Квартал */
|
|
587
|
+
QUARTER = "QUARTER",
|
|
588
|
+
/** Квартал и год */
|
|
589
|
+
QUARTER_YEAR = "QUARTER_YEAR",
|
|
590
|
+
/** День месяца */
|
|
591
|
+
DAY_OF_MONTH = "DAY_OF_MONTH",
|
|
592
|
+
/** Неделя */
|
|
593
|
+
WEEK = "WEEK",
|
|
594
|
+
/** Логический */
|
|
595
|
+
BOOLEAN = "BOOLEAN",
|
|
596
|
+
PERCENT = "PERCENT"
|
|
597
|
+
}
|
|
598
|
+
declare enum EFormattingPresets {
|
|
599
|
+
"AUTO" = "AUTO",
|
|
600
|
+
"CUSTOM" = "CUSTOM",
|
|
601
|
+
"DD/M/YYYY" = "DD/M/YYYY",
|
|
602
|
+
"DD-MM-YYYY" = "DD-MM-YYYY",
|
|
603
|
+
"DD-MM-YY" = "DD-MM-YY",
|
|
604
|
+
"YYYY-MM-DD" = "YYYY-MM-DD",
|
|
605
|
+
"YY-MM-DD" = "YY-MM-DD",
|
|
606
|
+
"DD MM YYYY" = "DD MM YYYY",
|
|
607
|
+
"DD MMM YYYY" = "DD MMM YYYY",
|
|
608
|
+
"DD MMM YY" = "DD MMM YY",
|
|
609
|
+
"MM.DD.YYYY" = "MM.DD.YYYY",
|
|
610
|
+
"MM.DD.YY" = "MM.DD.YY",
|
|
611
|
+
"DD MMMM YYYY" = "DD MMMM YYYY",
|
|
612
|
+
"DD MMMM YY" = "DD MMMM YY",
|
|
613
|
+
"DD/MM/YYYY" = "DD/MM/YYYY",
|
|
614
|
+
"DD/MM/YY" = "DD/MM/YY",
|
|
615
|
+
"MM/DD/YYYY" = "MM/DD/YYYY",
|
|
616
|
+
"MM/DD/YY" = "MM/DD/YY",
|
|
617
|
+
"MMMM DD, YYYY" = "MMMM DD, YYYY",
|
|
618
|
+
"MMMM DD, YY" = "MMMM DD, YY",
|
|
619
|
+
"DD.MM.YYYY" = "DD.MM.YYYY",
|
|
620
|
+
"DD.MM.YY" = "DD.MM.YY",
|
|
621
|
+
"MM-DD-YY" = "MM-DD-YY",
|
|
622
|
+
"MM-DD-YYYY" = "MM-DD-YYYY",
|
|
623
|
+
"DD/M/YYYY HH:mm" = "DD/M/YYYY HH:mm",
|
|
624
|
+
"DD/MM/YYYY, HH:mm" = "DD/MM/YYYY, HH:mm",
|
|
625
|
+
"DD/MM/YY, HH:mm" = "DD/MM/YY, HH:mm",
|
|
626
|
+
"MM/DD/YY, hh:mm a" = "MM/DD/YY, hh:mm a",
|
|
627
|
+
"MM/DD/YYYY, hh:mm a" = "MM/DD/YYYY, hh:mm a",
|
|
628
|
+
"YYYY-MM-DD HH:mm" = "YYYY-MM-DD HH:mm",
|
|
629
|
+
"YY-MM-DD, HH:mm" = "YY-MM-DD, HH:mm",
|
|
630
|
+
"YYYY-MM-DD, HH:mm" = "YYYY-MM-DD, HH:mm",
|
|
631
|
+
"YYYY-MM-DD HH:mm:ss" = "YYYY-MM-DD HH:mm:ss",
|
|
632
|
+
"DD MM YYYY HH:mm" = "DD MM YYYY HH:mm",
|
|
633
|
+
"DD MMMM YYYY, HH:mm" = "DD MMMM YYYY, HH:mm",
|
|
634
|
+
"DD.MM.YY, HH:mm" = "DD.MM.YY, HH:mm",
|
|
635
|
+
"DD.MM.YYYY, HH:mm" = "DD.MM.YYYY, HH:mm",
|
|
636
|
+
"MM-DD-YY, hh:mm a" = "MM-DD-YY, hh:mm a",
|
|
637
|
+
"MM-DD-YYYY, hh:mm a" = "MM-DD-YYYY, hh:mm a",
|
|
638
|
+
"MM.DD.YY, hh:mm a" = "MM.DD.YY, hh:mm a",
|
|
639
|
+
"MM.DD.YYYY, hh:mm a" = "MM.DD.YYYY, hh:mm a",
|
|
640
|
+
"MM.DD.YYYY hh:mm a" = "MM.DD.YYYY hh:mm a",
|
|
641
|
+
"DD MMM YY, HH:mm" = "DD MMM YY, HH:mm",
|
|
642
|
+
"DD MMM YYYY, HH:mm" = "DD MMM YYYY, HH:mm",
|
|
643
|
+
"MMMM DD, YY, HH:mm" = "MMMM DD, YY, HH:mm",
|
|
644
|
+
"MMMM DD, YYYY, HH:mm" = "MMMM DD, YYYY, HH:mm",
|
|
645
|
+
"DD MMMM YY, HH:mm" = "DD MMMM YY, HH:mm",
|
|
646
|
+
"DD.MM.YYYY, HH:mm:ss" = "DD.MM.YYYY, HH:mm:ss",
|
|
647
|
+
"DD.MM.YYYY HH:mm:ss" = "DD.MM.YYYY HH:mm:ss",
|
|
648
|
+
"DD/MM/YYYY HH:mm:ss" = "DD/MM/YYYY HH:mm:ss",
|
|
649
|
+
"DD" = "DD",
|
|
650
|
+
"D" = "D",
|
|
651
|
+
"DDDD" = "DDDD",
|
|
652
|
+
"MMM" = "MMM",
|
|
653
|
+
"MM" = "MM",
|
|
654
|
+
"MMMM" = "MMMM",
|
|
655
|
+
"k" = "k",
|
|
656
|
+
"x" = "x",
|
|
657
|
+
"#,##x" = "#,##x",
|
|
658
|
+
"#,##x.x" = "#,##x.x",
|
|
659
|
+
"#,##x.xx" = "#,##x.xx",
|
|
660
|
+
"x[%]" = "x[%]",
|
|
661
|
+
"x.x[%]" = "x.x[%]",
|
|
662
|
+
"[$]x" = "[$]x",
|
|
663
|
+
"zx.xx[%]" = "zx.xx[%]",
|
|
664
|
+
"hh:mm:ss" = "hh:mm:ss",
|
|
665
|
+
"dd:hh:mm:ss" = "dd:hh:mm:ss",
|
|
666
|
+
"d" = "d",
|
|
667
|
+
"h" = "h",
|
|
668
|
+
"dk" = "dk",
|
|
669
|
+
"hk" = "hk",
|
|
670
|
+
"dd" = "dd",
|
|
671
|
+
"HH" = "HH",
|
|
672
|
+
"hh a" = "hh a",
|
|
673
|
+
"MMM, YYYY" = "MMM, YYYY",
|
|
674
|
+
"MMM, YY" = "MMM, YY",
|
|
675
|
+
"MM.YYYY" = "MM.YYYY",
|
|
676
|
+
"MM.YY" = "MM.YY",
|
|
677
|
+
"MMMM YYYY" = "MMMM YYYY",
|
|
678
|
+
"MMMM YY" = "MMMM YY",
|
|
679
|
+
"[Q]q" = "[Q]q",
|
|
680
|
+
"R" = "R",
|
|
681
|
+
"[Q]q[-]YYYY" = "[Q]q[-]YYYY",
|
|
682
|
+
"[Q]q[-]YY" = "[Q]q[-]YY",
|
|
683
|
+
"R[-]YYYY" = "R[-]YYYY",
|
|
684
|
+
"R[-]YY" = "R[-]YY"
|
|
685
|
+
}
|
|
686
|
+
interface IWidgetFormatting {
|
|
687
|
+
getFormattedValue: (value: string, formatType: EFormatTypes, formatting: IWidgetColumnIndicator["formatting"]) => string;
|
|
688
|
+
}
|
|
689
|
+
declare const formattingConfig: {
|
|
690
|
+
readonly availableFormatsBySimpleType: {
|
|
691
|
+
OTHER: EFormatTypes[];
|
|
692
|
+
STRING: EFormatTypes[];
|
|
693
|
+
FLOAT: EFormatTypes[];
|
|
694
|
+
INTEGER: EFormatTypes[];
|
|
695
|
+
DATE: EFormatTypes[];
|
|
696
|
+
DATETIME: EFormatTypes[];
|
|
697
|
+
DATETIME64: EFormatTypes[];
|
|
698
|
+
BOOLEAN: EFormatTypes[];
|
|
699
|
+
};
|
|
700
|
+
readonly availableFormattingByFormat: {
|
|
701
|
+
DATE: EFormattingPresets[];
|
|
702
|
+
DATETIME: EFormattingPresets[];
|
|
703
|
+
DAY_OF_WEEK: EFormattingPresets[];
|
|
704
|
+
MONTH: EFormattingPresets[];
|
|
705
|
+
NUMBER: EFormattingPresets[];
|
|
706
|
+
DURATION: EFormattingPresets[];
|
|
707
|
+
HOUR: EFormattingPresets[];
|
|
708
|
+
MONTH_YEAR: EFormattingPresets[];
|
|
709
|
+
QUARTER: EFormattingPresets[];
|
|
710
|
+
QUARTER_YEAR: EFormattingPresets[];
|
|
711
|
+
STRING: never[];
|
|
712
|
+
DAY_OF_MONTH: never[];
|
|
713
|
+
WEEK: never[];
|
|
714
|
+
YEAR: never[];
|
|
715
|
+
BOOLEAN: never[];
|
|
716
|
+
PERCENT: EFormattingPresets[];
|
|
717
|
+
};
|
|
718
|
+
};
|
|
719
|
+
|
|
720
|
+
declare enum ELastTimeUnit {
|
|
721
|
+
DAYS = "DAYS",
|
|
722
|
+
MONTHS = "MONTHS",
|
|
723
|
+
YEARS = "YEARS"
|
|
724
|
+
}
|
|
725
|
+
declare enum EDurationUnit {
|
|
726
|
+
DAYS = "DAYS",
|
|
727
|
+
HOURS = "HOURS",
|
|
728
|
+
MINUTES = "MINUTES",
|
|
729
|
+
SECONDS = "SECONDS"
|
|
730
|
+
}
|
|
731
|
+
declare const applyIndexToArrayFormula: (formula: string, index: number) => string;
|
|
732
|
+
declare const mapFormulaFilterToCalculatorInput: (filterValue: TExtendedFormulaFilterValue) => TNullable<ICalculatorFilter>;
|
|
733
|
+
declare const mapFormulaFiltersToInputs: (filters: TExtendedFormulaFilterValue[]) => ICalculatorFilter[];
|
|
734
|
+
|
|
735
|
+
type TSelectivePartial<T, Keys extends keyof T> = Omit<T, Keys> & Partial<Pick<T, Keys>>;
|
|
736
|
+
declare const formulaFilterMethods: {
|
|
737
|
+
readonly LAST_TIME: "LAST_TIME";
|
|
738
|
+
readonly EQUAL_TO: ECalculatorFilterMethods.EQUAL_TO;
|
|
739
|
+
readonly NOT_EQUAL_TO: ECalculatorFilterMethods.NOT_EQUAL_TO;
|
|
740
|
+
readonly GREATER_THAN: ECalculatorFilterMethods.GREATER_THAN;
|
|
741
|
+
readonly LESS_THAN: ECalculatorFilterMethods.LESS_THAN;
|
|
742
|
+
readonly GREATER_THAN_OR_EQUAL_TO: ECalculatorFilterMethods.GREATER_THAN_OR_EQUAL_TO;
|
|
743
|
+
readonly LESS_THAN_OR_EQUAL_TO: ECalculatorFilterMethods.LESS_THAN_OR_EQUAL_TO;
|
|
744
|
+
readonly STARTS_WITH: ECalculatorFilterMethods.STARTS_WITH;
|
|
745
|
+
readonly ENDS_WITH: ECalculatorFilterMethods.ENDS_WITH;
|
|
746
|
+
readonly CONTAINS: ECalculatorFilterMethods.CONTAINS;
|
|
747
|
+
readonly NOT_CONTAINS: ECalculatorFilterMethods.NOT_CONTAINS;
|
|
748
|
+
readonly IN_RANGE: ECalculatorFilterMethods.IN_RANGE;
|
|
749
|
+
readonly NOT_IN_RANGE: ECalculatorFilterMethods.NOT_IN_RANGE;
|
|
750
|
+
readonly INCLUDE: ECalculatorFilterMethods.INCLUDE;
|
|
751
|
+
readonly EXCLUDE: ECalculatorFilterMethods.EXCLUDE;
|
|
752
|
+
readonly NONEMPTY: ECalculatorFilterMethods.NONEMPTY;
|
|
753
|
+
readonly EMPTY: ECalculatorFilterMethods.EMPTY;
|
|
754
|
+
};
|
|
755
|
+
declare enum EProcessFilterNames {
|
|
756
|
+
/** Наличие события */
|
|
757
|
+
presenceOfEvent = "presenceOfEvent",
|
|
758
|
+
/** Количество повторов события */
|
|
759
|
+
repetitionOfEvent = "repetitionOfEvent",
|
|
760
|
+
/** Наличие перехода */
|
|
761
|
+
presenceOfTransition = "presenceOfTransition",
|
|
762
|
+
/** Длительность перехода */
|
|
763
|
+
durationOfTransition = "durationOfTransition"
|
|
725
764
|
}
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
type TWidgetIndicatorDurationValue = {
|
|
741
|
-
mode: EWidgetIndicatorValueModes.DURATION;
|
|
742
|
-
templateName: string;
|
|
743
|
-
startEventAppearances: EEventAppearances;
|
|
744
|
-
endEventAppearances: EEventAppearances;
|
|
745
|
-
} & Omit<TWidgetIndicatorConversionValue, "mode">;
|
|
746
|
-
type TWidgetIndicatorTimeValue = {
|
|
747
|
-
templateName: string;
|
|
748
|
-
mode: EWidgetIndicatorValueModes.START_TIME | EWidgetIndicatorValueModes.END_TIME;
|
|
765
|
+
/**
|
|
766
|
+
* Параметры, которые влияют на отображаемый контент в окне настройки процессного фильтра,
|
|
767
|
+
* но не учитываются при применении фильтра.
|
|
768
|
+
*/
|
|
769
|
+
interface IProcessFilterPreviewParams {
|
|
770
|
+
/**
|
|
771
|
+
* События, доступные при выборе процесса.
|
|
772
|
+
* Если параметр не передан, используются все события процесса на основе запроса к вычислителю.
|
|
773
|
+
*/
|
|
774
|
+
eventsNamesByProcessKey?: Map<string, (string | null)[]>;
|
|
775
|
+
/** Фильтры событий */
|
|
776
|
+
eventFilters?: TExtendedFormulaFilterValue[];
|
|
777
|
+
}
|
|
778
|
+
interface IProcessEventFilterValue {
|
|
749
779
|
processKey: string;
|
|
750
780
|
eventName: string;
|
|
751
|
-
eventTimeFormula: string;
|
|
752
|
-
caseCaseIdFormula: string;
|
|
753
|
-
eventNameFormula: string;
|
|
754
|
-
filters: TExtendedFormulaFilterValue[];
|
|
755
|
-
};
|
|
756
|
-
|
|
757
|
-
interface IWidgetTableColumn {
|
|
758
|
-
/** Имя колонки */
|
|
759
|
-
name: string;
|
|
760
|
-
/** Тип данных колонки */
|
|
761
|
-
dbDataType: string;
|
|
762
781
|
}
|
|
763
|
-
interface
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
782
|
+
interface IProcessTransitionFilterValue {
|
|
783
|
+
startEventProcessKey: string;
|
|
784
|
+
startEventName: string;
|
|
785
|
+
endEventProcessKey: string;
|
|
786
|
+
endEventName: string;
|
|
767
787
|
}
|
|
768
|
-
interface
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
788
|
+
interface IClickPosition {
|
|
789
|
+
x: number;
|
|
790
|
+
y: number;
|
|
791
|
+
elementWidth?: number;
|
|
792
|
+
elementHeight?: number;
|
|
772
793
|
}
|
|
773
|
-
interface
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
/** Колонки таблицы */
|
|
777
|
-
columns: Map<string, IWidgetTableColumn>;
|
|
794
|
+
interface IPositionConfig extends IClickPosition {
|
|
795
|
+
offsetX?: number;
|
|
796
|
+
offsetY?: number;
|
|
778
797
|
}
|
|
779
|
-
interface
|
|
780
|
-
|
|
798
|
+
interface IAddPresenceOfEventFilter {
|
|
799
|
+
(name: EProcessFilterNames.presenceOfEvent, value: IProcessEventFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
781
800
|
}
|
|
782
|
-
interface
|
|
783
|
-
|
|
784
|
-
language: ELanguages;
|
|
785
|
-
/** Имя отчета */
|
|
786
|
-
reportName: string;
|
|
787
|
-
/** Имена образов по их ключу(в текущем отчете) */
|
|
788
|
-
viewNameByKey: Map<string, string>;
|
|
789
|
-
/** Меры уровня отчета */
|
|
790
|
-
reportMeasures: TNullable<Map<string, ICommonMeasures>>;
|
|
791
|
-
/** Меры уровня пространства(из модели данных) */
|
|
792
|
-
workspaceMeasures: TNullable<Map<string, Map<string, ICommonMeasures>>>;
|
|
793
|
-
/** Разрезы уровня отчета */
|
|
794
|
-
reportDimensions: TNullable<Map<string, ICommonDimensions>>;
|
|
795
|
-
/** Разрезы уровня пространства(из модели данных) */
|
|
796
|
-
workspaceDimensions: TNullable<Map<string, Map<string, ICommonDimensions>>>;
|
|
797
|
-
/** Правила отображения уровня */
|
|
798
|
-
reportDisplayRules: Map<string, IDisplayRule>;
|
|
799
|
-
/** Правила отображения уровня пространства(из модели данных) */
|
|
800
|
-
workspaceDisplayRules: Map<string, Map<string, IDisplayRule>>;
|
|
801
|
-
/** Пользовательские переменные уровня отчета */
|
|
802
|
-
variables: Map<string, TWidgetVariable>;
|
|
803
|
-
/** Метод установки значения пользовательской переменной уровня отчета */
|
|
804
|
-
setVariableValue(name: string, value: TWidgetVariable["value"]): TWidgetVariable["value"];
|
|
805
|
-
/** Метод очистки значения пользовательской переменной уровня отчета */
|
|
806
|
-
unsetVariableValue(name: string): TWidgetVariable["value"];
|
|
807
|
-
/** Состояния(название сущности) отчета */
|
|
808
|
-
states: Map<string, ICommonState>;
|
|
809
|
-
/** Процессы из модели данных (по ключу) */
|
|
810
|
-
processByKey: Map<string, IWidgetProcess>;
|
|
811
|
-
/** Имена таблиц из модели данных */
|
|
812
|
-
tables: Set<string>;
|
|
813
|
-
/** Функция для запроса информации о колонках таблицы из модели данных */
|
|
814
|
-
fetchColumnsByTableName(tableName: string): Promise<IWidgetTableColumn[] | undefined>;
|
|
815
|
-
/** Скрипты, доступные для запуска из отчета */
|
|
816
|
-
scripts: Map<string, IActionScript>;
|
|
801
|
+
interface IAddRepetitionOfEventFilter {
|
|
802
|
+
(name: EProcessFilterNames.repetitionOfEvent, value: IProcessEventFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
817
803
|
}
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
/** Окрашивание отключено */
|
|
821
|
-
DISABLED = "DISABLED",
|
|
822
|
-
/** Цвет каждого значения вычисляется по формуле */
|
|
823
|
-
FORMULA = "FORMULA",
|
|
824
|
-
/** Один цвет для всех значений */
|
|
825
|
-
BASE = "BASE",
|
|
826
|
-
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
827
|
-
GRADIENT = "GRADIENT",
|
|
828
|
-
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
829
|
-
AUTO = "AUTO",
|
|
830
|
-
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
831
|
-
RULE = "RULE",
|
|
832
|
-
/** Задать цвет конкретным значениям разреза */
|
|
833
|
-
VALUES = "VALUES",
|
|
834
|
-
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
835
|
-
BY_DIMENSION = "BY_DIMENSION"
|
|
804
|
+
interface IAddPresenceOfTransitionFilter {
|
|
805
|
+
(name: EProcessFilterNames.presenceOfTransition, value: IProcessTransitionFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
836
806
|
}
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
807
|
+
interface IAddDurationOfTransitionFilter {
|
|
808
|
+
(name: EProcessFilterNames.durationOfTransition, value: IProcessTransitionFilterValue, positionConfig?: IPositionConfig, previewParams?: IProcessFilterPreviewParams): void;
|
|
809
|
+
}
|
|
810
|
+
declare enum EFormulaFilterFieldKeys {
|
|
811
|
+
date = "date",
|
|
812
|
+
dateRange = "dateRange",
|
|
813
|
+
numberRange = "numberRange",
|
|
814
|
+
string = "string",
|
|
815
|
+
lastTimeValue = "lastTimeValue",
|
|
816
|
+
lastTimeUnit = "lastTimeUnit",
|
|
817
|
+
durationUnit = "durationUnit"
|
|
818
|
+
}
|
|
819
|
+
interface IFormulaFilterValue {
|
|
820
|
+
/** Заголовок фильтра */
|
|
821
|
+
name: TNullable<string>;
|
|
822
|
+
/** Формула */
|
|
843
823
|
formula: string;
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
824
|
+
/**
|
|
825
|
+
* Индекс элемента в результате вычисления формулы (если результат - массив).
|
|
826
|
+
*
|
|
827
|
+
* Используется, когда формула возвращает массив значений, но требуется работать только с одним конкретным элементом.
|
|
828
|
+
* Индекс добавляется к вычисляемой формуле, позволяя выбрать нужный элемент из результирующего массива.
|
|
829
|
+
*
|
|
830
|
+
* **Важно:** Индексация начинается с 1, т.к. используется ClickHouse (1-based).
|
|
831
|
+
*/
|
|
832
|
+
sliceIndex?: number;
|
|
833
|
+
/** Тип данных формулы (без учета `sliceIndex`) */
|
|
834
|
+
dbDataType: string;
|
|
835
|
+
/** Формат */
|
|
836
|
+
format: EFormatTypes;
|
|
837
|
+
/** Метод фильтрации */
|
|
838
|
+
filteringMethod: valueof<typeof formulaFilterMethods>;
|
|
839
|
+
/** Выбранные в списке значения в виде моделей */
|
|
840
|
+
checkedValues?: (string | null)[];
|
|
841
|
+
/** Значения полей формы редактора */
|
|
842
|
+
formValues?: Partial<{
|
|
843
|
+
[EFormulaFilterFieldKeys.date]: string | null;
|
|
844
|
+
[EFormulaFilterFieldKeys.dateRange]: [string, string];
|
|
845
|
+
[EFormulaFilterFieldKeys.numberRange]: Partial<[number, number]>;
|
|
846
|
+
[EFormulaFilterFieldKeys.string]: string;
|
|
847
|
+
[EFormulaFilterFieldKeys.lastTimeValue]: number;
|
|
848
|
+
[EFormulaFilterFieldKeys.lastTimeUnit]: ELastTimeUnit;
|
|
849
|
+
[EFormulaFilterFieldKeys.durationUnit]: EDurationUnit;
|
|
850
|
+
}>;
|
|
848
851
|
}
|
|
849
|
-
|
|
850
|
-
type TColor = {
|
|
851
|
-
mode: EColorMode.FORMULA;
|
|
852
|
+
type TExtendedFormulaFilterValue = {
|
|
852
853
|
formula: string;
|
|
853
|
-
} |
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
/**
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
/**
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
854
|
+
} | IFormulaFilterValue;
|
|
855
|
+
interface IStagesFilterItem {
|
|
856
|
+
id: number;
|
|
857
|
+
/** Название этапа */
|
|
858
|
+
name: string;
|
|
859
|
+
/** Формула фильтра этапа */
|
|
860
|
+
formula: string;
|
|
861
|
+
isSelected: boolean;
|
|
862
|
+
}
|
|
863
|
+
interface IStagesFilterValue {
|
|
864
|
+
/** Ключ виджета */
|
|
865
|
+
widgetKey: string;
|
|
866
|
+
/** Заголовок фильтра */
|
|
867
|
+
name: TNullable<string>;
|
|
868
|
+
/** Этапы */
|
|
869
|
+
stages: IStagesFilterItem[];
|
|
870
|
+
}
|
|
871
|
+
type TWidgetFilterValue = TExtendedFormulaFilterValue | IStagesFilterValue | IProcessEventFilterValue | IProcessTransitionFilterValue;
|
|
872
|
+
interface IWidgetFilter {
|
|
873
|
+
/** Значение фильтра */
|
|
874
|
+
filterValue: TWidgetFilterValue;
|
|
875
|
+
/** Значение фильтра, подготовленное для передачи в вычислитель */
|
|
876
|
+
preparedFilterValue: ICalculatorFilter;
|
|
877
|
+
/** Информация о возможности менять фильтр из виджета */
|
|
878
|
+
isReadonly: boolean;
|
|
879
|
+
}
|
|
880
|
+
interface IWidgetFiltration {
|
|
881
|
+
/** Информация о внешних фильтрах виджета */
|
|
882
|
+
filters: IWidgetFilter[];
|
|
881
883
|
/**
|
|
882
|
-
*
|
|
883
|
-
*
|
|
884
|
+
* Значения внешних фильтров виджета, подготовленные для передачи в вычислитель.
|
|
885
|
+
* Использует данные из filters, но предоставлено отдельным полем для удобства разработки.
|
|
884
886
|
*/
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
887
|
+
preparedFilterValues: ICalculatorFilter[];
|
|
888
|
+
/** Добавить фильтр по формуле */
|
|
889
|
+
addFormulaFilter(value: TSelectivePartial<IFormulaFilterValue, "format" | "formValues">): void;
|
|
890
|
+
/**
|
|
891
|
+
* Удалить фильтр, заданный формулой, из текущего набора фильтров
|
|
892
|
+
*
|
|
893
|
+
* @param formula Формула фильтра, который необходимо удалить. Должна точно соответствовать
|
|
894
|
+
* формуле ранее добавленного фильтра (с учетом регистра и пробелов).
|
|
895
|
+
* @param [sliceIndex] Опциональный индекс элемента массива. См. {@link IFormulaFilterValue.sliceIndex}.
|
|
896
|
+
*
|
|
897
|
+
* @remarks
|
|
898
|
+
* - Если фильтр был добавлен без указания индекса, его нужно удалять без указания индекса.
|
|
899
|
+
* - Если фильтр был добавлен с индексом, тот же индекс должен быть указан при удалении.
|
|
900
|
+
* - Удаление происходит по точному совпадению формулы и индекса (если он был указан).
|
|
901
|
+
*/
|
|
902
|
+
removeFormulaFilter(formula: string, sliceIndex?: number): void;
|
|
903
|
+
/** Добавить процессный фильтр */
|
|
904
|
+
addProcessFilter(...args: Parameters<IAddPresenceOfEventFilter> | Parameters<IAddRepetitionOfEventFilter> | Parameters<IAddPresenceOfTransitionFilter> | Parameters<IAddDurationOfTransitionFilter>): void;
|
|
905
|
+
/** Добавить фильтр по этапам */
|
|
906
|
+
addStagesFilter(value: Omit<IStagesFilterValue, "widgetKey">): void;
|
|
907
|
+
/** Удалить фильтр по этапам */
|
|
908
|
+
removeStagesFilter(widgetKey: string): void;
|
|
903
909
|
}
|
|
910
|
+
declare const isFormulaFilterValue: (value: TExtendedFormulaFilterValue) => value is IFormulaFilterValue;
|
|
904
911
|
|
|
905
912
|
declare enum EWidgetActionInputMethod {
|
|
906
913
|
COLUMN = "COLUMN",
|
|
@@ -1129,239 +1136,41 @@ interface IViewAction {
|
|
|
1129
1136
|
}
|
|
1130
1137
|
type TAction = TActionsOnClick | IWidgetAction | IViewAction;
|
|
1131
1138
|
type TActionValidator = (action: TAction) => boolean;
|
|
1132
|
-
declare enum EActionButtonsTypes {
|
|
1133
|
-
LINK = "link",
|
|
1134
|
-
BASE = "primary",
|
|
1135
|
-
SECONDARY = "primary-outlined"
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
declare enum ESimpleDataType {
|
|
1139
|
-
OTHER = "OTHER",
|
|
1140
|
-
DATE = "DATE",
|
|
1141
|
-
FLOAT = "FLOAT",
|
|
1142
|
-
DATETIME = "DATETIME",
|
|
1143
|
-
STRING = "STRING",
|
|
1144
|
-
INTEGER = "INTEGER",
|
|
1145
|
-
DATETIME64 = "DATETIME64",
|
|
1146
|
-
BOOLEAN = "BOOLEAN"
|
|
1147
|
-
}
|
|
1148
|
-
type TDbTypeContainer = "Array" | "Nullable";
|
|
1149
|
-
/** Результат разбора типа данных из базы данных (в будущем возможна поддержка других СУБД помимо ClickHouse) */
|
|
1150
|
-
interface IParsedDbType<T extends TNullable<string> = string> {
|
|
1151
|
-
/** Контейнеры над базовым типом в порядке от внешнего к внутреннему */
|
|
1152
|
-
containers: TDbTypeContainer[];
|
|
1153
|
-
/** Исходный базовый тип (без контейнеров) */
|
|
1154
|
-
dbBaseDataType: T;
|
|
1155
|
-
/** Обобщенный базовый тип */
|
|
1156
|
-
simpleBaseType: ESimpleDataType;
|
|
1157
|
-
/** Обобщенный исходный тип (при наличии контейнера `Array` классифицируется как `OTHER`) */
|
|
1158
|
-
simpleType: ESimpleDataType;
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
declare enum EDimensionTemplateNames {
|
|
1162
|
-
dateTime = "dateTime",
|
|
1163
|
-
date = "date",
|
|
1164
|
-
year = "year",
|
|
1165
|
-
yearAndQuarter = "yearAndQuarter",
|
|
1166
|
-
quarter = "quarter",
|
|
1167
|
-
yearAndMonth = "yearAndMonth",
|
|
1168
|
-
dayOfMonth = "dayOfMonth",
|
|
1169
|
-
month = "month",
|
|
1170
|
-
week = "week",
|
|
1171
|
-
dayOfWeek = "dayOfWeek",
|
|
1172
|
-
hour = "hour"
|
|
1173
|
-
}
|
|
1174
|
-
/** Стандартные шаблоны разреза */
|
|
1175
|
-
declare const dimensionTemplateFormulas: Record<EDimensionTemplateNames, string>;
|
|
1176
|
-
|
|
1177
|
-
declare function getDimensionFormula({ value }: IWidgetDimension): string;
|
|
1178
|
-
|
|
1179
|
-
declare enum EDimensionAggregationTemplateName {
|
|
1180
|
-
avg = "avg",
|
|
1181
|
-
median = "median",
|
|
1182
|
-
count = "count",
|
|
1183
|
-
countDistinct = "countDistinct",
|
|
1184
|
-
min = "min",
|
|
1185
|
-
max = "max",
|
|
1186
|
-
sum = "sum",
|
|
1187
|
-
top = "top",
|
|
1188
|
-
firstValue = "firstValue",
|
|
1189
|
-
lastValue = "lastValue",
|
|
1190
|
-
countExecutions = "countExecutions",
|
|
1191
|
-
countReworks = "countReworks"
|
|
1192
|
-
}
|
|
1193
|
-
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1194
|
-
declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
|
|
1195
|
-
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1196
|
-
declare const prepareDimensionAggregationParams: (value: Extract<IWidgetDimension["value"], {
|
|
1197
|
-
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1198
|
-
}>) => {
|
|
1199
|
-
eventNameFormula: string;
|
|
1200
|
-
caseCaseIdFormula: string;
|
|
1201
|
-
eventName: string;
|
|
1202
|
-
objectFilters: string;
|
|
1203
|
-
filters: string;
|
|
1204
|
-
eventTimeFormula: string;
|
|
1205
|
-
columnFormula: string;
|
|
1206
|
-
} | null;
|
|
1207
|
-
|
|
1208
|
-
/** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
|
|
1209
|
-
declare const timeTemplates: {
|
|
1210
|
-
START_TIME: Record<EDimensionTemplateNames, string>;
|
|
1211
|
-
END_TIME: Record<EDimensionTemplateNames, string>;
|
|
1212
|
-
};
|
|
1213
|
-
/** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
|
|
1214
|
-
declare const prepareTimeParams: (value: TWidgetIndicatorTimeValue) => {
|
|
1215
|
-
eventTimeFormula: string;
|
|
1216
|
-
eventNameFormula: string;
|
|
1217
|
-
caseCaseIdFormula: string;
|
|
1218
|
-
filters: string;
|
|
1219
|
-
eventName: string;
|
|
1220
|
-
} | undefined;
|
|
1221
|
-
|
|
1222
|
-
declare function getMeasureFormula({ value }: IWidgetMeasure): string;
|
|
1223
|
-
|
|
1224
|
-
declare enum EMeasureTemplateNames {
|
|
1225
|
-
avg = "avg",
|
|
1226
|
-
median = "median",
|
|
1227
|
-
count = "count",
|
|
1228
|
-
countDistinct = "countDistinct",
|
|
1229
|
-
min = "min",
|
|
1230
|
-
max = "max",
|
|
1231
|
-
sum = "sum"
|
|
1232
|
-
}
|
|
1233
|
-
/** Стандартные шаблоны меры */
|
|
1234
|
-
declare const measureTemplateFormulas: {
|
|
1235
|
-
readonly avg: "avg({columnFormula})";
|
|
1236
|
-
readonly count: "count({columnFormula})";
|
|
1237
|
-
readonly countDistinct: "count(distinct {columnFormula})";
|
|
1238
|
-
readonly median: "medianExact({columnFormula})";
|
|
1239
|
-
readonly min: "min({columnFormula})";
|
|
1240
|
-
readonly max: "max({columnFormula})";
|
|
1241
|
-
readonly sum: "sum({columnFormula})";
|
|
1242
|
-
};
|
|
1243
|
-
|
|
1244
|
-
declare enum EMeasureAggregationTemplateName {
|
|
1245
|
-
agvIf = "agvIf",
|
|
1246
|
-
medianIf = "medianIf",
|
|
1247
|
-
countIf = "countIf",
|
|
1248
|
-
countIfDistinct = "countIfDistinct",
|
|
1249
|
-
minIf = "minIf",
|
|
1250
|
-
maxIf = "maxIf",
|
|
1251
|
-
sumIf = "sumIf",
|
|
1252
|
-
top = "top",
|
|
1253
|
-
firstValue = "firstValue",
|
|
1254
|
-
lastValue = "lastValue",
|
|
1255
|
-
countExecutions = "countExecutions",
|
|
1256
|
-
countReworks = "countReworks"
|
|
1257
|
-
}
|
|
1258
|
-
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1259
|
-
declare const prepareMeasureAggregationParams: (value: Extract<IWidgetMeasure["value"], {
|
|
1260
|
-
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1261
|
-
}>) => {
|
|
1262
|
-
outerAggregation: EOuterAggregation;
|
|
1263
|
-
eventNameFormula: string;
|
|
1264
|
-
caseCaseIdFormula: string;
|
|
1265
|
-
eventName: string | null;
|
|
1266
|
-
objectFilters: string;
|
|
1267
|
-
filters: string;
|
|
1268
|
-
eventTimeFormula: string;
|
|
1269
|
-
columnFormula: string;
|
|
1270
|
-
} | null;
|
|
1271
|
-
|
|
1272
|
-
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1273
|
-
declare const conversionTemplate = "countIf(\n process(\n minIf(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n maxIf(\n {endEventTimeFormula}, \n {endEventNameFormula} = '{endEventName}'{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) \n and \n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n) / countIf(\n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
|
|
1274
|
-
/** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
|
|
1275
|
-
declare const prepareConversionParams: (value: TWidgetIndicatorConversionValue) => {
|
|
1276
|
-
objectFilters: string;
|
|
1277
|
-
startEventTimeFormula: string;
|
|
1278
|
-
startEventNameFormula: string;
|
|
1279
|
-
startEventFilters: string;
|
|
1280
|
-
startEventName: string;
|
|
1281
|
-
endEventTimeFormula: string;
|
|
1282
|
-
endCaseCaseIdFormula: string;
|
|
1283
|
-
endEventNameFormula: string;
|
|
1284
|
-
endEventName: string;
|
|
1285
|
-
endEventFilters: string;
|
|
1286
|
-
} | null;
|
|
1287
|
-
|
|
1288
|
-
declare function createAggregationTemplate(templateName: EMeasureAggregationTemplateName, { outerAggregation, anyEvent, }: Pick<TWidgetIndicatorAggregationValue, "anyEvent"> & {
|
|
1289
|
-
outerAggregation: EOuterAggregation;
|
|
1290
|
-
}): string;
|
|
1291
|
-
|
|
1292
|
-
/** Шаблоны процессных метрик меры с режимом DURATION */
|
|
1293
|
-
declare const durationTemplates: Record<EDurationTemplateName, string>;
|
|
1294
|
-
/** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1295
|
-
declare const prepareDurationParams: (value: TWidgetIndicatorDurationValue) => {
|
|
1296
|
-
objectFilters: string;
|
|
1297
|
-
startEventTimeFormula: string;
|
|
1298
|
-
startEventNameFormula: string;
|
|
1299
|
-
startEventFilters: string;
|
|
1300
|
-
startEventName: string;
|
|
1301
|
-
startEventAggregationName: string;
|
|
1302
|
-
endEventTimeFormula: string;
|
|
1303
|
-
endCaseCaseIdFormula: string;
|
|
1304
|
-
endEventNameFormula: string;
|
|
1305
|
-
endEventName: string;
|
|
1306
|
-
endEventFilters: string;
|
|
1307
|
-
endEventAggregationName: string;
|
|
1308
|
-
} | null;
|
|
1309
|
-
|
|
1310
|
-
declare function getEventMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
1311
|
-
|
|
1312
|
-
declare enum EEventMeasureTemplateNames {
|
|
1313
|
-
eventsCount = "eventsCount",
|
|
1314
|
-
reworksCount = "reworksCount"
|
|
1315
|
-
}
|
|
1316
|
-
declare const eventMeasureTemplateFormulas: {
|
|
1317
|
-
readonly eventsCount: "count()";
|
|
1318
|
-
readonly reworksCount: "count() - uniqExact({caseCaseIdFormula})";
|
|
1319
|
-
};
|
|
1320
|
-
|
|
1321
|
-
declare function getTransitionMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
1322
|
-
|
|
1323
|
-
declare enum ETransitionMeasureTemplateNames {
|
|
1324
|
-
transitionsCount = "transitionsCount",
|
|
1325
|
-
medianTime = "medianTime"
|
|
1326
|
-
}
|
|
1327
|
-
declare const transitionMeasureTemplateFormulas: {
|
|
1328
|
-
readonly transitionsCount: "count()";
|
|
1329
|
-
readonly medianTime: "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))";
|
|
1330
|
-
};
|
|
1331
|
-
|
|
1332
|
-
declare const countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
1333
|
-
|
|
1334
|
-
declare function fillTemplateString(templateString: string, params: Record<string, any>): string;
|
|
1335
|
-
|
|
1336
|
-
declare function generateColumnFormula(tableName: string, columnName: string): string;
|
|
1139
|
+
declare enum EActionButtonsTypes {
|
|
1140
|
+
LINK = "link",
|
|
1141
|
+
BASE = "primary",
|
|
1142
|
+
SECONDARY = "primary-outlined"
|
|
1143
|
+
}
|
|
1337
1144
|
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
/**
|
|
1356
|
-
|
|
1357
|
-
|
|
1145
|
+
declare enum ESimpleDataType {
|
|
1146
|
+
OTHER = "OTHER",
|
|
1147
|
+
DATE = "DATE",
|
|
1148
|
+
FLOAT = "FLOAT",
|
|
1149
|
+
DATETIME = "DATETIME",
|
|
1150
|
+
STRING = "STRING",
|
|
1151
|
+
INTEGER = "INTEGER",
|
|
1152
|
+
DATETIME64 = "DATETIME64",
|
|
1153
|
+
BOOLEAN = "BOOLEAN"
|
|
1154
|
+
}
|
|
1155
|
+
type TDbTypeContainer = "Array" | "Nullable";
|
|
1156
|
+
/** Результат разбора типа данных из базы данных (в будущем возможна поддержка других СУБД помимо ClickHouse) */
|
|
1157
|
+
interface IParsedDbType<T extends TNullable<string> = string> {
|
|
1158
|
+
/** Контейнеры над базовым типом в порядке от внешнего к внутреннему */
|
|
1159
|
+
containers: TDbTypeContainer[];
|
|
1160
|
+
/** Исходный базовый тип (без контейнеров) */
|
|
1161
|
+
dbBaseDataType: T;
|
|
1162
|
+
/** Обобщенный базовый тип */
|
|
1163
|
+
simpleBaseType: ESimpleDataType;
|
|
1164
|
+
/** Обобщенный исходный тип (при наличии контейнера `Array` классифицируется как `OTHER`) */
|
|
1165
|
+
simpleType: ESimpleDataType;
|
|
1358
1166
|
}
|
|
1359
|
-
declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
|
|
1360
1167
|
|
|
1361
1168
|
type THintPlacement = "top" | "left" | "right" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
|
|
1362
1169
|
declare enum EControlType {
|
|
1363
1170
|
/** Ввод текста */
|
|
1364
1171
|
input = "input",
|
|
1172
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1173
|
+
inputTemplate = "inputTemplate",
|
|
1365
1174
|
/** Ввод текста в формате markdown */
|
|
1366
1175
|
inputMarkdown = "inputMarkdown",
|
|
1367
1176
|
/** Ввод числа */
|
|
@@ -1404,6 +1213,7 @@ declare enum EControlType {
|
|
|
1404
1213
|
}
|
|
1405
1214
|
type ControlsMap = {
|
|
1406
1215
|
[EControlType.input]: IInputControl;
|
|
1216
|
+
[EControlType.inputTemplate]: IInputTemplatedControl;
|
|
1407
1217
|
[EControlType.inputMarkdown]: IInputMarkdownControl;
|
|
1408
1218
|
[EControlType.inputNumber]: IInputNumberControl;
|
|
1409
1219
|
[EControlType.inputRange]: IInputRangeControl;
|
|
@@ -1517,6 +1327,11 @@ interface IInputControl {
|
|
|
1517
1327
|
hintPlacement?: THintPlacement;
|
|
1518
1328
|
};
|
|
1519
1329
|
}
|
|
1330
|
+
interface IInputTemplatedControl {
|
|
1331
|
+
type: EControlType.inputTemplate;
|
|
1332
|
+
value: string;
|
|
1333
|
+
props: {};
|
|
1334
|
+
}
|
|
1520
1335
|
interface IInputMarkdownControl {
|
|
1521
1336
|
type: EControlType.inputMarkdown;
|
|
1522
1337
|
value: string;
|
|
@@ -1635,6 +1450,7 @@ interface IFormulaControl {
|
|
|
1635
1450
|
showModeToggle?: boolean;
|
|
1636
1451
|
indicatorConfig?: ({
|
|
1637
1452
|
type: "measure";
|
|
1453
|
+
templates?: TWidgetMeasureData["templates"];
|
|
1638
1454
|
} & {
|
|
1639
1455
|
/** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
|
|
1640
1456
|
allowClear?: boolean;
|
|
@@ -1646,7 +1462,8 @@ interface IFormulaControl {
|
|
|
1646
1462
|
options?: TMeasureAddButtonSelectOption[];
|
|
1647
1463
|
}) | {
|
|
1648
1464
|
type: "dimension";
|
|
1649
|
-
templates?:
|
|
1465
|
+
templates?: TWidgetDimensionData["templates"];
|
|
1466
|
+
processTimeTemplates?: TWidgetDimensionData["processTimeTemplates"];
|
|
1650
1467
|
};
|
|
1651
1468
|
disabled?: boolean;
|
|
1652
1469
|
/** Ключи процессов для фильтрации таблиц, доступных для выбора */
|
|
@@ -1668,9 +1485,14 @@ interface ITypedFormulaControl {
|
|
|
1668
1485
|
interface IFormattingControl {
|
|
1669
1486
|
type: EControlType.formatting;
|
|
1670
1487
|
value: {
|
|
1671
|
-
format:
|
|
1672
|
-
|
|
1673
|
-
|
|
1488
|
+
format: {
|
|
1489
|
+
value?: EFormatTypes;
|
|
1490
|
+
mode: EFormatOrFormattingMode;
|
|
1491
|
+
};
|
|
1492
|
+
formatting: {
|
|
1493
|
+
value?: EFormattingPresets;
|
|
1494
|
+
mode: EFormatOrFormattingMode;
|
|
1495
|
+
};
|
|
1674
1496
|
};
|
|
1675
1497
|
props: {
|
|
1676
1498
|
formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
|
|
@@ -2072,6 +1894,206 @@ interface ICalculatorFactory {
|
|
|
2072
1894
|
type: (options?: ICalculatorOptions) => ITypeCalculator;
|
|
2073
1895
|
}
|
|
2074
1896
|
|
|
1897
|
+
declare enum EDimensionTemplateNames {
|
|
1898
|
+
dateTime = "dateTime",
|
|
1899
|
+
date = "date",
|
|
1900
|
+
year = "year",
|
|
1901
|
+
yearAndQuarter = "yearAndQuarter",
|
|
1902
|
+
quarter = "quarter",
|
|
1903
|
+
yearAndMonth = "yearAndMonth",
|
|
1904
|
+
dayOfMonth = "dayOfMonth",
|
|
1905
|
+
month = "month",
|
|
1906
|
+
week = "week",
|
|
1907
|
+
dayOfWeek = "dayOfWeek",
|
|
1908
|
+
hour = "hour"
|
|
1909
|
+
}
|
|
1910
|
+
/** Стандартные шаблоны разреза */
|
|
1911
|
+
declare const dimensionTemplateFormulas: Record<EDimensionTemplateNames, string>;
|
|
1912
|
+
|
|
1913
|
+
declare function getDimensionFormula({ value }: IWidgetDimension): string;
|
|
1914
|
+
|
|
1915
|
+
declare enum EDimensionAggregationTemplateName {
|
|
1916
|
+
avg = "avg",
|
|
1917
|
+
median = "median",
|
|
1918
|
+
count = "count",
|
|
1919
|
+
countDistinct = "countDistinct",
|
|
1920
|
+
min = "min",
|
|
1921
|
+
max = "max",
|
|
1922
|
+
sum = "sum",
|
|
1923
|
+
top = "top",
|
|
1924
|
+
firstValue = "firstValue",
|
|
1925
|
+
lastValue = "lastValue",
|
|
1926
|
+
countExecutions = "countExecutions",
|
|
1927
|
+
countReworks = "countReworks"
|
|
1928
|
+
}
|
|
1929
|
+
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1930
|
+
declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
|
|
1931
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1932
|
+
declare const prepareDimensionAggregationParams: (value: Extract<IWidgetDimension["value"], {
|
|
1933
|
+
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1934
|
+
}>) => {
|
|
1935
|
+
eventNameFormula: string;
|
|
1936
|
+
caseCaseIdFormula: string;
|
|
1937
|
+
eventName: string;
|
|
1938
|
+
objectFilters: string;
|
|
1939
|
+
filters: string;
|
|
1940
|
+
eventTimeFormula: string;
|
|
1941
|
+
columnFormula: string;
|
|
1942
|
+
} | null;
|
|
1943
|
+
|
|
1944
|
+
/** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
|
|
1945
|
+
declare const timeTemplates: {
|
|
1946
|
+
START_TIME: Record<EDimensionTemplateNames, string>;
|
|
1947
|
+
END_TIME: Record<EDimensionTemplateNames, string>;
|
|
1948
|
+
};
|
|
1949
|
+
/** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
|
|
1950
|
+
declare const prepareTimeParams: (value: TWidgetIndicatorTimeValue) => {
|
|
1951
|
+
eventTimeFormula: string;
|
|
1952
|
+
eventNameFormula: string;
|
|
1953
|
+
caseCaseIdFormula: string;
|
|
1954
|
+
filters: string;
|
|
1955
|
+
eventName: string;
|
|
1956
|
+
} | undefined;
|
|
1957
|
+
|
|
1958
|
+
declare function getMeasureFormula({ value }: IWidgetMeasure): string;
|
|
1959
|
+
|
|
1960
|
+
declare enum EMeasureTemplateNames {
|
|
1961
|
+
avg = "avg",
|
|
1962
|
+
median = "median",
|
|
1963
|
+
count = "count",
|
|
1964
|
+
countDistinct = "countDistinct",
|
|
1965
|
+
min = "min",
|
|
1966
|
+
max = "max",
|
|
1967
|
+
sum = "sum"
|
|
1968
|
+
}
|
|
1969
|
+
/** Стандартные шаблоны меры */
|
|
1970
|
+
declare const measureTemplateFormulas: {
|
|
1971
|
+
readonly avg: "avg({columnFormula})";
|
|
1972
|
+
readonly count: "count({columnFormula})";
|
|
1973
|
+
readonly countDistinct: "count(distinct {columnFormula})";
|
|
1974
|
+
readonly median: "medianExact({columnFormula})";
|
|
1975
|
+
readonly min: "min({columnFormula})";
|
|
1976
|
+
readonly max: "max({columnFormula})";
|
|
1977
|
+
readonly sum: "sum({columnFormula})";
|
|
1978
|
+
};
|
|
1979
|
+
|
|
1980
|
+
declare enum EMeasureAggregationTemplateName {
|
|
1981
|
+
agvIf = "agvIf",
|
|
1982
|
+
medianIf = "medianIf",
|
|
1983
|
+
countIf = "countIf",
|
|
1984
|
+
countIfDistinct = "countIfDistinct",
|
|
1985
|
+
minIf = "minIf",
|
|
1986
|
+
maxIf = "maxIf",
|
|
1987
|
+
sumIf = "sumIf",
|
|
1988
|
+
top = "top",
|
|
1989
|
+
firstValue = "firstValue",
|
|
1990
|
+
lastValue = "lastValue",
|
|
1991
|
+
countExecutions = "countExecutions",
|
|
1992
|
+
countReworks = "countReworks"
|
|
1993
|
+
}
|
|
1994
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1995
|
+
declare const prepareMeasureAggregationParams: (value: Extract<IWidgetMeasure["value"], {
|
|
1996
|
+
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1997
|
+
}>) => {
|
|
1998
|
+
outerAggregation: EOuterAggregation;
|
|
1999
|
+
eventNameFormula: string;
|
|
2000
|
+
caseCaseIdFormula: string;
|
|
2001
|
+
eventName: string | null;
|
|
2002
|
+
objectFilters: string;
|
|
2003
|
+
filters: string;
|
|
2004
|
+
eventTimeFormula: string;
|
|
2005
|
+
columnFormula: string;
|
|
2006
|
+
} | null;
|
|
2007
|
+
|
|
2008
|
+
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
2009
|
+
declare const conversionTemplate = "countIf(\n process(\n minIf(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n maxIf(\n {endEventTimeFormula}, \n {endEventNameFormula} = '{endEventName}'{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) \n and \n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n) / countIf(\n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
|
|
2010
|
+
/** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
|
|
2011
|
+
declare const prepareConversionParams: (value: TWidgetIndicatorConversionValue) => {
|
|
2012
|
+
objectFilters: string;
|
|
2013
|
+
startEventTimeFormula: string;
|
|
2014
|
+
startEventNameFormula: string;
|
|
2015
|
+
startEventFilters: string;
|
|
2016
|
+
startEventName: string;
|
|
2017
|
+
endEventTimeFormula: string;
|
|
2018
|
+
endCaseCaseIdFormula: string;
|
|
2019
|
+
endEventNameFormula: string;
|
|
2020
|
+
endEventName: string;
|
|
2021
|
+
endEventFilters: string;
|
|
2022
|
+
} | null;
|
|
2023
|
+
|
|
2024
|
+
declare function createAggregationTemplate(templateName: EMeasureAggregationTemplateName, { outerAggregation, anyEvent, }: Pick<TWidgetIndicatorAggregationValue, "anyEvent"> & {
|
|
2025
|
+
outerAggregation: EOuterAggregation;
|
|
2026
|
+
}): string;
|
|
2027
|
+
|
|
2028
|
+
/** Шаблоны процессных метрик меры с режимом DURATION */
|
|
2029
|
+
declare const durationTemplates: Record<EDurationTemplateName, string>;
|
|
2030
|
+
/** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
|
|
2031
|
+
declare const prepareDurationParams: (value: TWidgetIndicatorDurationValue) => {
|
|
2032
|
+
objectFilters: string;
|
|
2033
|
+
startEventTimeFormula: string;
|
|
2034
|
+
startEventNameFormula: string;
|
|
2035
|
+
startEventFilters: string;
|
|
2036
|
+
startEventName: string;
|
|
2037
|
+
startEventAggregationName: string;
|
|
2038
|
+
endEventTimeFormula: string;
|
|
2039
|
+
endCaseCaseIdFormula: string;
|
|
2040
|
+
endEventNameFormula: string;
|
|
2041
|
+
endEventName: string;
|
|
2042
|
+
endEventFilters: string;
|
|
2043
|
+
endEventAggregationName: string;
|
|
2044
|
+
} | null;
|
|
2045
|
+
|
|
2046
|
+
declare function getEventMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
2047
|
+
|
|
2048
|
+
declare enum EEventMeasureTemplateNames {
|
|
2049
|
+
eventsCount = "eventsCount",
|
|
2050
|
+
reworksCount = "reworksCount"
|
|
2051
|
+
}
|
|
2052
|
+
declare const eventMeasureTemplateFormulas: {
|
|
2053
|
+
readonly eventsCount: "count()";
|
|
2054
|
+
readonly reworksCount: "count() - uniqExact({caseCaseIdFormula})";
|
|
2055
|
+
};
|
|
2056
|
+
|
|
2057
|
+
declare function getTransitionMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
2058
|
+
|
|
2059
|
+
declare enum ETransitionMeasureTemplateNames {
|
|
2060
|
+
transitionsCount = "transitionsCount",
|
|
2061
|
+
medianTime = "medianTime"
|
|
2062
|
+
}
|
|
2063
|
+
declare const transitionMeasureTemplateFormulas: {
|
|
2064
|
+
readonly transitionsCount: "count()";
|
|
2065
|
+
readonly medianTime: "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))";
|
|
2066
|
+
};
|
|
2067
|
+
|
|
2068
|
+
declare const countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
2069
|
+
|
|
2070
|
+
declare function fillTemplateString(templateString: string, params: Record<string, any>): string;
|
|
2071
|
+
|
|
2072
|
+
declare function generateColumnFormula(tableName: string, columnName: string): string;
|
|
2073
|
+
|
|
2074
|
+
/**
|
|
2075
|
+
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
2076
|
+
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
2077
|
+
*/
|
|
2078
|
+
declare const curlyBracketsContentPattern: string;
|
|
2079
|
+
/**
|
|
2080
|
+
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
2081
|
+
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
2082
|
+
*/
|
|
2083
|
+
declare const doubleQuoteContentPattern: string;
|
|
2084
|
+
declare const dashboardLinkRegExp: RegExp;
|
|
2085
|
+
declare const workspaceLinkRegExp: RegExp;
|
|
2086
|
+
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
2087
|
+
declare const escapeDoubleQuoteLinkName: (str: string) => string;
|
|
2088
|
+
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
2089
|
+
declare const escapeCurlyBracketLinkName: (str: string) => string;
|
|
2090
|
+
interface IIndicatorLink {
|
|
2091
|
+
/** string - имя группы пространства, null - используется текущий отчет */
|
|
2092
|
+
scopeName: string | null;
|
|
2093
|
+
indicatorName: string;
|
|
2094
|
+
}
|
|
2095
|
+
declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
|
|
2096
|
+
|
|
2075
2097
|
interface ILens<T extends TNullable<object>, Value> {
|
|
2076
2098
|
get(obj: T): TNullable<Value>;
|
|
2077
2099
|
set(obj: T, value: Value): void;
|
|
@@ -2206,16 +2228,25 @@ type TWidgetDimensionData = {
|
|
|
2206
2228
|
type: EWidgetIndicatorType.DIMENSION;
|
|
2207
2229
|
/** Обобщенные типы данных, поддерживаемые разрезом */
|
|
2208
2230
|
simpleTypes?: ESimpleDataType[];
|
|
2209
|
-
/**
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2231
|
+
/**
|
|
2232
|
+
* Шаблоны формул, доступные к выбору шаблоны на основе колонок (по типу колонки)
|
|
2233
|
+
* Фильтрация применяется только для указанных типов колонки
|
|
2234
|
+
*/
|
|
2235
|
+
templates?: Partial<Record<ESimpleDataType, (EDimensionTemplateNames | EDimensionAggregationTemplateName)[]>>;
|
|
2236
|
+
/**
|
|
2237
|
+
* Шаблоны формул, доступные к выбору в процессных разрезах по времени
|
|
2238
|
+
*/
|
|
2239
|
+
processTimeTemplates?: EDimensionTemplateNames[];
|
|
2240
|
+
/** Переопределение доступных форматов */
|
|
2241
|
+
formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
|
|
2213
2242
|
};
|
|
2214
2243
|
/** Конфигурация меры */
|
|
2215
2244
|
type TWidgetMeasureData = {
|
|
2216
2245
|
type: EWidgetIndicatorType.MEASURE;
|
|
2217
|
-
/** Переопределение доступных форматов
|
|
2218
|
-
formats?: Record<ESimpleDataType, EFormatTypes[]
|
|
2246
|
+
/** Переопределение доступных форматов */
|
|
2247
|
+
formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
|
|
2248
|
+
/** Шаблоны формул, доступные для выбора в мере */
|
|
2249
|
+
templates?: Partial<Record<ESimpleDataType, EMeasureTemplateNames[]>>;
|
|
2219
2250
|
};
|
|
2220
2251
|
/** Конфигурация показателя */
|
|
2221
2252
|
type TWidgetIndicatorData = TWidgetDimensionData | TWidgetMeasureData;
|
|
@@ -2699,4 +2730,4 @@ declare global {
|
|
|
2699
2730
|
}
|
|
2700
2731
|
}
|
|
2701
2732
|
|
|
2702
|
-
export { EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionButton, type IActionGoToUrl, type IActionOnClickControl, type IActionRunScript, type IActionScript, type IActionUpdateVariable, type IAddButtonSelectOption, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IAutoIdentifiedArrayItem, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorOptions, type ICollapseRecord, type IColorPickerControl, type IColoredValue, type ICommonDimensions, type ICommonMeasures, type ICommonState, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayConditionControl, type IDisplayPredicate, type IDisplayRule, type IDivePanelDescription, type IDividerRecord, type IEdge, type IEventsColorControl, type IEventsPickerControl, type IExportColumnOrder, type IFillSettings, type IFilterControl, type IFormattingControl, type IFormattingTemplateControl, type IFormulaControl, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGlobalContext, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type IIndicatorLink, type IInitialSettings, type IInputControl, type IInputMarkdownControl, type IInputNumberControl, type IInputRangeControl, type ILens, type IMarkdownMeasure, type IMeasureAddButtonProps, type IPanelDescription, type IPanelDescriptionCreator, type IParameterColumnList, type IParameterFromAggregation, type IParameterFromColumn, type IParameterFromDynamicList, type IParameterFromEndEvent, type IParameterFromEvent, type IParameterFromFormula, type IParameterFromManualInput, type IParameterFromStartEvent, type IParameterFromStaticList, type IParameterFromVariable, type IParameterTableList, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessFilterPreviewParams, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRadioIconGroupControl, type IRange, type ISelectBranchOption, type ISelectControl, type ISelectDividerOption, type ISelectGroupOption, type ISelectLeafOption, type ISelectNode, type ISelectOption, type ISelectSystemOption, type ISettingsMigratorParams, type ISizeControl, type ISortOrder, type ISortingAddButtonProps, type IStagesFilterValue, type IStaticListLabeledOption, type ISwitchControl, type ITagSetControl, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type ITypeCalculatorOutputItem, type ITypedFormulaControl, type IVertex, type IViewAction, type IViewContext, type IWidget, type IWidgetAction, type IWidgetColumnIndicator, type IWidgetColumnListVariable, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetDynamicListVariable, type IWidgetEntity, type IWidgetFilter, type IWidgetFiltration, type IWidgetFormatting, type IWidgetIndicator, type IWidgetIndicatorAddButtonProps, type IWidgetManifest, type IWidgetMeasure, type IWidgetMigrator, type IWidgetPersistValue, type IWidgetPlaceholderController, type IWidgetPlaceholderValues, type IWidgetPresetSettings, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetStaticListVariable, type IWidgetStaticVariable, type IWidgetStruct, type IWidgetTable, type IWidgetTableColumn, OuterAggregation, type TAction, type TActionOnClickParameter, type TActionOpenView, type TActionValidator, type TActionsOnClick, type TAddButton, type TBoundedContentWithIndicator, type TColor, type TColorBase, type TColorRule, type TColumnIndicatorValue, type TContextMenu, type TContextMenuButton, type TContextMenuButtonActions, type TContextMenuButtonApply, type TContextMenuButtonClose, type TContextMenuButtonCustom, type TContextMenuButtonGroup, type TContextMenuButtonOptions, type TContextMenuList, type TContextMenuPositionUnit, type TContextMenuRow, type TControlUnion, type TCustomAddButtonSelectOption, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TExtendedFormulaFilterValue, type TFiltrationAccessibility, type TGroupLevelRecord, type THintPlacement, type TLaunchActionParams, type TMeasureAddButtonSelectOption, type TMigrateProcessor, type TMigrationStruct, type TParameterFromDataModel, type TProcessIndicatorValue, type TRecordAccessor, type TSelectChildOptions, type TSelectFetchNodes, type TSelectivePartial, type TSortDirection, type TUpdateSelection, type TValuePath, type TVersion, type TViewActionParameter, type TWidgetActionParameter, type TWidgetContainer, type TWidgetDimensionData, type TWidgetFilterValue, type TWidgetFiltering, type TWidgetIndicatorAggregationValue, type TWidgetIndicatorConversionValue, type TWidgetIndicatorDurationValue, type TWidgetIndicatorTimeValue, type TWidgetLevelRecord, type TWidgetMeasureData, type TWidgetSortingValue, type TWidgetVariable, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|
|
2733
|
+
export { EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionButton, type IActionGoToUrl, type IActionOnClickControl, type IActionRunScript, type IActionScript, type IActionUpdateVariable, type IAddButtonSelectOption, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IAutoIdentifiedArrayItem, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorOptions, type ICollapseRecord, type IColorPickerControl, type IColoredValue, type ICommonDimensions, type ICommonMeasures, type ICommonState, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayConditionControl, type IDisplayPredicate, type IDisplayRule, type IDivePanelDescription, type IDividerRecord, type IEdge, type IEventsColorControl, type IEventsPickerControl, type IExportColumnOrder, type IFillSettings, type IFilterControl, type IFormattingControl, type IFormattingTemplateControl, type IFormulaControl, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGlobalContext, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type IIndicatorLink, type IInitialSettings, type IInputControl, type IInputMarkdownControl, type IInputNumberControl, type IInputRangeControl, type IInputTemplatedControl, type ILens, type IMarkdownMeasure, type IMeasureAddButtonProps, type IPanelDescription, type IPanelDescriptionCreator, type IParameterColumnList, type IParameterFromAggregation, type IParameterFromColumn, type IParameterFromDynamicList, type IParameterFromEndEvent, type IParameterFromEvent, type IParameterFromFormula, type IParameterFromManualInput, type IParameterFromStartEvent, type IParameterFromStaticList, type IParameterFromVariable, type IParameterTableList, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessFilterPreviewParams, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRadioIconGroupControl, type IRange, type ISelectBranchOption, type ISelectControl, type ISelectDividerOption, type ISelectGroupOption, type ISelectLeafOption, type ISelectNode, type ISelectOption, type ISelectSystemOption, type ISettingsMigratorParams, type ISizeControl, type ISortOrder, type ISortingAddButtonProps, type IStagesFilterValue, type IStaticListLabeledOption, type ISwitchControl, type ITagSetControl, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type ITypeCalculatorOutputItem, type ITypedFormulaControl, type IVertex, type IViewAction, type IViewContext, type IWidget, type IWidgetAction, type IWidgetColumnIndicator, type IWidgetColumnListVariable, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetDynamicListVariable, type IWidgetEntity, type IWidgetFilter, type IWidgetFiltration, type IWidgetFormatting, type IWidgetIndicator, type IWidgetIndicatorAddButtonProps, type IWidgetManifest, type IWidgetMeasure, type IWidgetMigrator, type IWidgetPersistValue, type IWidgetPlaceholderController, type IWidgetPlaceholderValues, type IWidgetPresetSettings, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetStaticListVariable, type IWidgetStaticVariable, type IWidgetStruct, type IWidgetTable, type IWidgetTableColumn, OuterAggregation, type TAction, type TActionOnClickParameter, type TActionOpenView, type TActionValidator, type TActionsOnClick, type TAddButton, type TBoundedContentWithIndicator, type TColor, type TColorBase, type TColorRule, type TColumnIndicatorValue, type TContextMenu, type TContextMenuButton, type TContextMenuButtonActions, type TContextMenuButtonApply, type TContextMenuButtonClose, type TContextMenuButtonCustom, type TContextMenuButtonGroup, type TContextMenuButtonOptions, type TContextMenuList, type TContextMenuPositionUnit, type TContextMenuRow, type TControlUnion, type TCustomAddButtonSelectOption, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TExtendedFormulaFilterValue, type TFiltrationAccessibility, type TGroupLevelRecord, type THintPlacement, type TLaunchActionParams, type TMeasureAddButtonSelectOption, type TMigrateProcessor, type TMigrationStruct, type TParameterFromDataModel, type TProcessIndicatorValue, type TRecordAccessor, type TSelectChildOptions, type TSelectFetchNodes, type TSelectivePartial, type TSortDirection, type TUpdateSelection, type TValuePath, type TVersion, type TViewActionParameter, type TWidgetActionParameter, type TWidgetContainer, type TWidgetDimensionData, type TWidgetFilterValue, type TWidgetFiltering, type TWidgetIndicatorAggregationValue, type TWidgetIndicatorConversionValue, type TWidgetIndicatorDurationValue, type TWidgetIndicatorTimeValue, type TWidgetLevelRecord, type TWidgetMeasureData, type TWidgetSortingValue, type TWidgetVariable, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|