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