@infomaximum/widget-sdk 6.0.0-wefi344-1 → 6.0.0-wefi344-2

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,10 @@ function __rest(s, e) {
138
132
  return t;
139
133
  }
140
134
 
135
+ function __makeTemplateObject(cooked, raw) {
136
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
137
+ return cooked;
138
+ }
141
139
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
142
140
  var e = new Error(message);
143
141
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
@@ -682,6 +680,11 @@ var ESortingValueModes;
682
680
  /** Сортировка по показателю(разрезу или мере) виджета */
683
681
  ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
684
682
  })(ESortingValueModes || (ESortingValueModes = {}));
683
+ var EFormatOrFormattingMode;
684
+ (function (EFormatOrFormattingMode) {
685
+ EFormatOrFormattingMode["BASE"] = "BASE";
686
+ EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
687
+ })(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
685
688
  /** Тип показателя */
686
689
  var EIndicatorType;
687
690
  (function (EIndicatorType) {
@@ -765,20 +768,67 @@ function fillTemplateString(templateString, params) {
765
768
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
766
769
  }
767
770
 
768
- /** Функция для экранирования специальных символов
769
- * при подстановке названий таблиц, колонок, переменных или показателей в SQL-формулы.
770
- * Пример: Если название переменной содержит кавычки или обратные слеши,
771
- * например: `te"s\t`, то перед подстановкой в SQL-формулу его следует экранировать.
772
- * Результат должен выглядеть так: `"inputs"."te\"s\\t"`
771
+ /** Создать функцию экранирования переданных `specialChars` внутри `str` */
772
+ var createEscaper = function (specialChars) { return function (str) {
773
+ return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
774
+ }; };
775
+
776
+ /** Удалить из строки символы экранирования */
777
+ function unescapeSpecialCharacters(str) {
778
+ return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
779
+ }
780
+
781
+ /**
782
+ * Создает RegExp-паттерн для подстроки с безопасными символами.
783
+ *
784
+ * Подстрока может содержать любой символ, кроме:
785
+ * 1. `restrictedChar` - запрещено появление без экранирования.
786
+ * 2. Обратного слэша (`\`) - запрещено появление без пары.
787
+ *
788
+ * Правило экранирования:
789
+ * - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
790
+ * - Последний символ в подстроке не может быть одинокий слэш.
791
+ *
792
+ * @param restrictedChar Символ, который нельзя использовать без экранирования.
793
+ * @returns Строка для вставки внутрь RegExp.
794
+ */
795
+ var createEscapableCharPattern = function (restrictedChar) {
796
+ return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
797
+ };
798
+ /**
799
+ * Паттерн подстроки, валидной для использования внутри фигурных скобок.
800
+ * Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
801
+ */
802
+ var curlyBracketsContentPattern = createEscapableCharPattern("}");
803
+ /**
804
+ * Паттерн подстроки, валидной для использования внутри двойных кавычек.
805
+ * Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
773
806
  */
774
- var escapeSpecialCharacters = function (value) {
775
- return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
807
+ var doubleQuoteContentPattern = createEscapableCharPattern('"');
808
+ var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
809
+ var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
810
+ /** Экранирование спец.символов при подстановке названий таблиц и колонок */
811
+ var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
812
+ /** Экранирование спец.символов при подстановке названий переменных и показателей */
813
+ var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
814
+ var parseIndicatorLink = function (formula) {
815
+ var dashboardMatch = formula.match(dashboardLinkRegExp.source);
816
+ if (dashboardMatch) {
817
+ return { scopeName: null, indicatorName: dashboardMatch[1] };
818
+ }
819
+ var workspaceMatch = formula.match(workspaceLinkRegExp.source);
820
+ if (workspaceMatch) {
821
+ return {
822
+ scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
823
+ indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
824
+ };
825
+ }
826
+ return null;
776
827
  };
828
+ var templateObject_1, templateObject_2, templateObject_3;
777
829
 
778
830
  function generateColumnFormula(tableName, columnName) {
779
- var preparedTableName = escapeSpecialCharacters(tableName);
780
- var preparedColumnName = escapeSpecialCharacters(columnName);
781
- return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
831
+ return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
782
832
  }
783
833
 
784
834
  var escapeSingularQuotes = function (formula) {
@@ -1320,47 +1370,11 @@ function getTransitionMeasureFormula(_a, process) {
1320
1370
  return "";
1321
1371
  }
1322
1372
 
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
1373
  // Типы, используемые в значениях элементов управления.
1358
1374
  var EWidgetFilterMode;
1359
1375
  (function (EWidgetFilterMode) {
1360
1376
  EWidgetFilterMode["DEFAULT"] = "DEFAULT";
1361
1377
  EWidgetFilterMode["SINGLE"] = "SINGLE";
1362
- /** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
1363
- EWidgetFilterMode["MULTI"] = "MULTI";
1364
1378
  EWidgetFilterMode["DISABLED"] = "DISABLED";
1365
1379
  })(EWidgetFilterMode || (EWidgetFilterMode = {}));
1366
1380
  var EMarkdownDisplayMode;
@@ -1719,7 +1733,8 @@ var getDefaultSortOrders = function (_a) {
1719
1733
  }
1720
1734
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
1721
1735
  var timeDimension = dimensions.find(function (dimension) {
1722
- return dimension.format &&
1736
+ var _a;
1737
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
1723
1738
  [
1724
1739
  EFormatTypes.DATE,
1725
1740
  EFormatTypes.MONTH,
@@ -1732,7 +1747,7 @@ var getDefaultSortOrders = function (_a) {
1732
1747
  EFormatTypes.QUARTER_YEAR,
1733
1748
  EFormatTypes.DAY_OF_MONTH,
1734
1749
  EFormatTypes.WEEK,
1735
- ].includes(dimension.format);
1750
+ ].includes(dimension.format.value);
1736
1751
  });
1737
1752
  if (timeDimension) {
1738
1753
  return [
@@ -1836,6 +1851,8 @@ var EControlType;
1836
1851
  (function (EControlType) {
1837
1852
  /** Ввод текста */
1838
1853
  EControlType["input"] = "input";
1854
+ /** Ввод текста с поддержкой шаблонной вставки сущностей */
1855
+ EControlType["inputTemplate"] = "inputTemplate";
1839
1856
  /** Ввод текста в формате markdown */
1840
1857
  EControlType["inputMarkdown"] = "inputMarkdown";
1841
1858
  /** Ввод числа */
@@ -1949,19 +1966,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
1949
1966
  replacedFilter: null,
1950
1967
  });
1951
1968
  };
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
1969
  var replaceFiltersBySelection = function (filters, selection) {
1966
1970
  return filters.reduce(function (acc, filter) {
1967
1971
  var _a;
@@ -2082,4 +2086,4 @@ var getColorByIndex = function (index) {
2082
2086
  return color;
2083
2087
  };
2084
2088
 
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 };
2089
+ 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, 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 };
package/dist/index.js CHANGED
@@ -36,12 +36,6 @@ exports.EViewOpenIn = void 0;
36
36
  EViewOpenIn["PLACEHOLDER"] = "PLACEHOLDER";
37
37
  EViewOpenIn["MODAL_WINDOW"] = "MODAL_WINDOW";
38
38
  EViewOpenIn["DRAWER_WINDOW"] = "DRAWER_WINDOW";
39
- // TODO: удалить при выполении BI-14979
40
- /** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - true */
41
- EViewOpenIn["NEW_WINDOW"] = "NEW_WINDOW";
42
- // TODO: удалить при выполении BI-14979
43
- /** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - false */
44
- EViewOpenIn["CURRENT_WINDOW"] = "CURRENT_WINDOW";
45
39
  })(exports.EViewOpenIn || (exports.EViewOpenIn = {}));
46
40
  exports.EDrawerPlacement = void 0;
47
41
  (function (EDrawerPlacement) {
@@ -139,6 +133,10 @@ function __rest(s, e) {
139
133
  return t;
140
134
  }
141
135
 
136
+ function __makeTemplateObject(cooked, raw) {
137
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
138
+ return cooked;
139
+ }
142
140
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
143
141
  var e = new Error(message);
144
142
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
@@ -683,6 +681,11 @@ exports.ESortingValueModes = void 0;
683
681
  /** Сортировка по показателю(разрезу или мере) виджета */
684
682
  ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
685
683
  })(exports.ESortingValueModes || (exports.ESortingValueModes = {}));
684
+ exports.EFormatOrFormattingMode = void 0;
685
+ (function (EFormatOrFormattingMode) {
686
+ EFormatOrFormattingMode["BASE"] = "BASE";
687
+ EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
688
+ })(exports.EFormatOrFormattingMode || (exports.EFormatOrFormattingMode = {}));
686
689
  /** Тип показателя */
687
690
  exports.EIndicatorType = void 0;
688
691
  (function (EIndicatorType) {
@@ -766,20 +769,67 @@ function fillTemplateString(templateString, params) {
766
769
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
767
770
  }
768
771
 
769
- /** Функция для экранирования специальных символов
770
- * при подстановке названий таблиц, колонок, переменных или показателей в SQL-формулы.
771
- * Пример: Если название переменной содержит кавычки или обратные слеши,
772
- * например: `te"s\t`, то перед подстановкой в SQL-формулу его следует экранировать.
773
- * Результат должен выглядеть так: `"inputs"."te\"s\\t"`
772
+ /** Создать функцию экранирования переданных `specialChars` внутри `str` */
773
+ var createEscaper = function (specialChars) { return function (str) {
774
+ return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
775
+ }; };
776
+
777
+ /** Удалить из строки символы экранирования */
778
+ function unescapeSpecialCharacters(str) {
779
+ return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
780
+ }
781
+
782
+ /**
783
+ * Создает RegExp-паттерн для подстроки с безопасными символами.
784
+ *
785
+ * Подстрока может содержать любой символ, кроме:
786
+ * 1. `restrictedChar` - запрещено появление без экранирования.
787
+ * 2. Обратного слэша (`\`) - запрещено появление без пары.
788
+ *
789
+ * Правило экранирования:
790
+ * - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
791
+ * - Последний символ в подстроке не может быть одинокий слэш.
792
+ *
793
+ * @param restrictedChar Символ, который нельзя использовать без экранирования.
794
+ * @returns Строка для вставки внутрь RegExp.
795
+ */
796
+ var createEscapableCharPattern = function (restrictedChar) {
797
+ return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
798
+ };
799
+ /**
800
+ * Паттерн подстроки, валидной для использования внутри фигурных скобок.
801
+ * Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
802
+ */
803
+ var curlyBracketsContentPattern = createEscapableCharPattern("}");
804
+ /**
805
+ * Паттерн подстроки, валидной для использования внутри двойных кавычек.
806
+ * Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
774
807
  */
775
- var escapeSpecialCharacters = function (value) {
776
- return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
808
+ var doubleQuoteContentPattern = createEscapableCharPattern('"');
809
+ var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
810
+ var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
811
+ /** Экранирование спец.символов при подстановке названий таблиц и колонок */
812
+ var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
813
+ /** Экранирование спец.символов при подстановке названий переменных и показателей */
814
+ var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
815
+ var parseIndicatorLink = function (formula) {
816
+ var dashboardMatch = formula.match(dashboardLinkRegExp.source);
817
+ if (dashboardMatch) {
818
+ return { scopeName: null, indicatorName: dashboardMatch[1] };
819
+ }
820
+ var workspaceMatch = formula.match(workspaceLinkRegExp.source);
821
+ if (workspaceMatch) {
822
+ return {
823
+ scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
824
+ indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
825
+ };
826
+ }
827
+ return null;
777
828
  };
829
+ var templateObject_1, templateObject_2, templateObject_3;
778
830
 
779
831
  function generateColumnFormula(tableName, columnName) {
780
- var preparedTableName = escapeSpecialCharacters(tableName);
781
- var preparedColumnName = escapeSpecialCharacters(columnName);
782
- return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
832
+ return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
783
833
  }
784
834
 
785
835
  var escapeSingularQuotes = function (formula) {
@@ -1321,47 +1371,11 @@ function getTransitionMeasureFormula(_a, process) {
1321
1371
  return "";
1322
1372
  }
1323
1373
 
1324
- /** Удалить из строки символы экранирования */
1325
- function unescapeSpecialCharacters(str) {
1326
- return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
1327
- }
1328
-
1329
- /**
1330
- * Регулярное выражение для поиска имени ссылки внутри формулы.
1331
- * Учитывает, что имя внутри формулы содержит экраны.
1332
- *
1333
- * Принцип работы:
1334
- * Пробовать следующие вхождения:
1335
- * - \\\\ - экранированный символ обратного слэша.
1336
- * - Иначе \\" - экранированный символ кавычки.
1337
- * - Иначе [^"] - любой символ кроме кавычки.
1338
- * Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
1339
- */
1340
- var linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
1341
- var dashboardLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"(?!\\.\"").concat(linkNameRegExp, "\")"), "g");
1342
- var workspaceLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"\\.\"(").concat(linkNameRegExp, ")\""), "g");
1343
- var parseIndicatorLink = function (formula) {
1344
- var dashboardMatch = formula.match(dashboardLinkRegExp.source);
1345
- if (dashboardMatch) {
1346
- return { scopeName: null, indicatorName: dashboardMatch[1] };
1347
- }
1348
- var workspaceMatch = formula.match(workspaceLinkRegExp.source);
1349
- if (workspaceMatch) {
1350
- return {
1351
- scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
1352
- indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
1353
- };
1354
- }
1355
- return null;
1356
- };
1357
-
1358
1374
  // Типы, используемые в значениях элементов управления.
1359
1375
  exports.EWidgetFilterMode = void 0;
1360
1376
  (function (EWidgetFilterMode) {
1361
1377
  EWidgetFilterMode["DEFAULT"] = "DEFAULT";
1362
1378
  EWidgetFilterMode["SINGLE"] = "SINGLE";
1363
- /** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
1364
- EWidgetFilterMode["MULTI"] = "MULTI";
1365
1379
  EWidgetFilterMode["DISABLED"] = "DISABLED";
1366
1380
  })(exports.EWidgetFilterMode || (exports.EWidgetFilterMode = {}));
1367
1381
  exports.EMarkdownDisplayMode = void 0;
@@ -1720,7 +1734,8 @@ var getDefaultSortOrders = function (_a) {
1720
1734
  }
1721
1735
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
1722
1736
  var timeDimension = dimensions.find(function (dimension) {
1723
- return dimension.format &&
1737
+ var _a;
1738
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
1724
1739
  [
1725
1740
  exports.EFormatTypes.DATE,
1726
1741
  exports.EFormatTypes.MONTH,
@@ -1733,7 +1748,7 @@ var getDefaultSortOrders = function (_a) {
1733
1748
  exports.EFormatTypes.QUARTER_YEAR,
1734
1749
  exports.EFormatTypes.DAY_OF_MONTH,
1735
1750
  exports.EFormatTypes.WEEK,
1736
- ].includes(dimension.format);
1751
+ ].includes(dimension.format.value);
1737
1752
  });
1738
1753
  if (timeDimension) {
1739
1754
  return [
@@ -1837,6 +1852,8 @@ exports.EControlType = void 0;
1837
1852
  (function (EControlType) {
1838
1853
  /** Ввод текста */
1839
1854
  EControlType["input"] = "input";
1855
+ /** Ввод текста с поддержкой шаблонной вставки сущностей */
1856
+ EControlType["inputTemplate"] = "inputTemplate";
1840
1857
  /** Ввод текста в формате markdown */
1841
1858
  EControlType["inputMarkdown"] = "inputMarkdown";
1842
1859
  /** Ввод числа */
@@ -1950,19 +1967,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
1950
1967
  replacedFilter: null,
1951
1968
  });
1952
1969
  };
1953
- /** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
1954
- var updateMultiModeSelection = function (selection, formula, value) {
1955
- var _a;
1956
- var selectionItemValues = getSelectionItemValues(value, exports.EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
1957
- if (!selectionItemValues.size) {
1958
- selection.delete(formula);
1959
- return;
1960
- }
1961
- selection.set(formula, {
1962
- values: selectionItemValues,
1963
- replacedFilter: null,
1964
- });
1965
- };
1966
1970
  var replaceFiltersBySelection = function (filters, selection) {
1967
1971
  return filters.reduce(function (acc, filter) {
1968
1972
  var _a;
@@ -2102,13 +2106,17 @@ exports.conversionTemplate = conversionTemplate;
2102
2106
  exports.convertFiltersToFormula = convertFiltersToFormula;
2103
2107
  exports.convertToFormulasChain = convertToFormulasChain;
2104
2108
  exports.countExecutionsTemplate = countExecutionsTemplate;
2109
+ exports.createEscaper = createEscaper;
2105
2110
  exports.createMeasureAggregationTemplate = createAggregationTemplate;
2111
+ exports.curlyBracketsContentPattern = curlyBracketsContentPattern;
2106
2112
  exports.dashboardLinkRegExp = dashboardLinkRegExp;
2107
2113
  exports.dimensionAggregationTemplates = dimensionAggregationTemplates;
2108
2114
  exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
2109
2115
  exports.displayConditionTemplate = displayConditionTemplate;
2116
+ exports.doubleQuoteContentPattern = doubleQuoteContentPattern;
2110
2117
  exports.durationTemplates = durationTemplates;
2111
- exports.escapeSpecialCharacters = escapeSpecialCharacters;
2118
+ exports.escapeCurlyBracketLinkName = escapeCurlyBracketLinkName;
2119
+ exports.escapeDoubleQuoteLinkName = escapeDoubleQuoteLinkName;
2112
2120
  exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
2113
2121
  exports.fillTemplateString = fillTemplateString;
2114
2122
  exports.formattingConfig = formattingConfig;
@@ -2126,7 +2134,6 @@ exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
2126
2134
  exports.isDimensionsHierarchy = isDimensionsHierarchy;
2127
2135
  exports.isFormulaFilterValue = isFormulaFilterValue;
2128
2136
  exports.isValidColor = isValidColor;
2129
- exports.linkNameRegExp = linkNameRegExp;
2130
2137
  exports.mapDimensionsToInputs = mapDimensionsToInputs;
2131
2138
  exports.mapEventMeasuresToInputs = mapEventMeasuresToInputs;
2132
2139
  exports.mapFormulaFilterToCalculatorInput = mapFormulaFilterToCalculatorInput;
@@ -2153,6 +2160,5 @@ exports.timeTemplates = timeTemplates;
2153
2160
  exports.transitionMeasureTemplateFormulas = transitionMeasureTemplateFormulas;
2154
2161
  exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
2155
2162
  exports.updateDefaultModeSelection = updateDefaultModeSelection;
2156
- exports.updateMultiModeSelection = updateMultiModeSelection;
2157
2163
  exports.updateSingleModeSelection = updateSingleModeSelection;
2158
2164
  exports.workspaceLinkRegExp = workspaceLinkRegExp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "6.0.0-wefi344-1",
3
+ "version": "6.0.0-wefi344-2",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",