@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 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?: EDimensionTemplateNames[];
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
- templates?: Partial<Record<ESimpleDataType, EDimensionTemplateNames[]>>;
2211
- /** Переопределение доступных форматов и их порядка */
2212
- formats?: Record<ESimpleDataType, EFormatTypes[]>;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "6.0.0-4",
3
+ "version": "6.0.0-5",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",