@infomaximum/widget-sdk 6.0.0-4 → 6.0.0-5
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 +8 -0
- package/dist/index.d.ts +218 -207
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [6.0.0-5](https://github.com/Infomaximum/widget-sdk/compare/v6.0.0-4...v6.0.0-5) (2025-09-01)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* добавлена поддержка фильтрации шаблонов мер и агригатных разрезов [WD-1197] ([af49cc3](https://github.com/Infomaximum/widget-sdk/commit/af49cc3ff7840f0d7762c6c40eb1bf183a32d4b7))
|
|
11
|
+
* добавлена фильтрация шаблонов для процессных разрезов времяни [WD-1197] ([564cd57](https://github.com/Infomaximum/widget-sdk/commit/564cd5782276c4ec74c8d26de109f0d2e9deec50))
|
|
12
|
+
|
|
5
13
|
## [6.0.0-4](https://github.com/Infomaximum/widget-sdk/compare/v6.0.0-3...v6.0.0-4) (2025-08-29)
|
|
6
14
|
|
|
7
15
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1158,206 +1158,6 @@ interface IParsedDbType<T extends TNullable<string> = string> {
|
|
|
1158
1158
|
simpleType: ESimpleDataType;
|
|
1159
1159
|
}
|
|
1160
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;
|
|
1337
|
-
|
|
1338
|
-
/**
|
|
1339
|
-
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
1340
|
-
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
1341
|
-
*/
|
|
1342
|
-
declare const curlyBracketsContentPattern: string;
|
|
1343
|
-
/**
|
|
1344
|
-
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
1345
|
-
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
1346
|
-
*/
|
|
1347
|
-
declare const doubleQuoteContentPattern: string;
|
|
1348
|
-
declare const dashboardLinkRegExp: RegExp;
|
|
1349
|
-
declare const workspaceLinkRegExp: RegExp;
|
|
1350
|
-
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
1351
|
-
declare const escapeDoubleQuoteLinkName: (str: string) => string;
|
|
1352
|
-
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
1353
|
-
declare const escapeCurlyBracketLinkName: (str: string) => string;
|
|
1354
|
-
interface IIndicatorLink {
|
|
1355
|
-
/** string - имя группы пространства, null - используется текущий отчет */
|
|
1356
|
-
scopeName: string | null;
|
|
1357
|
-
indicatorName: string;
|
|
1358
|
-
}
|
|
1359
|
-
declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
|
|
1360
|
-
|
|
1361
1161
|
type THintPlacement = "top" | "left" | "right" | "bottom" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom";
|
|
1362
1162
|
declare enum EControlType {
|
|
1363
1163
|
/** Ввод текста */
|
|
@@ -1635,6 +1435,7 @@ interface IFormulaControl {
|
|
|
1635
1435
|
showModeToggle?: boolean;
|
|
1636
1436
|
indicatorConfig?: ({
|
|
1637
1437
|
type: "measure";
|
|
1438
|
+
templates?: TWidgetMeasureData["templates"];
|
|
1638
1439
|
} & {
|
|
1639
1440
|
/** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
|
|
1640
1441
|
allowClear?: boolean;
|
|
@@ -1646,7 +1447,8 @@ interface IFormulaControl {
|
|
|
1646
1447
|
options?: TMeasureAddButtonSelectOption[];
|
|
1647
1448
|
}) | {
|
|
1648
1449
|
type: "dimension";
|
|
1649
|
-
templates?:
|
|
1450
|
+
templates?: TWidgetDimensionData["templates"];
|
|
1451
|
+
processTimeTemplates?: TWidgetDimensionData["processTimeTemplates"];
|
|
1650
1452
|
};
|
|
1651
1453
|
disabled?: boolean;
|
|
1652
1454
|
/** Ключи процессов для фильтрации таблиц, доступных для выбора */
|
|
@@ -2072,6 +1874,206 @@ interface ICalculatorFactory {
|
|
|
2072
1874
|
type: (options?: ICalculatorOptions) => ITypeCalculator;
|
|
2073
1875
|
}
|
|
2074
1876
|
|
|
1877
|
+
declare enum EDimensionTemplateNames {
|
|
1878
|
+
dateTime = "dateTime",
|
|
1879
|
+
date = "date",
|
|
1880
|
+
year = "year",
|
|
1881
|
+
yearAndQuarter = "yearAndQuarter",
|
|
1882
|
+
quarter = "quarter",
|
|
1883
|
+
yearAndMonth = "yearAndMonth",
|
|
1884
|
+
dayOfMonth = "dayOfMonth",
|
|
1885
|
+
month = "month",
|
|
1886
|
+
week = "week",
|
|
1887
|
+
dayOfWeek = "dayOfWeek",
|
|
1888
|
+
hour = "hour"
|
|
1889
|
+
}
|
|
1890
|
+
/** Стандартные шаблоны разреза */
|
|
1891
|
+
declare const dimensionTemplateFormulas: Record<EDimensionTemplateNames, string>;
|
|
1892
|
+
|
|
1893
|
+
declare function getDimensionFormula({ value }: IWidgetDimension): string;
|
|
1894
|
+
|
|
1895
|
+
declare enum EDimensionAggregationTemplateName {
|
|
1896
|
+
avg = "avg",
|
|
1897
|
+
median = "median",
|
|
1898
|
+
count = "count",
|
|
1899
|
+
countDistinct = "countDistinct",
|
|
1900
|
+
min = "min",
|
|
1901
|
+
max = "max",
|
|
1902
|
+
sum = "sum",
|
|
1903
|
+
top = "top",
|
|
1904
|
+
firstValue = "firstValue",
|
|
1905
|
+
lastValue = "lastValue",
|
|
1906
|
+
countExecutions = "countExecutions",
|
|
1907
|
+
countReworks = "countReworks"
|
|
1908
|
+
}
|
|
1909
|
+
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1910
|
+
declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
|
|
1911
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1912
|
+
declare const prepareDimensionAggregationParams: (value: Extract<IWidgetDimension["value"], {
|
|
1913
|
+
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1914
|
+
}>) => {
|
|
1915
|
+
eventNameFormula: string;
|
|
1916
|
+
caseCaseIdFormula: string;
|
|
1917
|
+
eventName: string;
|
|
1918
|
+
objectFilters: string;
|
|
1919
|
+
filters: string;
|
|
1920
|
+
eventTimeFormula: string;
|
|
1921
|
+
columnFormula: string;
|
|
1922
|
+
} | null;
|
|
1923
|
+
|
|
1924
|
+
/** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
|
|
1925
|
+
declare const timeTemplates: {
|
|
1926
|
+
START_TIME: Record<EDimensionTemplateNames, string>;
|
|
1927
|
+
END_TIME: Record<EDimensionTemplateNames, string>;
|
|
1928
|
+
};
|
|
1929
|
+
/** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
|
|
1930
|
+
declare const prepareTimeParams: (value: TWidgetIndicatorTimeValue) => {
|
|
1931
|
+
eventTimeFormula: string;
|
|
1932
|
+
eventNameFormula: string;
|
|
1933
|
+
caseCaseIdFormula: string;
|
|
1934
|
+
filters: string;
|
|
1935
|
+
eventName: string;
|
|
1936
|
+
} | undefined;
|
|
1937
|
+
|
|
1938
|
+
declare function getMeasureFormula({ value }: IWidgetMeasure): string;
|
|
1939
|
+
|
|
1940
|
+
declare enum EMeasureTemplateNames {
|
|
1941
|
+
avg = "avg",
|
|
1942
|
+
median = "median",
|
|
1943
|
+
count = "count",
|
|
1944
|
+
countDistinct = "countDistinct",
|
|
1945
|
+
min = "min",
|
|
1946
|
+
max = "max",
|
|
1947
|
+
sum = "sum"
|
|
1948
|
+
}
|
|
1949
|
+
/** Стандартные шаблоны меры */
|
|
1950
|
+
declare const measureTemplateFormulas: {
|
|
1951
|
+
readonly avg: "avg({columnFormula})";
|
|
1952
|
+
readonly count: "count({columnFormula})";
|
|
1953
|
+
readonly countDistinct: "count(distinct {columnFormula})";
|
|
1954
|
+
readonly median: "medianExact({columnFormula})";
|
|
1955
|
+
readonly min: "min({columnFormula})";
|
|
1956
|
+
readonly max: "max({columnFormula})";
|
|
1957
|
+
readonly sum: "sum({columnFormula})";
|
|
1958
|
+
};
|
|
1959
|
+
|
|
1960
|
+
declare enum EMeasureAggregationTemplateName {
|
|
1961
|
+
agvIf = "agvIf",
|
|
1962
|
+
medianIf = "medianIf",
|
|
1963
|
+
countIf = "countIf",
|
|
1964
|
+
countIfDistinct = "countIfDistinct",
|
|
1965
|
+
minIf = "minIf",
|
|
1966
|
+
maxIf = "maxIf",
|
|
1967
|
+
sumIf = "sumIf",
|
|
1968
|
+
top = "top",
|
|
1969
|
+
firstValue = "firstValue",
|
|
1970
|
+
lastValue = "lastValue",
|
|
1971
|
+
countExecutions = "countExecutions",
|
|
1972
|
+
countReworks = "countReworks"
|
|
1973
|
+
}
|
|
1974
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1975
|
+
declare const prepareMeasureAggregationParams: (value: Extract<IWidgetMeasure["value"], {
|
|
1976
|
+
mode: EWidgetIndicatorValueModes.AGGREGATION;
|
|
1977
|
+
}>) => {
|
|
1978
|
+
outerAggregation: EOuterAggregation;
|
|
1979
|
+
eventNameFormula: string;
|
|
1980
|
+
caseCaseIdFormula: string;
|
|
1981
|
+
eventName: string | null;
|
|
1982
|
+
objectFilters: string;
|
|
1983
|
+
filters: string;
|
|
1984
|
+
eventTimeFormula: string;
|
|
1985
|
+
columnFormula: string;
|
|
1986
|
+
} | null;
|
|
1987
|
+
|
|
1988
|
+
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1989
|
+
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)";
|
|
1990
|
+
/** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
|
|
1991
|
+
declare const prepareConversionParams: (value: TWidgetIndicatorConversionValue) => {
|
|
1992
|
+
objectFilters: string;
|
|
1993
|
+
startEventTimeFormula: string;
|
|
1994
|
+
startEventNameFormula: string;
|
|
1995
|
+
startEventFilters: string;
|
|
1996
|
+
startEventName: string;
|
|
1997
|
+
endEventTimeFormula: string;
|
|
1998
|
+
endCaseCaseIdFormula: string;
|
|
1999
|
+
endEventNameFormula: string;
|
|
2000
|
+
endEventName: string;
|
|
2001
|
+
endEventFilters: string;
|
|
2002
|
+
} | null;
|
|
2003
|
+
|
|
2004
|
+
declare function createAggregationTemplate(templateName: EMeasureAggregationTemplateName, { outerAggregation, anyEvent, }: Pick<TWidgetIndicatorAggregationValue, "anyEvent"> & {
|
|
2005
|
+
outerAggregation: EOuterAggregation;
|
|
2006
|
+
}): string;
|
|
2007
|
+
|
|
2008
|
+
/** Шаблоны процессных метрик меры с режимом DURATION */
|
|
2009
|
+
declare const durationTemplates: Record<EDurationTemplateName, string>;
|
|
2010
|
+
/** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
|
|
2011
|
+
declare const prepareDurationParams: (value: TWidgetIndicatorDurationValue) => {
|
|
2012
|
+
objectFilters: string;
|
|
2013
|
+
startEventTimeFormula: string;
|
|
2014
|
+
startEventNameFormula: string;
|
|
2015
|
+
startEventFilters: string;
|
|
2016
|
+
startEventName: string;
|
|
2017
|
+
startEventAggregationName: string;
|
|
2018
|
+
endEventTimeFormula: string;
|
|
2019
|
+
endCaseCaseIdFormula: string;
|
|
2020
|
+
endEventNameFormula: string;
|
|
2021
|
+
endEventName: string;
|
|
2022
|
+
endEventFilters: string;
|
|
2023
|
+
endEventAggregationName: string;
|
|
2024
|
+
} | null;
|
|
2025
|
+
|
|
2026
|
+
declare function getEventMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
2027
|
+
|
|
2028
|
+
declare enum EEventMeasureTemplateNames {
|
|
2029
|
+
eventsCount = "eventsCount",
|
|
2030
|
+
reworksCount = "reworksCount"
|
|
2031
|
+
}
|
|
2032
|
+
declare const eventMeasureTemplateFormulas: {
|
|
2033
|
+
readonly eventsCount: "count()";
|
|
2034
|
+
readonly reworksCount: "count() - uniqExact({caseCaseIdFormula})";
|
|
2035
|
+
};
|
|
2036
|
+
|
|
2037
|
+
declare function getTransitionMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
|
|
2038
|
+
|
|
2039
|
+
declare enum ETransitionMeasureTemplateNames {
|
|
2040
|
+
transitionsCount = "transitionsCount",
|
|
2041
|
+
medianTime = "medianTime"
|
|
2042
|
+
}
|
|
2043
|
+
declare const transitionMeasureTemplateFormulas: {
|
|
2044
|
+
readonly transitionsCount: "count()";
|
|
2045
|
+
readonly medianTime: "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))";
|
|
2046
|
+
};
|
|
2047
|
+
|
|
2048
|
+
declare const countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
2049
|
+
|
|
2050
|
+
declare function fillTemplateString(templateString: string, params: Record<string, any>): string;
|
|
2051
|
+
|
|
2052
|
+
declare function generateColumnFormula(tableName: string, columnName: string): string;
|
|
2053
|
+
|
|
2054
|
+
/**
|
|
2055
|
+
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
2056
|
+
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
2057
|
+
*/
|
|
2058
|
+
declare const curlyBracketsContentPattern: string;
|
|
2059
|
+
/**
|
|
2060
|
+
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
2061
|
+
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
2062
|
+
*/
|
|
2063
|
+
declare const doubleQuoteContentPattern: string;
|
|
2064
|
+
declare const dashboardLinkRegExp: RegExp;
|
|
2065
|
+
declare const workspaceLinkRegExp: RegExp;
|
|
2066
|
+
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
2067
|
+
declare const escapeDoubleQuoteLinkName: (str: string) => string;
|
|
2068
|
+
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
2069
|
+
declare const escapeCurlyBracketLinkName: (str: string) => string;
|
|
2070
|
+
interface IIndicatorLink {
|
|
2071
|
+
/** string - имя группы пространства, null - используется текущий отчет */
|
|
2072
|
+
scopeName: string | null;
|
|
2073
|
+
indicatorName: string;
|
|
2074
|
+
}
|
|
2075
|
+
declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
|
|
2076
|
+
|
|
2075
2077
|
interface ILens<T extends TNullable<object>, Value> {
|
|
2076
2078
|
get(obj: T): TNullable<Value>;
|
|
2077
2079
|
set(obj: T, value: Value): void;
|
|
@@ -2206,16 +2208,25 @@ type TWidgetDimensionData = {
|
|
|
2206
2208
|
type: EWidgetIndicatorType.DIMENSION;
|
|
2207
2209
|
/** Обобщенные типы данных, поддерживаемые разрезом */
|
|
2208
2210
|
simpleTypes?: ESimpleDataType[];
|
|
2209
|
-
/**
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2211
|
+
/**
|
|
2212
|
+
* Шаблоны формул, доступные к выбору шаблоны на основе колонок (по типу колонки)
|
|
2213
|
+
* Фильтрация применяется только для указанных типов колонки
|
|
2214
|
+
*/
|
|
2215
|
+
templates?: Partial<Record<ESimpleDataType, (EDimensionTemplateNames | EDimensionAggregationTemplateName)[]>>;
|
|
2216
|
+
/**
|
|
2217
|
+
* Шаблоны формул, доступные к выбору в процессных разрезах по времени
|
|
2218
|
+
*/
|
|
2219
|
+
processTimeTemplates?: EDimensionTemplateNames[];
|
|
2220
|
+
/** Переопределение доступных форматов */
|
|
2221
|
+
formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
|
|
2213
2222
|
};
|
|
2214
2223
|
/** Конфигурация меры */
|
|
2215
2224
|
type TWidgetMeasureData = {
|
|
2216
2225
|
type: EWidgetIndicatorType.MEASURE;
|
|
2217
|
-
/** Переопределение доступных форматов
|
|
2218
|
-
formats?: Record<ESimpleDataType, EFormatTypes[]
|
|
2226
|
+
/** Переопределение доступных форматов */
|
|
2227
|
+
formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
|
|
2228
|
+
/** Шаблоны формул, доступные для выбора в мере */
|
|
2229
|
+
templates?: Partial<Record<ESimpleDataType, EMeasureTemplateNames[]>>;
|
|
2219
2230
|
};
|
|
2220
2231
|
/** Конфигурация показателя */
|
|
2221
2232
|
type TWidgetIndicatorData = TWidgetDimensionData | TWidgetMeasureData;
|