@infomaximum/widget-sdk 6.0.0-1 → 6.0.0-11
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 +91 -19
- package/README.md +3 -1
- package/dist/index.d.ts +834 -818
- package/dist/index.esm.js +253 -143
- package/dist/index.js +261 -145
- 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;
|
|
@@ -186,9 +213,18 @@ exports.EFormulaFilterFieldKeys = void 0;
|
|
|
186
213
|
EFormulaFilterFieldKeys["lastTimeUnit"] = "lastTimeUnit";
|
|
187
214
|
EFormulaFilterFieldKeys["durationUnit"] = "durationUnit";
|
|
188
215
|
})(exports.EFormulaFilterFieldKeys || (exports.EFormulaFilterFieldKeys = {}));
|
|
216
|
+
exports.EDimensionProcessFilterTimeUnit = void 0;
|
|
217
|
+
(function (EDimensionProcessFilterTimeUnit) {
|
|
218
|
+
EDimensionProcessFilterTimeUnit["YEARS"] = "YEARS";
|
|
219
|
+
EDimensionProcessFilterTimeUnit["MONTHS"] = "MONTHS";
|
|
220
|
+
EDimensionProcessFilterTimeUnit["HOURS"] = "HOURS";
|
|
221
|
+
EDimensionProcessFilterTimeUnit["DAYS"] = "DAYS";
|
|
222
|
+
EDimensionProcessFilterTimeUnit["MINUTES"] = "MINUTES";
|
|
223
|
+
})(exports.EDimensionProcessFilterTimeUnit || (exports.EDimensionProcessFilterTimeUnit = {}));
|
|
189
224
|
var isFormulaFilterValue = function (value) {
|
|
190
225
|
return "filteringMethod" in value;
|
|
191
226
|
};
|
|
227
|
+
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
192
228
|
|
|
193
229
|
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
194
230
|
var compactMap = function (items, f) {
|
|
@@ -613,7 +649,7 @@ var formattingConfig = {
|
|
|
613
649
|
},
|
|
614
650
|
};
|
|
615
651
|
|
|
616
|
-
var _a$
|
|
652
|
+
var _a$5;
|
|
617
653
|
exports.EDimensionTemplateNames = void 0;
|
|
618
654
|
(function (EDimensionTemplateNames) {
|
|
619
655
|
EDimensionTemplateNames["dateTime"] = "dateTime";
|
|
@@ -629,19 +665,19 @@ exports.EDimensionTemplateNames = void 0;
|
|
|
629
665
|
EDimensionTemplateNames["hour"] = "hour";
|
|
630
666
|
})(exports.EDimensionTemplateNames || (exports.EDimensionTemplateNames = {}));
|
|
631
667
|
/** Стандартные шаблоны разреза */
|
|
632
|
-
var dimensionTemplateFormulas = (_a$
|
|
633
|
-
_a$
|
|
634
|
-
_a$
|
|
635
|
-
_a$
|
|
636
|
-
_a$
|
|
637
|
-
_a$
|
|
638
|
-
_a$
|
|
639
|
-
_a$
|
|
640
|
-
_a$
|
|
641
|
-
_a$
|
|
642
|
-
_a$
|
|
643
|
-
_a$
|
|
644
|
-
_a$
|
|
668
|
+
var dimensionTemplateFormulas = (_a$5 = {},
|
|
669
|
+
_a$5[exports.EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
670
|
+
_a$5[exports.EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
671
|
+
_a$5[exports.EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
672
|
+
_a$5[exports.EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
673
|
+
_a$5[exports.EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
674
|
+
_a$5[exports.EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
675
|
+
_a$5[exports.EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
676
|
+
_a$5[exports.EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
677
|
+
_a$5[exports.EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
678
|
+
_a$5[exports.EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
679
|
+
_a$5[exports.EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
680
|
+
_a$5);
|
|
645
681
|
|
|
646
682
|
exports.EWidgetIndicatorType = void 0;
|
|
647
683
|
(function (EWidgetIndicatorType) {
|
|
@@ -683,6 +719,11 @@ exports.ESortingValueModes = void 0;
|
|
|
683
719
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
684
720
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
685
721
|
})(exports.ESortingValueModes || (exports.ESortingValueModes = {}));
|
|
722
|
+
exports.EFormatOrFormattingMode = void 0;
|
|
723
|
+
(function (EFormatOrFormattingMode) {
|
|
724
|
+
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
725
|
+
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
726
|
+
})(exports.EFormatOrFormattingMode || (exports.EFormatOrFormattingMode = {}));
|
|
686
727
|
/** Тип показателя */
|
|
687
728
|
exports.EIndicatorType = void 0;
|
|
688
729
|
(function (EIndicatorType) {
|
|
@@ -762,24 +803,100 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
762
803
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
763
804
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
764
805
|
|
|
806
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
765
807
|
function fillTemplateString(templateString, params) {
|
|
766
|
-
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
808
|
+
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
809
|
+
var _a;
|
|
810
|
+
return (_a = params[key]) !== null && _a !== void 0 ? _a : "";
|
|
811
|
+
});
|
|
812
|
+
}
|
|
813
|
+
/** Функция для безопасного заполнения SQL шаблонов с защитой от однострочных SQL комментариев в подставляемых значениях. */
|
|
814
|
+
function fillTemplateSql(templateString, params) {
|
|
815
|
+
var e_1, _a;
|
|
816
|
+
var newParams = {};
|
|
817
|
+
try {
|
|
818
|
+
for (var _b = __values(Object.entries(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
819
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
820
|
+
/** Эвристическая проверка на возможное присутствие sql-комментария в значении подставляемом в template
|
|
821
|
+
*/
|
|
822
|
+
if (String(value).indexOf("--") >= 0) {
|
|
823
|
+
newParams[key] = "".concat(value, "\n");
|
|
824
|
+
continue;
|
|
825
|
+
}
|
|
826
|
+
newParams[key] = String(value);
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
830
|
+
finally {
|
|
831
|
+
try {
|
|
832
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
833
|
+
}
|
|
834
|
+
finally { if (e_1) throw e_1.error; }
|
|
835
|
+
}
|
|
836
|
+
return fillTemplateString(templateString, newParams);
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
840
|
+
var createEscaper = function (specialChars) { return function (str) {
|
|
841
|
+
return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
|
|
842
|
+
}; };
|
|
843
|
+
|
|
844
|
+
/** Удалить из строки символы экранирования */
|
|
845
|
+
function unescapeSpecialCharacters(str) {
|
|
846
|
+
return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
|
|
767
847
|
}
|
|
768
848
|
|
|
769
|
-
/**
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
*
|
|
773
|
-
*
|
|
849
|
+
/**
|
|
850
|
+
* Создает RegExp-паттерн для подстроки с безопасными символами.
|
|
851
|
+
*
|
|
852
|
+
* Подстрока может содержать любой символ, кроме:
|
|
853
|
+
* 1. `restrictedChar` - запрещено появление без экранирования.
|
|
854
|
+
* 2. Обратного слэша (`\`) - запрещено появление без пары.
|
|
855
|
+
*
|
|
856
|
+
* Правило экранирования:
|
|
857
|
+
* - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
|
|
858
|
+
* - Последний символ в подстроке не может быть одинокий слэш.
|
|
859
|
+
*
|
|
860
|
+
* @param restrictedChar Символ, который нельзя использовать без экранирования.
|
|
861
|
+
* @returns Строка для вставки внутрь RegExp.
|
|
774
862
|
*/
|
|
775
|
-
var
|
|
776
|
-
return
|
|
863
|
+
var createEscapableCharPattern = function (restrictedChar) {
|
|
864
|
+
return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
|
|
777
865
|
};
|
|
866
|
+
/**
|
|
867
|
+
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
868
|
+
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
869
|
+
*/
|
|
870
|
+
var curlyBracketsContentPattern = createEscapableCharPattern("}");
|
|
871
|
+
/**
|
|
872
|
+
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
873
|
+
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
874
|
+
*/
|
|
875
|
+
var doubleQuoteContentPattern = createEscapableCharPattern('"');
|
|
876
|
+
var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
877
|
+
var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
878
|
+
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
879
|
+
var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
|
|
880
|
+
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
881
|
+
var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
|
|
882
|
+
var parseIndicatorLink = function (formula) {
|
|
883
|
+
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
884
|
+
if (dashboardMatch) {
|
|
885
|
+
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
886
|
+
}
|
|
887
|
+
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
888
|
+
if (workspaceMatch) {
|
|
889
|
+
return {
|
|
890
|
+
scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
|
|
891
|
+
indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
|
|
892
|
+
};
|
|
893
|
+
}
|
|
894
|
+
return null;
|
|
895
|
+
};
|
|
896
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
778
897
|
|
|
779
898
|
function generateColumnFormula(tableName, columnName) {
|
|
780
|
-
|
|
781
|
-
var preparedColumnName = escapeSpecialCharacters(columnName);
|
|
782
|
-
return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
|
|
899
|
+
return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
|
|
783
900
|
}
|
|
784
901
|
|
|
785
902
|
var escapeSingularQuotes = function (formula) {
|
|
@@ -872,7 +989,7 @@ var convertFiltersToFormula = function (filters) {
|
|
|
872
989
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
873
990
|
};
|
|
874
991
|
|
|
875
|
-
var _a$
|
|
992
|
+
var _a$4;
|
|
876
993
|
exports.EDimensionAggregationTemplateName = void 0;
|
|
877
994
|
(function (EDimensionAggregationTemplateName) {
|
|
878
995
|
EDimensionAggregationTemplateName["avg"] = "avg";
|
|
@@ -889,20 +1006,20 @@ exports.EDimensionAggregationTemplateName = void 0;
|
|
|
889
1006
|
EDimensionAggregationTemplateName["countReworks"] = "countReworks";
|
|
890
1007
|
})(exports.EDimensionAggregationTemplateName || (exports.EDimensionAggregationTemplateName = {}));
|
|
891
1008
|
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
892
|
-
var dimensionAggregationTemplates = (_a$
|
|
893
|
-
_a$
|
|
894
|
-
_a$
|
|
895
|
-
_a$
|
|
896
|
-
_a$
|
|
897
|
-
_a$
|
|
898
|
-
_a$
|
|
899
|
-
_a$
|
|
900
|
-
_a$
|
|
901
|
-
_a$
|
|
902
|
-
_a$
|
|
903
|
-
_a$
|
|
904
|
-
_a$
|
|
905
|
-
_a$
|
|
1009
|
+
var dimensionAggregationTemplates = (_a$4 = {},
|
|
1010
|
+
_a$4[exports.EDimensionAggregationTemplateName.avg] = avgTemplate,
|
|
1011
|
+
_a$4[exports.EDimensionAggregationTemplateName.median] = medianTemplate,
|
|
1012
|
+
_a$4[exports.EDimensionAggregationTemplateName.count] = countTemplate,
|
|
1013
|
+
_a$4[exports.EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
|
|
1014
|
+
_a$4[exports.EDimensionAggregationTemplateName.min] = minTemplate,
|
|
1015
|
+
_a$4[exports.EDimensionAggregationTemplateName.max] = maxTemplate,
|
|
1016
|
+
_a$4[exports.EDimensionAggregationTemplateName.sum] = sumTemplate,
|
|
1017
|
+
_a$4[exports.EDimensionAggregationTemplateName.top] = topTemplate,
|
|
1018
|
+
_a$4[exports.EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
1019
|
+
_a$4[exports.EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
1020
|
+
_a$4[exports.EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
1021
|
+
_a$4[exports.EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
1022
|
+
_a$4);
|
|
906
1023
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
907
1024
|
var prepareDimensionAggregationParams = function (value) {
|
|
908
1025
|
if (!value.eventName ||
|
|
@@ -916,7 +1033,6 @@ var prepareDimensionAggregationParams = function (value) {
|
|
|
916
1033
|
eventNameFormula: value.eventNameFormula,
|
|
917
1034
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
918
1035
|
eventName: value.eventName,
|
|
919
|
-
objectFilters: "1",
|
|
920
1036
|
filters: convertFiltersToFormula(value.filters),
|
|
921
1037
|
eventTimeFormula: "",
|
|
922
1038
|
columnFormula: "",
|
|
@@ -945,7 +1061,7 @@ var timeTemplates = (function () {
|
|
|
945
1061
|
var generateTemplates = function (innerTemplate) {
|
|
946
1062
|
var templates = {};
|
|
947
1063
|
for (var key in dimensionTemplateFormulas) {
|
|
948
|
-
templates[key] =
|
|
1064
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
949
1065
|
}
|
|
950
1066
|
return templates;
|
|
951
1067
|
};
|
|
@@ -974,7 +1090,7 @@ var prepareTimeParams = function (value) {
|
|
|
974
1090
|
};
|
|
975
1091
|
|
|
976
1092
|
function getDimensionFormula(_a) {
|
|
977
|
-
var _b;
|
|
1093
|
+
var _b, _c;
|
|
978
1094
|
var value = _a.value;
|
|
979
1095
|
if (!value) {
|
|
980
1096
|
return "";
|
|
@@ -988,10 +1104,13 @@ function getDimensionFormula(_a) {
|
|
|
988
1104
|
if (!templateFormula || !tableName || !columnName) {
|
|
989
1105
|
return "";
|
|
990
1106
|
}
|
|
991
|
-
return
|
|
1107
|
+
return fillTemplateSql(templateFormula, {
|
|
992
1108
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
993
1109
|
});
|
|
994
1110
|
}
|
|
1111
|
+
return (_c = getProcessDimensionValueFormula(value)) !== null && _c !== void 0 ? _c : "";
|
|
1112
|
+
}
|
|
1113
|
+
function getProcessDimensionValueFormula(value) {
|
|
995
1114
|
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
996
1115
|
var preparedParams = prepareDimensionAggregationParams(value);
|
|
997
1116
|
if (!preparedParams) {
|
|
@@ -1001,10 +1120,10 @@ function getDimensionFormula(_a) {
|
|
|
1001
1120
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1002
1121
|
: null;
|
|
1003
1122
|
var columnFormula = innerTemplate
|
|
1004
|
-
?
|
|
1123
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1005
1124
|
: preparedParams.columnFormula;
|
|
1006
1125
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1007
|
-
return
|
|
1126
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1008
1127
|
}
|
|
1009
1128
|
if (value.mode === exports.EWidgetIndicatorValueModes.START_TIME ||
|
|
1010
1129
|
value.mode === exports.EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1013,9 +1132,8 @@ function getDimensionFormula(_a) {
|
|
|
1013
1132
|
return "";
|
|
1014
1133
|
}
|
|
1015
1134
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1016
|
-
return
|
|
1135
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1017
1136
|
}
|
|
1018
|
-
return "";
|
|
1019
1137
|
}
|
|
1020
1138
|
|
|
1021
1139
|
exports.EMeasureAggregationTemplateName = void 0;
|
|
@@ -1035,6 +1153,7 @@ exports.EMeasureAggregationTemplateName = void 0;
|
|
|
1035
1153
|
})(exports.EMeasureAggregationTemplateName || (exports.EMeasureAggregationTemplateName = {}));
|
|
1036
1154
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1037
1155
|
var prepareMeasureAggregationParams = function (value) {
|
|
1156
|
+
var _a;
|
|
1038
1157
|
if ((!value.anyEvent && !value.eventName) ||
|
|
1039
1158
|
!value.caseCaseIdFormula ||
|
|
1040
1159
|
!value.eventNameFormula ||
|
|
@@ -1047,8 +1166,7 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1047
1166
|
outerAggregation: value.outerAggregation,
|
|
1048
1167
|
eventNameFormula: value.eventNameFormula,
|
|
1049
1168
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1050
|
-
eventName: value.eventName,
|
|
1051
|
-
objectFilters: "1",
|
|
1169
|
+
eventName: (_a = value.eventName) !== null && _a !== void 0 ? _a : "",
|
|
1052
1170
|
filters: convertFiltersToFormula(value.filters),
|
|
1053
1171
|
eventTimeFormula: "",
|
|
1054
1172
|
columnFormula: "",
|
|
@@ -1069,7 +1187,7 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1069
1187
|
return columnParams;
|
|
1070
1188
|
};
|
|
1071
1189
|
|
|
1072
|
-
var _a$
|
|
1190
|
+
var _a$3;
|
|
1073
1191
|
exports.EMeasureTemplateNames = void 0;
|
|
1074
1192
|
(function (EMeasureTemplateNames) {
|
|
1075
1193
|
EMeasureTemplateNames["avg"] = "avg";
|
|
@@ -1081,15 +1199,15 @@ exports.EMeasureTemplateNames = void 0;
|
|
|
1081
1199
|
EMeasureTemplateNames["sum"] = "sum";
|
|
1082
1200
|
})(exports.EMeasureTemplateNames || (exports.EMeasureTemplateNames = {}));
|
|
1083
1201
|
/** Стандартные шаблоны меры */
|
|
1084
|
-
var measureTemplateFormulas = (_a$
|
|
1085
|
-
_a$
|
|
1086
|
-
_a$
|
|
1087
|
-
_a$
|
|
1088
|
-
_a$
|
|
1089
|
-
_a$
|
|
1090
|
-
_a$
|
|
1091
|
-
_a$
|
|
1092
|
-
_a$
|
|
1202
|
+
var measureTemplateFormulas = (_a$3 = {},
|
|
1203
|
+
_a$3[exports.EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
1204
|
+
_a$3[exports.EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
1205
|
+
_a$3[exports.EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
1206
|
+
_a$3[exports.EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
1207
|
+
_a$3[exports.EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
1208
|
+
_a$3[exports.EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
1209
|
+
_a$3[exports.EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
1210
|
+
_a$3);
|
|
1093
1211
|
|
|
1094
1212
|
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1095
1213
|
var conversionTemplate = "countIf(\n process(\n minIf(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n maxIf(\n {endEventTimeFormula}, \n {endEventNameFormula} = '{endEventName}'{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) \n and \n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n) / countIf(\n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
|
|
@@ -1107,7 +1225,6 @@ var prepareConversionParams = function (value) {
|
|
|
1107
1225
|
return null;
|
|
1108
1226
|
}
|
|
1109
1227
|
return {
|
|
1110
|
-
objectFilters: "1",
|
|
1111
1228
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1112
1229
|
startEventNameFormula: value.startEventNameFormula,
|
|
1113
1230
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1146,7 +1263,6 @@ var prepareDurationParams = function (value) {
|
|
|
1146
1263
|
return appearance === exports.EEventAppearances.FIRST ? "minIf" : "maxIf";
|
|
1147
1264
|
};
|
|
1148
1265
|
return {
|
|
1149
|
-
objectFilters: "1",
|
|
1150
1266
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1151
1267
|
startEventNameFormula: value.startEventNameFormula,
|
|
1152
1268
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1162,16 +1278,16 @@ var prepareDurationParams = function (value) {
|
|
|
1162
1278
|
};
|
|
1163
1279
|
|
|
1164
1280
|
function createAnyEventTemplate(aggregatePart) {
|
|
1165
|
-
return "{outerAggregation}
|
|
1281
|
+
return "{outerAggregation}(process(".concat(aggregatePart, ", {caseCaseIdFormula}))");
|
|
1166
1282
|
}
|
|
1167
1283
|
function createSpecificEventTemplate(fn, additionalFn) {
|
|
1168
|
-
return "{outerAggregation}
|
|
1284
|
+
return "{outerAggregation}(process(".concat(fn, "(").concat(additionalFn ? "".concat(additionalFn, " ") : "", "{columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}))");
|
|
1169
1285
|
}
|
|
1170
1286
|
function createTopLikeTemplate(template) {
|
|
1171
1287
|
return function (outerAggregation) {
|
|
1172
1288
|
return outerAggregation === exports.EOuterAggregation.top
|
|
1173
|
-
? "{outerAggregation}
|
|
1174
|
-
: "{outerAggregation}
|
|
1289
|
+
? "{outerAggregation}K(1)(".concat(template, ")[1]")
|
|
1290
|
+
: "{outerAggregation}(".concat(template, ")");
|
|
1175
1291
|
};
|
|
1176
1292
|
}
|
|
1177
1293
|
function createAggregationTemplate(templateName, _a) {
|
|
@@ -1218,9 +1334,9 @@ function createAggregationTemplate(templateName, _a) {
|
|
|
1218
1334
|
? createAnyEventTemplate("argMax({columnFormula}, {eventTimeFormula})")
|
|
1219
1335
|
: createTopLikeTemplate(lastValueTemplate)(outerAggregation);
|
|
1220
1336
|
case exports.EMeasureAggregationTemplateName.countExecutions:
|
|
1221
|
-
return "{outerAggregation}
|
|
1337
|
+
return "{outerAggregation}(".concat(countExecutionsTemplate, ")");
|
|
1222
1338
|
case exports.EMeasureAggregationTemplateName.countReworks:
|
|
1223
|
-
return "{outerAggregation}
|
|
1339
|
+
return "{outerAggregation}(".concat(countReworksTemplate, ")");
|
|
1224
1340
|
}
|
|
1225
1341
|
}
|
|
1226
1342
|
|
|
@@ -1239,14 +1355,14 @@ function getMeasureFormula(_a) {
|
|
|
1239
1355
|
if (!templateFormula || !tableName || !columnName) {
|
|
1240
1356
|
return "";
|
|
1241
1357
|
}
|
|
1242
|
-
return
|
|
1358
|
+
return fillTemplateSql(templateFormula, {
|
|
1243
1359
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1244
1360
|
});
|
|
1245
1361
|
}
|
|
1246
1362
|
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1247
1363
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1248
1364
|
return preparedParams
|
|
1249
|
-
?
|
|
1365
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1250
1366
|
outerAggregation: preparedParams.outerAggregation,
|
|
1251
1367
|
anyEvent: value.anyEvent,
|
|
1252
1368
|
}), preparedParams)
|
|
@@ -1257,28 +1373,28 @@ function getMeasureFormula(_a) {
|
|
|
1257
1373
|
if (!preparedParams) {
|
|
1258
1374
|
return "";
|
|
1259
1375
|
}
|
|
1260
|
-
return
|
|
1376
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1261
1377
|
}
|
|
1262
1378
|
if (value.mode === exports.EWidgetIndicatorValueModes.DURATION) {
|
|
1263
1379
|
var preparedParams = prepareDurationParams(value);
|
|
1264
1380
|
if (!preparedParams) {
|
|
1265
1381
|
return "";
|
|
1266
1382
|
}
|
|
1267
|
-
return
|
|
1383
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1268
1384
|
}
|
|
1269
1385
|
return "";
|
|
1270
1386
|
}
|
|
1271
1387
|
|
|
1272
|
-
var _a$
|
|
1388
|
+
var _a$2;
|
|
1273
1389
|
exports.EEventMeasureTemplateNames = void 0;
|
|
1274
1390
|
(function (EEventMeasureTemplateNames) {
|
|
1275
1391
|
EEventMeasureTemplateNames["eventsCount"] = "eventsCount";
|
|
1276
1392
|
EEventMeasureTemplateNames["reworksCount"] = "reworksCount";
|
|
1277
1393
|
})(exports.EEventMeasureTemplateNames || (exports.EEventMeasureTemplateNames = {}));
|
|
1278
|
-
var eventMeasureTemplateFormulas = (_a$
|
|
1279
|
-
_a$
|
|
1280
|
-
_a$
|
|
1281
|
-
_a$
|
|
1394
|
+
var eventMeasureTemplateFormulas = (_a$2 = {},
|
|
1395
|
+
_a$2[exports.EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
1396
|
+
_a$2[exports.EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
1397
|
+
_a$2);
|
|
1282
1398
|
|
|
1283
1399
|
function getEventMeasureFormula(_a, process) {
|
|
1284
1400
|
var value = _a.value;
|
|
@@ -1290,21 +1406,21 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1290
1406
|
}
|
|
1291
1407
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1292
1408
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1293
|
-
return templateFormula &&
|
|
1409
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1294
1410
|
}
|
|
1295
1411
|
return "";
|
|
1296
1412
|
}
|
|
1297
1413
|
|
|
1298
|
-
var _a;
|
|
1414
|
+
var _a$1;
|
|
1299
1415
|
exports.ETransitionMeasureTemplateNames = void 0;
|
|
1300
1416
|
(function (ETransitionMeasureTemplateNames) {
|
|
1301
1417
|
ETransitionMeasureTemplateNames["transitionsCount"] = "transitionsCount";
|
|
1302
1418
|
ETransitionMeasureTemplateNames["medianTime"] = "medianTime";
|
|
1303
1419
|
})(exports.ETransitionMeasureTemplateNames || (exports.ETransitionMeasureTemplateNames = {}));
|
|
1304
|
-
var transitionMeasureTemplateFormulas = (_a = {},
|
|
1305
|
-
_a[exports.ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1306
|
-
_a[exports.ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1307
|
-
_a);
|
|
1420
|
+
var transitionMeasureTemplateFormulas = (_a$1 = {},
|
|
1421
|
+
_a$1[exports.ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1422
|
+
_a$1[exports.ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1423
|
+
_a$1);
|
|
1308
1424
|
|
|
1309
1425
|
function getTransitionMeasureFormula(_a, process) {
|
|
1310
1426
|
var value = _a.value;
|
|
@@ -1316,52 +1432,16 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1316
1432
|
}
|
|
1317
1433
|
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1318
1434
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1319
|
-
return templateFormula &&
|
|
1435
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1320
1436
|
}
|
|
1321
1437
|
return "";
|
|
1322
1438
|
}
|
|
1323
1439
|
|
|
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
1440
|
// Типы, используемые в значениях элементов управления.
|
|
1359
1441
|
exports.EWidgetFilterMode = void 0;
|
|
1360
1442
|
(function (EWidgetFilterMode) {
|
|
1361
1443
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1362
1444
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1363
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1364
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1365
1445
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1366
1446
|
})(exports.EWidgetFilterMode || (exports.EWidgetFilterMode = {}));
|
|
1367
1447
|
exports.EMarkdownDisplayMode = void 0;
|
|
@@ -1544,7 +1624,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1544
1624
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1545
1625
|
return {
|
|
1546
1626
|
dbDataType: exports.EClickHouseBaseTypes.Bool,
|
|
1547
|
-
formula:
|
|
1627
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1548
1628
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1549
1629
|
}),
|
|
1550
1630
|
values: ["true"],
|
|
@@ -1579,6 +1659,46 @@ var mapFormulaFiltersToInputs = function (filters) {
|
|
|
1579
1659
|
return compactMap(filters, mapFormulaFilterToCalculatorInput);
|
|
1580
1660
|
};
|
|
1581
1661
|
|
|
1662
|
+
var _a;
|
|
1663
|
+
var intervalByUnit = (_a = {},
|
|
1664
|
+
_a[exports.EDimensionProcessFilterTimeUnit.YEARS] = "year",
|
|
1665
|
+
_a[exports.EDimensionProcessFilterTimeUnit.MONTHS] = "month",
|
|
1666
|
+
_a[exports.EDimensionProcessFilterTimeUnit.DAYS] = "day",
|
|
1667
|
+
_a[exports.EDimensionProcessFilterTimeUnit.HOURS] = "hour",
|
|
1668
|
+
_a[exports.EDimensionProcessFilterTimeUnit.MINUTES] = "minute",
|
|
1669
|
+
_a);
|
|
1670
|
+
function mapDimensionProcessFilterToCalculatorInput(filter) {
|
|
1671
|
+
var formula = filter.value.mode === exports.EWidgetIndicatorValueModes.FORMULA
|
|
1672
|
+
? filter.value.formula
|
|
1673
|
+
: getProcessDimensionValueFormula(filter.value);
|
|
1674
|
+
if (formula === undefined) {
|
|
1675
|
+
throw new Error("Formula generation error");
|
|
1676
|
+
}
|
|
1677
|
+
var _a = filter.condition, timeUnit = _a.timeUnit, filteringMethod = _a.filteringMethod, values = _a.values;
|
|
1678
|
+
if (filteringMethod === "LAST_TIME") {
|
|
1679
|
+
if (!timeUnit) {
|
|
1680
|
+
throw new Error("Missing time unit");
|
|
1681
|
+
}
|
|
1682
|
+
return {
|
|
1683
|
+
dbDataType: exports.EClickHouseBaseTypes.Bool,
|
|
1684
|
+
formula: "date_diff('".concat(intervalByUnit[timeUnit], "', ").concat(formula, ", now())"),
|
|
1685
|
+
values: values,
|
|
1686
|
+
filteringMethod: formulaFilterMethods.LESS_THAN_OR_EQUAL_TO,
|
|
1687
|
+
};
|
|
1688
|
+
}
|
|
1689
|
+
return { formula: formula, filteringMethod: filteringMethod, values: values, dbDataType: filter.dbDataType };
|
|
1690
|
+
}
|
|
1691
|
+
|
|
1692
|
+
var mapSettingsFilterToCalculatorInput = function (filter) {
|
|
1693
|
+
if (isDimensionProcessFilter(filter)) {
|
|
1694
|
+
return mapDimensionProcessFilterToCalculatorInput(filter);
|
|
1695
|
+
}
|
|
1696
|
+
return mapFormulaFilterToCalculatorInput(filter);
|
|
1697
|
+
};
|
|
1698
|
+
var mapSettingsFiltersToInputs = function (filters) {
|
|
1699
|
+
return compactMap(filters, mapSettingsFilterToCalculatorInput);
|
|
1700
|
+
};
|
|
1701
|
+
|
|
1582
1702
|
function mapMeasureToInput(measure, variables, addFormulas) {
|
|
1583
1703
|
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
1584
1704
|
var mainFormula = getMeasureFormula(measure);
|
|
@@ -1720,7 +1840,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1720
1840
|
}
|
|
1721
1841
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1722
1842
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1723
|
-
|
|
1843
|
+
var _a;
|
|
1844
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1724
1845
|
[
|
|
1725
1846
|
exports.EFormatTypes.DATE,
|
|
1726
1847
|
exports.EFormatTypes.MONTH,
|
|
@@ -1733,7 +1854,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1733
1854
|
exports.EFormatTypes.QUARTER_YEAR,
|
|
1734
1855
|
exports.EFormatTypes.DAY_OF_MONTH,
|
|
1735
1856
|
exports.EFormatTypes.WEEK,
|
|
1736
|
-
].includes(dimension.format);
|
|
1857
|
+
].includes(dimension.format.value);
|
|
1737
1858
|
});
|
|
1738
1859
|
if (timeDimension) {
|
|
1739
1860
|
return [
|
|
@@ -1837,6 +1958,8 @@ exports.EControlType = void 0;
|
|
|
1837
1958
|
(function (EControlType) {
|
|
1838
1959
|
/** Ввод текста */
|
|
1839
1960
|
EControlType["input"] = "input";
|
|
1961
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1962
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1840
1963
|
/** Ввод текста в формате markdown */
|
|
1841
1964
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1842
1965
|
/** Ввод числа */
|
|
@@ -1950,19 +2073,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1950
2073
|
replacedFilter: null,
|
|
1951
2074
|
});
|
|
1952
2075
|
};
|
|
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
2076
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1967
2077
|
return filters.reduce(function (acc, filter) {
|
|
1968
2078
|
var _a;
|
|
@@ -2102,14 +2212,19 @@ exports.conversionTemplate = conversionTemplate;
|
|
|
2102
2212
|
exports.convertFiltersToFormula = convertFiltersToFormula;
|
|
2103
2213
|
exports.convertToFormulasChain = convertToFormulasChain;
|
|
2104
2214
|
exports.countExecutionsTemplate = countExecutionsTemplate;
|
|
2215
|
+
exports.createEscaper = createEscaper;
|
|
2105
2216
|
exports.createMeasureAggregationTemplate = createAggregationTemplate;
|
|
2217
|
+
exports.curlyBracketsContentPattern = curlyBracketsContentPattern;
|
|
2106
2218
|
exports.dashboardLinkRegExp = dashboardLinkRegExp;
|
|
2107
2219
|
exports.dimensionAggregationTemplates = dimensionAggregationTemplates;
|
|
2108
2220
|
exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
|
|
2109
2221
|
exports.displayConditionTemplate = displayConditionTemplate;
|
|
2222
|
+
exports.doubleQuoteContentPattern = doubleQuoteContentPattern;
|
|
2110
2223
|
exports.durationTemplates = durationTemplates;
|
|
2111
|
-
exports.
|
|
2224
|
+
exports.escapeCurlyBracketLinkName = escapeCurlyBracketLinkName;
|
|
2225
|
+
exports.escapeDoubleQuoteLinkName = escapeDoubleQuoteLinkName;
|
|
2112
2226
|
exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
|
|
2227
|
+
exports.fillTemplateSql = fillTemplateSql;
|
|
2113
2228
|
exports.fillTemplateString = fillTemplateString;
|
|
2114
2229
|
exports.formattingConfig = formattingConfig;
|
|
2115
2230
|
exports.formulaFilterMethods = formulaFilterMethods;
|
|
@@ -2121,17 +2236,19 @@ exports.getDisplayConditionFormula = getDisplayConditionFormula;
|
|
|
2121
2236
|
exports.getEventMeasureFormula = getEventMeasureFormula;
|
|
2122
2237
|
exports.getLocalizedText = getLocalizedText;
|
|
2123
2238
|
exports.getMeasureFormula = getMeasureFormula;
|
|
2239
|
+
exports.getProcessDimensionValueFormula = getProcessDimensionValueFormula;
|
|
2124
2240
|
exports.getRuleColor = getRuleColor;
|
|
2125
2241
|
exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
|
|
2242
|
+
exports.isDimensionProcessFilter = isDimensionProcessFilter;
|
|
2126
2243
|
exports.isDimensionsHierarchy = isDimensionsHierarchy;
|
|
2127
2244
|
exports.isFormulaFilterValue = isFormulaFilterValue;
|
|
2128
2245
|
exports.isValidColor = isValidColor;
|
|
2129
|
-
exports.linkNameRegExp = linkNameRegExp;
|
|
2130
2246
|
exports.mapDimensionsToInputs = mapDimensionsToInputs;
|
|
2131
2247
|
exports.mapEventMeasuresToInputs = mapEventMeasuresToInputs;
|
|
2132
2248
|
exports.mapFormulaFilterToCalculatorInput = mapFormulaFilterToCalculatorInput;
|
|
2133
2249
|
exports.mapFormulaFiltersToInputs = mapFormulaFiltersToInputs;
|
|
2134
2250
|
exports.mapMeasuresToInputs = mapMeasuresToInputs;
|
|
2251
|
+
exports.mapSettingsFiltersToInputs = mapSettingsFiltersToInputs;
|
|
2135
2252
|
exports.mapSortingToInputs = mapSortingToInputs;
|
|
2136
2253
|
exports.mapTransitionMeasuresToInputs = mapTransitionMeasuresToInputs;
|
|
2137
2254
|
exports.measureTemplateFormulas = measureTemplateFormulas;
|
|
@@ -2153,6 +2270,5 @@ exports.timeTemplates = timeTemplates;
|
|
|
2153
2270
|
exports.transitionMeasureTemplateFormulas = transitionMeasureTemplateFormulas;
|
|
2154
2271
|
exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
|
|
2155
2272
|
exports.updateDefaultModeSelection = updateDefaultModeSelection;
|
|
2156
|
-
exports.updateMultiModeSelection = updateMultiModeSelection;
|
|
2157
2273
|
exports.updateSingleModeSelection = updateSingleModeSelection;
|
|
2158
2274
|
exports.workspaceLinkRegExp = workspaceLinkRegExp;
|