@infomaximum/widget-sdk 5.14.0 → 5.16.0

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 CHANGED
@@ -2,6 +2,43 @@
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
+ ## [5.16.0](https://github.com/Infomaximum/widget-sdk/compare/v5.12.2...v5.16.0) (2025-04-22)
6
+
7
+ ## [5.15.0](https://github.com/Infomaximum/widget-sdk/compare/v5.14.0...v5.15.0) (2025-04-17)
8
+
9
+
10
+ ### Features
11
+
12
+ * в IBaseWidgetSettings добавлено поле markdownTextSize ([816efbf](https://github.com/Infomaximum/widget-sdk/commit/816efbf0602c21529f3b7ffd9178904d761b8a2e))
13
+ * для способа ввода статический список defaultOptionIndexes изменен на defaultValue ([afff970](https://github.com/Infomaximum/widget-sdk/commit/afff9709fbab78470d3ef3a5b8b2c12e233ad613))
14
+ * экспортированы интерфейсы параметров ожидаемых полей действий ([473400c](https://github.com/Infomaximum/widget-sdk/commit/473400ccda532a247927f6f7d0084e91dabb83d0))
15
+
16
+ ## [5.14.0](https://github.com/Infomaximum/widget-sdk/compare/v5.13.0...v5.14.0) (2025-04-16)
17
+
18
+
19
+ ### Features
20
+
21
+ * добавлена возможность автоматического вызова fillSettings при изменении настройки через элемент управления ([e4fce52](https://github.com/Infomaximum/widget-sdk/commit/e4fce528b715fe5e748130402e07052b73c1a4cd))
22
+
23
+ ## [5.13.0](https://github.com/Infomaximum/widget-sdk/compare/v5.12.1...v5.13.0) (2025-04-16)
24
+
25
+
26
+ ### Features
27
+
28
+ * добавлен новый inputMethod DATA_MODEL ([70b3d43](https://github.com/Infomaximum/widget-sdk/commit/70b3d434778f87777acbd18336286dde44dd9814))
29
+ * добавлены шаблоны для фильтрации в FormulaControl [WD-1705] ([ed358c3](https://github.com/Infomaximum/widget-sdk/commit/ed358c3889aac546c481acb4f590a878ccf3d6bd))
30
+ * удалены интефейсы расширенных настроек, добавлено поле paddings в интерфейс базовых настроек виджетов ([d704c81](https://github.com/Infomaximum/widget-sdk/commit/d704c81aa3dbf21d62b74580c654ffd08de17907))
31
+
32
+ ## [5.15.0](https://github.com/Infomaximum/widget-sdk/compare/v5.14.0...v5.15.0) (2025-04-17)
33
+
34
+
35
+ ### Features
36
+
37
+ * в IBaseWidgetSettings добавлено поле markdownTextSize ([816efbf](https://github.com/Infomaximum/widget-sdk/commit/816efbf0602c21529f3b7ffd9178904d761b8a2e))
38
+ * для способа ввода статический список defaultOptionIndexes изменен на defaultValue ([afff970](https://github.com/Infomaximum/widget-sdk/commit/afff9709fbab78470d3ef3a5b8b2c12e233ad613))
39
+ * добавлены шаблоны для фильтрации в FormulaControl [WD-1705] ([ed358c3](https://github.com/Infomaximum/widget-sdk/commit/ed358c3889aac546c481acb4f590a878ccf3d6bd))
40
+ * экспортированы интерфейсы параметров ожидаемых полей действий ([473400c](https://github.com/Infomaximum/widget-sdk/commit/473400ccda532a247927f6f7d0084e91dabb83d0))
41
+
5
42
  ## [5.14.0](https://github.com/Infomaximum/widget-sdk/compare/v5.13.0...v5.14.0) (2025-04-16)
6
43
 
7
44
 
@@ -17,6 +54,14 @@ All notable changes to this project will be documented in this file. See [standa
17
54
 
18
55
  * удалены интефейсы расширенных настроек, добавлено поле paddings в интерфейс базовых настроек виджетов ([d704c81](https://github.com/Infomaximum/widget-sdk/commit/d704c81aa3dbf21d62b74580c654ffd08de17907))
19
56
 
57
+
58
+ ### [5.12.2](https://github.com/Infomaximum/widget-sdk/compare/v5.12.1...v5.12.2) (2025-04-22)
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * исправленно падение фильтрации из-за комментариев в формуле ([962580c](https://github.com/Infomaximum/widget-sdk/commit/962580c0e86d6b7ebeacfef77481557add9eebf6))
64
+
20
65
  ### [5.12.1](https://github.com/Infomaximum/widget-sdk/compare/v5.12.0...v5.12.1) (2025-04-11)
21
66
 
22
67
  ## [5.12.0](https://github.com/Infomaximum/widget-sdk/compare/v5.11.1...v5.12.0) (2025-04-11)
package/dist/index.d.ts CHANGED
@@ -754,6 +754,7 @@ interface IScriptField {
754
754
  guid: string;
755
755
  name: string;
756
756
  isRequired: boolean;
757
+ isArray: boolean;
757
758
  }
758
759
  interface IActionScript {
759
760
  key: string;
@@ -887,6 +888,7 @@ interface IBaseWidgetSettings {
887
888
  showMarkdown?: boolean;
888
889
  markdownMeasures?: IMarkdownMeasure[];
889
890
  markdownText?: string;
891
+ markdownTextSize?: number;
890
892
  filters?: TExtendedFormulaFilterValue[];
891
893
  filterMode?: EWidgetFilterMode;
892
894
  ignoreFilters?: boolean;
@@ -974,7 +976,7 @@ interface IParameterFromManualInput {
974
976
  interface IParameterFromStaticList {
975
977
  inputMethod: EWidgetActionInputMethod.STATIC_LIST;
976
978
  options: string;
977
- defaultOptionIndexes: number[];
979
+ defaultValue: string | string[];
978
980
  }
979
981
  interface IParameterFromDynamicList {
980
982
  inputMethod: EWidgetActionInputMethod.DYNAMIC_LIST;
@@ -1109,6 +1111,208 @@ interface IParsedDbType<T extends TNullable<string> = string> {
1109
1111
  simpleType: ESimpleDataType;
1110
1112
  }
1111
1113
 
1114
+ declare enum EDimensionTemplateNames {
1115
+ dateTime = "dateTime",
1116
+ date = "date",
1117
+ year = "year",
1118
+ yearAndQuarter = "yearAndQuarter",
1119
+ quarter = "quarter",
1120
+ yearAndMonth = "yearAndMonth",
1121
+ dayOfMonth = "dayOfMonth",
1122
+ month = "month",
1123
+ week = "week",
1124
+ dayOfWeek = "dayOfWeek",
1125
+ hour = "hour"
1126
+ }
1127
+ /** Стандартные шаблоны разреза */
1128
+ declare const dimensionTemplateFormulas: Record<EDimensionTemplateNames, string>;
1129
+
1130
+ declare function getDimensionFormula({ value }: IWidgetDimension): string;
1131
+
1132
+ declare enum EDimensionAggregationTemplateName {
1133
+ top = "top",
1134
+ firstValue = "firstValue",
1135
+ lastValue = "lastValue",
1136
+ countExecutions = "countExecutions",
1137
+ countReworks = "countReworks"
1138
+ }
1139
+ /** Шаблоны процессных метрик разреза с режимом AGGREGATION */
1140
+ declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
1141
+ /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
1142
+ declare const prepareDimensionAggregationParams: (value: Extract<IWidgetDimension["value"], {
1143
+ mode: EWidgetIndicatorValueModes.AGGREGATION;
1144
+ }>) => {
1145
+ eventNameFormula: string;
1146
+ caseCaseIdFormula: string;
1147
+ eventName: string;
1148
+ objectFilters: string;
1149
+ filters: string;
1150
+ eventTimeFormula: string;
1151
+ columnFormula: string;
1152
+ } | null;
1153
+
1154
+ /** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
1155
+ declare const timeTemplates: {
1156
+ START_TIME: Record<EDimensionTemplateNames, string>;
1157
+ END_TIME: Record<EDimensionTemplateNames, string>;
1158
+ };
1159
+ /** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
1160
+ declare const prepareTimeParams: (value: TWidgetIndicatorTimeValue) => {
1161
+ eventTimeFormula: string;
1162
+ eventNameFormula: string;
1163
+ caseCaseIdFormula: string;
1164
+ filters: string;
1165
+ eventName: string;
1166
+ } | undefined;
1167
+
1168
+ declare function getMeasureFormula({ value }: IWidgetMeasure): string;
1169
+
1170
+ declare enum EMeasureTemplateNames {
1171
+ avg = "avg",
1172
+ median = "median",
1173
+ count = "count",
1174
+ countDistinct = "countDistinct",
1175
+ min = "min",
1176
+ max = "max",
1177
+ sum = "sum"
1178
+ }
1179
+ /** Стандартные шаблоны меры */
1180
+ declare const measureTemplateFormulas: {
1181
+ readonly avg: "avg({columnFormula})";
1182
+ readonly count: "count({columnFormula})";
1183
+ readonly countDistinct: "count(distinct {columnFormula})";
1184
+ readonly median: "medianExact({columnFormula})";
1185
+ readonly min: "min({columnFormula})";
1186
+ readonly max: "max({columnFormula})";
1187
+ readonly sum: "sum({columnFormula})";
1188
+ };
1189
+
1190
+ declare enum EMeasureAggregationTemplateName {
1191
+ agvIf = "agvIf",
1192
+ medianIf = "medianIf",
1193
+ countIf = "countIf",
1194
+ countIfDistinct = "countIfDistinct",
1195
+ minIf = "minIf",
1196
+ maxIf = "maxIf",
1197
+ sumIf = "sumIf",
1198
+ top = "top",
1199
+ firstValue = "firstValue",
1200
+ lastValue = "lastValue",
1201
+ countExecutions = "countExecutions",
1202
+ countReworks = "countReworks"
1203
+ }
1204
+ /** Шаблоны процессных метрик меры с режимом AGGREGATION */
1205
+ declare const measureAggregationTemplates: {
1206
+ agvIf: string;
1207
+ medianIf: string;
1208
+ countIf: string;
1209
+ countIfDistinct: string;
1210
+ minIf: string;
1211
+ maxIf: string;
1212
+ sumIf: string;
1213
+ top: (outerAggregation: EOuterAggregation) => string;
1214
+ firstValue: (outerAggregation: EOuterAggregation) => string;
1215
+ lastValue: (outerAggregation: EOuterAggregation) => string;
1216
+ countExecutions: string;
1217
+ countReworks: string;
1218
+ };
1219
+ /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
1220
+ declare const prepareMeasureAggregationParams: (value: Extract<IWidgetMeasure["value"], {
1221
+ mode: EWidgetIndicatorValueModes.AGGREGATION;
1222
+ }>) => {
1223
+ outerAggregation: EOuterAggregation;
1224
+ eventNameFormula: string;
1225
+ caseCaseIdFormula: string;
1226
+ eventName: string;
1227
+ objectFilters: string;
1228
+ filters: string;
1229
+ eventTimeFormula: string;
1230
+ columnFormula: string;
1231
+ } | null;
1232
+
1233
+ /** Шаблон процессной метрики меры с режимом CONVERSION */
1234
+ 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)";
1235
+ /** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
1236
+ declare const prepareConversionParams: (value: TWidgetIndicatorConversionValue) => {
1237
+ objectFilters: string;
1238
+ startEventTimeFormula: string;
1239
+ startEventNameFormula: string;
1240
+ startEventFilters: string;
1241
+ startEventName: string;
1242
+ endEventTimeFormula: string;
1243
+ endCaseCaseIdFormula: string;
1244
+ endEventNameFormula: string;
1245
+ endEventName: string;
1246
+ endEventFilters: string;
1247
+ } | null;
1248
+
1249
+ /** Шаблоны процессных метрик меры с режимом DURATION */
1250
+ declare const durationTemplates: Record<EDurationTemplateName, string>;
1251
+ /** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
1252
+ declare const prepareDurationParams: (value: TWidgetIndicatorDurationValue) => {
1253
+ objectFilters: string;
1254
+ startEventTimeFormula: string;
1255
+ startEventNameFormula: string;
1256
+ startEventFilters: string;
1257
+ startEventName: string;
1258
+ startEventAggregationName: string;
1259
+ endEventTimeFormula: string;
1260
+ endCaseCaseIdFormula: string;
1261
+ endEventNameFormula: string;
1262
+ endEventName: string;
1263
+ endEventFilters: string;
1264
+ endEventAggregationName: string;
1265
+ } | null;
1266
+
1267
+ declare function getEventMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
1268
+
1269
+ declare enum EEventMeasureTemplateNames {
1270
+ eventsCount = "eventsCount",
1271
+ reworksCount = "reworksCount"
1272
+ }
1273
+ declare const eventMeasureTemplateFormulas: {
1274
+ readonly eventsCount: "count()";
1275
+ readonly reworksCount: "count() - uniqExact({caseCaseIdFormula})";
1276
+ };
1277
+
1278
+ declare function getTransitionMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
1279
+
1280
+ declare enum ETransitionMeasureTemplateNames {
1281
+ transitionsCount = "transitionsCount",
1282
+ medianTime = "medianTime"
1283
+ }
1284
+ declare const transitionMeasureTemplateFormulas: {
1285
+ readonly transitionsCount: "count()";
1286
+ readonly medianTime: "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))";
1287
+ };
1288
+
1289
+ declare const countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
1290
+
1291
+ declare function fillTemplateString(templateString: string, params: Record<string, any>): string;
1292
+
1293
+ declare function generateColumnFormula(tableName: string, columnName: string): string;
1294
+
1295
+ /**
1296
+ * Регулярное выражение для поиска имени ссылки внутри формулы.
1297
+ * Учитывает, что имя внутри формулы содержит экраны.
1298
+ *
1299
+ * Принцип работы:
1300
+ * Пробовать следующие вхождения:
1301
+ * - \\\\ - экранированный символ обратного слэша.
1302
+ * - Иначе \\" - экранированный символ кавычки.
1303
+ * - Иначе [^"] - любой символ кроме кавычки.
1304
+ * Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
1305
+ */
1306
+ declare const linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
1307
+ declare const dashboardLinkRegExp: RegExp;
1308
+ declare const workspaceLinkRegExp: RegExp;
1309
+ interface IIndicatorLink {
1310
+ /** string - имя группы пространства, null - используется текущий отчет */
1311
+ scopeName: string | null;
1312
+ indicatorName: string;
1313
+ }
1314
+ declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
1315
+
1112
1316
  declare enum EControlType {
1113
1317
  /** Ввод текста */
1114
1318
  input = "input",
@@ -1362,6 +1566,7 @@ interface IFormulaControl {
1362
1566
  options?: TMeasureAddButtonSelectOption[];
1363
1567
  }) | {
1364
1568
  type: "dimension";
1569
+ templates?: EDimensionTemplateNames[];
1365
1570
  };
1366
1571
  disabled?: boolean;
1367
1572
  titleModal?: string;
@@ -1775,208 +1980,6 @@ interface ICalculatorFactory {
1775
1980
  type: () => ITypeCalculator;
1776
1981
  }
1777
1982
 
1778
- declare enum EDimensionTemplateNames {
1779
- dateTime = "dateTime",
1780
- date = "date",
1781
- year = "year",
1782
- yearAndQuarter = "yearAndQuarter",
1783
- quarter = "quarter",
1784
- yearAndMonth = "yearAndMonth",
1785
- dayOfMonth = "dayOfMonth",
1786
- month = "month",
1787
- week = "week",
1788
- dayOfWeek = "dayOfWeek",
1789
- hour = "hour"
1790
- }
1791
- /** Стандартные шаблоны разреза */
1792
- declare const dimensionTemplateFormulas: Record<EDimensionTemplateNames, string>;
1793
-
1794
- declare function getDimensionFormula({ value }: IWidgetDimension): string;
1795
-
1796
- declare enum EDimensionAggregationTemplateName {
1797
- top = "top",
1798
- firstValue = "firstValue",
1799
- lastValue = "lastValue",
1800
- countExecutions = "countExecutions",
1801
- countReworks = "countReworks"
1802
- }
1803
- /** Шаблоны процессных метрик разреза с режимом AGGREGATION */
1804
- declare const dimensionAggregationTemplates: Record<EDimensionAggregationTemplateName, string>;
1805
- /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
1806
- declare const prepareDimensionAggregationParams: (value: Extract<IWidgetDimension["value"], {
1807
- mode: EWidgetIndicatorValueModes.AGGREGATION;
1808
- }>) => {
1809
- eventNameFormula: string;
1810
- caseCaseIdFormula: string;
1811
- eventName: string;
1812
- objectFilters: string;
1813
- filters: string;
1814
- eventTimeFormula: string;
1815
- columnFormula: string;
1816
- } | null;
1817
-
1818
- /** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
1819
- declare const timeTemplates: {
1820
- START_TIME: Record<EDimensionTemplateNames, string>;
1821
- END_TIME: Record<EDimensionTemplateNames, string>;
1822
- };
1823
- /** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
1824
- declare const prepareTimeParams: (value: TWidgetIndicatorTimeValue) => {
1825
- eventTimeFormula: string;
1826
- eventNameFormula: string;
1827
- caseCaseIdFormula: string;
1828
- filters: string;
1829
- eventName: string;
1830
- } | undefined;
1831
-
1832
- declare function getMeasureFormula({ value }: IWidgetMeasure): string;
1833
-
1834
- declare enum EMeasureTemplateNames {
1835
- avg = "avg",
1836
- median = "median",
1837
- count = "count",
1838
- countDistinct = "countDistinct",
1839
- min = "min",
1840
- max = "max",
1841
- sum = "sum"
1842
- }
1843
- /** Стандартные шаблоны меры */
1844
- declare const measureTemplateFormulas: {
1845
- readonly avg: "avg({columnFormula})";
1846
- readonly count: "count({columnFormula})";
1847
- readonly countDistinct: "count(distinct {columnFormula})";
1848
- readonly median: "medianExact({columnFormula})";
1849
- readonly min: "min({columnFormula})";
1850
- readonly max: "max({columnFormula})";
1851
- readonly sum: "sum({columnFormula})";
1852
- };
1853
-
1854
- declare enum EMeasureAggregationTemplateName {
1855
- agvIf = "agvIf",
1856
- medianIf = "medianIf",
1857
- countIf = "countIf",
1858
- countIfDistinct = "countIfDistinct",
1859
- minIf = "minIf",
1860
- maxIf = "maxIf",
1861
- sumIf = "sumIf",
1862
- top = "top",
1863
- firstValue = "firstValue",
1864
- lastValue = "lastValue",
1865
- countExecutions = "countExecutions",
1866
- countReworks = "countReworks"
1867
- }
1868
- /** Шаблоны процессных метрик меры с режимом AGGREGATION */
1869
- declare const measureAggregationTemplates: {
1870
- agvIf: string;
1871
- medianIf: string;
1872
- countIf: string;
1873
- countIfDistinct: string;
1874
- minIf: string;
1875
- maxIf: string;
1876
- sumIf: string;
1877
- top: (outerAggregation: EOuterAggregation) => string;
1878
- firstValue: (outerAggregation: EOuterAggregation) => string;
1879
- lastValue: (outerAggregation: EOuterAggregation) => string;
1880
- countExecutions: string;
1881
- countReworks: string;
1882
- };
1883
- /** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
1884
- declare const prepareMeasureAggregationParams: (value: Extract<IWidgetMeasure["value"], {
1885
- mode: EWidgetIndicatorValueModes.AGGREGATION;
1886
- }>) => {
1887
- outerAggregation: EOuterAggregation;
1888
- eventNameFormula: string;
1889
- caseCaseIdFormula: string;
1890
- eventName: string;
1891
- objectFilters: string;
1892
- filters: string;
1893
- eventTimeFormula: string;
1894
- columnFormula: string;
1895
- } | null;
1896
-
1897
- /** Шаблон процессной метрики меры с режимом CONVERSION */
1898
- 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)";
1899
- /** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
1900
- declare const prepareConversionParams: (value: TWidgetIndicatorConversionValue) => {
1901
- objectFilters: string;
1902
- startEventTimeFormula: string;
1903
- startEventNameFormula: string;
1904
- startEventFilters: string;
1905
- startEventName: string;
1906
- endEventTimeFormula: string;
1907
- endCaseCaseIdFormula: string;
1908
- endEventNameFormula: string;
1909
- endEventName: string;
1910
- endEventFilters: string;
1911
- } | null;
1912
-
1913
- /** Шаблоны процессных метрик меры с режимом DURATION */
1914
- declare const durationTemplates: Record<EDurationTemplateName, string>;
1915
- /** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
1916
- declare const prepareDurationParams: (value: TWidgetIndicatorDurationValue) => {
1917
- objectFilters: string;
1918
- startEventTimeFormula: string;
1919
- startEventNameFormula: string;
1920
- startEventFilters: string;
1921
- startEventName: string;
1922
- startEventAggregationName: string;
1923
- endEventTimeFormula: string;
1924
- endCaseCaseIdFormula: string;
1925
- endEventNameFormula: string;
1926
- endEventName: string;
1927
- endEventFilters: string;
1928
- endEventAggregationName: string;
1929
- } | null;
1930
-
1931
- declare function getEventMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
1932
-
1933
- declare enum EEventMeasureTemplateNames {
1934
- eventsCount = "eventsCount",
1935
- reworksCount = "reworksCount"
1936
- }
1937
- declare const eventMeasureTemplateFormulas: {
1938
- readonly eventsCount: "count()";
1939
- readonly reworksCount: "count() - uniqExact({caseCaseIdFormula})";
1940
- };
1941
-
1942
- declare function getTransitionMeasureFormula({ value }: IProcessIndicator, process: IWidgetProcess): string;
1943
-
1944
- declare enum ETransitionMeasureTemplateNames {
1945
- transitionsCount = "transitionsCount",
1946
- medianTime = "medianTime"
1947
- }
1948
- declare const transitionMeasureTemplateFormulas: {
1949
- readonly transitionsCount: "count()";
1950
- readonly medianTime: "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))";
1951
- };
1952
-
1953
- declare const countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
1954
-
1955
- declare function fillTemplateString(templateString: string, params: Record<string, any>): string;
1956
-
1957
- declare function generateColumnFormula(tableName: string, columnName: string): string;
1958
-
1959
- /**
1960
- * Регулярное выражение для поиска имени ссылки внутри формулы.
1961
- * Учитывает, что имя внутри формулы содержит экраны.
1962
- *
1963
- * Принцип работы:
1964
- * Пробовать следующие вхождения:
1965
- * - \\\\ - экранированный символ обратного слэша.
1966
- * - Иначе \\" - экранированный символ кавычки.
1967
- * - Иначе [^"] - любой символ кроме кавычки.
1968
- * Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
1969
- */
1970
- declare const linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
1971
- declare const dashboardLinkRegExp: RegExp;
1972
- declare const workspaceLinkRegExp: RegExp;
1973
- interface IIndicatorLink {
1974
- /** string - имя группы пространства, null - используется текущий отчет */
1975
- scopeName: string | null;
1976
- indicatorName: string;
1977
- }
1978
- declare const parseIndicatorLink: (formula: string) => IIndicatorLink | null;
1979
-
1980
1983
  interface ILens<T extends TNullable<object>, Value> {
1981
1984
  get(obj: T): TNullable<Value>;
1982
1985
  set(obj: T, value: Value): void;
@@ -2591,4 +2594,4 @@ declare global {
2591
2594
  }
2592
2595
  }
2593
2596
 
2594
- export { EActionButtonsTypes, EActionTypes, EAutoUpdateMode, EBlockingConditionMode, 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 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 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 IParameterFromColumn, 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 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 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 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, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, durationTemplates, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureAggregationTemplates, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
2597
+ export { EActionButtonsTypes, EActionTypes, EAutoUpdateMode, EBlockingConditionMode, 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 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 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 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 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 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, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, durationTemplates, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureAggregationTemplates, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
package/dist/index.esm.js CHANGED
@@ -1473,7 +1473,9 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
1473
1473
  if (!isFormulaFilterValue(filterValue)) {
1474
1474
  return {
1475
1475
  dbDataType: EClickHouseBaseTypes.Bool,
1476
- formula: fillTemplateString(displayConditionTemplate, { formula: filterValue.formula }),
1476
+ formula: fillTemplateString(displayConditionTemplate, {
1477
+ formula: prepareFormulaForSql(filterValue.formula),
1478
+ }),
1477
1479
  values: ["true"],
1478
1480
  filteringMethod: formulaFilterMethods.EQUAL_TO,
1479
1481
  };
package/dist/index.js CHANGED
@@ -1474,7 +1474,9 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
1474
1474
  if (!isFormulaFilterValue(filterValue)) {
1475
1475
  return {
1476
1476
  dbDataType: exports.EClickHouseBaseTypes.Bool,
1477
- formula: fillTemplateString(displayConditionTemplate, { formula: filterValue.formula }),
1477
+ formula: fillTemplateString(displayConditionTemplate, {
1478
+ formula: prepareFormulaForSql(filterValue.formula),
1479
+ }),
1478
1480
  values: ["true"],
1479
1481
  filteringMethod: formulaFilterMethods.EQUAL_TO,
1480
1482
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "5.14.0",
3
+ "version": "5.16.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",