@infomaximum/widget-sdk 6.0.0-0 → 6.0.0-10
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 +92 -16
- package/README.md +3 -1
- package/dist/index.d.ts +834 -831
- package/dist/index.esm.js +253 -143
- package/dist/index.js +261 -145
- 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,39 @@ 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
|
+
|
|
164
|
+
function __makeTemplateObject(cooked, raw) {
|
|
165
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
166
|
+
return cooked;
|
|
167
|
+
}
|
|
141
168
|
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
142
169
|
var e = new Error(message);
|
|
143
170
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
@@ -185,9 +212,18 @@ var EFormulaFilterFieldKeys;
|
|
|
185
212
|
EFormulaFilterFieldKeys["lastTimeUnit"] = "lastTimeUnit";
|
|
186
213
|
EFormulaFilterFieldKeys["durationUnit"] = "durationUnit";
|
|
187
214
|
})(EFormulaFilterFieldKeys || (EFormulaFilterFieldKeys = {}));
|
|
215
|
+
var EDimensionProcessFilterTimeUnit;
|
|
216
|
+
(function (EDimensionProcessFilterTimeUnit) {
|
|
217
|
+
EDimensionProcessFilterTimeUnit["YEARS"] = "YEARS";
|
|
218
|
+
EDimensionProcessFilterTimeUnit["MONTHS"] = "MONTHS";
|
|
219
|
+
EDimensionProcessFilterTimeUnit["HOURS"] = "HOURS";
|
|
220
|
+
EDimensionProcessFilterTimeUnit["DAYS"] = "DAYS";
|
|
221
|
+
EDimensionProcessFilterTimeUnit["MINUTES"] = "MINUTES";
|
|
222
|
+
})(EDimensionProcessFilterTimeUnit || (EDimensionProcessFilterTimeUnit = {}));
|
|
188
223
|
var isFormulaFilterValue = function (value) {
|
|
189
224
|
return "filteringMethod" in value;
|
|
190
225
|
};
|
|
226
|
+
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
191
227
|
|
|
192
228
|
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
193
229
|
var compactMap = function (items, f) {
|
|
@@ -612,7 +648,7 @@ var formattingConfig = {
|
|
|
612
648
|
},
|
|
613
649
|
};
|
|
614
650
|
|
|
615
|
-
var _a$
|
|
651
|
+
var _a$5;
|
|
616
652
|
var EDimensionTemplateNames;
|
|
617
653
|
(function (EDimensionTemplateNames) {
|
|
618
654
|
EDimensionTemplateNames["dateTime"] = "dateTime";
|
|
@@ -628,19 +664,19 @@ var EDimensionTemplateNames;
|
|
|
628
664
|
EDimensionTemplateNames["hour"] = "hour";
|
|
629
665
|
})(EDimensionTemplateNames || (EDimensionTemplateNames = {}));
|
|
630
666
|
/** Стандартные шаблоны разреза */
|
|
631
|
-
var dimensionTemplateFormulas = (_a$
|
|
632
|
-
_a$
|
|
633
|
-
_a$
|
|
634
|
-
_a$
|
|
635
|
-
_a$
|
|
636
|
-
_a$
|
|
637
|
-
_a$
|
|
638
|
-
_a$
|
|
639
|
-
_a$
|
|
640
|
-
_a$
|
|
641
|
-
_a$
|
|
642
|
-
_a$
|
|
643
|
-
_a$
|
|
667
|
+
var dimensionTemplateFormulas = (_a$5 = {},
|
|
668
|
+
_a$5[EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
669
|
+
_a$5[EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
670
|
+
_a$5[EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
671
|
+
_a$5[EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
672
|
+
_a$5[EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
673
|
+
_a$5[EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
674
|
+
_a$5[EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
675
|
+
_a$5[EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
676
|
+
_a$5[EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
677
|
+
_a$5[EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
678
|
+
_a$5[EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
679
|
+
_a$5);
|
|
644
680
|
|
|
645
681
|
var EWidgetIndicatorType;
|
|
646
682
|
(function (EWidgetIndicatorType) {
|
|
@@ -682,6 +718,11 @@ var ESortingValueModes;
|
|
|
682
718
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
683
719
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
684
720
|
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
721
|
+
var EFormatOrFormattingMode;
|
|
722
|
+
(function (EFormatOrFormattingMode) {
|
|
723
|
+
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
724
|
+
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
725
|
+
})(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
|
|
685
726
|
/** Тип показателя */
|
|
686
727
|
var EIndicatorType;
|
|
687
728
|
(function (EIndicatorType) {
|
|
@@ -761,24 +802,100 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
761
802
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
762
803
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
763
804
|
|
|
805
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
764
806
|
function fillTemplateString(templateString, params) {
|
|
765
|
-
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
807
|
+
return templateString.replace(/\{(.*?)\}/g, function (_, key) {
|
|
808
|
+
var _a;
|
|
809
|
+
return (_a = params[key]) !== null && _a !== void 0 ? _a : "";
|
|
810
|
+
});
|
|
811
|
+
}
|
|
812
|
+
/** Функция для безопасного заполнения SQL шаблонов с защитой от однострочных SQL комментариев в подставляемых значениях. */
|
|
813
|
+
function fillTemplateSql(templateString, params) {
|
|
814
|
+
var e_1, _a;
|
|
815
|
+
var newParams = {};
|
|
816
|
+
try {
|
|
817
|
+
for (var _b = __values(Object.entries(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
818
|
+
var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
|
|
819
|
+
/** Эвристическая проверка на возможное присутствие sql-комментария в значении подставляемом в template
|
|
820
|
+
*/
|
|
821
|
+
if (String(value).indexOf("--") >= 0) {
|
|
822
|
+
newParams[key] = "".concat(value, "\n");
|
|
823
|
+
continue;
|
|
824
|
+
}
|
|
825
|
+
newParams[key] = String(value);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
829
|
+
finally {
|
|
830
|
+
try {
|
|
831
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
832
|
+
}
|
|
833
|
+
finally { if (e_1) throw e_1.error; }
|
|
834
|
+
}
|
|
835
|
+
return fillTemplateString(templateString, newParams);
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
839
|
+
var createEscaper = function (specialChars) { return function (str) {
|
|
840
|
+
return specialChars.reduce(function (escaped, char) { return escaped.replaceAll(char, "\\".concat(char)); }, str);
|
|
841
|
+
}; };
|
|
842
|
+
|
|
843
|
+
/** Удалить из строки символы экранирования */
|
|
844
|
+
function unescapeSpecialCharacters(str) {
|
|
845
|
+
return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
|
|
766
846
|
}
|
|
767
847
|
|
|
768
|
-
/**
|
|
769
|
-
*
|
|
770
|
-
*
|
|
771
|
-
*
|
|
772
|
-
*
|
|
848
|
+
/**
|
|
849
|
+
* Создает RegExp-паттерн для подстроки с безопасными символами.
|
|
850
|
+
*
|
|
851
|
+
* Подстрока может содержать любой символ, кроме:
|
|
852
|
+
* 1. `restrictedChar` - запрещено появление без экранирования.
|
|
853
|
+
* 2. Обратного слэша (`\`) - запрещено появление без пары.
|
|
854
|
+
*
|
|
855
|
+
* Правило экранирования:
|
|
856
|
+
* - Любой символ, включая `restrictedChar` и `\`, можно использовать с префиксом `\`.
|
|
857
|
+
* - Последний символ в подстроке не может быть одинокий слэш.
|
|
858
|
+
*
|
|
859
|
+
* @param restrictedChar Символ, который нельзя использовать без экранирования.
|
|
860
|
+
* @returns Строка для вставки внутрь RegExp.
|
|
773
861
|
*/
|
|
774
|
-
var
|
|
775
|
-
return
|
|
862
|
+
var createEscapableCharPattern = function (restrictedChar) {
|
|
863
|
+
return String.raw(templateObject_1 || (templateObject_1 = __makeTemplateObject(["(?:\\.|[^", "\\])*"], ["(?:\\\\.|[^", "\\\\])*"])), restrictedChar);
|
|
776
864
|
};
|
|
865
|
+
/**
|
|
866
|
+
* Паттерн подстроки, валидной для использования внутри фигурных скобок.
|
|
867
|
+
* Требование к подстроке - отсутствие закрывающих фигурных скобок (кроме экранированных).
|
|
868
|
+
*/
|
|
869
|
+
var curlyBracketsContentPattern = createEscapableCharPattern("}");
|
|
870
|
+
/**
|
|
871
|
+
* Паттерн подстроки, валидной для использования внутри двойных кавычек.
|
|
872
|
+
* Требование к подстроке - отсутствие двойных кавычек (кроме экранированных).
|
|
873
|
+
*/
|
|
874
|
+
var doubleQuoteContentPattern = createEscapableCharPattern('"');
|
|
875
|
+
var dashboardLinkRegExp = new RegExp(String.raw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["#{(", ")}(?!.{(", ")})"], ["#\\{(", ")\\}(?!\\.\\{(", ")\\})"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
876
|
+
var workspaceLinkRegExp = new RegExp(String.raw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["#{(", ")}.{(", ")}"], ["#\\{(", ")\\}\\.\\{(", ")\\}"])), curlyBracketsContentPattern, curlyBracketsContentPattern), "g");
|
|
877
|
+
/** Экранирование спец.символов при подстановке названий таблиц и колонок */
|
|
878
|
+
var escapeDoubleQuoteLinkName = createEscaper(Array.from("\\\""));
|
|
879
|
+
/** Экранирование спец.символов при подстановке названий переменных и показателей */
|
|
880
|
+
var escapeCurlyBracketLinkName = createEscaper(Array.from("\\}.[]"));
|
|
881
|
+
var parseIndicatorLink = function (formula) {
|
|
882
|
+
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
883
|
+
if (dashboardMatch) {
|
|
884
|
+
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
885
|
+
}
|
|
886
|
+
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
887
|
+
if (workspaceMatch) {
|
|
888
|
+
return {
|
|
889
|
+
scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
|
|
890
|
+
indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
|
|
891
|
+
};
|
|
892
|
+
}
|
|
893
|
+
return null;
|
|
894
|
+
};
|
|
895
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
777
896
|
|
|
778
897
|
function generateColumnFormula(tableName, columnName) {
|
|
779
|
-
|
|
780
|
-
var preparedColumnName = escapeSpecialCharacters(columnName);
|
|
781
|
-
return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
|
|
898
|
+
return "\"".concat(escapeDoubleQuoteLinkName(tableName), "\".\"").concat(escapeDoubleQuoteLinkName(columnName), "\"");
|
|
782
899
|
}
|
|
783
900
|
|
|
784
901
|
var escapeSingularQuotes = function (formula) {
|
|
@@ -871,7 +988,7 @@ var convertFiltersToFormula = function (filters) {
|
|
|
871
988
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
872
989
|
};
|
|
873
990
|
|
|
874
|
-
var _a$
|
|
991
|
+
var _a$4;
|
|
875
992
|
var EDimensionAggregationTemplateName;
|
|
876
993
|
(function (EDimensionAggregationTemplateName) {
|
|
877
994
|
EDimensionAggregationTemplateName["avg"] = "avg";
|
|
@@ -888,20 +1005,20 @@ var EDimensionAggregationTemplateName;
|
|
|
888
1005
|
EDimensionAggregationTemplateName["countReworks"] = "countReworks";
|
|
889
1006
|
})(EDimensionAggregationTemplateName || (EDimensionAggregationTemplateName = {}));
|
|
890
1007
|
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
891
|
-
var dimensionAggregationTemplates = (_a$
|
|
892
|
-
_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$
|
|
1008
|
+
var dimensionAggregationTemplates = (_a$4 = {},
|
|
1009
|
+
_a$4[EDimensionAggregationTemplateName.avg] = avgTemplate,
|
|
1010
|
+
_a$4[EDimensionAggregationTemplateName.median] = medianTemplate,
|
|
1011
|
+
_a$4[EDimensionAggregationTemplateName.count] = countTemplate,
|
|
1012
|
+
_a$4[EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
|
|
1013
|
+
_a$4[EDimensionAggregationTemplateName.min] = minTemplate,
|
|
1014
|
+
_a$4[EDimensionAggregationTemplateName.max] = maxTemplate,
|
|
1015
|
+
_a$4[EDimensionAggregationTemplateName.sum] = sumTemplate,
|
|
1016
|
+
_a$4[EDimensionAggregationTemplateName.top] = topTemplate,
|
|
1017
|
+
_a$4[EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
1018
|
+
_a$4[EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
1019
|
+
_a$4[EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
1020
|
+
_a$4[EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
1021
|
+
_a$4);
|
|
905
1022
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
906
1023
|
var prepareDimensionAggregationParams = function (value) {
|
|
907
1024
|
if (!value.eventName ||
|
|
@@ -915,7 +1032,6 @@ var prepareDimensionAggregationParams = function (value) {
|
|
|
915
1032
|
eventNameFormula: value.eventNameFormula,
|
|
916
1033
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
917
1034
|
eventName: value.eventName,
|
|
918
|
-
objectFilters: "1",
|
|
919
1035
|
filters: convertFiltersToFormula(value.filters),
|
|
920
1036
|
eventTimeFormula: "",
|
|
921
1037
|
columnFormula: "",
|
|
@@ -944,7 +1060,7 @@ var timeTemplates = (function () {
|
|
|
944
1060
|
var generateTemplates = function (innerTemplate) {
|
|
945
1061
|
var templates = {};
|
|
946
1062
|
for (var key in dimensionTemplateFormulas) {
|
|
947
|
-
templates[key] =
|
|
1063
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
948
1064
|
}
|
|
949
1065
|
return templates;
|
|
950
1066
|
};
|
|
@@ -973,7 +1089,7 @@ var prepareTimeParams = function (value) {
|
|
|
973
1089
|
};
|
|
974
1090
|
|
|
975
1091
|
function getDimensionFormula(_a) {
|
|
976
|
-
var _b;
|
|
1092
|
+
var _b, _c;
|
|
977
1093
|
var value = _a.value;
|
|
978
1094
|
if (!value) {
|
|
979
1095
|
return "";
|
|
@@ -987,10 +1103,13 @@ function getDimensionFormula(_a) {
|
|
|
987
1103
|
if (!templateFormula || !tableName || !columnName) {
|
|
988
1104
|
return "";
|
|
989
1105
|
}
|
|
990
|
-
return
|
|
1106
|
+
return fillTemplateSql(templateFormula, {
|
|
991
1107
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
992
1108
|
});
|
|
993
1109
|
}
|
|
1110
|
+
return (_c = getProcessDimensionValueFormula(value)) !== null && _c !== void 0 ? _c : "";
|
|
1111
|
+
}
|
|
1112
|
+
function getProcessDimensionValueFormula(value) {
|
|
994
1113
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
995
1114
|
var preparedParams = prepareDimensionAggregationParams(value);
|
|
996
1115
|
if (!preparedParams) {
|
|
@@ -1000,10 +1119,10 @@ function getDimensionFormula(_a) {
|
|
|
1000
1119
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1001
1120
|
: null;
|
|
1002
1121
|
var columnFormula = innerTemplate
|
|
1003
|
-
?
|
|
1122
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1004
1123
|
: preparedParams.columnFormula;
|
|
1005
1124
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1006
|
-
return
|
|
1125
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1007
1126
|
}
|
|
1008
1127
|
if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
|
|
1009
1128
|
value.mode === EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1012,9 +1131,8 @@ function getDimensionFormula(_a) {
|
|
|
1012
1131
|
return "";
|
|
1013
1132
|
}
|
|
1014
1133
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1015
|
-
return
|
|
1134
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1016
1135
|
}
|
|
1017
|
-
return "";
|
|
1018
1136
|
}
|
|
1019
1137
|
|
|
1020
1138
|
var EMeasureAggregationTemplateName;
|
|
@@ -1034,6 +1152,7 @@ var EMeasureAggregationTemplateName;
|
|
|
1034
1152
|
})(EMeasureAggregationTemplateName || (EMeasureAggregationTemplateName = {}));
|
|
1035
1153
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1036
1154
|
var prepareMeasureAggregationParams = function (value) {
|
|
1155
|
+
var _a;
|
|
1037
1156
|
if ((!value.anyEvent && !value.eventName) ||
|
|
1038
1157
|
!value.caseCaseIdFormula ||
|
|
1039
1158
|
!value.eventNameFormula ||
|
|
@@ -1046,8 +1165,7 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1046
1165
|
outerAggregation: value.outerAggregation,
|
|
1047
1166
|
eventNameFormula: value.eventNameFormula,
|
|
1048
1167
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1049
|
-
eventName: value.eventName,
|
|
1050
|
-
objectFilters: "1",
|
|
1168
|
+
eventName: (_a = value.eventName) !== null && _a !== void 0 ? _a : "",
|
|
1051
1169
|
filters: convertFiltersToFormula(value.filters),
|
|
1052
1170
|
eventTimeFormula: "",
|
|
1053
1171
|
columnFormula: "",
|
|
@@ -1068,7 +1186,7 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1068
1186
|
return columnParams;
|
|
1069
1187
|
};
|
|
1070
1188
|
|
|
1071
|
-
var _a$
|
|
1189
|
+
var _a$3;
|
|
1072
1190
|
var EMeasureTemplateNames;
|
|
1073
1191
|
(function (EMeasureTemplateNames) {
|
|
1074
1192
|
EMeasureTemplateNames["avg"] = "avg";
|
|
@@ -1080,15 +1198,15 @@ var EMeasureTemplateNames;
|
|
|
1080
1198
|
EMeasureTemplateNames["sum"] = "sum";
|
|
1081
1199
|
})(EMeasureTemplateNames || (EMeasureTemplateNames = {}));
|
|
1082
1200
|
/** Стандартные шаблоны меры */
|
|
1083
|
-
var measureTemplateFormulas = (_a$
|
|
1084
|
-
_a$
|
|
1085
|
-
_a$
|
|
1086
|
-
_a$
|
|
1087
|
-
_a$
|
|
1088
|
-
_a$
|
|
1089
|
-
_a$
|
|
1090
|
-
_a$
|
|
1091
|
-
_a$
|
|
1201
|
+
var measureTemplateFormulas = (_a$3 = {},
|
|
1202
|
+
_a$3[EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
1203
|
+
_a$3[EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
1204
|
+
_a$3[EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
1205
|
+
_a$3[EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
1206
|
+
_a$3[EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
1207
|
+
_a$3[EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
1208
|
+
_a$3[EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
1209
|
+
_a$3);
|
|
1092
1210
|
|
|
1093
1211
|
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1094
1212
|
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)";
|
|
@@ -1106,7 +1224,6 @@ var prepareConversionParams = function (value) {
|
|
|
1106
1224
|
return null;
|
|
1107
1225
|
}
|
|
1108
1226
|
return {
|
|
1109
|
-
objectFilters: "1",
|
|
1110
1227
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1111
1228
|
startEventNameFormula: value.startEventNameFormula,
|
|
1112
1229
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1145,7 +1262,6 @@ var prepareDurationParams = function (value) {
|
|
|
1145
1262
|
return appearance === EEventAppearances.FIRST ? "minIf" : "maxIf";
|
|
1146
1263
|
};
|
|
1147
1264
|
return {
|
|
1148
|
-
objectFilters: "1",
|
|
1149
1265
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1150
1266
|
startEventNameFormula: value.startEventNameFormula,
|
|
1151
1267
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1161,16 +1277,16 @@ var prepareDurationParams = function (value) {
|
|
|
1161
1277
|
};
|
|
1162
1278
|
|
|
1163
1279
|
function createAnyEventTemplate(aggregatePart) {
|
|
1164
|
-
return "{outerAggregation}
|
|
1280
|
+
return "{outerAggregation}(process(".concat(aggregatePart, ", {caseCaseIdFormula}))");
|
|
1165
1281
|
}
|
|
1166
1282
|
function createSpecificEventTemplate(fn, additionalFn) {
|
|
1167
|
-
return "{outerAggregation}
|
|
1283
|
+
return "{outerAggregation}(process(".concat(fn, "(").concat(additionalFn ? "".concat(additionalFn, " ") : "", "{columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}))");
|
|
1168
1284
|
}
|
|
1169
1285
|
function createTopLikeTemplate(template) {
|
|
1170
1286
|
return function (outerAggregation) {
|
|
1171
1287
|
return outerAggregation === EOuterAggregation.top
|
|
1172
|
-
? "{outerAggregation}
|
|
1173
|
-
: "{outerAggregation}
|
|
1288
|
+
? "{outerAggregation}K(1)(".concat(template, ")[1]")
|
|
1289
|
+
: "{outerAggregation}(".concat(template, ")");
|
|
1174
1290
|
};
|
|
1175
1291
|
}
|
|
1176
1292
|
function createAggregationTemplate(templateName, _a) {
|
|
@@ -1217,9 +1333,9 @@ function createAggregationTemplate(templateName, _a) {
|
|
|
1217
1333
|
? createAnyEventTemplate("argMax({columnFormula}, {eventTimeFormula})")
|
|
1218
1334
|
: createTopLikeTemplate(lastValueTemplate)(outerAggregation);
|
|
1219
1335
|
case EMeasureAggregationTemplateName.countExecutions:
|
|
1220
|
-
return "{outerAggregation}
|
|
1336
|
+
return "{outerAggregation}(".concat(countExecutionsTemplate, ")");
|
|
1221
1337
|
case EMeasureAggregationTemplateName.countReworks:
|
|
1222
|
-
return "{outerAggregation}
|
|
1338
|
+
return "{outerAggregation}(".concat(countReworksTemplate, ")");
|
|
1223
1339
|
}
|
|
1224
1340
|
}
|
|
1225
1341
|
|
|
@@ -1238,14 +1354,14 @@ function getMeasureFormula(_a) {
|
|
|
1238
1354
|
if (!templateFormula || !tableName || !columnName) {
|
|
1239
1355
|
return "";
|
|
1240
1356
|
}
|
|
1241
|
-
return
|
|
1357
|
+
return fillTemplateSql(templateFormula, {
|
|
1242
1358
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1243
1359
|
});
|
|
1244
1360
|
}
|
|
1245
1361
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1246
1362
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1247
1363
|
return preparedParams
|
|
1248
|
-
?
|
|
1364
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1249
1365
|
outerAggregation: preparedParams.outerAggregation,
|
|
1250
1366
|
anyEvent: value.anyEvent,
|
|
1251
1367
|
}), preparedParams)
|
|
@@ -1256,28 +1372,28 @@ function getMeasureFormula(_a) {
|
|
|
1256
1372
|
if (!preparedParams) {
|
|
1257
1373
|
return "";
|
|
1258
1374
|
}
|
|
1259
|
-
return
|
|
1375
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1260
1376
|
}
|
|
1261
1377
|
if (value.mode === EWidgetIndicatorValueModes.DURATION) {
|
|
1262
1378
|
var preparedParams = prepareDurationParams(value);
|
|
1263
1379
|
if (!preparedParams) {
|
|
1264
1380
|
return "";
|
|
1265
1381
|
}
|
|
1266
|
-
return
|
|
1382
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1267
1383
|
}
|
|
1268
1384
|
return "";
|
|
1269
1385
|
}
|
|
1270
1386
|
|
|
1271
|
-
var _a$
|
|
1387
|
+
var _a$2;
|
|
1272
1388
|
var EEventMeasureTemplateNames;
|
|
1273
1389
|
(function (EEventMeasureTemplateNames) {
|
|
1274
1390
|
EEventMeasureTemplateNames["eventsCount"] = "eventsCount";
|
|
1275
1391
|
EEventMeasureTemplateNames["reworksCount"] = "reworksCount";
|
|
1276
1392
|
})(EEventMeasureTemplateNames || (EEventMeasureTemplateNames = {}));
|
|
1277
|
-
var eventMeasureTemplateFormulas = (_a$
|
|
1278
|
-
_a$
|
|
1279
|
-
_a$
|
|
1280
|
-
_a$
|
|
1393
|
+
var eventMeasureTemplateFormulas = (_a$2 = {},
|
|
1394
|
+
_a$2[EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
1395
|
+
_a$2[EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
1396
|
+
_a$2);
|
|
1281
1397
|
|
|
1282
1398
|
function getEventMeasureFormula(_a, process) {
|
|
1283
1399
|
var value = _a.value;
|
|
@@ -1289,21 +1405,21 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1289
1405
|
}
|
|
1290
1406
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1291
1407
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1292
|
-
return templateFormula &&
|
|
1408
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1293
1409
|
}
|
|
1294
1410
|
return "";
|
|
1295
1411
|
}
|
|
1296
1412
|
|
|
1297
|
-
var _a;
|
|
1413
|
+
var _a$1;
|
|
1298
1414
|
var ETransitionMeasureTemplateNames;
|
|
1299
1415
|
(function (ETransitionMeasureTemplateNames) {
|
|
1300
1416
|
ETransitionMeasureTemplateNames["transitionsCount"] = "transitionsCount";
|
|
1301
1417
|
ETransitionMeasureTemplateNames["medianTime"] = "medianTime";
|
|
1302
1418
|
})(ETransitionMeasureTemplateNames || (ETransitionMeasureTemplateNames = {}));
|
|
1303
|
-
var transitionMeasureTemplateFormulas = (_a = {},
|
|
1304
|
-
_a[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1305
|
-
_a[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1306
|
-
_a);
|
|
1419
|
+
var transitionMeasureTemplateFormulas = (_a$1 = {},
|
|
1420
|
+
_a$1[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1421
|
+
_a$1[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1422
|
+
_a$1);
|
|
1307
1423
|
|
|
1308
1424
|
function getTransitionMeasureFormula(_a, process) {
|
|
1309
1425
|
var value = _a.value;
|
|
@@ -1315,52 +1431,16 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1315
1431
|
}
|
|
1316
1432
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1317
1433
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1318
|
-
return templateFormula &&
|
|
1434
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1319
1435
|
}
|
|
1320
1436
|
return "";
|
|
1321
1437
|
}
|
|
1322
1438
|
|
|
1323
|
-
/** Удалить из строки символы экранирования */
|
|
1324
|
-
function unescapeSpecialCharacters(str) {
|
|
1325
|
-
return str.replace(/\\(?!\\)/g, "").replace(/\\\\/g, "\\");
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
/**
|
|
1329
|
-
* Регулярное выражение для поиска имени ссылки внутри формулы.
|
|
1330
|
-
* Учитывает, что имя внутри формулы содержит экраны.
|
|
1331
|
-
*
|
|
1332
|
-
* Принцип работы:
|
|
1333
|
-
* Пробовать следующие вхождения:
|
|
1334
|
-
* - \\\\ - экранированный символ обратного слэша.
|
|
1335
|
-
* - Иначе \\" - экранированный символ кавычки.
|
|
1336
|
-
* - Иначе [^"] - любой символ кроме кавычки.
|
|
1337
|
-
* Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
|
|
1338
|
-
*/
|
|
1339
|
-
var linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
|
|
1340
|
-
var dashboardLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"(?!\\.\"").concat(linkNameRegExp, "\")"), "g");
|
|
1341
|
-
var workspaceLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"\\.\"(").concat(linkNameRegExp, ")\""), "g");
|
|
1342
|
-
var parseIndicatorLink = function (formula) {
|
|
1343
|
-
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
1344
|
-
if (dashboardMatch) {
|
|
1345
|
-
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
1346
|
-
}
|
|
1347
|
-
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
1348
|
-
if (workspaceMatch) {
|
|
1349
|
-
return {
|
|
1350
|
-
scopeName: unescapeSpecialCharacters(workspaceMatch[1]),
|
|
1351
|
-
indicatorName: unescapeSpecialCharacters(workspaceMatch[2]),
|
|
1352
|
-
};
|
|
1353
|
-
}
|
|
1354
|
-
return null;
|
|
1355
|
-
};
|
|
1356
|
-
|
|
1357
1439
|
// Типы, используемые в значениях элементов управления.
|
|
1358
1440
|
var EWidgetFilterMode;
|
|
1359
1441
|
(function (EWidgetFilterMode) {
|
|
1360
1442
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1361
1443
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1362
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1363
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1364
1444
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1365
1445
|
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
1366
1446
|
var EMarkdownDisplayMode;
|
|
@@ -1543,7 +1623,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1543
1623
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1544
1624
|
return {
|
|
1545
1625
|
dbDataType: EClickHouseBaseTypes.Bool,
|
|
1546
|
-
formula:
|
|
1626
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1547
1627
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1548
1628
|
}),
|
|
1549
1629
|
values: ["true"],
|
|
@@ -1578,6 +1658,46 @@ var mapFormulaFiltersToInputs = function (filters) {
|
|
|
1578
1658
|
return compactMap(filters, mapFormulaFilterToCalculatorInput);
|
|
1579
1659
|
};
|
|
1580
1660
|
|
|
1661
|
+
var _a;
|
|
1662
|
+
var intervalByUnit = (_a = {},
|
|
1663
|
+
_a[EDimensionProcessFilterTimeUnit.YEARS] = "year",
|
|
1664
|
+
_a[EDimensionProcessFilterTimeUnit.MONTHS] = "month",
|
|
1665
|
+
_a[EDimensionProcessFilterTimeUnit.DAYS] = "day",
|
|
1666
|
+
_a[EDimensionProcessFilterTimeUnit.HOURS] = "hour",
|
|
1667
|
+
_a[EDimensionProcessFilterTimeUnit.MINUTES] = "minute",
|
|
1668
|
+
_a);
|
|
1669
|
+
function mapDimensionProcessFilterToCalculatorInput(filter) {
|
|
1670
|
+
var formula = filter.value.mode === EWidgetIndicatorValueModes.FORMULA
|
|
1671
|
+
? filter.value.formula
|
|
1672
|
+
: getProcessDimensionValueFormula(filter.value);
|
|
1673
|
+
if (formula === undefined) {
|
|
1674
|
+
throw new Error("Formula generation error");
|
|
1675
|
+
}
|
|
1676
|
+
var _a = filter.condition, timeUnit = _a.timeUnit, filteringMethod = _a.filteringMethod, values = _a.values;
|
|
1677
|
+
if (filteringMethod === "LAST_TIME") {
|
|
1678
|
+
if (!timeUnit) {
|
|
1679
|
+
throw new Error("Missing time unit");
|
|
1680
|
+
}
|
|
1681
|
+
return {
|
|
1682
|
+
dbDataType: EClickHouseBaseTypes.Bool,
|
|
1683
|
+
formula: "date_diff('".concat(intervalByUnit[timeUnit], "', ").concat(formula, ", now())"),
|
|
1684
|
+
values: values,
|
|
1685
|
+
filteringMethod: formulaFilterMethods.LESS_THAN_OR_EQUAL_TO,
|
|
1686
|
+
};
|
|
1687
|
+
}
|
|
1688
|
+
return { formula: formula, filteringMethod: filteringMethod, values: values, dbDataType: filter.dbDataType };
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
var mapSettingsFilterToCalculatorInput = function (filter) {
|
|
1692
|
+
if (isDimensionProcessFilter(filter)) {
|
|
1693
|
+
return mapDimensionProcessFilterToCalculatorInput(filter);
|
|
1694
|
+
}
|
|
1695
|
+
return mapFormulaFilterToCalculatorInput(filter);
|
|
1696
|
+
};
|
|
1697
|
+
var mapSettingsFiltersToInputs = function (filters) {
|
|
1698
|
+
return compactMap(filters, mapSettingsFilterToCalculatorInput);
|
|
1699
|
+
};
|
|
1700
|
+
|
|
1581
1701
|
function mapMeasureToInput(measure, variables, addFormulas) {
|
|
1582
1702
|
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
1583
1703
|
var mainFormula = getMeasureFormula(measure);
|
|
@@ -1719,7 +1839,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1719
1839
|
}
|
|
1720
1840
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1721
1841
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1722
|
-
|
|
1842
|
+
var _a;
|
|
1843
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1723
1844
|
[
|
|
1724
1845
|
EFormatTypes.DATE,
|
|
1725
1846
|
EFormatTypes.MONTH,
|
|
@@ -1732,7 +1853,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1732
1853
|
EFormatTypes.QUARTER_YEAR,
|
|
1733
1854
|
EFormatTypes.DAY_OF_MONTH,
|
|
1734
1855
|
EFormatTypes.WEEK,
|
|
1735
|
-
].includes(dimension.format);
|
|
1856
|
+
].includes(dimension.format.value);
|
|
1736
1857
|
});
|
|
1737
1858
|
if (timeDimension) {
|
|
1738
1859
|
return [
|
|
@@ -1836,6 +1957,8 @@ var EControlType;
|
|
|
1836
1957
|
(function (EControlType) {
|
|
1837
1958
|
/** Ввод текста */
|
|
1838
1959
|
EControlType["input"] = "input";
|
|
1960
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1961
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1839
1962
|
/** Ввод текста в формате markdown */
|
|
1840
1963
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1841
1964
|
/** Ввод числа */
|
|
@@ -1949,19 +2072,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1949
2072
|
replacedFilter: null,
|
|
1950
2073
|
});
|
|
1951
2074
|
};
|
|
1952
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1953
|
-
var updateMultiModeSelection = function (selection, formula, value) {
|
|
1954
|
-
var _a;
|
|
1955
|
-
var selectionItemValues = getSelectionItemValues(value, EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
|
|
1956
|
-
if (!selectionItemValues.size) {
|
|
1957
|
-
selection.delete(formula);
|
|
1958
|
-
return;
|
|
1959
|
-
}
|
|
1960
|
-
selection.set(formula, {
|
|
1961
|
-
values: selectionItemValues,
|
|
1962
|
-
replacedFilter: null,
|
|
1963
|
-
});
|
|
1964
|
-
};
|
|
1965
2075
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1966
2076
|
return filters.reduce(function (acc, filter) {
|
|
1967
2077
|
var _a;
|
|
@@ -2082,4 +2192,4 @@ var getColorByIndex = function (index) {
|
|
|
2082
2192
|
return color;
|
|
2083
2193
|
};
|
|
2084
2194
|
|
|
2085
|
-
export { EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, OuterAggregation, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createAggregationTemplate as createMeasureAggregationTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, durationTemplates,
|
|
2195
|
+
export { EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, 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, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|