@infomaximum/widget-sdk 5.7.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/index.d.ts +110 -47
- package/dist/index.esm.js +259 -125
- package/dist/index.js +263 -126
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -776,21 +776,35 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
|
|
|
776
776
|
return isNil(displayCondition) ? dimension : __assign(__assign({}, dimension), { displayCondition: displayCondition });
|
|
777
777
|
};
|
|
778
778
|
|
|
779
|
-
var
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
}
|
|
779
|
+
var _a$5;
|
|
780
|
+
exports.EDimensionTemplateNames = void 0;
|
|
781
|
+
(function (EDimensionTemplateNames) {
|
|
782
|
+
EDimensionTemplateNames["dateTime"] = "dateTime";
|
|
783
|
+
EDimensionTemplateNames["date"] = "date";
|
|
784
|
+
EDimensionTemplateNames["year"] = "year";
|
|
785
|
+
EDimensionTemplateNames["yearAndQuarter"] = "yearAndQuarter";
|
|
786
|
+
EDimensionTemplateNames["quarter"] = "quarter";
|
|
787
|
+
EDimensionTemplateNames["yearAndMonth"] = "yearAndMonth";
|
|
788
|
+
EDimensionTemplateNames["dayOfMonth"] = "dayOfMonth";
|
|
789
|
+
EDimensionTemplateNames["month"] = "month";
|
|
790
|
+
EDimensionTemplateNames["week"] = "week";
|
|
791
|
+
EDimensionTemplateNames["dayOfWeek"] = "dayOfWeek";
|
|
792
|
+
EDimensionTemplateNames["hour"] = "hour";
|
|
793
|
+
})(exports.EDimensionTemplateNames || (exports.EDimensionTemplateNames = {}));
|
|
794
|
+
/** Стандартные шаблоны разреза */
|
|
795
|
+
var dimensionTemplateFormulas = (_a$5 = {},
|
|
796
|
+
_a$5[exports.EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
797
|
+
_a$5[exports.EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
798
|
+
_a$5[exports.EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
799
|
+
_a$5[exports.EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
800
|
+
_a$5[exports.EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
801
|
+
_a$5[exports.EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
802
|
+
_a$5[exports.EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
803
|
+
_a$5[exports.EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
804
|
+
_a$5[exports.EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
805
|
+
_a$5[exports.EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
806
|
+
_a$5[exports.EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
807
|
+
_a$5);
|
|
794
808
|
|
|
795
809
|
exports.EWidgetIndicatorType = void 0;
|
|
796
810
|
(function (EWidgetIndicatorType) {
|
|
@@ -820,6 +834,8 @@ exports.EWidgetIndicatorValueModes = void 0;
|
|
|
820
834
|
EWidgetIndicatorValueModes["AGGREGATION"] = "AGGREGATION";
|
|
821
835
|
EWidgetIndicatorValueModes["DURATION"] = "DURATION";
|
|
822
836
|
EWidgetIndicatorValueModes["CONVERSION"] = "CONVERSION";
|
|
837
|
+
EWidgetIndicatorValueModes["START_TIME"] = "START_TIME";
|
|
838
|
+
EWidgetIndicatorValueModes["END_TIME"] = "END_TIME";
|
|
823
839
|
})(exports.EWidgetIndicatorValueModes || (exports.EWidgetIndicatorValueModes = {}));
|
|
824
840
|
/** Режимы сортировки (на что ссылается сортировка) */
|
|
825
841
|
exports.ESortingValueModes = void 0;
|
|
@@ -889,94 +905,28 @@ exports.EEventAppearances = void 0;
|
|
|
889
905
|
EEventAppearances["LAST"] = "LAST";
|
|
890
906
|
})(exports.EEventAppearances || (exports.EEventAppearances = {}));
|
|
891
907
|
|
|
892
|
-
var
|
|
893
|
-
|
|
894
|
-
(
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
EDimensionTemplateNames["yearAndMonth"] = "yearAndMonth";
|
|
901
|
-
EDimensionTemplateNames["dayOfMonth"] = "dayOfMonth";
|
|
902
|
-
EDimensionTemplateNames["month"] = "month";
|
|
903
|
-
EDimensionTemplateNames["week"] = "week";
|
|
904
|
-
EDimensionTemplateNames["dayOfWeek"] = "dayOfWeek";
|
|
905
|
-
EDimensionTemplateNames["hour"] = "hour";
|
|
906
|
-
})(exports.EDimensionTemplateNames || (exports.EDimensionTemplateNames = {}));
|
|
907
|
-
var dimensionTemplateFormulas = (_a$4 = {},
|
|
908
|
-
_a$4[exports.EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
909
|
-
_a$4[exports.EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
910
|
-
_a$4[exports.EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
911
|
-
_a$4[exports.EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
912
|
-
_a$4[exports.EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
913
|
-
_a$4[exports.EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
914
|
-
_a$4[exports.EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
915
|
-
_a$4[exports.EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
916
|
-
_a$4[exports.EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
917
|
-
_a$4[exports.EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
918
|
-
_a$4[exports.EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
919
|
-
_a$4);
|
|
920
|
-
function getDimensionFormula(_a) {
|
|
921
|
-
var _b;
|
|
922
|
-
var value = _a.value;
|
|
923
|
-
if (!value) {
|
|
924
|
-
return "";
|
|
925
|
-
}
|
|
926
|
-
if (value.mode === exports.EWidgetIndicatorValueModes.FORMULA) {
|
|
927
|
-
return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
|
|
928
|
-
}
|
|
929
|
-
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
930
|
-
var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
|
|
931
|
-
var templateFormula = dimensionTemplateFormulas[templateName];
|
|
932
|
-
if (!templateFormula || !tableName || !columnName) {
|
|
933
|
-
return "";
|
|
934
|
-
}
|
|
935
|
-
return fillTemplateString(templateFormula, {
|
|
936
|
-
columnFormula: generateColumnFormula(tableName, columnName),
|
|
937
|
-
});
|
|
938
|
-
}
|
|
939
|
-
return "";
|
|
908
|
+
var countReworksTemplate = "process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula})";
|
|
909
|
+
var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
910
|
+
var lastValueTemplate = "process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
911
|
+
var firstValueTemplate = "process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
912
|
+
var topTemplate = "process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula})";
|
|
913
|
+
|
|
914
|
+
function fillTemplateString(templateString, params) {
|
|
915
|
+
return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
|
|
940
916
|
}
|
|
941
917
|
|
|
942
|
-
var
|
|
943
|
-
|
|
944
|
-
(
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
EMeasureAggregationTemplateName["lastValue"] = "lastValue";
|
|
955
|
-
EMeasureAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
956
|
-
EMeasureAggregationTemplateName["countReworks"] = "countReworks";
|
|
957
|
-
})(exports.EMeasureAggregationTemplateName || (exports.EMeasureAggregationTemplateName = {}));
|
|
958
|
-
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) * 100 / countIf(\n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
|
|
959
|
-
var durationTemplate = "\n timeDiff(\n process(\n {startEventAggregationName}(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ), \n process(\n {endEventAggregationName}(\n {endEventTimeFormula}, \n {endEventNameFormula} = '{endEventName}'{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n )\n ), \n process(\n {startEventAggregationName}(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n {endEventAggregationName}(\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";
|
|
960
|
-
var durationTemplates = (_a$3 = {},
|
|
961
|
-
_a$3[exports.EDurationTemplateName.avg] = "avgIf(".concat(durationTemplate, ")"),
|
|
962
|
-
_a$3[exports.EDurationTemplateName.median] = "medianIf(".concat(durationTemplate, ")"),
|
|
963
|
-
_a$3);
|
|
964
|
-
var countReworksTemplate = "{outerAggregation}If(process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula}),{objectFilters})";
|
|
965
|
-
var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
966
|
-
var measureAggregationTemplates = (_b = {},
|
|
967
|
-
_b[exports.EMeasureAggregationTemplateName.agvIf] = "{outerAggregation}If(process(avgIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
968
|
-
_b[exports.EMeasureAggregationTemplateName.medianIf] = "{outerAggregation}If(process(medianIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
969
|
-
_b[exports.EMeasureAggregationTemplateName.countIf] = "{outerAggregation}If(process(countIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
970
|
-
_b[exports.EMeasureAggregationTemplateName.countIfDistinct] = "{outerAggregation}If(process(countIf(distinct {columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
971
|
-
_b[exports.EMeasureAggregationTemplateName.minIf] = "{outerAggregation}If(process(minIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
972
|
-
_b[exports.EMeasureAggregationTemplateName.maxIf] = "{outerAggregation}If(process(maxIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
973
|
-
_b[exports.EMeasureAggregationTemplateName.sumIf] = "{outerAggregation}If(process(sumIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
974
|
-
_b[exports.EMeasureAggregationTemplateName.top] = "{outerAggregation}If(process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula}), {objectFilters})",
|
|
975
|
-
_b[exports.EMeasureAggregationTemplateName.firstValue] = "{outerAggregation}If(process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
976
|
-
_b[exports.EMeasureAggregationTemplateName.lastValue] = "{outerAggregation}If(process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
977
|
-
_b[exports.EMeasureAggregationTemplateName.countExecutions] = "{outerAggregation}If(".concat(countExecutionsTemplate, ",{objectFilters})"),
|
|
978
|
-
_b[exports.EMeasureAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
979
|
-
_b);
|
|
918
|
+
var escapeSpecialCharacters = function (formula) {
|
|
919
|
+
return formula
|
|
920
|
+
.replaceAll("\\", "\\\\")
|
|
921
|
+
.replaceAll('"', '\\"')
|
|
922
|
+
.replaceAll("`", "\\`");
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
function generateColumnFormula(tableName, columnName) {
|
|
926
|
+
var preparedTableName = escapeSpecialCharacters(tableName);
|
|
927
|
+
var preparedColumnName = escapeSpecialCharacters(columnName);
|
|
928
|
+
return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
|
|
929
|
+
}
|
|
980
930
|
|
|
981
931
|
var escapeSingularQuotes = function (formula) {
|
|
982
932
|
if (typeof formula !== "string") {
|
|
@@ -1068,27 +1018,171 @@ var convertFiltersToFormula = function (filters) {
|
|
|
1068
1018
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
1069
1019
|
};
|
|
1070
1020
|
|
|
1071
|
-
var _a$
|
|
1072
|
-
exports.
|
|
1073
|
-
(function (
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
_a$
|
|
1084
|
-
_a$
|
|
1085
|
-
_a$
|
|
1086
|
-
_a$
|
|
1087
|
-
_a$
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1021
|
+
var _a$4;
|
|
1022
|
+
exports.EDimensionAggregationTemplateName = void 0;
|
|
1023
|
+
(function (EDimensionAggregationTemplateName) {
|
|
1024
|
+
EDimensionAggregationTemplateName["top"] = "top";
|
|
1025
|
+
EDimensionAggregationTemplateName["firstValue"] = "firstValue";
|
|
1026
|
+
EDimensionAggregationTemplateName["lastValue"] = "lastValue";
|
|
1027
|
+
EDimensionAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
1028
|
+
EDimensionAggregationTemplateName["countReworks"] = "countReworks";
|
|
1029
|
+
})(exports.EDimensionAggregationTemplateName || (exports.EDimensionAggregationTemplateName = {}));
|
|
1030
|
+
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1031
|
+
var dimensionAggregationTemplates = (_a$4 = {},
|
|
1032
|
+
_a$4[exports.EDimensionAggregationTemplateName.top] = topTemplate,
|
|
1033
|
+
_a$4[exports.EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
1034
|
+
_a$4[exports.EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
1035
|
+
_a$4[exports.EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
1036
|
+
_a$4[exports.EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
1037
|
+
_a$4);
|
|
1038
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1039
|
+
var prepareDimensionAggregationParams = function (value) {
|
|
1040
|
+
if (!value.eventName ||
|
|
1041
|
+
!value.caseCaseIdFormula ||
|
|
1042
|
+
!value.eventNameFormula ||
|
|
1043
|
+
!value.processName ||
|
|
1044
|
+
!value.templateName) {
|
|
1045
|
+
return null;
|
|
1046
|
+
}
|
|
1047
|
+
var commonParams = {
|
|
1048
|
+
eventNameFormula: value.eventNameFormula,
|
|
1049
|
+
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1050
|
+
eventName: value.eventName,
|
|
1051
|
+
objectFilters: "1",
|
|
1052
|
+
filters: convertFiltersToFormula(value.filters),
|
|
1053
|
+
eventTimeFormula: "",
|
|
1054
|
+
columnFormula: "",
|
|
1055
|
+
};
|
|
1056
|
+
if (value.templateName === exports.EDimensionAggregationTemplateName.countReworks ||
|
|
1057
|
+
value.templateName === exports.EDimensionAggregationTemplateName.countExecutions) {
|
|
1058
|
+
return commonParams;
|
|
1059
|
+
}
|
|
1060
|
+
if (!value.tableName || !value.columnName) {
|
|
1061
|
+
return null;
|
|
1062
|
+
}
|
|
1063
|
+
var columnParams = __assign(__assign(__assign({}, commonParams), (value.innerTemplateName && { innerTemplateName: value.innerTemplateName })), { columnFormula: generateColumnFormula(value.tableName, value.columnName) });
|
|
1064
|
+
if (value.templateName === exports.EDimensionAggregationTemplateName.firstValue ||
|
|
1065
|
+
value.templateName === exports.EDimensionAggregationTemplateName.lastValue) {
|
|
1066
|
+
if (!value.eventTimeFormula) {
|
|
1067
|
+
return null;
|
|
1068
|
+
}
|
|
1069
|
+
return __assign(__assign({}, columnParams), { eventTimeFormula: value.eventTimeFormula });
|
|
1070
|
+
}
|
|
1071
|
+
return columnParams;
|
|
1072
|
+
};
|
|
1073
|
+
|
|
1074
|
+
/** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
|
|
1075
|
+
var timeTemplates = (function () {
|
|
1076
|
+
var _a;
|
|
1077
|
+
var generateTemplates = function (innerTemplate) {
|
|
1078
|
+
var templates = {};
|
|
1079
|
+
for (var key in dimensionTemplateFormulas) {
|
|
1080
|
+
templates[key] = fillTemplateString(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
1081
|
+
}
|
|
1082
|
+
return templates;
|
|
1083
|
+
};
|
|
1084
|
+
return _a = {},
|
|
1085
|
+
_a[exports.EWidgetIndicatorValueModes.START_TIME] = generateTemplates("process(minIf({eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})"),
|
|
1086
|
+
_a[exports.EWidgetIndicatorValueModes.END_TIME] = generateTemplates("process(maxIf({eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})"),
|
|
1087
|
+
_a;
|
|
1088
|
+
})();
|
|
1089
|
+
/** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
|
|
1090
|
+
var prepareTimeParams = function (value) {
|
|
1091
|
+
if (!value.eventName ||
|
|
1092
|
+
!value.caseCaseIdFormula ||
|
|
1093
|
+
!value.eventNameFormula ||
|
|
1094
|
+
!value.processName ||
|
|
1095
|
+
!value.templateName ||
|
|
1096
|
+
!value.eventTimeFormula) {
|
|
1097
|
+
return;
|
|
1098
|
+
}
|
|
1099
|
+
return {
|
|
1100
|
+
eventTimeFormula: value.eventTimeFormula,
|
|
1101
|
+
eventNameFormula: value.eventNameFormula,
|
|
1102
|
+
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1103
|
+
filters: convertFiltersToFormula(value.filters),
|
|
1104
|
+
eventName: value.eventName,
|
|
1105
|
+
};
|
|
1106
|
+
};
|
|
1107
|
+
|
|
1108
|
+
function getDimensionFormula(_a) {
|
|
1109
|
+
var _b;
|
|
1110
|
+
var value = _a.value;
|
|
1111
|
+
if (!value) {
|
|
1112
|
+
return "";
|
|
1113
|
+
}
|
|
1114
|
+
if (value.mode === exports.EWidgetIndicatorValueModes.FORMULA) {
|
|
1115
|
+
return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
|
|
1116
|
+
}
|
|
1117
|
+
if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1118
|
+
var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
|
|
1119
|
+
var templateFormula = dimensionTemplateFormulas[templateName];
|
|
1120
|
+
if (!templateFormula || !tableName || !columnName) {
|
|
1121
|
+
return "";
|
|
1122
|
+
}
|
|
1123
|
+
return fillTemplateString(templateFormula, {
|
|
1124
|
+
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1125
|
+
});
|
|
1126
|
+
}
|
|
1127
|
+
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1128
|
+
var preparedParams = prepareDimensionAggregationParams(value);
|
|
1129
|
+
if (!preparedParams) {
|
|
1130
|
+
return "";
|
|
1131
|
+
}
|
|
1132
|
+
var innerTemplate = value.innerTemplateName
|
|
1133
|
+
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1134
|
+
: null;
|
|
1135
|
+
var columnFormula = innerTemplate
|
|
1136
|
+
? fillTemplateString(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1137
|
+
: preparedParams.columnFormula;
|
|
1138
|
+
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1139
|
+
return fillTemplateString(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1140
|
+
}
|
|
1141
|
+
if (value.mode === exports.EWidgetIndicatorValueModes.START_TIME ||
|
|
1142
|
+
value.mode === exports.EWidgetIndicatorValueModes.END_TIME) {
|
|
1143
|
+
var preparedParams = prepareTimeParams(value);
|
|
1144
|
+
if (!preparedParams) {
|
|
1145
|
+
return "";
|
|
1146
|
+
}
|
|
1147
|
+
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1148
|
+
return fillTemplateString(templateFormula, preparedParams);
|
|
1149
|
+
}
|
|
1150
|
+
return "";
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
var _a$3;
|
|
1154
|
+
exports.EMeasureAggregationTemplateName = void 0;
|
|
1155
|
+
(function (EMeasureAggregationTemplateName) {
|
|
1156
|
+
EMeasureAggregationTemplateName["agvIf"] = "agvIf";
|
|
1157
|
+
EMeasureAggregationTemplateName["medianIf"] = "medianIf";
|
|
1158
|
+
EMeasureAggregationTemplateName["countIf"] = "countIf";
|
|
1159
|
+
EMeasureAggregationTemplateName["countIfDistinct"] = "countIfDistinct";
|
|
1160
|
+
EMeasureAggregationTemplateName["minIf"] = "minIf";
|
|
1161
|
+
EMeasureAggregationTemplateName["maxIf"] = "maxIf";
|
|
1162
|
+
EMeasureAggregationTemplateName["sumIf"] = "sumIf";
|
|
1163
|
+
EMeasureAggregationTemplateName["top"] = "top";
|
|
1164
|
+
EMeasureAggregationTemplateName["firstValue"] = "firstValue";
|
|
1165
|
+
EMeasureAggregationTemplateName["lastValue"] = "lastValue";
|
|
1166
|
+
EMeasureAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
1167
|
+
EMeasureAggregationTemplateName["countReworks"] = "countReworks";
|
|
1168
|
+
})(exports.EMeasureAggregationTemplateName || (exports.EMeasureAggregationTemplateName = {}));
|
|
1169
|
+
/** Шаблоны процессных метрик меры с режимом AGGREGATION */
|
|
1170
|
+
var measureAggregationTemplates = (_a$3 = {},
|
|
1171
|
+
_a$3[exports.EMeasureAggregationTemplateName.agvIf] = "{outerAggregation}If(process(avgIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1172
|
+
_a$3[exports.EMeasureAggregationTemplateName.medianIf] = "{outerAggregation}If(process(medianIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1173
|
+
_a$3[exports.EMeasureAggregationTemplateName.countIf] = "{outerAggregation}If(process(countIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1174
|
+
_a$3[exports.EMeasureAggregationTemplateName.countIfDistinct] = "{outerAggregation}If(process(countIf(distinct {columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1175
|
+
_a$3[exports.EMeasureAggregationTemplateName.minIf] = "{outerAggregation}If(process(minIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1176
|
+
_a$3[exports.EMeasureAggregationTemplateName.maxIf] = "{outerAggregation}If(process(maxIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1177
|
+
_a$3[exports.EMeasureAggregationTemplateName.sumIf] = "{outerAggregation}If(process(sumIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1178
|
+
_a$3[exports.EMeasureAggregationTemplateName.top] = "{outerAggregation}If(".concat(topTemplate, ", {objectFilters})"),
|
|
1179
|
+
_a$3[exports.EMeasureAggregationTemplateName.firstValue] = "{outerAggregation}If(".concat(firstValueTemplate, ", {objectFilters})"),
|
|
1180
|
+
_a$3[exports.EMeasureAggregationTemplateName.lastValue] = "{outerAggregation}If(".concat(lastValueTemplate, ", {objectFilters})"),
|
|
1181
|
+
_a$3[exports.EMeasureAggregationTemplateName.countExecutions] = "{outerAggregation}If(".concat(countExecutionsTemplate, ",{objectFilters})"),
|
|
1182
|
+
_a$3[exports.EMeasureAggregationTemplateName.countReworks] = "{outerAggregation}If(".concat(countReworksTemplate, ",{objectFilters})"),
|
|
1183
|
+
_a$3);
|
|
1184
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1185
|
+
var prepareMeasureAggregationParams = function (value) {
|
|
1092
1186
|
if (!value.eventName ||
|
|
1093
1187
|
!value.caseCaseIdFormula ||
|
|
1094
1188
|
!value.eventNameFormula ||
|
|
@@ -1122,6 +1216,32 @@ var prepareAggregationParams = function (value) {
|
|
|
1122
1216
|
}
|
|
1123
1217
|
return columnParams;
|
|
1124
1218
|
};
|
|
1219
|
+
|
|
1220
|
+
var _a$2;
|
|
1221
|
+
exports.EMeasureTemplateNames = void 0;
|
|
1222
|
+
(function (EMeasureTemplateNames) {
|
|
1223
|
+
EMeasureTemplateNames["avg"] = "avg";
|
|
1224
|
+
EMeasureTemplateNames["median"] = "median";
|
|
1225
|
+
EMeasureTemplateNames["count"] = "count";
|
|
1226
|
+
EMeasureTemplateNames["countDistinct"] = "countDistinct";
|
|
1227
|
+
EMeasureTemplateNames["min"] = "min";
|
|
1228
|
+
EMeasureTemplateNames["max"] = "max";
|
|
1229
|
+
EMeasureTemplateNames["sum"] = "sum";
|
|
1230
|
+
})(exports.EMeasureTemplateNames || (exports.EMeasureTemplateNames = {}));
|
|
1231
|
+
/** Стандартные шаблоны меры */
|
|
1232
|
+
var measureTemplateFormulas = (_a$2 = {},
|
|
1233
|
+
_a$2[exports.EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
1234
|
+
_a$2[exports.EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
1235
|
+
_a$2[exports.EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
1236
|
+
_a$2[exports.EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
1237
|
+
_a$2[exports.EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
1238
|
+
_a$2[exports.EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
1239
|
+
_a$2[exports.EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
1240
|
+
_a$2);
|
|
1241
|
+
|
|
1242
|
+
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1243
|
+
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) * 100 / countIf(\n process(\n countIf(\n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
|
|
1244
|
+
/** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
|
|
1125
1245
|
var prepareConversionParams = function (value) {
|
|
1126
1246
|
if (!value.startEventName ||
|
|
1127
1247
|
!value.endEventName ||
|
|
@@ -1147,6 +1267,17 @@ var prepareConversionParams = function (value) {
|
|
|
1147
1267
|
endEventFilters: convertFiltersToFormula(value.endEventFilters),
|
|
1148
1268
|
};
|
|
1149
1269
|
};
|
|
1270
|
+
|
|
1271
|
+
/** Шаблоны процессных метрик меры с режимом DURATION */
|
|
1272
|
+
var durationTemplates = (function () {
|
|
1273
|
+
var _a;
|
|
1274
|
+
var innerTemplate = "\n timeDiff(\n process(\n {startEventAggregationName}(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ), \n process(\n {endEventAggregationName}(\n {endEventTimeFormula}, \n {endEventNameFormula} = '{endEventName}'{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n )\n ), \n process(\n {startEventAggregationName}(\n {startEventTimeFormula}, \n {startEventNameFormula} = '{startEventName}'{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n {endEventAggregationName}(\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 ";
|
|
1275
|
+
return _a = {},
|
|
1276
|
+
_a[exports.EDurationTemplateName.avg] = "avgIf(".concat(innerTemplate, ")"),
|
|
1277
|
+
_a[exports.EDurationTemplateName.median] = "medianIf(".concat(innerTemplate, ")"),
|
|
1278
|
+
_a;
|
|
1279
|
+
})();
|
|
1280
|
+
/** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1150
1281
|
var prepareDurationParams = function (value) {
|
|
1151
1282
|
if (!value.startEventName ||
|
|
1152
1283
|
!value.endEventName ||
|
|
@@ -1160,7 +1291,7 @@ var prepareDurationParams = function (value) {
|
|
|
1160
1291
|
return null;
|
|
1161
1292
|
}
|
|
1162
1293
|
var getAggregationNameByAppearances = function (appearance) {
|
|
1163
|
-
return appearance ===
|
|
1294
|
+
return appearance === exports.EEventAppearances.FIRST ? "minIf" : "maxIf";
|
|
1164
1295
|
};
|
|
1165
1296
|
return {
|
|
1166
1297
|
objectFilters: "1",
|
|
@@ -1177,6 +1308,7 @@ var prepareDurationParams = function (value) {
|
|
|
1177
1308
|
endEventAggregationName: getAggregationNameByAppearances(value.endEventAppearances),
|
|
1178
1309
|
};
|
|
1179
1310
|
};
|
|
1311
|
+
|
|
1180
1312
|
function getMeasureFormula(_a) {
|
|
1181
1313
|
var _b;
|
|
1182
1314
|
var value = _a.value;
|
|
@@ -1197,7 +1329,7 @@ function getMeasureFormula(_a) {
|
|
|
1197
1329
|
});
|
|
1198
1330
|
}
|
|
1199
1331
|
if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1200
|
-
var preparedParams =
|
|
1332
|
+
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1201
1333
|
if (!preparedParams) {
|
|
1202
1334
|
return "";
|
|
1203
1335
|
}
|
|
@@ -1231,6 +1363,7 @@ var eventMeasureTemplateFormulas = (_a$1 = {},
|
|
|
1231
1363
|
_a$1[exports.EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
1232
1364
|
_a$1[exports.EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
1233
1365
|
_a$1);
|
|
1366
|
+
|
|
1234
1367
|
function getEventMeasureFormula(_a, process) {
|
|
1235
1368
|
var value = _a.value;
|
|
1236
1369
|
if (!value) {
|
|
@@ -1256,6 +1389,7 @@ var transitionMeasureTemplateFormulas = (_a = {},
|
|
|
1256
1389
|
_a[exports.ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1257
1390
|
_a[exports.ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1258
1391
|
_a);
|
|
1392
|
+
|
|
1259
1393
|
function getTransitionMeasureFormula(_a, process) {
|
|
1260
1394
|
var value = _a.value;
|
|
1261
1395
|
if (!value) {
|
|
@@ -1800,8 +1934,8 @@ exports.conversionTemplate = conversionTemplate;
|
|
|
1800
1934
|
exports.convertFiltersToFormula = convertFiltersToFormula;
|
|
1801
1935
|
exports.convertToFormulasChain = convertToFormulasChain;
|
|
1802
1936
|
exports.countExecutionsTemplate = countExecutionsTemplate;
|
|
1803
|
-
exports.countReworksTemplate = countReworksTemplate;
|
|
1804
1937
|
exports.dashboardLinkRegExp = dashboardLinkRegExp;
|
|
1938
|
+
exports.dimensionAggregationTemplates = dimensionAggregationTemplates;
|
|
1805
1939
|
exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
|
|
1806
1940
|
exports.durationTemplates = durationTemplates;
|
|
1807
1941
|
exports.escapeSpecialCharacters = escapeSpecialCharacters;
|
|
@@ -1834,16 +1968,19 @@ exports.measureAggregationTemplates = measureAggregationTemplates;
|
|
|
1834
1968
|
exports.measureTemplateFormulas = measureTemplateFormulas;
|
|
1835
1969
|
exports.parseClickHouseType = parseClickHouseType;
|
|
1836
1970
|
exports.parseIndicatorLink = parseIndicatorLink;
|
|
1837
|
-
exports.prepareAggregationParams = prepareAggregationParams;
|
|
1838
1971
|
exports.prepareConversionParams = prepareConversionParams;
|
|
1972
|
+
exports.prepareDimensionAggregationParams = prepareDimensionAggregationParams;
|
|
1839
1973
|
exports.prepareDurationParams = prepareDurationParams;
|
|
1840
1974
|
exports.prepareFormulaForSql = prepareFormulaForSql;
|
|
1975
|
+
exports.prepareMeasureAggregationParams = prepareMeasureAggregationParams;
|
|
1841
1976
|
exports.prepareSortOrders = prepareSortOrders;
|
|
1977
|
+
exports.prepareTimeParams = prepareTimeParams;
|
|
1842
1978
|
exports.prepareValuesForSql = prepareValuesForSql;
|
|
1843
1979
|
exports.replaceDisplayCondition = replaceDisplayCondition;
|
|
1844
1980
|
exports.replaceFiltersBySelection = replaceFiltersBySelection;
|
|
1845
1981
|
exports.replaceHierarchiesWithDimensions = replaceHierarchiesWithDimensions;
|
|
1846
1982
|
exports.selectDimensionFromHierarchy = selectDimensionFromHierarchy;
|
|
1983
|
+
exports.timeTemplates = timeTemplates;
|
|
1847
1984
|
exports.transitionMeasureTemplateFormulas = transitionMeasureTemplateFormulas;
|
|
1848
1985
|
exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
|
|
1849
1986
|
exports.updateDefaultModeSelection = updateDefaultModeSelection;
|