@infomaximum/widget-sdk 6.0.0-1 → 6.0.0-2508.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/dist/index.esm.js CHANGED
@@ -35,12 +35,6 @@ var EViewOpenIn;
35
35
  EViewOpenIn["PLACEHOLDER"] = "PLACEHOLDER";
36
36
  EViewOpenIn["MODAL_WINDOW"] = "MODAL_WINDOW";
37
37
  EViewOpenIn["DRAWER_WINDOW"] = "DRAWER_WINDOW";
38
- // TODO: удалить при выполении BI-14979
39
- /** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - true */
40
- EViewOpenIn["NEW_WINDOW"] = "NEW_WINDOW";
41
- // TODO: удалить при выполении BI-14979
42
- /** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - false */
43
- EViewOpenIn["CURRENT_WINDOW"] = "CURRENT_WINDOW";
44
38
  })(EViewOpenIn || (EViewOpenIn = {}));
45
39
  var EDrawerPlacement;
46
40
  (function (EDrawerPlacement) {
@@ -138,6 +132,39 @@ function __rest(s, e) {
138
132
  return t;
139
133
  }
140
134
 
135
+ function __values(o) {
136
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
137
+ if (m) return m.call(o);
138
+ if (o && typeof o.length === "number") return {
139
+ next: function () {
140
+ if (o && i >= o.length) o = void 0;
141
+ return { value: o && o[i++], done: !o };
142
+ }
143
+ };
144
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
145
+ }
146
+
147
+ function __read(o, n) {
148
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
149
+ if (!m) return o;
150
+ var i = m.call(o), r, ar = [], e;
151
+ try {
152
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
153
+ }
154
+ catch (error) { e = { error: error }; }
155
+ finally {
156
+ try {
157
+ if (r && !r.done && (m = i["return"])) m.call(i);
158
+ }
159
+ finally { if (e) throw e.error; }
160
+ }
161
+ return ar;
162
+ }
163
+
164
+ function __makeTemplateObject(cooked, raw) {
165
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
166
+ return cooked;
167
+ }
141
168
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
142
169
  var e = new Error(message);
143
170
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
@@ -682,6 +709,11 @@ var ESortingValueModes;
682
709
  /** Сортировка по показателю(разрезу или мере) виджета */
683
710
  ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
684
711
  })(ESortingValueModes || (ESortingValueModes = {}));
712
+ var EFormatOrFormattingMode;
713
+ (function (EFormatOrFormattingMode) {
714
+ EFormatOrFormattingMode["BASE"] = "BASE";
715
+ EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
716
+ })(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
685
717
  /** Тип показателя */
686
718
  var EIndicatorType;
687
719
  (function (EIndicatorType) {
@@ -761,24 +793,104 @@ var minTemplate = createAggregationTemplate$1("minIf");
761
793
  var maxTemplate = createAggregationTemplate$1("maxIf");
762
794
  var sumTemplate = createAggregationTemplate$1("sumIf");
763
795
 
796
+ /** @deprecated - следует использовать fillTemplateSql */
764
797
  function fillTemplateString(templateString, params) {
765
- return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
798
+ return templateString.replace(/\{(.*?)\}/g, function (_, key) {
799
+ var _a;
800
+ return (_a = params[key]) !== null && _a !== void 0 ? _a : "";
801
+ });
802
+ }
803
+ /** Функция для безопасного заполнения SQL шаблонов с защитой от однострочных SQL комментариев в подставляемых значениях. */
804
+ function fillTemplateSql(templateString, params) {
805
+ var e_1, _a;
806
+ var newParams = {};
807
+ try {
808
+ for (var _b = __values(Object.entries(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
809
+ var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
810
+ if (!value) {
811
+ newParams[key] = value;
812
+ break;
813
+ }
814
+ /** Эвристическая проверка на возможное присутствие sql-комментария в значении подставляемом в template
815
+ */
816
+ if (typeof value === "string" && value.indexOf("--") >= 0) {
817
+ newParams[key] = "".concat(value, "\n");
818
+ break;
819
+ }
820
+ newParams[key] = value;
821
+ }
822
+ }
823
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
824
+ finally {
825
+ try {
826
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
827
+ }
828
+ finally { if (e_1) throw e_1.error; }
829
+ }
830
+ return fillTemplateString(templateString, newParams);
831
+ }
832
+
833
+ /** Создать функцию экранирования переданных `specialChars` внутри `str` */
834
+ var createEscaper = function (specialChars) { return function (str) {
835
+ return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
836
+ }; };
837
+
838
+ /** Удалить из строки символы экранирования */
839
+ function unescapeSpecialCharacters(str) {
840
+ return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
766
841
  }
767
842
 
768
- /** Функция для экранирования специальных символов
769
- * при подстановке названий таблиц, колонок, переменных или показателей в SQL-формулы.
770
- * Пример: Если название переменной содержит кавычки или обратные слеши,
771
- * например: `te"s\t`, то перед подстановкой в SQL-формулу его следует экранировать.
772
- * Результат должен выглядеть так: `"inputs"."te\"s\\t"`
843
+ /**
844
+ * Создает RegExp-паттерн для подстроки с безопасными символами.
845
+ *
846
+ * Подстрока может содержать любой символ, кроме:
847
+ * 1. `restrictedChar` - запрещено появление без экранирования.
848
+ * 2. Обратного слэша (`\`) - запрещено появление без пары.
849
+ *
850
+ * Правило экранирования:
851
+ * - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
852
+ * - Последний символ в подстроке не может быть одинокий слэш.
853
+ *
854
+ * @param restrictedChar Символ, который нельзя использовать без экранирования.
855
+ * @returns Строка для вставки внутрь RegExp.
856
+ */
857
+ var createEscapableCharPattern = function (restrictedChar) {
858
+ return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
859
+ };
860
+ /**
861
+ * Паттерн подстроки, валидной для использования внутри фигурных скобок.
862
+ * Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
863
+ */
864
+ var curlyBracketsContentPattern = createEscapableCharPattern("}");
865
+ /**
866
+ * Паттерн подстроки, валидной для использования внутри двойных кавычек.
867
+ * Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
773
868
  */
774
- var escapeSpecialCharacters = function (value) {
775
- return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
869
+ var doubleQuoteContentPattern = createEscapableCharPattern('"');
870
+ var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
871
+ var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
872
+ /** Экранирование спец.символов при подстановке названий таблиц и колонок */
873
+ var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
874
+ /** Экранирование спец.символов при подстановке названий переменных и показателей */
875
+ var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
876
+ var parseIndicatorLink = function (formula) {
877
+ var dashboardMatch = formula.match(dashboardLinkRegExp.source);
878
+ if (dashboardMatch) {
879
+ return { scopeName: null, indicatorName: dashboardMatch[1] };
880
+ }
881
+ var workspaceMatch = formula.match(workspaceLinkRegExp.source);
882
+ if (workspaceMatch) {
883
+ return {
884
+ scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
885
+ indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
886
+ };
887
+ }
888
+ return null;
776
889
  };
890
+ var templateObject_1, templateObject_2, templateObject_3;
777
891
 
778
892
  function generateColumnFormula(tableName, columnName) {
779
- var preparedTableName = escapeSpecialCharacters(tableName);
780
- var preparedColumnName = escapeSpecialCharacters(columnName);
781
- return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
893
+ return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
782
894
  }
783
895
 
784
896
  var escapeSingularQuotes = function (formula) {
@@ -944,7 +1056,7 @@ var timeTemplates = (function () {
944
1056
  var generateTemplates = function (innerTemplate) {
945
1057
  var templates = {};
946
1058
  for (var key in dimensionTemplateFormulas) {
947
- templates[key] = fillTemplateString(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
1059
+ templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
948
1060
  }
949
1061
  return templates;
950
1062
  };
@@ -987,7 +1099,7 @@ function getDimensionFormula(_a) {
987
1099
  if (!templateFormula || !tableName || !columnName) {
988
1100
  return "";
989
1101
  }
990
- return fillTemplateString(templateFormula, {
1102
+ return fillTemplateSql(templateFormula, {
991
1103
  columnFormula: generateColumnFormula(tableName, columnName),
992
1104
  });
993
1105
  }
@@ -1000,10 +1112,10 @@ function getDimensionFormula(_a) {
1000
1112
  ? dimensionTemplateFormulas[value.innerTemplateName]
1001
1113
  : null;
1002
1114
  var columnFormula = innerTemplate
1003
- ? fillTemplateString(innerTemplate, { columnFormula: preparedParams.columnFormula })
1115
+ ? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
1004
1116
  : preparedParams.columnFormula;
1005
1117
  var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
1006
- return fillTemplateString(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1118
+ return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1007
1119
  }
1008
1120
  if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
1009
1121
  value.mode === EWidgetIndicatorValueModes.END_TIME) {
@@ -1012,7 +1124,7 @@ function getDimensionFormula(_a) {
1012
1124
  return "";
1013
1125
  }
1014
1126
  var templateFormula = timeTemplates[value.mode][value.templateName];
1015
- return fillTemplateString(templateFormula, preparedParams);
1127
+ return fillTemplateSql(templateFormula, preparedParams);
1016
1128
  }
1017
1129
  return "";
1018
1130
  }
@@ -1238,14 +1350,14 @@ function getMeasureFormula(_a) {
1238
1350
  if (!templateFormula || !tableName || !columnName) {
1239
1351
  return "";
1240
1352
  }
1241
- return fillTemplateString(templateFormula, {
1353
+ return fillTemplateSql(templateFormula, {
1242
1354
  columnFormula: generateColumnFormula(tableName, columnName),
1243
1355
  });
1244
1356
  }
1245
1357
  if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
1246
1358
  var preparedParams = prepareMeasureAggregationParams(value);
1247
1359
  return preparedParams
1248
- ? fillTemplateString(createAggregationTemplate(value.templateName, {
1360
+ ? fillTemplateSql(createAggregationTemplate(value.templateName, {
1249
1361
  outerAggregation: preparedParams.outerAggregation,
1250
1362
  anyEvent: value.anyEvent,
1251
1363
  }), preparedParams)
@@ -1256,14 +1368,14 @@ function getMeasureFormula(_a) {
1256
1368
  if (!preparedParams) {
1257
1369
  return "";
1258
1370
  }
1259
- return fillTemplateString(conversionTemplate, preparedParams);
1371
+ return fillTemplateSql(conversionTemplate, preparedParams);
1260
1372
  }
1261
1373
  if (value.mode === EWidgetIndicatorValueModes.DURATION) {
1262
1374
  var preparedParams = prepareDurationParams(value);
1263
1375
  if (!preparedParams) {
1264
1376
  return "";
1265
1377
  }
1266
- return fillTemplateString(durationTemplates[value.templateName], preparedParams);
1378
+ return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
1267
1379
  }
1268
1380
  return "";
1269
1381
  }
@@ -1289,7 +1401,7 @@ function getEventMeasureFormula(_a, process) {
1289
1401
  }
1290
1402
  if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
1291
1403
  var templateFormula = eventMeasureTemplateFormulas[value.templateName];
1292
- return templateFormula && fillTemplateString(templateFormula, process);
1404
+ return templateFormula && fillTemplateSql(templateFormula, process);
1293
1405
  }
1294
1406
  return "";
1295
1407
  }
@@ -1315,52 +1427,16 @@ function getTransitionMeasureFormula(_a, process) {
1315
1427
  }
1316
1428
  if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
1317
1429
  var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
1318
- return templateFormula && fillTemplateString(templateFormula, process);
1430
+ return templateFormula && fillTemplateSql(templateFormula, process);
1319
1431
  }
1320
1432
  return "";
1321
1433
  }
1322
1434
 
1323
- /** Удалить из строки символы экранирования */
1324
- function unescapeSpecialCharacters(str) {
1325
- return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
1326
- }
1327
-
1328
- /**
1329
- * Регулярное выражение для поиска имени ссылки внутри формулы.
1330
- * Учитывает, что имя внутри формулы содержит экраны.
1331
- *
1332
- * Принцип работы:
1333
- * Пробовать следующие вхождения:
1334
- * - \\\\ - экранированный символ обратного слэша.
1335
- * - Иначе \\" - экранированный символ кавычки.
1336
- * - Иначе [^"] - любой символ кроме кавычки.
1337
- * Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
1338
- */
1339
- var linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
1340
- var dashboardLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"(?!\\.\"").concat(linkNameRegExp, "\")"), "g");
1341
- var workspaceLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"\\.\"(").concat(linkNameRegExp, ")\""), "g");
1342
- var parseIndicatorLink = function (formula) {
1343
- var dashboardMatch = formula.match(dashboardLinkRegExp.source);
1344
- if (dashboardMatch) {
1345
- return { scopeName: null, indicatorName: dashboardMatch[1] };
1346
- }
1347
- var workspaceMatch = formula.match(workspaceLinkRegExp.source);
1348
- if (workspaceMatch) {
1349
- return {
1350
- scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
1351
- indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
1352
- };
1353
- }
1354
- return null;
1355
- };
1356
-
1357
1435
  // Типы, используемые в значениях элементов управления.
1358
1436
  var EWidgetFilterMode;
1359
1437
  (function (EWidgetFilterMode) {
1360
1438
  EWidgetFilterMode["DEFAULT"] = "DEFAULT";
1361
1439
  EWidgetFilterMode["SINGLE"] = "SINGLE";
1362
- /** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
1363
- EWidgetFilterMode["MULTI"] = "MULTI";
1364
1440
  EWidgetFilterMode["DISABLED"] = "DISABLED";
1365
1441
  })(EWidgetFilterMode || (EWidgetFilterMode = {}));
1366
1442
  var EMarkdownDisplayMode;
@@ -1543,7 +1619,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
1543
1619
  if (!isFormulaFilterValue(filterValue)) {
1544
1620
  return {
1545
1621
  dbDataType: EClickHouseBaseTypes.Bool,
1546
- formula: fillTemplateString(displayConditionTemplate, {
1622
+ formula: fillTemplateSql(displayConditionTemplate, {
1547
1623
  formula: prepareFormulaForSql(filterValue.formula),
1548
1624
  }),
1549
1625
  values: ["true"],
@@ -1719,7 +1795,8 @@ var getDefaultSortOrders = function (_a) {
1719
1795
  }
1720
1796
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
1721
1797
  var timeDimension = dimensions.find(function (dimension) {
1722
- return dimension.format &&
1798
+ var _a;
1799
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
1723
1800
  [
1724
1801
  EFormatTypes.DATE,
1725
1802
  EFormatTypes.MONTH,
@@ -1732,7 +1809,7 @@ var getDefaultSortOrders = function (_a) {
1732
1809
  EFormatTypes.QUARTER_YEAR,
1733
1810
  EFormatTypes.DAY_OF_MONTH,
1734
1811
  EFormatTypes.WEEK,
1735
- ].includes(dimension.format);
1812
+ ].includes(dimension.format.value);
1736
1813
  });
1737
1814
  if (timeDimension) {
1738
1815
  return [
@@ -1836,6 +1913,8 @@ var EControlType;
1836
1913
  (function (EControlType) {
1837
1914
  /** Ввод текста */
1838
1915
  EControlType["input"] = "input";
1916
+ /** Ввод текста с поддержкой шаблонной вставки сущностей */
1917
+ EControlType["inputTemplate"] = "inputTemplate";
1839
1918
  /** Ввод текста в формате markdown */
1840
1919
  EControlType["inputMarkdown"] = "inputMarkdown";
1841
1920
  /** Ввод числа */
@@ -1949,19 +2028,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
1949
2028
  replacedFilter: null,
1950
2029
  });
1951
2030
  };
1952
- /** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
1953
- var updateMultiModeSelection = function (selection, formula, value) {
1954
- var _a;
1955
- var selectionItemValues = getSelectionItemValues(value, EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
1956
- if (!selectionItemValues.size) {
1957
- selection.delete(formula);
1958
- return;
1959
- }
1960
- selection.set(formula, {
1961
- values: selectionItemValues,
1962
- replacedFilter: null,
1963
- });
1964
- };
1965
2031
  var replaceFiltersBySelection = function (filters, selection) {
1966
2032
  return filters.reduce(function (acc, filter) {
1967
2033
  var _a;
@@ -2082,4 +2148,4 @@ var getColorByIndex = function (index) {
2082
2148
  return color;
2083
2149
  };
2084
2150
 
2085
- 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, OuterAggregation, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createAggregationTemplate as createMeasureAggregationTemplate, 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, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
2151
+ 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, OuterAggregation, 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, fillTemplateSql, 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 };