@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/CHANGELOG.md +61 -0
- package/README.md +3 -1
- package/dist/index.d.ts +809 -813
- package/dist/index.esm.js +147 -81
- package/dist/index.js +152 -83
- package/package.json +1 -1
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,39 @@ 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
|
+
|
|
165
|
+
function __makeTemplateObject(cooked, raw) {
|
|
166
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
167
|
+
return cooked;
|
|
168
|
+
}
|
|
142
169
|
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
143
170
|
var e = new Error(message);
|
|
144
171
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
@@ -683,6 +710,11 @@ exports.ESortingValueModes = void 0;
|
|
|
683
710
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
684
711
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
685
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 = {}));
|
|
686
718
|
/** Тип показателя */
|
|
687
719
|
exports.EIndicatorType = void 0;
|
|
688
720
|
(function (EIndicatorType) {
|
|
@@ -762,24 +794,104 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
762
794
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
763
795
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
764
796
|
|
|
797
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
765
798
|
function fillTemplateString(templateString, params) {
|
|
766
|
-
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);
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
835
|
+
var createEscaper = function (specialChars) { return function (str) {
|
|
836
|
+
return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
|
|
837
|
+
}; };
|
|
838
|
+
|
|
839
|
+
/** Удалить из строки символы экранирования */
|
|
840
|
+
function unescapeSpecialCharacters(str) {
|
|
841
|
+
return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
|
|
767
842
|
}
|
|
768
843
|
|
|
769
|
-
/**
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
*
|
|
773
|
-
*
|
|
844
|
+
/**
|
|
845
|
+
* Создает RegExp-паттерн для подстроки с безопасными символами.
|
|
846
|
+
*
|
|
847
|
+
* Подстрока может содержать любой символ, кроме:
|
|
848
|
+
* 1. `restrictedChar` - запрещено появление без экранирования.
|
|
849
|
+
* 2. Обратного слэша (`\`) - запрещено появление без пары.
|
|
850
|
+
*
|
|
851
|
+
* Правило экранирования:
|
|
852
|
+
* - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
|
|
853
|
+
* - Последний символ в подстроке не может быть одинокий слэш.
|
|
854
|
+
*
|
|
855
|
+
* @param restrictedChar Символ, который нельзя использовать без экранирования.
|
|
856
|
+
* @returns Строка для вставки внутрь RegExp.
|
|
857
|
+
*/
|
|
858
|
+
var createEscapableCharPattern = function (restrictedChar) {
|
|
859
|
+
return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
|
|
860
|
+
};
|
|
861
|
+
/**
|
|
862
|
+
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
863
|
+
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
864
|
+
*/
|
|
865
|
+
var curlyBracketsContentPattern = createEscapableCharPattern("}");
|
|
866
|
+
/**
|
|
867
|
+
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
868
|
+
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
774
869
|
*/
|
|
775
|
-
var
|
|
776
|
-
|
|
870
|
+
var doubleQuoteContentPattern = createEscapableCharPattern('"');
|
|
871
|
+
var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
872
|
+
var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
873
|
+
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
874
|
+
var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
|
|
875
|
+
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
876
|
+
var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
|
|
877
|
+
var parseIndicatorLink = function (formula) {
|
|
878
|
+
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
879
|
+
if (dashboardMatch) {
|
|
880
|
+
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
881
|
+
}
|
|
882
|
+
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
883
|
+
if (workspaceMatch) {
|
|
884
|
+
return {
|
|
885
|
+
scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
|
|
886
|
+
indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
return null;
|
|
777
890
|
};
|
|
891
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
778
892
|
|
|
779
893
|
function generateColumnFormula(tableName, columnName) {
|
|
780
|
-
|
|
781
|
-
var preparedColumnName = escapeSpecialCharacters(columnName);
|
|
782
|
-
return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
|
|
894
|
+
return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
|
|
783
895
|
}
|
|
784
896
|
|
|
785
897
|
var escapeSingularQuotes = function (formula) {
|
|
@@ -945,7 +1057,7 @@ var timeTemplates = (function () {
|
|
|
945
1057
|
var generateTemplates = function (innerTemplate) {
|
|
946
1058
|
var templates = {};
|
|
947
1059
|
for (var key in dimensionTemplateFormulas) {
|
|
948
|
-
templates[key] =
|
|
1060
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
949
1061
|
}
|
|
950
1062
|
return templates;
|
|
951
1063
|
};
|
|
@@ -988,7 +1100,7 @@ function getDimensionFormula(_a) {
|
|
|
988
1100
|
if (!templateFormula || !tableName || !columnName) {
|
|
989
1101
|
return "";
|
|
990
1102
|
}
|
|
991
|
-
return
|
|
1103
|
+
return fillTemplateSql(templateFormula, {
|
|
992
1104
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
993
1105
|
});
|
|
994
1106
|
}
|
|
@@ -1001,10 +1113,10 @@ function getDimensionFormula(_a) {
|
|
|
1001
1113
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1002
1114
|
: null;
|
|
1003
1115
|
var columnFormula = innerTemplate
|
|
1004
|
-
?
|
|
1116
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1005
1117
|
: preparedParams.columnFormula;
|
|
1006
1118
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1007
|
-
return
|
|
1119
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1008
1120
|
}
|
|
1009
1121
|
if (value.mode === exports.EWidgetIndicatorValueModes.START_TIME ||
|
|
1010
1122
|
value.mode === exports.EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1013,7 +1125,7 @@ function getDimensionFormula(_a) {
|
|
|
1013
1125
|
return "";
|
|
1014
1126
|
}
|
|
1015
1127
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1016
|
-
return
|
|
1128
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1017
1129
|
}
|
|
1018
1130
|
return "";
|
|
1019
1131
|
}
|
|
@@ -1239,14 +1351,14 @@ function getMeasureFormula(_a) {
|
|
|
1239
1351
|
if (!templateFormula || !tableName || !columnName) {
|
|
1240
1352
|
return "";
|
|
1241
1353
|
}
|
|
1242
|
-
return
|
|
1354
|
+
return fillTemplateSql(templateFormula, {
|
|
1243
1355
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1244
1356
|
});
|
|
1245
1357
|
}
|
|
1246
1358
|
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1247
1359
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1248
1360
|
return preparedParams
|
|
1249
|
-
?
|
|
1361
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1250
1362
|
outerAggregation: preparedParams.outerAggregation,
|
|
1251
1363
|
anyEvent: value.anyEvent,
|
|
1252
1364
|
}), preparedParams)
|
|
@@ -1257,14 +1369,14 @@ function getMeasureFormula(_a) {
|
|
|
1257
1369
|
if (!preparedParams) {
|
|
1258
1370
|
return "";
|
|
1259
1371
|
}
|
|
1260
|
-
return
|
|
1372
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1261
1373
|
}
|
|
1262
1374
|
if (value.mode === exports.EWidgetIndicatorValueModes.DURATION) {
|
|
1263
1375
|
var preparedParams = prepareDurationParams(value);
|
|
1264
1376
|
if (!preparedParams) {
|
|
1265
1377
|
return "";
|
|
1266
1378
|
}
|
|
1267
|
-
return
|
|
1379
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1268
1380
|
}
|
|
1269
1381
|
return "";
|
|
1270
1382
|
}
|
|
@@ -1290,7 +1402,7 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1290
1402
|
}
|
|
1291
1403
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1292
1404
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1293
|
-
return templateFormula &&
|
|
1405
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1294
1406
|
}
|
|
1295
1407
|
return "";
|
|
1296
1408
|
}
|
|
@@ -1316,52 +1428,16 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1316
1428
|
}
|
|
1317
1429
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1318
1430
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1319
|
-
return templateFormula &&
|
|
1431
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1320
1432
|
}
|
|
1321
1433
|
return "";
|
|
1322
1434
|
}
|
|
1323
1435
|
|
|
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
1436
|
// Типы, используемые в значениях элементов управления.
|
|
1359
1437
|
exports.EWidgetFilterMode = void 0;
|
|
1360
1438
|
(function (EWidgetFilterMode) {
|
|
1361
1439
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1362
1440
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1363
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1364
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1365
1441
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1366
1442
|
})(exports.EWidgetFilterMode || (exports.EWidgetFilterMode = {}));
|
|
1367
1443
|
exports.EMarkdownDisplayMode = void 0;
|
|
@@ -1544,7 +1620,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1544
1620
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1545
1621
|
return {
|
|
1546
1622
|
dbDataType: exports.EClickHouseBaseTypes.Bool,
|
|
1547
|
-
formula:
|
|
1623
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1548
1624
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1549
1625
|
}),
|
|
1550
1626
|
values: ["true"],
|
|
@@ -1720,7 +1796,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1720
1796
|
}
|
|
1721
1797
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1722
1798
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1723
|
-
|
|
1799
|
+
var _a;
|
|
1800
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1724
1801
|
[
|
|
1725
1802
|
exports.EFormatTypes.DATE,
|
|
1726
1803
|
exports.EFormatTypes.MONTH,
|
|
@@ -1733,7 +1810,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1733
1810
|
exports.EFormatTypes.QUARTER_YEAR,
|
|
1734
1811
|
exports.EFormatTypes.DAY_OF_MONTH,
|
|
1735
1812
|
exports.EFormatTypes.WEEK,
|
|
1736
|
-
].includes(dimension.format);
|
|
1813
|
+
].includes(dimension.format.value);
|
|
1737
1814
|
});
|
|
1738
1815
|
if (timeDimension) {
|
|
1739
1816
|
return [
|
|
@@ -1837,6 +1914,8 @@ exports.EControlType = void 0;
|
|
|
1837
1914
|
(function (EControlType) {
|
|
1838
1915
|
/** Ввод текста */
|
|
1839
1916
|
EControlType["input"] = "input";
|
|
1917
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1918
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1840
1919
|
/** Ввод текста в формате markdown */
|
|
1841
1920
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1842
1921
|
/** Ввод числа */
|
|
@@ -1950,19 +2029,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1950
2029
|
replacedFilter: null,
|
|
1951
2030
|
});
|
|
1952
2031
|
};
|
|
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
2032
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1967
2033
|
return filters.reduce(function (acc, filter) {
|
|
1968
2034
|
var _a;
|
|
@@ -2102,14 +2168,19 @@ exports.conversionTemplate = conversionTemplate;
|
|
|
2102
2168
|
exports.convertFiltersToFormula = convertFiltersToFormula;
|
|
2103
2169
|
exports.convertToFormulasChain = convertToFormulasChain;
|
|
2104
2170
|
exports.countExecutionsTemplate = countExecutionsTemplate;
|
|
2171
|
+
exports.createEscaper = createEscaper;
|
|
2105
2172
|
exports.createMeasureAggregationTemplate = createAggregationTemplate;
|
|
2173
|
+
exports.curlyBracketsContentPattern = curlyBracketsContentPattern;
|
|
2106
2174
|
exports.dashboardLinkRegExp = dashboardLinkRegExp;
|
|
2107
2175
|
exports.dimensionAggregationTemplates = dimensionAggregationTemplates;
|
|
2108
2176
|
exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
|
|
2109
2177
|
exports.displayConditionTemplate = displayConditionTemplate;
|
|
2178
|
+
exports.doubleQuoteContentPattern = doubleQuoteContentPattern;
|
|
2110
2179
|
exports.durationTemplates = durationTemplates;
|
|
2111
|
-
exports.
|
|
2180
|
+
exports.escapeCurlyBracketLinkName = escapeCurlyBracketLinkName;
|
|
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;
|
|
@@ -2126,7 +2197,6 @@ exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
|
|
|
2126
2197
|
exports.isDimensionsHierarchy = isDimensionsHierarchy;
|
|
2127
2198
|
exports.isFormulaFilterValue = isFormulaFilterValue;
|
|
2128
2199
|
exports.isValidColor = isValidColor;
|
|
2129
|
-
exports.linkNameRegExp = linkNameRegExp;
|
|
2130
2200
|
exports.mapDimensionsToInputs = mapDimensionsToInputs;
|
|
2131
2201
|
exports.mapEventMeasuresToInputs = mapEventMeasuresToInputs;
|
|
2132
2202
|
exports.mapFormulaFilterToCalculatorInput = mapFormulaFilterToCalculatorInput;
|
|
@@ -2153,6 +2223,5 @@ exports.timeTemplates = timeTemplates;
|
|
|
2153
2223
|
exports.transitionMeasureTemplateFormulas = transitionMeasureTemplateFormulas;
|
|
2154
2224
|
exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
|
|
2155
2225
|
exports.updateDefaultModeSelection = updateDefaultModeSelection;
|
|
2156
|
-
exports.updateMultiModeSelection = updateMultiModeSelection;
|
|
2157
2226
|
exports.updateSingleModeSelection = updateSingleModeSelection;
|
|
2158
2227
|
exports.workspaceLinkRegExp = workspaceLinkRegExp;
|