@infomaximum/widget-sdk 6.0.0-5 → 6.0.0-7

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
@@ -132,6 +132,35 @@ function __rest(s, e) {
132
132
  return t;
133
133
  }
134
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
+
135
164
  function __makeTemplateObject(cooked, raw) {
136
165
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
137
166
  return cooked;
@@ -680,6 +709,11 @@ var ESortingValueModes;
680
709
  /** Сортировка по показателю(разрезу или мере) виджета */
681
710
  ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
682
711
  })(ESortingValueModes || (ESortingValueModes = {}));
712
+ var EFormatOrFormattingMode;
713
+ (function (EFormatOrFormattingMode) {
714
+ EFormatOrFormattingMode["BASE"] = "BASE";
715
+ EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
716
+ })(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
683
717
  /** Тип показателя */
684
718
  var EIndicatorType;
685
719
  (function (EIndicatorType) {
@@ -759,8 +793,41 @@ var minTemplate = createAggregationTemplate$1("minIf");
759
793
  var maxTemplate = createAggregationTemplate$1("maxIf");
760
794
  var sumTemplate = createAggregationTemplate$1("sumIf");
761
795
 
796
+ /** @deprecated - следует использовать fillTemplateSql */
762
797
  function fillTemplateString(templateString, params) {
763
- 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);
764
831
  }
765
832
 
766
833
  /** Создать функцию экранирования переданных `specialChars` внутри `str` */
@@ -989,7 +1056,7 @@ var timeTemplates = (function () {
989
1056
  var generateTemplates = function (innerTemplate) {
990
1057
  var templates = {};
991
1058
  for (var key in dimensionTemplateFormulas) {
992
- templates[key] = fillTemplateString(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
1059
+ templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
993
1060
  }
994
1061
  return templates;
995
1062
  };
@@ -1032,7 +1099,7 @@ function getDimensionFormula(_a) {
1032
1099
  if (!templateFormula || !tableName || !columnName) {
1033
1100
  return "";
1034
1101
  }
1035
- return fillTemplateString(templateFormula, {
1102
+ return fillTemplateSql(templateFormula, {
1036
1103
  columnFormula: generateColumnFormula(tableName, columnName),
1037
1104
  });
1038
1105
  }
@@ -1045,10 +1112,10 @@ function getDimensionFormula(_a) {
1045
1112
  ? dimensionTemplateFormulas[value.innerTemplateName]
1046
1113
  : null;
1047
1114
  var columnFormula = innerTemplate
1048
- ? fillTemplateString(innerTemplate, { columnFormula: preparedParams.columnFormula })
1115
+ ? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
1049
1116
  : preparedParams.columnFormula;
1050
1117
  var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
1051
- return fillTemplateString(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1118
+ return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1052
1119
  }
1053
1120
  if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
1054
1121
  value.mode === EWidgetIndicatorValueModes.END_TIME) {
@@ -1057,7 +1124,7 @@ function getDimensionFormula(_a) {
1057
1124
  return "";
1058
1125
  }
1059
1126
  var templateFormula = timeTemplates[value.mode][value.templateName];
1060
- return fillTemplateString(templateFormula, preparedParams);
1127
+ return fillTemplateSql(templateFormula, preparedParams);
1061
1128
  }
1062
1129
  return "";
1063
1130
  }
@@ -1283,14 +1350,14 @@ function getMeasureFormula(_a) {
1283
1350
  if (!templateFormula || !tableName || !columnName) {
1284
1351
  return "";
1285
1352
  }
1286
- return fillTemplateString(templateFormula, {
1353
+ return fillTemplateSql(templateFormula, {
1287
1354
  columnFormula: generateColumnFormula(tableName, columnName),
1288
1355
  });
1289
1356
  }
1290
1357
  if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
1291
1358
  var preparedParams = prepareMeasureAggregationParams(value);
1292
1359
  return preparedParams
1293
- ? fillTemplateString(createAggregationTemplate(value.templateName, {
1360
+ ? fillTemplateSql(createAggregationTemplate(value.templateName, {
1294
1361
  outerAggregation: preparedParams.outerAggregation,
1295
1362
  anyEvent: value.anyEvent,
1296
1363
  }), preparedParams)
@@ -1301,14 +1368,14 @@ function getMeasureFormula(_a) {
1301
1368
  if (!preparedParams) {
1302
1369
  return "";
1303
1370
  }
1304
- return fillTemplateString(conversionTemplate, preparedParams);
1371
+ return fillTemplateSql(conversionTemplate, preparedParams);
1305
1372
  }
1306
1373
  if (value.mode === EWidgetIndicatorValueModes.DURATION) {
1307
1374
  var preparedParams = prepareDurationParams(value);
1308
1375
  if (!preparedParams) {
1309
1376
  return "";
1310
1377
  }
1311
- return fillTemplateString(durationTemplates[value.templateName], preparedParams);
1378
+ return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
1312
1379
  }
1313
1380
  return "";
1314
1381
  }
@@ -1334,7 +1401,7 @@ function getEventMeasureFormula(_a, process) {
1334
1401
  }
1335
1402
  if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
1336
1403
  var templateFormula = eventMeasureTemplateFormulas[value.templateName];
1337
- return templateFormula && fillTemplateString(templateFormula, process);
1404
+ return templateFormula && fillTemplateSql(templateFormula, process);
1338
1405
  }
1339
1406
  return "";
1340
1407
  }
@@ -1360,7 +1427,7 @@ function getTransitionMeasureFormula(_a, process) {
1360
1427
  }
1361
1428
  if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
1362
1429
  var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
1363
- return templateFormula && fillTemplateString(templateFormula, process);
1430
+ return templateFormula && fillTemplateSql(templateFormula, process);
1364
1431
  }
1365
1432
  return "";
1366
1433
  }
@@ -1552,7 +1619,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
1552
1619
  if (!isFormulaFilterValue(filterValue)) {
1553
1620
  return {
1554
1621
  dbDataType: EClickHouseBaseTypes.Bool,
1555
- formula: fillTemplateString(displayConditionTemplate, {
1622
+ formula: fillTemplateSql(displayConditionTemplate, {
1556
1623
  formula: prepareFormulaForSql(filterValue.formula),
1557
1624
  }),
1558
1625
  values: ["true"],
@@ -1728,7 +1795,8 @@ var getDefaultSortOrders = function (_a) {
1728
1795
  }
1729
1796
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
1730
1797
  var timeDimension = dimensions.find(function (dimension) {
1731
- return dimension.format &&
1798
+ var _a;
1799
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
1732
1800
  [
1733
1801
  EFormatTypes.DATE,
1734
1802
  EFormatTypes.MONTH,
@@ -1741,7 +1809,7 @@ var getDefaultSortOrders = function (_a) {
1741
1809
  EFormatTypes.QUARTER_YEAR,
1742
1810
  EFormatTypes.DAY_OF_MONTH,
1743
1811
  EFormatTypes.WEEK,
1744
- ].includes(dimension.format);
1812
+ ].includes(dimension.format.value);
1745
1813
  });
1746
1814
  if (timeDimension) {
1747
1815
  return [
@@ -1845,6 +1913,8 @@ var EControlType;
1845
1913
  (function (EControlType) {
1846
1914
  /** Ввод текста */
1847
1915
  EControlType["input"] = "input";
1916
+ /** Ввод текста с поддержкой шаблонной вставки сущностей */
1917
+ EControlType["inputTemplate"] = "inputTemplate";
1848
1918
  /** Ввод текста в формате markdown */
1849
1919
  EControlType["inputMarkdown"] = "inputMarkdown";
1850
1920
  /** Ввод числа */
@@ -2078,4 +2148,4 @@ var getColorByIndex = function (index) {
2078
2148
  return color;
2079
2149
  };
2080
2150
 
2081
- 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, 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 };
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 };
package/dist/index.js CHANGED
@@ -133,6 +133,35 @@ function __rest(s, e) {
133
133
  return t;
134
134
  }
135
135
 
136
+ function __values(o) {
137
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
138
+ if (m) return m.call(o);
139
+ if (o && typeof o.length === "number") return {
140
+ next: function () {
141
+ if (o && i >= o.length) o = void 0;
142
+ return { value: o && o[i++], done: !o };
143
+ }
144
+ };
145
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
146
+ }
147
+
148
+ function __read(o, n) {
149
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
150
+ if (!m) return o;
151
+ var i = m.call(o), r, ar = [], e;
152
+ try {
153
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
154
+ }
155
+ catch (error) { e = { error: error }; }
156
+ finally {
157
+ try {
158
+ if (r && !r.done && (m = i["return"])) m.call(i);
159
+ }
160
+ finally { if (e) throw e.error; }
161
+ }
162
+ return ar;
163
+ }
164
+
136
165
  function __makeTemplateObject(cooked, raw) {
137
166
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
138
167
  return cooked;
@@ -681,6 +710,11 @@ exports.ESortingValueModes = void 0;
681
710
  /** Сортировка по показателю(разрезу или мере) виджета */
682
711
  ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
683
712
  })(exports.ESortingValueModes || (exports.ESortingValueModes = {}));
713
+ exports.EFormatOrFormattingMode = void 0;
714
+ (function (EFormatOrFormattingMode) {
715
+ EFormatOrFormattingMode["BASE"] = "BASE";
716
+ EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
717
+ })(exports.EFormatOrFormattingMode || (exports.EFormatOrFormattingMode = {}));
684
718
  /** Тип показателя */
685
719
  exports.EIndicatorType = void 0;
686
720
  (function (EIndicatorType) {
@@ -760,8 +794,41 @@ var minTemplate = createAggregationTemplate$1("minIf");
760
794
  var maxTemplate = createAggregationTemplate$1("maxIf");
761
795
  var sumTemplate = createAggregationTemplate$1("sumIf");
762
796
 
797
+ /** @deprecated - следует использовать fillTemplateSql */
763
798
  function fillTemplateString(templateString, params) {
764
- return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
799
+ return templateString.replace(/\{(.*?)\}/g, function (_, key) {
800
+ var _a;
801
+ return (_a = params[key]) !== null && _a !== void 0 ? _a : "";
802
+ });
803
+ }
804
+ /** Функция для безопасного заполнения SQL шаблонов с защитой от однострочных SQL комментариев в подставляемых значениях. */
805
+ function fillTemplateSql(templateString, params) {
806
+ var e_1, _a;
807
+ var newParams = {};
808
+ try {
809
+ for (var _b = __values(Object.entries(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
810
+ var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
811
+ if (!value) {
812
+ newParams[key] = value;
813
+ break;
814
+ }
815
+ /** Эвристическая проверка на возможное присутствие sql-комментария в значении подставляемом в template
816
+ */
817
+ if (typeof value === "string" && value.indexOf("--") >= 0) {
818
+ newParams[key] = "".concat(value, "\n");
819
+ break;
820
+ }
821
+ newParams[key] = value;
822
+ }
823
+ }
824
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
825
+ finally {
826
+ try {
827
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
828
+ }
829
+ finally { if (e_1) throw e_1.error; }
830
+ }
831
+ return fillTemplateString(templateString, newParams);
765
832
  }
766
833
 
767
834
  /** Создать функцию экранирования переданных `specialChars` внутри `str` */
@@ -990,7 +1057,7 @@ var timeTemplates = (function () {
990
1057
  var generateTemplates = function (innerTemplate) {
991
1058
  var templates = {};
992
1059
  for (var key in dimensionTemplateFormulas) {
993
- templates[key] = fillTemplateString(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
1060
+ templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
994
1061
  }
995
1062
  return templates;
996
1063
  };
@@ -1033,7 +1100,7 @@ function getDimensionFormula(_a) {
1033
1100
  if (!templateFormula || !tableName || !columnName) {
1034
1101
  return "";
1035
1102
  }
1036
- return fillTemplateString(templateFormula, {
1103
+ return fillTemplateSql(templateFormula, {
1037
1104
  columnFormula: generateColumnFormula(tableName, columnName),
1038
1105
  });
1039
1106
  }
@@ -1046,10 +1113,10 @@ function getDimensionFormula(_a) {
1046
1113
  ? dimensionTemplateFormulas[value.innerTemplateName]
1047
1114
  : null;
1048
1115
  var columnFormula = innerTemplate
1049
- ? fillTemplateString(innerTemplate, { columnFormula: preparedParams.columnFormula })
1116
+ ? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
1050
1117
  : preparedParams.columnFormula;
1051
1118
  var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
1052
- return fillTemplateString(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1119
+ return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
1053
1120
  }
1054
1121
  if (value.mode === exports.EWidgetIndicatorValueModes.START_TIME ||
1055
1122
  value.mode === exports.EWidgetIndicatorValueModes.END_TIME) {
@@ -1058,7 +1125,7 @@ function getDimensionFormula(_a) {
1058
1125
  return "";
1059
1126
  }
1060
1127
  var templateFormula = timeTemplates[value.mode][value.templateName];
1061
- return fillTemplateString(templateFormula, preparedParams);
1128
+ return fillTemplateSql(templateFormula, preparedParams);
1062
1129
  }
1063
1130
  return "";
1064
1131
  }
@@ -1284,14 +1351,14 @@ function getMeasureFormula(_a) {
1284
1351
  if (!templateFormula || !tableName || !columnName) {
1285
1352
  return "";
1286
1353
  }
1287
- return fillTemplateString(templateFormula, {
1354
+ return fillTemplateSql(templateFormula, {
1288
1355
  columnFormula: generateColumnFormula(tableName, columnName),
1289
1356
  });
1290
1357
  }
1291
1358
  if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
1292
1359
  var preparedParams = prepareMeasureAggregationParams(value);
1293
1360
  return preparedParams
1294
- ? fillTemplateString(createAggregationTemplate(value.templateName, {
1361
+ ? fillTemplateSql(createAggregationTemplate(value.templateName, {
1295
1362
  outerAggregation: preparedParams.outerAggregation,
1296
1363
  anyEvent: value.anyEvent,
1297
1364
  }), preparedParams)
@@ -1302,14 +1369,14 @@ function getMeasureFormula(_a) {
1302
1369
  if (!preparedParams) {
1303
1370
  return "";
1304
1371
  }
1305
- return fillTemplateString(conversionTemplate, preparedParams);
1372
+ return fillTemplateSql(conversionTemplate, preparedParams);
1306
1373
  }
1307
1374
  if (value.mode === exports.EWidgetIndicatorValueModes.DURATION) {
1308
1375
  var preparedParams = prepareDurationParams(value);
1309
1376
  if (!preparedParams) {
1310
1377
  return "";
1311
1378
  }
1312
- return fillTemplateString(durationTemplates[value.templateName], preparedParams);
1379
+ return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
1313
1380
  }
1314
1381
  return "";
1315
1382
  }
@@ -1335,7 +1402,7 @@ function getEventMeasureFormula(_a, process) {
1335
1402
  }
1336
1403
  if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
1337
1404
  var templateFormula = eventMeasureTemplateFormulas[value.templateName];
1338
- return templateFormula && fillTemplateString(templateFormula, process);
1405
+ return templateFormula && fillTemplateSql(templateFormula, process);
1339
1406
  }
1340
1407
  return "";
1341
1408
  }
@@ -1361,7 +1428,7 @@ function getTransitionMeasureFormula(_a, process) {
1361
1428
  }
1362
1429
  if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
1363
1430
  var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
1364
- return templateFormula && fillTemplateString(templateFormula, process);
1431
+ return templateFormula && fillTemplateSql(templateFormula, process);
1365
1432
  }
1366
1433
  return "";
1367
1434
  }
@@ -1553,7 +1620,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
1553
1620
  if (!isFormulaFilterValue(filterValue)) {
1554
1621
  return {
1555
1622
  dbDataType: exports.EClickHouseBaseTypes.Bool,
1556
- formula: fillTemplateString(displayConditionTemplate, {
1623
+ formula: fillTemplateSql(displayConditionTemplate, {
1557
1624
  formula: prepareFormulaForSql(filterValue.formula),
1558
1625
  }),
1559
1626
  values: ["true"],
@@ -1729,7 +1796,8 @@ var getDefaultSortOrders = function (_a) {
1729
1796
  }
1730
1797
  /** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
1731
1798
  var timeDimension = dimensions.find(function (dimension) {
1732
- return dimension.format &&
1799
+ var _a;
1800
+ return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
1733
1801
  [
1734
1802
  exports.EFormatTypes.DATE,
1735
1803
  exports.EFormatTypes.MONTH,
@@ -1742,7 +1810,7 @@ var getDefaultSortOrders = function (_a) {
1742
1810
  exports.EFormatTypes.QUARTER_YEAR,
1743
1811
  exports.EFormatTypes.DAY_OF_MONTH,
1744
1812
  exports.EFormatTypes.WEEK,
1745
- ].includes(dimension.format);
1813
+ ].includes(dimension.format.value);
1746
1814
  });
1747
1815
  if (timeDimension) {
1748
1816
  return [
@@ -1846,6 +1914,8 @@ exports.EControlType = void 0;
1846
1914
  (function (EControlType) {
1847
1915
  /** Ввод текста */
1848
1916
  EControlType["input"] = "input";
1917
+ /** Ввод текста с поддержкой шаблонной вставки сущностей */
1918
+ EControlType["inputTemplate"] = "inputTemplate";
1849
1919
  /** Ввод текста в формате markdown */
1850
1920
  EControlType["inputMarkdown"] = "inputMarkdown";
1851
1921
  /** Ввод числа */
@@ -2110,6 +2180,7 @@ exports.durationTemplates = durationTemplates;
2110
2180
  exports.escapeCurlyBracketLinkName = escapeCurlyBracketLinkName;
2111
2181
  exports.escapeDoubleQuoteLinkName = escapeDoubleQuoteLinkName;
2112
2182
  exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
2183
+ exports.fillTemplateSql = fillTemplateSql;
2113
2184
  exports.fillTemplateString = fillTemplateString;
2114
2185
  exports.formattingConfig = formattingConfig;
2115
2186
  exports.formulaFilterMethods = formulaFilterMethods;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "6.0.0-5",
3
+ "version": "6.0.0-7",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",