@infomaximum/widget-sdk 6.0.0-2 → 6.0.0-2508.1
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 +65 -0
- package/README.md +3 -1
- package/dist/index.d.ts +819 -799
- package/dist/index.esm.js +194 -98
- package/dist/index.js +197 -98
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -35,12 +35,6 @@ var EViewOpenIn;
|
|
|
35
35
|
EViewOpenIn["PLACEHOLDER"] = "PLACEHOLDER";
|
|
36
36
|
EViewOpenIn["MODAL_WINDOW"] = "MODAL_WINDOW";
|
|
37
37
|
EViewOpenIn["DRAWER_WINDOW"] = "DRAWER_WINDOW";
|
|
38
|
-
// TODO: удалить при выполении BI-14979
|
|
39
|
-
/** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - true */
|
|
40
|
-
EViewOpenIn["NEW_WINDOW"] = "NEW_WINDOW";
|
|
41
|
-
// TODO: удалить при выполении BI-14979
|
|
42
|
-
/** @deprecated необходимо использовать EViewOpenIn.WINDOW с флагом newWindow - false */
|
|
43
|
-
EViewOpenIn["CURRENT_WINDOW"] = "CURRENT_WINDOW";
|
|
44
38
|
})(EViewOpenIn || (EViewOpenIn = {}));
|
|
45
39
|
var EDrawerPlacement;
|
|
46
40
|
(function (EDrawerPlacement) {
|
|
@@ -138,6 +132,35 @@ function __rest(s, e) {
|
|
|
138
132
|
return t;
|
|
139
133
|
}
|
|
140
134
|
|
|
135
|
+
function __values(o) {
|
|
136
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
137
|
+
if (m) return m.call(o);
|
|
138
|
+
if (o && typeof o.length === "number") return {
|
|
139
|
+
next: function () {
|
|
140
|
+
if (o && i >= o.length) o = void 0;
|
|
141
|
+
return { value: o && o[i++], done: !o };
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
function __read(o, n) {
|
|
148
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
149
|
+
if (!m) return o;
|
|
150
|
+
var i = m.call(o), r, ar = [], e;
|
|
151
|
+
try {
|
|
152
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
153
|
+
}
|
|
154
|
+
catch (error) { e = { error: error }; }
|
|
155
|
+
finally {
|
|
156
|
+
try {
|
|
157
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
158
|
+
}
|
|
159
|
+
finally { if (e) throw e.error; }
|
|
160
|
+
}
|
|
161
|
+
return ar;
|
|
162
|
+
}
|
|
163
|
+
|
|
141
164
|
function __makeTemplateObject(cooked, raw) {
|
|
142
165
|
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
143
166
|
return cooked;
|
|
@@ -189,9 +212,18 @@ var EFormulaFilterFieldKeys;
|
|
|
189
212
|
EFormulaFilterFieldKeys["lastTimeUnit"] = "lastTimeUnit";
|
|
190
213
|
EFormulaFilterFieldKeys["durationUnit"] = "durationUnit";
|
|
191
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 = {}));
|
|
192
223
|
var isFormulaFilterValue = function (value) {
|
|
193
224
|
return "filteringMethod" in value;
|
|
194
225
|
};
|
|
226
|
+
var isDimensionProcessFilter = function (filter) { return "value" in filter && "condition" in filter; };
|
|
195
227
|
|
|
196
228
|
var compact = function (items) { return ((items === null || items === void 0 ? void 0 : items.filter(Boolean)) || []); };
|
|
197
229
|
var compactMap = function (items, f) {
|
|
@@ -616,7 +648,7 @@ var formattingConfig = {
|
|
|
616
648
|
},
|
|
617
649
|
};
|
|
618
650
|
|
|
619
|
-
var _a$
|
|
651
|
+
var _a$5;
|
|
620
652
|
var EDimensionTemplateNames;
|
|
621
653
|
(function (EDimensionTemplateNames) {
|
|
622
654
|
EDimensionTemplateNames["dateTime"] = "dateTime";
|
|
@@ -632,19 +664,19 @@ var EDimensionTemplateNames;
|
|
|
632
664
|
EDimensionTemplateNames["hour"] = "hour";
|
|
633
665
|
})(EDimensionTemplateNames || (EDimensionTemplateNames = {}));
|
|
634
666
|
/** Стандартные шаблоны разреза */
|
|
635
|
-
var dimensionTemplateFormulas = (_a$
|
|
636
|
-
_a$
|
|
637
|
-
_a$
|
|
638
|
-
_a$
|
|
639
|
-
_a$
|
|
640
|
-
_a$
|
|
641
|
-
_a$
|
|
642
|
-
_a$
|
|
643
|
-
_a$
|
|
644
|
-
_a$
|
|
645
|
-
_a$
|
|
646
|
-
_a$
|
|
647
|
-
_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);
|
|
648
680
|
|
|
649
681
|
var EWidgetIndicatorType;
|
|
650
682
|
(function (EWidgetIndicatorType) {
|
|
@@ -686,6 +718,11 @@ var ESortingValueModes;
|
|
|
686
718
|
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
687
719
|
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
688
720
|
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
721
|
+
var EFormatOrFormattingMode;
|
|
722
|
+
(function (EFormatOrFormattingMode) {
|
|
723
|
+
EFormatOrFormattingMode["BASE"] = "BASE";
|
|
724
|
+
EFormatOrFormattingMode["TEMPLATE"] = "TEMPLATE";
|
|
725
|
+
})(EFormatOrFormattingMode || (EFormatOrFormattingMode = {}));
|
|
689
726
|
/** Тип показателя */
|
|
690
727
|
var EIndicatorType;
|
|
691
728
|
(function (EIndicatorType) {
|
|
@@ -765,8 +802,41 @@ var minTemplate = createAggregationTemplate$1("minIf");
|
|
|
765
802
|
var maxTemplate = createAggregationTemplate$1("maxIf");
|
|
766
803
|
var sumTemplate = createAggregationTemplate$1("sumIf");
|
|
767
804
|
|
|
805
|
+
/** @deprecated - следует использовать fillTemplateSql */
|
|
768
806
|
function fillTemplateString(templateString, params) {
|
|
769
|
-
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
|
+
if (!value) {
|
|
820
|
+
newParams[key] = value;
|
|
821
|
+
break;
|
|
822
|
+
}
|
|
823
|
+
/** Эвристическая проверка на возможное присутствие sql-комментария в значении подставляемом в template
|
|
824
|
+
*/
|
|
825
|
+
if (typeof value === "string" && value.indexOf("--") >= 0) {
|
|
826
|
+
newParams[key] = "".concat(value, "\n");
|
|
827
|
+
break;
|
|
828
|
+
}
|
|
829
|
+
newParams[key] = value;
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
833
|
+
finally {
|
|
834
|
+
try {
|
|
835
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
836
|
+
}
|
|
837
|
+
finally { if (e_1) throw e_1.error; }
|
|
838
|
+
}
|
|
839
|
+
return fillTemplateString(templateString, newParams);
|
|
770
840
|
}
|
|
771
841
|
|
|
772
842
|
/** Создать функцию экранирования переданных `specialChars` внутри `str` */
|
|
@@ -922,7 +992,7 @@ var convertFiltersToFormula = function (filters) {
|
|
|
922
992
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
923
993
|
};
|
|
924
994
|
|
|
925
|
-
var _a$
|
|
995
|
+
var _a$4;
|
|
926
996
|
var EDimensionAggregationTemplateName;
|
|
927
997
|
(function (EDimensionAggregationTemplateName) {
|
|
928
998
|
EDimensionAggregationTemplateName["avg"] = "avg";
|
|
@@ -939,20 +1009,20 @@ var EDimensionAggregationTemplateName;
|
|
|
939
1009
|
EDimensionAggregationTemplateName["countReworks"] = "countReworks";
|
|
940
1010
|
})(EDimensionAggregationTemplateName || (EDimensionAggregationTemplateName = {}));
|
|
941
1011
|
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
942
|
-
var dimensionAggregationTemplates = (_a$
|
|
943
|
-
_a$
|
|
944
|
-
_a$
|
|
945
|
-
_a$
|
|
946
|
-
_a$
|
|
947
|
-
_a$
|
|
948
|
-
_a$
|
|
949
|
-
_a$
|
|
950
|
-
_a$
|
|
951
|
-
_a$
|
|
952
|
-
_a$
|
|
953
|
-
_a$
|
|
954
|
-
_a$
|
|
955
|
-
_a$
|
|
1012
|
+
var dimensionAggregationTemplates = (_a$4 = {},
|
|
1013
|
+
_a$4[EDimensionAggregationTemplateName.avg] = avgTemplate,
|
|
1014
|
+
_a$4[EDimensionAggregationTemplateName.median] = medianTemplate,
|
|
1015
|
+
_a$4[EDimensionAggregationTemplateName.count] = countTemplate,
|
|
1016
|
+
_a$4[EDimensionAggregationTemplateName.countDistinct] = countDistinctTemplate,
|
|
1017
|
+
_a$4[EDimensionAggregationTemplateName.min] = minTemplate,
|
|
1018
|
+
_a$4[EDimensionAggregationTemplateName.max] = maxTemplate,
|
|
1019
|
+
_a$4[EDimensionAggregationTemplateName.sum] = sumTemplate,
|
|
1020
|
+
_a$4[EDimensionAggregationTemplateName.top] = topTemplate,
|
|
1021
|
+
_a$4[EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
1022
|
+
_a$4[EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
1023
|
+
_a$4[EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
1024
|
+
_a$4[EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
1025
|
+
_a$4);
|
|
956
1026
|
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
957
1027
|
var prepareDimensionAggregationParams = function (value) {
|
|
958
1028
|
if (!value.eventName ||
|
|
@@ -966,7 +1036,6 @@ var prepareDimensionAggregationParams = function (value) {
|
|
|
966
1036
|
eventNameFormula: value.eventNameFormula,
|
|
967
1037
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
968
1038
|
eventName: value.eventName,
|
|
969
|
-
objectFilters: "1",
|
|
970
1039
|
filters: convertFiltersToFormula(value.filters),
|
|
971
1040
|
eventTimeFormula: "",
|
|
972
1041
|
columnFormula: "",
|
|
@@ -995,7 +1064,7 @@ var timeTemplates = (function () {
|
|
|
995
1064
|
var generateTemplates = function (innerTemplate) {
|
|
996
1065
|
var templates = {};
|
|
997
1066
|
for (var key in dimensionTemplateFormulas) {
|
|
998
|
-
templates[key] =
|
|
1067
|
+
templates[key] = fillTemplateSql(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
999
1068
|
}
|
|
1000
1069
|
return templates;
|
|
1001
1070
|
};
|
|
@@ -1024,7 +1093,7 @@ var prepareTimeParams = function (value) {
|
|
|
1024
1093
|
};
|
|
1025
1094
|
|
|
1026
1095
|
function getDimensionFormula(_a) {
|
|
1027
|
-
var _b;
|
|
1096
|
+
var _b, _c;
|
|
1028
1097
|
var value = _a.value;
|
|
1029
1098
|
if (!value) {
|
|
1030
1099
|
return "";
|
|
@@ -1038,10 +1107,13 @@ function getDimensionFormula(_a) {
|
|
|
1038
1107
|
if (!templateFormula || !tableName || !columnName) {
|
|
1039
1108
|
return "";
|
|
1040
1109
|
}
|
|
1041
|
-
return
|
|
1110
|
+
return fillTemplateSql(templateFormula, {
|
|
1042
1111
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1043
1112
|
});
|
|
1044
1113
|
}
|
|
1114
|
+
return (_c = getProcessDimensionValueFormula(value)) !== null && _c !== void 0 ? _c : "";
|
|
1115
|
+
}
|
|
1116
|
+
function getProcessDimensionValueFormula(value) {
|
|
1045
1117
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1046
1118
|
var preparedParams = prepareDimensionAggregationParams(value);
|
|
1047
1119
|
if (!preparedParams) {
|
|
@@ -1051,10 +1123,10 @@ function getDimensionFormula(_a) {
|
|
|
1051
1123
|
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1052
1124
|
: null;
|
|
1053
1125
|
var columnFormula = innerTemplate
|
|
1054
|
-
?
|
|
1126
|
+
? fillTemplateSql(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1055
1127
|
: preparedParams.columnFormula;
|
|
1056
1128
|
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1057
|
-
return
|
|
1129
|
+
return fillTemplateSql(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1058
1130
|
}
|
|
1059
1131
|
if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
|
|
1060
1132
|
value.mode === EWidgetIndicatorValueModes.END_TIME) {
|
|
@@ -1063,9 +1135,8 @@ function getDimensionFormula(_a) {
|
|
|
1063
1135
|
return "";
|
|
1064
1136
|
}
|
|
1065
1137
|
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1066
|
-
return
|
|
1138
|
+
return fillTemplateSql(templateFormula, preparedParams);
|
|
1067
1139
|
}
|
|
1068
|
-
return "";
|
|
1069
1140
|
}
|
|
1070
1141
|
|
|
1071
1142
|
var EMeasureAggregationTemplateName;
|
|
@@ -1098,7 +1169,6 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1098
1169
|
eventNameFormula: value.eventNameFormula,
|
|
1099
1170
|
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1100
1171
|
eventName: value.eventName,
|
|
1101
|
-
objectFilters: "1",
|
|
1102
1172
|
filters: convertFiltersToFormula(value.filters),
|
|
1103
1173
|
eventTimeFormula: "",
|
|
1104
1174
|
columnFormula: "",
|
|
@@ -1119,7 +1189,7 @@ var prepareMeasureAggregationParams = function (value) {
|
|
|
1119
1189
|
return columnParams;
|
|
1120
1190
|
};
|
|
1121
1191
|
|
|
1122
|
-
var _a$
|
|
1192
|
+
var _a$3;
|
|
1123
1193
|
var EMeasureTemplateNames;
|
|
1124
1194
|
(function (EMeasureTemplateNames) {
|
|
1125
1195
|
EMeasureTemplateNames["avg"] = "avg";
|
|
@@ -1131,15 +1201,15 @@ var EMeasureTemplateNames;
|
|
|
1131
1201
|
EMeasureTemplateNames["sum"] = "sum";
|
|
1132
1202
|
})(EMeasureTemplateNames || (EMeasureTemplateNames = {}));
|
|
1133
1203
|
/** Стандартные шаблоны меры */
|
|
1134
|
-
var measureTemplateFormulas = (_a$
|
|
1135
|
-
_a$
|
|
1136
|
-
_a$
|
|
1137
|
-
_a$
|
|
1138
|
-
_a$
|
|
1139
|
-
_a$
|
|
1140
|
-
_a$
|
|
1141
|
-
_a$
|
|
1142
|
-
_a$
|
|
1204
|
+
var measureTemplateFormulas = (_a$3 = {},
|
|
1205
|
+
_a$3[EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
1206
|
+
_a$3[EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
1207
|
+
_a$3[EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
1208
|
+
_a$3[EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
1209
|
+
_a$3[EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
1210
|
+
_a$3[EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
1211
|
+
_a$3[EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
1212
|
+
_a$3);
|
|
1143
1213
|
|
|
1144
1214
|
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1145
1215
|
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)";
|
|
@@ -1157,7 +1227,6 @@ var prepareConversionParams = function (value) {
|
|
|
1157
1227
|
return null;
|
|
1158
1228
|
}
|
|
1159
1229
|
return {
|
|
1160
|
-
objectFilters: "1",
|
|
1161
1230
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1162
1231
|
startEventNameFormula: value.startEventNameFormula,
|
|
1163
1232
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1196,7 +1265,6 @@ var prepareDurationParams = function (value) {
|
|
|
1196
1265
|
return appearance === EEventAppearances.FIRST ? "minIf" : "maxIf";
|
|
1197
1266
|
};
|
|
1198
1267
|
return {
|
|
1199
|
-
objectFilters: "1",
|
|
1200
1268
|
startEventTimeFormula: value.startEventTimeFormula,
|
|
1201
1269
|
startEventNameFormula: value.startEventNameFormula,
|
|
1202
1270
|
startEventFilters: convertFiltersToFormula(value.startEventFilters),
|
|
@@ -1212,16 +1280,16 @@ var prepareDurationParams = function (value) {
|
|
|
1212
1280
|
};
|
|
1213
1281
|
|
|
1214
1282
|
function createAnyEventTemplate(aggregatePart) {
|
|
1215
|
-
return "{outerAggregation}
|
|
1283
|
+
return "{outerAggregation}(process(".concat(aggregatePart, ", {caseCaseIdFormula}))");
|
|
1216
1284
|
}
|
|
1217
1285
|
function createSpecificEventTemplate(fn, additionalFn) {
|
|
1218
|
-
return "{outerAggregation}
|
|
1286
|
+
return "{outerAggregation}(process(".concat(fn, "(").concat(additionalFn ? "".concat(additionalFn, " ") : "", "{columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}))");
|
|
1219
1287
|
}
|
|
1220
1288
|
function createTopLikeTemplate(template) {
|
|
1221
1289
|
return function (outerAggregation) {
|
|
1222
1290
|
return outerAggregation === EOuterAggregation.top
|
|
1223
|
-
? "{outerAggregation}
|
|
1224
|
-
: "{outerAggregation}
|
|
1291
|
+
? "{outerAggregation}K(1)(".concat(template, ")[1]")
|
|
1292
|
+
: "{outerAggregation}(".concat(template, ")");
|
|
1225
1293
|
};
|
|
1226
1294
|
}
|
|
1227
1295
|
function createAggregationTemplate(templateName, _a) {
|
|
@@ -1268,9 +1336,9 @@ function createAggregationTemplate(templateName, _a) {
|
|
|
1268
1336
|
? createAnyEventTemplate("argMax({columnFormula}, {eventTimeFormula})")
|
|
1269
1337
|
: createTopLikeTemplate(lastValueTemplate)(outerAggregation);
|
|
1270
1338
|
case EMeasureAggregationTemplateName.countExecutions:
|
|
1271
|
-
return "{outerAggregation}
|
|
1339
|
+
return "{outerAggregation}(".concat(countExecutionsTemplate, ")");
|
|
1272
1340
|
case EMeasureAggregationTemplateName.countReworks:
|
|
1273
|
-
return "{outerAggregation}
|
|
1341
|
+
return "{outerAggregation}(".concat(countReworksTemplate, ")");
|
|
1274
1342
|
}
|
|
1275
1343
|
}
|
|
1276
1344
|
|
|
@@ -1289,14 +1357,14 @@ function getMeasureFormula(_a) {
|
|
|
1289
1357
|
if (!templateFormula || !tableName || !columnName) {
|
|
1290
1358
|
return "";
|
|
1291
1359
|
}
|
|
1292
|
-
return
|
|
1360
|
+
return fillTemplateSql(templateFormula, {
|
|
1293
1361
|
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1294
1362
|
});
|
|
1295
1363
|
}
|
|
1296
1364
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1297
1365
|
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1298
1366
|
return preparedParams
|
|
1299
|
-
?
|
|
1367
|
+
? fillTemplateSql(createAggregationTemplate(value.templateName, {
|
|
1300
1368
|
outerAggregation: preparedParams.outerAggregation,
|
|
1301
1369
|
anyEvent: value.anyEvent,
|
|
1302
1370
|
}), preparedParams)
|
|
@@ -1307,28 +1375,28 @@ function getMeasureFormula(_a) {
|
|
|
1307
1375
|
if (!preparedParams) {
|
|
1308
1376
|
return "";
|
|
1309
1377
|
}
|
|
1310
|
-
return
|
|
1378
|
+
return fillTemplateSql(conversionTemplate, preparedParams);
|
|
1311
1379
|
}
|
|
1312
1380
|
if (value.mode === EWidgetIndicatorValueModes.DURATION) {
|
|
1313
1381
|
var preparedParams = prepareDurationParams(value);
|
|
1314
1382
|
if (!preparedParams) {
|
|
1315
1383
|
return "";
|
|
1316
1384
|
}
|
|
1317
|
-
return
|
|
1385
|
+
return fillTemplateSql(durationTemplates[value.templateName], preparedParams);
|
|
1318
1386
|
}
|
|
1319
1387
|
return "";
|
|
1320
1388
|
}
|
|
1321
1389
|
|
|
1322
|
-
var _a$
|
|
1390
|
+
var _a$2;
|
|
1323
1391
|
var EEventMeasureTemplateNames;
|
|
1324
1392
|
(function (EEventMeasureTemplateNames) {
|
|
1325
1393
|
EEventMeasureTemplateNames["eventsCount"] = "eventsCount";
|
|
1326
1394
|
EEventMeasureTemplateNames["reworksCount"] = "reworksCount";
|
|
1327
1395
|
})(EEventMeasureTemplateNames || (EEventMeasureTemplateNames = {}));
|
|
1328
|
-
var eventMeasureTemplateFormulas = (_a$
|
|
1329
|
-
_a$
|
|
1330
|
-
_a$
|
|
1331
|
-
_a$
|
|
1396
|
+
var eventMeasureTemplateFormulas = (_a$2 = {},
|
|
1397
|
+
_a$2[EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
1398
|
+
_a$2[EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
1399
|
+
_a$2);
|
|
1332
1400
|
|
|
1333
1401
|
function getEventMeasureFormula(_a, process) {
|
|
1334
1402
|
var value = _a.value;
|
|
@@ -1340,21 +1408,21 @@ function getEventMeasureFormula(_a, process) {
|
|
|
1340
1408
|
}
|
|
1341
1409
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1342
1410
|
var templateFormula = eventMeasureTemplateFormulas[value.templateName];
|
|
1343
|
-
return templateFormula &&
|
|
1411
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1344
1412
|
}
|
|
1345
1413
|
return "";
|
|
1346
1414
|
}
|
|
1347
1415
|
|
|
1348
|
-
var _a;
|
|
1416
|
+
var _a$1;
|
|
1349
1417
|
var ETransitionMeasureTemplateNames;
|
|
1350
1418
|
(function (ETransitionMeasureTemplateNames) {
|
|
1351
1419
|
ETransitionMeasureTemplateNames["transitionsCount"] = "transitionsCount";
|
|
1352
1420
|
ETransitionMeasureTemplateNames["medianTime"] = "medianTime";
|
|
1353
1421
|
})(ETransitionMeasureTemplateNames || (ETransitionMeasureTemplateNames = {}));
|
|
1354
|
-
var transitionMeasureTemplateFormulas = (_a = {},
|
|
1355
|
-
_a[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1356
|
-
_a[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1357
|
-
_a);
|
|
1422
|
+
var transitionMeasureTemplateFormulas = (_a$1 = {},
|
|
1423
|
+
_a$1[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1424
|
+
_a$1[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1425
|
+
_a$1);
|
|
1358
1426
|
|
|
1359
1427
|
function getTransitionMeasureFormula(_a, process) {
|
|
1360
1428
|
var value = _a.value;
|
|
@@ -1366,7 +1434,7 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
1366
1434
|
}
|
|
1367
1435
|
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1368
1436
|
var templateFormula = transitionMeasureTemplateFormulas[value.templateName];
|
|
1369
|
-
return templateFormula &&
|
|
1437
|
+
return templateFormula && fillTemplateSql(templateFormula, process);
|
|
1370
1438
|
}
|
|
1371
1439
|
return "";
|
|
1372
1440
|
}
|
|
@@ -1376,8 +1444,6 @@ var EWidgetFilterMode;
|
|
|
1376
1444
|
(function (EWidgetFilterMode) {
|
|
1377
1445
|
EWidgetFilterMode["DEFAULT"] = "DEFAULT";
|
|
1378
1446
|
EWidgetFilterMode["SINGLE"] = "SINGLE";
|
|
1379
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1380
|
-
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
1381
1447
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
1382
1448
|
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
1383
1449
|
var EMarkdownDisplayMode;
|
|
@@ -1560,7 +1626,7 @@ var mapFormulaFilterToCalculatorInput = function (filterValue) {
|
|
|
1560
1626
|
if (!isFormulaFilterValue(filterValue)) {
|
|
1561
1627
|
return {
|
|
1562
1628
|
dbDataType: EClickHouseBaseTypes.Bool,
|
|
1563
|
-
formula:
|
|
1629
|
+
formula: fillTemplateSql(displayConditionTemplate, {
|
|
1564
1630
|
formula: prepareFormulaForSql(filterValue.formula),
|
|
1565
1631
|
}),
|
|
1566
1632
|
values: ["true"],
|
|
@@ -1595,6 +1661,46 @@ var mapFormulaFiltersToInputs = function (filters) {
|
|
|
1595
1661
|
return compactMap(filters, mapFormulaFilterToCalculatorInput);
|
|
1596
1662
|
};
|
|
1597
1663
|
|
|
1664
|
+
var _a;
|
|
1665
|
+
var intervalByUnit = (_a = {},
|
|
1666
|
+
_a[EDimensionProcessFilterTimeUnit.YEARS] = "year",
|
|
1667
|
+
_a[EDimensionProcessFilterTimeUnit.MONTHS] = "month",
|
|
1668
|
+
_a[EDimensionProcessFilterTimeUnit.DAYS] = "day",
|
|
1669
|
+
_a[EDimensionProcessFilterTimeUnit.HOURS] = "hour",
|
|
1670
|
+
_a[EDimensionProcessFilterTimeUnit.MINUTES] = "minute",
|
|
1671
|
+
_a);
|
|
1672
|
+
function mapDimensionProcessFilterToCalculatorInput(filter) {
|
|
1673
|
+
var formula = filter.value.mode === EWidgetIndicatorValueModes.FORMULA
|
|
1674
|
+
? filter.value.formula
|
|
1675
|
+
: getProcessDimensionValueFormula(filter.value);
|
|
1676
|
+
if (formula === undefined) {
|
|
1677
|
+
throw new Error("Formula generation error");
|
|
1678
|
+
}
|
|
1679
|
+
var _a = filter.condition, timeUnit = _a.timeUnit, filteringMethod = _a.filteringMethod, values = _a.values;
|
|
1680
|
+
if (filteringMethod === "LAST_TIME") {
|
|
1681
|
+
if (!timeUnit) {
|
|
1682
|
+
throw new Error("Missing time unit");
|
|
1683
|
+
}
|
|
1684
|
+
return {
|
|
1685
|
+
dbDataType: EClickHouseBaseTypes.Bool,
|
|
1686
|
+
formula: "date_diff('".concat(intervalByUnit[timeUnit], "', ").concat(formula, ", now())"),
|
|
1687
|
+
values: values,
|
|
1688
|
+
filteringMethod: formulaFilterMethods.LESS_THAN_OR_EQUAL_TO,
|
|
1689
|
+
};
|
|
1690
|
+
}
|
|
1691
|
+
return { formula: formula, filteringMethod: filteringMethod, values: values, dbDataType: filter.dbDataType };
|
|
1692
|
+
}
|
|
1693
|
+
|
|
1694
|
+
var mapSettingsFilterToCalculatorInput = function (filter) {
|
|
1695
|
+
if (isDimensionProcessFilter(filter)) {
|
|
1696
|
+
return mapDimensionProcessFilterToCalculatorInput(filter);
|
|
1697
|
+
}
|
|
1698
|
+
return mapFormulaFilterToCalculatorInput(filter);
|
|
1699
|
+
};
|
|
1700
|
+
var mapSettingsFiltersToInputs = function (filters) {
|
|
1701
|
+
return compactMap(filters, mapSettingsFilterToCalculatorInput);
|
|
1702
|
+
};
|
|
1703
|
+
|
|
1598
1704
|
function mapMeasureToInput(measure, variables, addFormulas) {
|
|
1599
1705
|
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
1600
1706
|
var mainFormula = getMeasureFormula(measure);
|
|
@@ -1736,7 +1842,8 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1736
1842
|
}
|
|
1737
1843
|
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
1738
1844
|
var timeDimension = dimensions.find(function (dimension) {
|
|
1739
|
-
|
|
1845
|
+
var _a;
|
|
1846
|
+
return ((_a = dimension.format) === null || _a === void 0 ? void 0 : _a.value) &&
|
|
1740
1847
|
[
|
|
1741
1848
|
EFormatTypes.DATE,
|
|
1742
1849
|
EFormatTypes.MONTH,
|
|
@@ -1749,7 +1856,7 @@ var getDefaultSortOrders = function (_a) {
|
|
|
1749
1856
|
EFormatTypes.QUARTER_YEAR,
|
|
1750
1857
|
EFormatTypes.DAY_OF_MONTH,
|
|
1751
1858
|
EFormatTypes.WEEK,
|
|
1752
|
-
].includes(dimension.format);
|
|
1859
|
+
].includes(dimension.format.value);
|
|
1753
1860
|
});
|
|
1754
1861
|
if (timeDimension) {
|
|
1755
1862
|
return [
|
|
@@ -1853,6 +1960,8 @@ var EControlType;
|
|
|
1853
1960
|
(function (EControlType) {
|
|
1854
1961
|
/** Ввод текста */
|
|
1855
1962
|
EControlType["input"] = "input";
|
|
1963
|
+
/** Ввод текста с поддержкой шаблонной вставки сущностей */
|
|
1964
|
+
EControlType["inputTemplate"] = "inputTemplate";
|
|
1856
1965
|
/** Ввод текста в формате markdown */
|
|
1857
1966
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
1858
1967
|
/** Ввод числа */
|
|
@@ -1966,19 +2075,6 @@ var updateSingleModeSelection = function (selection, formula, value) {
|
|
|
1966
2075
|
replacedFilter: null,
|
|
1967
2076
|
});
|
|
1968
2077
|
};
|
|
1969
|
-
/** @deprecated Отказ от режима фильтрации "Множественный выбор"*/
|
|
1970
|
-
var updateMultiModeSelection = function (selection, formula, value) {
|
|
1971
|
-
var _a;
|
|
1972
|
-
var selectionItemValues = getSelectionItemValues(value, EWidgetFilterMode.MULTI, (_a = selection.get(formula)) === null || _a === void 0 ? void 0 : _a.values);
|
|
1973
|
-
if (!selectionItemValues.size) {
|
|
1974
|
-
selection.delete(formula);
|
|
1975
|
-
return;
|
|
1976
|
-
}
|
|
1977
|
-
selection.set(formula, {
|
|
1978
|
-
values: selectionItemValues,
|
|
1979
|
-
replacedFilter: null,
|
|
1980
|
-
});
|
|
1981
|
-
};
|
|
1982
2078
|
var replaceFiltersBySelection = function (filters, selection) {
|
|
1983
2079
|
return filters.reduce(function (acc, filter) {
|
|
1984
2080
|
var _a;
|
|
@@ -2099,4 +2195,4 @@ var getColorByIndex = function (index) {
|
|
|
2099
2195
|
return color;
|
|
2100
2196
|
};
|
|
2101
2197
|
|
|
2102
|
-
export { EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, OuterAggregation, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection,
|
|
2198
|
+
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 };
|