@infomaximum/widget-sdk 6.0.0-2 → 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/CHANGELOG.md +48 -0
- package/README.md +3 -1
- package/dist/index.d.ts +803 -804
- package/dist/index.esm.js +86 -37
- package/dist/index.js +86 -37
- package/package.json +1 -1
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,35 @@ 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
|
+
|
|
141
164
|
function __makeTemplateObject(cooked, raw) {
|
|
142
165
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
143
166
|
return cooked;
|
|
@@ -686,6 +709,11 @@ var ESortingValueModes;
|
|
|
686
709
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
687
710
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
688
711
|
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
712
|
+
var EFormatOrFormattingMode;
|
|
713
|
+
(function (EFormatOrFormattingMode) {
|
|
714
|
+
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
715
|
+
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
716
|
+
})(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
|
|
689
717
|
/** Тип показателя */
|
|
690
718
|
var EIndicatorType;
|
|
691
719
|
(function (EIndicatorType) {
|
|
@@ -765,8 +793,41 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
765
793
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
766
794
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
767
795
|
|
|
796
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
768
797
|
function fillTemplateString(templateString, params) {
|
|
769
|
-
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
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);
|
|
770
831
|
}
|
|
771
832
|
|
|
772
833
|
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
@@ -995,7 +1056,7 @@ var timeTemplates = (function () {
|
|
|
995
1056
|
var generateTemplates = function (innerTemplate) {
|
|
996
1057
|
var templates = {};
|
|
997
1058
|
for (var key in dimensionTemplateFormulas) {
|
|
998
|
-
templates[key] =
|
|
1059
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
999
1060
|
}
|
|
1000
1061
|
return templates;
|
|
1001
1062
|
};
|
|
@@ -1038,7 +1099,7 @@ function getDimensionFormula(_a) {
|
|
|
1038
1099
|
if (!templateFormula || !tableName || !columnName) {
|
|
1039
1100
|
return "";
|
|
1040
1101
|
}
|
|
1041
|
-
return
|
|
1102
|
+
return fillTemplateSql(templateFormula, {
|
|
1042
1103
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1043
1104
|
});
|
|
1044
1105
|
}
|
|
@@ -1051,10 +1112,10 @@ function getDimensionFormula(_a) {
|
|
|
1051
1112
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1052
1113
|
: null;
|
|
1053
1114
|
var columnFormula = innerTemplate
|
|
1054
|
-
?
|
|
1115
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1055
1116
|
: preparedParams.columnFormula;
|
|
1056
1117
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1057
|
-
return
|
|
1118
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1058
1119
|
}
|
|
1059
1120
|
if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
|
|
1060
1121
|
value.mode === EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1063,7 +1124,7 @@ function getDimensionFormula(_a) {
|
|
|
1063
1124
|
return "";
|
|
1064
1125
|
}
|
|
1065
1126
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1066
|
-
return
|
|
1127
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1067
1128
|
}
|
|
1068
1129
|
return "";
|
|
1069
1130
|
}
|
|
@@ -1289,14 +1350,14 @@ function getMeasureFormula(_a) {
|
|
|
1289
1350
|
if (!templateFormula || !tableName || !columnName) {
|
|
1290
1351
|
return "";
|
|
1291
1352
|
}
|
|
1292
|
-
return
|
|
1353
|
+
return fillTemplateSql(templateFormula, {
|
|
1293
1354
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1294
1355
|
});
|
|
1295
1356
|
}
|
|
1296
1357
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1297
1358
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1298
1359
|
return preparedParams
|
|
1299
|
-
?
|
|
1360
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1300
1361
|
outerAggregation: preparedParams.outerAggregation,
|
|
1301
1362
|
anyEvent: value.anyEvent,
|
|
1302
1363
|
}), preparedParams)
|
|
@@ -1307,14 +1368,14 @@ function getMeasureFormula(_a) {
|
|
|
1307
1368
|
if (!preparedParams) {
|
|
1308
1369
|
return "";
|
|
1309
1370
|
}
|
|
1310
|
-
return
|
|
1371
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1311
1372
|
}
|
|
1312
1373
|
if (value.mode === EWidgetIndicatorValueModes.DURATION) {
|
|
1313
1374
|
var preparedParams = prepareDurationParams(value);
|
|
1314
1375
|
if (!preparedParams) {
|
|
1315
1376
|
return "";
|
|
1316
1377
|
}
|
|
1317
|
-
return
|
|
1378
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1318
1379
|
}
|
|
1319
1380
|
return "";
|
|
1320
1381
|
}
|
|
@@ -1340,7 +1401,7 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1340
1401
|
}
|
|
1341
1402
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1342
1403
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1343
|
-
return templateFormula &&
|
|
1404
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1344
1405
|
}
|
|
1345
1406
|
return "";
|
|
1346
1407
|
}
|
|
@@ -1366,7 +1427,7 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1366
1427
|
}
|
|
1367
1428
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1368
1429
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1369
|
-
return templateFormula &&
|
|
1430
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1370
1431
|
}
|
|
1371
1432
|
return "";
|
|
1372
1433
|
}
|
|
@@ -1376,8 +1437,6 @@ var EWidgetFilterMode;
|
|
|
1376
1437
|
(function (EWidgetFilterMode) {
|
|
1377
1438
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1378
1439
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1379
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1380
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1381
1440
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1382
1441
|
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
1383
1442
|
var EMarkdownDisplayMode;
|
|
@@ -1560,7 +1619,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1560
1619
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1561
1620
|
return {
|
|
1562
1621
|
dbDataType: EClickHouseBaseTypes.Bool,
|
|
1563
|
-
formula:
|
|
1622
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1564
1623
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1565
1624
|
}),
|
|
1566
1625
|
values: ["true"],
|
|
@@ -1736,7 +1795,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1736
1795
|
}
|
|
1737
1796
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1738
1797
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1739
|
-
|
|
1798
|
+
var _a;
|
|
1799
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1740
1800
|
[
|
|
1741
1801
|
EFormatTypes.DATE,
|
|
1742
1802
|
EFormatTypes.MONTH,
|
|
@@ -1749,7 +1809,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1749
1809
|
EFormatTypes.QUARTER_YEAR,
|
|
1750
1810
|
EFormatTypes.DAY_OF_MONTH,
|
|
1751
1811
|
EFormatTypes.WEEK,
|
|
1752
|
-
].includes(dimension.format);
|
|
1812
|
+
].includes(dimension.format.value);
|
|
1753
1813
|
});
|
|
1754
1814
|
if (timeDimension) {
|
|
1755
1815
|
return [
|
|
@@ -1853,6 +1913,8 @@ var EControlType;
|
|
|
1853
1913
|
(function (EControlType) {
|
|
1854
1914
|
/** Ввод текста */
|
|
1855
1915
|
EControlType["input"] = "input";
|
|
1916
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1917
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1856
1918
|
/** Ввод текста в формате markdown */
|
|
1857
1919
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1858
1920
|
/** Ввод числа */
|
|
@@ -1966,19 +2028,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1966
2028
|
replacedFilter: null,
|
|
1967
2029
|
});
|
|
1968
2030
|
};
|
|
1969
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1970
|
-
var updateMultiModeSelection = function (selection, formula, value) {
|
|
1971
|
-
var _a;
|
|
1972
|
-
var selectionItemValues = getSelectionItemValues(value, EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
|
|
1973
|
-
if (!selectionItemValues.size) {
|
|
1974
|
-
selection.delete(formula);
|
|
1975
|
-
return;
|
|
1976
|
-
}
|
|
1977
|
-
selection.set(formula, {
|
|
1978
|
-
values: selectionItemValues,
|
|
1979
|
-
replacedFilter: null,
|
|
1980
|
-
});
|
|
1981
|
-
};
|
|
1982
2031
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1983
2032
|
return filters.reduce(function (acc, filter) {
|
|
1984
2033
|
var _a;
|
|
@@ -2099,4 +2148,4 @@ var getColorByIndex = function (index) {
|
|
|
2099
2148
|
return color;
|
|
2100
2149
|
};
|
|
2101
2150
|
|
|
2102
|
-
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,
|
|
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
|
@@ -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,35 @@ function __rest(s, e) {
|
|
|
139
133
|
return t;
|
|
140
134
|
}
|
|
141
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
|
+
|
|
142
165
|
function __makeTemplateObject(cooked, raw) {
|
|
143
166
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
144
167
|
return cooked;
|
|
@@ -687,6 +710,11 @@ exports.ESortingValueModes = void 0;
|
|
|
687
710
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
688
711
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
689
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 = {}));
|
|
690
718
|
/** Тип показателя */
|
|
691
719
|
exports.EIndicatorType = void 0;
|
|
692
720
|
(function (EIndicatorType) {
|
|
@@ -766,8 +794,41 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
766
794
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
767
795
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
768
796
|
|
|
797
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
769
798
|
function fillTemplateString(templateString, params) {
|
|
770
|
-
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
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);
|
|
771
832
|
}
|
|
772
833
|
|
|
773
834
|
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
@@ -996,7 +1057,7 @@ var timeTemplates = (function () {
|
|
|
996
1057
|
var generateTemplates = function (innerTemplate) {
|
|
997
1058
|
var templates = {};
|
|
998
1059
|
for (var key in dimensionTemplateFormulas) {
|
|
999
|
-
templates[key] =
|
|
1060
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
1000
1061
|
}
|
|
1001
1062
|
return templates;
|
|
1002
1063
|
};
|
|
@@ -1039,7 +1100,7 @@ function getDimensionFormula(_a) {
|
|
|
1039
1100
|
if (!templateFormula || !tableName || !columnName) {
|
|
1040
1101
|
return "";
|
|
1041
1102
|
}
|
|
1042
|
-
return
|
|
1103
|
+
return fillTemplateSql(templateFormula, {
|
|
1043
1104
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1044
1105
|
});
|
|
1045
1106
|
}
|
|
@@ -1052,10 +1113,10 @@ function getDimensionFormula(_a) {
|
|
|
1052
1113
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1053
1114
|
: null;
|
|
1054
1115
|
var columnFormula = innerTemplate
|
|
1055
|
-
?
|
|
1116
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1056
1117
|
: preparedParams.columnFormula;
|
|
1057
1118
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1058
|
-
return
|
|
1119
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1059
1120
|
}
|
|
1060
1121
|
if (value.mode === exports.EWidgetIndicatorValueModes.START_TIME ||
|
|
1061
1122
|
value.mode === exports.EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1064,7 +1125,7 @@ function getDimensionFormula(_a) {
|
|
|
1064
1125
|
return "";
|
|
1065
1126
|
}
|
|
1066
1127
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1067
|
-
return
|
|
1128
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1068
1129
|
}
|
|
1069
1130
|
return "";
|
|
1070
1131
|
}
|
|
@@ -1290,14 +1351,14 @@ function getMeasureFormula(_a) {
|
|
|
1290
1351
|
if (!templateFormula || !tableName || !columnName) {
|
|
1291
1352
|
return "";
|
|
1292
1353
|
}
|
|
1293
|
-
return
|
|
1354
|
+
return fillTemplateSql(templateFormula, {
|
|
1294
1355
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1295
1356
|
});
|
|
1296
1357
|
}
|
|
1297
1358
|
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1298
1359
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1299
1360
|
return preparedParams
|
|
1300
|
-
?
|
|
1361
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1301
1362
|
outerAggregation: preparedParams.outerAggregation,
|
|
1302
1363
|
anyEvent: value.anyEvent,
|
|
1303
1364
|
}), preparedParams)
|
|
@@ -1308,14 +1369,14 @@ function getMeasureFormula(_a) {
|
|
|
1308
1369
|
if (!preparedParams) {
|
|
1309
1370
|
return "";
|
|
1310
1371
|
}
|
|
1311
|
-
return
|
|
1372
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1312
1373
|
}
|
|
1313
1374
|
if (value.mode === exports.EWidgetIndicatorValueModes.DURATION) {
|
|
1314
1375
|
var preparedParams = prepareDurationParams(value);
|
|
1315
1376
|
if (!preparedParams) {
|
|
1316
1377
|
return "";
|
|
1317
1378
|
}
|
|
1318
|
-
return
|
|
1379
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1319
1380
|
}
|
|
1320
1381
|
return "";
|
|
1321
1382
|
}
|
|
@@ -1341,7 +1402,7 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1341
1402
|
}
|
|
1342
1403
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1343
1404
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1344
|
-
return templateFormula &&
|
|
1405
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1345
1406
|
}
|
|
1346
1407
|
return "";
|
|
1347
1408
|
}
|
|
@@ -1367,7 +1428,7 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1367
1428
|
}
|
|
1368
1429
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1369
1430
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1370
|
-
return templateFormula &&
|
|
1431
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1371
1432
|
}
|
|
1372
1433
|
return "";
|
|
1373
1434
|
}
|
|
@@ -1377,8 +1438,6 @@ exports.EWidgetFilterMode = void 0;
|
|
|
1377
1438
|
(function (EWidgetFilterMode) {
|
|
1378
1439
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1379
1440
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1380
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1381
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1382
1441
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1383
1442
|
})(exports.EWidgetFilterMode || (exports.EWidgetFilterMode = {}));
|
|
1384
1443
|
exports.EMarkdownDisplayMode = void 0;
|
|
@@ -1561,7 +1620,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1561
1620
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1562
1621
|
return {
|
|
1563
1622
|
dbDataType: exports.EClickHouseBaseTypes.Bool,
|
|
1564
|
-
formula:
|
|
1623
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1565
1624
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1566
1625
|
}),
|
|
1567
1626
|
values: ["true"],
|
|
@@ -1737,7 +1796,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1737
1796
|
}
|
|
1738
1797
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1739
1798
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1740
|
-
|
|
1799
|
+
var _a;
|
|
1800
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1741
1801
|
[
|
|
1742
1802
|
exports.EFormatTypes.DATE,
|
|
1743
1803
|
exports.EFormatTypes.MONTH,
|
|
@@ -1750,7 +1810,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1750
1810
|
exports.EFormatTypes.QUARTER_YEAR,
|
|
1751
1811
|
exports.EFormatTypes.DAY_OF_MONTH,
|
|
1752
1812
|
exports.EFormatTypes.WEEK,
|
|
1753
|
-
].includes(dimension.format);
|
|
1813
|
+
].includes(dimension.format.value);
|
|
1754
1814
|
});
|
|
1755
1815
|
if (timeDimension) {
|
|
1756
1816
|
return [
|
|
@@ -1854,6 +1914,8 @@ exports.EControlType = void 0;
|
|
|
1854
1914
|
(function (EControlType) {
|
|
1855
1915
|
/** Ввод текста */
|
|
1856
1916
|
EControlType["input"] = "input";
|
|
1917
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1918
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1857
1919
|
/** Ввод текста в формате markdown */
|
|
1858
1920
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1859
1921
|
/** Ввод числа */
|
|
@@ -1967,19 +2029,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1967
2029
|
replacedFilter: null,
|
|
1968
2030
|
});
|
|
1969
2031
|
};
|
|
1970
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1971
|
-
var updateMultiModeSelection = function (selection, formula, value) {
|
|
1972
|
-
var _a;
|
|
1973
|
-
var selectionItemValues = getSelectionItemValues(value, exports.EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
|
|
1974
|
-
if (!selectionItemValues.size) {
|
|
1975
|
-
selection.delete(formula);
|
|
1976
|
-
return;
|
|
1977
|
-
}
|
|
1978
|
-
selection.set(formula, {
|
|
1979
|
-
values: selectionItemValues,
|
|
1980
|
-
replacedFilter: null,
|
|
1981
|
-
});
|
|
1982
|
-
};
|
|
1983
2032
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1984
2033
|
return filters.reduce(function (acc, filter) {
|
|
1985
2034
|
var _a;
|
|
@@ -2131,6 +2180,7 @@ exports.durationTemplates = durationTemplates;
|
|
|
2131
2180
|
exports.escapeCurlyBracketLinkName = escapeCurlyBracketLinkName;
|
|
2132
2181
|
exports.escapeDoubleQuoteLinkName = escapeDoubleQuoteLinkName;
|
|
2133
2182
|
exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
|
|
2183
|
+
exports.fillTemplateSql = fillTemplateSql;
|
|
2134
2184
|
exports.fillTemplateString = fillTemplateString;
|
|
2135
2185
|
exports.formattingConfig = formattingConfig;
|
|
2136
2186
|
exports.formulaFilterMethods = formulaFilterMethods;
|
|
@@ -2173,6 +2223,5 @@ exports.timeTemplates = timeTemplates;
|
|
|
2173
2223
|
exports.transitionMeasureTemplateFormulas = transitionMeasureTemplateFormulas;
|
|
2174
2224
|
exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
|
|
2175
2225
|
exports.updateDefaultModeSelection = updateDefaultModeSelection;
|
|
2176
|
-
exports.updateMultiModeSelection = updateMultiModeSelection;
|
|
2177
2226
|
exports.updateSingleModeSelection = updateSingleModeSelection;
|
|
2178
2227
|
exports.workspaceLinkRegExp = workspaceLinkRegExp;
|