@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.esm.js
CHANGED
|
@@ -775,21 +775,35 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
|
|
|
775
775
|
return isNil(displayCondition) ? dimension : __assign(__assign({}, dimension), { displayCondition: displayCondition });
|
|
776
776
|
};
|
|
777
777
|
|
|
778
|
-
var
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
}
|
|
778
|
+
var _a$5;
|
|
779
|
+
var EDimensionTemplateNames;
|
|
780
|
+
(function (EDimensionTemplateNames) {
|
|
781
|
+
EDimensionTemplateNames["dateTime"] = "dateTime";
|
|
782
|
+
EDimensionTemplateNames["date"] = "date";
|
|
783
|
+
EDimensionTemplateNames["year"] = "year";
|
|
784
|
+
EDimensionTemplateNames["yearAndQuarter"] = "yearAndQuarter";
|
|
785
|
+
EDimensionTemplateNames["quarter"] = "quarter";
|
|
786
|
+
EDimensionTemplateNames["yearAndMonth"] = "yearAndMonth";
|
|
787
|
+
EDimensionTemplateNames["dayOfMonth"] = "dayOfMonth";
|
|
788
|
+
EDimensionTemplateNames["month"] = "month";
|
|
789
|
+
EDimensionTemplateNames["week"] = "week";
|
|
790
|
+
EDimensionTemplateNames["dayOfWeek"] = "dayOfWeek";
|
|
791
|
+
EDimensionTemplateNames["hour"] = "hour";
|
|
792
|
+
})(EDimensionTemplateNames || (EDimensionTemplateNames = {}));
|
|
793
|
+
/** Стандартные шаблоны разреза */
|
|
794
|
+
var dimensionTemplateFormulas = (_a$5 = {},
|
|
795
|
+
_a$5[EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
796
|
+
_a$5[EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
797
|
+
_a$5[EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
798
|
+
_a$5[EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
799
|
+
_a$5[EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
800
|
+
_a$5[EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
801
|
+
_a$5[EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
802
|
+
_a$5[EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
803
|
+
_a$5[EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
804
|
+
_a$5[EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
805
|
+
_a$5[EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
806
|
+
_a$5);
|
|
793
807
|
|
|
794
808
|
var EWidgetIndicatorType;
|
|
795
809
|
(function (EWidgetIndicatorType) {
|
|
@@ -819,6 +833,8 @@ var EWidgetIndicatorValueModes;
|
|
|
819
833
|
EWidgetIndicatorValueModes["AGGREGATION"] = "AGGREGATION";
|
|
820
834
|
EWidgetIndicatorValueModes["DURATION"] = "DURATION";
|
|
821
835
|
EWidgetIndicatorValueModes["CONVERSION"] = "CONVERSION";
|
|
836
|
+
EWidgetIndicatorValueModes["START_TIME"] = "START_TIME";
|
|
837
|
+
EWidgetIndicatorValueModes["END_TIME"] = "END_TIME";
|
|
822
838
|
})(EWidgetIndicatorValueModes || (EWidgetIndicatorValueModes = {}));
|
|
823
839
|
/** Режимы сортировки (на что ссылается сортировка) */
|
|
824
840
|
var ESortingValueModes;
|
|
@@ -888,94 +904,28 @@ var EEventAppearances;
|
|
|
888
904
|
EEventAppearances["LAST"] = "LAST";
|
|
889
905
|
})(EEventAppearances || (EEventAppearances = {}));
|
|
890
906
|
|
|
891
|
-
var
|
|
892
|
-
var
|
|
893
|
-
(
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
EDimensionTemplateNames["yearAndMonth"] = "yearAndMonth";
|
|
900
|
-
EDimensionTemplateNames["dayOfMonth"] = "dayOfMonth";
|
|
901
|
-
EDimensionTemplateNames["month"] = "month";
|
|
902
|
-
EDimensionTemplateNames["week"] = "week";
|
|
903
|
-
EDimensionTemplateNames["dayOfWeek"] = "dayOfWeek";
|
|
904
|
-
EDimensionTemplateNames["hour"] = "hour";
|
|
905
|
-
})(EDimensionTemplateNames || (EDimensionTemplateNames = {}));
|
|
906
|
-
var dimensionTemplateFormulas = (_a$4 = {},
|
|
907
|
-
_a$4[EDimensionTemplateNames.dateTime] = "toDateTime({columnFormula})",
|
|
908
|
-
_a$4[EDimensionTemplateNames.date] = "toDate({columnFormula})",
|
|
909
|
-
_a$4[EDimensionTemplateNames.year] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}))",
|
|
910
|
-
_a$4[EDimensionTemplateNames.yearAndQuarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYear({columnFormula}) * 10 + toQuarter({columnFormula}))",
|
|
911
|
-
_a$4[EDimensionTemplateNames.quarter] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toQuarter({columnFormula}))",
|
|
912
|
-
_a$4[EDimensionTemplateNames.yearAndMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toYYYYMM({columnFormula}))",
|
|
913
|
-
_a$4[EDimensionTemplateNames.month] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toMonth({columnFormula}))",
|
|
914
|
-
_a$4[EDimensionTemplateNames.dayOfMonth] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfMonth({columnFormula}))",
|
|
915
|
-
_a$4[EDimensionTemplateNames.week] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toWeek({columnFormula}))",
|
|
916
|
-
_a$4[EDimensionTemplateNames.dayOfWeek] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toDayOfWeek({columnFormula}))",
|
|
917
|
-
_a$4[EDimensionTemplateNames.hour] = "if(defaultValueOfArgumentType({columnFormula}) = {columnFormula}, 0, toHour({columnFormula}))",
|
|
918
|
-
_a$4);
|
|
919
|
-
function getDimensionFormula(_a) {
|
|
920
|
-
var _b;
|
|
921
|
-
var value = _a.value;
|
|
922
|
-
if (!value) {
|
|
923
|
-
return "";
|
|
924
|
-
}
|
|
925
|
-
if (value.mode === EWidgetIndicatorValueModes.FORMULA) {
|
|
926
|
-
return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
|
|
927
|
-
}
|
|
928
|
-
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
929
|
-
var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
|
|
930
|
-
var templateFormula = dimensionTemplateFormulas[templateName];
|
|
931
|
-
if (!templateFormula || !tableName || !columnName) {
|
|
932
|
-
return "";
|
|
933
|
-
}
|
|
934
|
-
return fillTemplateString(templateFormula, {
|
|
935
|
-
columnFormula: generateColumnFormula(tableName, columnName),
|
|
936
|
-
});
|
|
937
|
-
}
|
|
938
|
-
return "";
|
|
907
|
+
var countReworksTemplate = "process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula})";
|
|
908
|
+
var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
909
|
+
var lastValueTemplate = "process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
910
|
+
var firstValueTemplate = "process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
911
|
+
var topTemplate = "process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula})";
|
|
912
|
+
|
|
913
|
+
function fillTemplateString(templateString, params) {
|
|
914
|
+
return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
|
|
939
915
|
}
|
|
940
916
|
|
|
941
|
-
var
|
|
942
|
-
|
|
943
|
-
(
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
EMeasureAggregationTemplateName["lastValue"] = "lastValue";
|
|
954
|
-
EMeasureAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
955
|
-
EMeasureAggregationTemplateName["countReworks"] = "countReworks";
|
|
956
|
-
})(EMeasureAggregationTemplateName || (EMeasureAggregationTemplateName = {}));
|
|
957
|
-
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)";
|
|
958
|
-
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";
|
|
959
|
-
var durationTemplates = (_a$3 = {},
|
|
960
|
-
_a$3[EDurationTemplateName.avg] = "avgIf(".concat(durationTemplate, ")"),
|
|
961
|
-
_a$3[EDurationTemplateName.median] = "medianIf(".concat(durationTemplate, ")"),
|
|
962
|
-
_a$3);
|
|
963
|
-
var countReworksTemplate = "{outerAggregation}If(process(if(countIf({eventNameFormula} = '{eventName}'{filters}) > 0, countIf({eventNameFormula} = '{eventName}'{filters}) - 1, 0), {caseCaseIdFormula}),{objectFilters})";
|
|
964
|
-
var countExecutionsTemplate = "process(countIf({eventNameFormula} in '{eventName}'{filters}), {caseCaseIdFormula})";
|
|
965
|
-
var measureAggregationTemplates = (_b = {},
|
|
966
|
-
_b[EMeasureAggregationTemplateName.agvIf] = "{outerAggregation}If(process(avgIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
967
|
-
_b[EMeasureAggregationTemplateName.medianIf] = "{outerAggregation}If(process(medianIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
968
|
-
_b[EMeasureAggregationTemplateName.countIf] = "{outerAggregation}If(process(countIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
969
|
-
_b[EMeasureAggregationTemplateName.countIfDistinct] = "{outerAggregation}If(process(countIf(distinct {columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
970
|
-
_b[EMeasureAggregationTemplateName.minIf] = "{outerAggregation}If(process(minIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
971
|
-
_b[EMeasureAggregationTemplateName.maxIf] = "{outerAggregation}If(process(maxIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
972
|
-
_b[EMeasureAggregationTemplateName.sumIf] = "{outerAggregation}If(process(sumIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
973
|
-
_b[EMeasureAggregationTemplateName.top] = "{outerAggregation}If(process(topKIf(1)({columnFormula}, {eventNameFormula} = '{eventName}'{filters})[1], {caseCaseIdFormula}), {objectFilters})",
|
|
974
|
-
_b[EMeasureAggregationTemplateName.firstValue] = "{outerAggregation}If(process(argMinIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
975
|
-
_b[EMeasureAggregationTemplateName.lastValue] = "{outerAggregation}If(process(argMaxIf({columnFormula}, {eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
976
|
-
_b[EMeasureAggregationTemplateName.countExecutions] = "{outerAggregation}If(".concat(countExecutionsTemplate, ",{objectFilters})"),
|
|
977
|
-
_b[EMeasureAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
978
|
-
_b);
|
|
917
|
+
var escapeSpecialCharacters = function (formula) {
|
|
918
|
+
return formula
|
|
919
|
+
.replaceAll("\\", "\\\\")
|
|
920
|
+
.replaceAll('"', '\\"')
|
|
921
|
+
.replaceAll("`", "\\`");
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
function generateColumnFormula(tableName, columnName) {
|
|
925
|
+
var preparedTableName = escapeSpecialCharacters(tableName);
|
|
926
|
+
var preparedColumnName = escapeSpecialCharacters(columnName);
|
|
927
|
+
return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
|
|
928
|
+
}
|
|
979
929
|
|
|
980
930
|
var escapeSingularQuotes = function (formula) {
|
|
981
931
|
if (typeof formula !== "string") {
|
|
@@ -1067,27 +1017,171 @@ var convertFiltersToFormula = function (filters) {
|
|
|
1067
1017
|
return filters.length > 0 ? " AND ".concat(convertToFormulasChain(filters)) : "";
|
|
1068
1018
|
};
|
|
1069
1019
|
|
|
1070
|
-
var _a$
|
|
1071
|
-
var
|
|
1072
|
-
(function (
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
_a$
|
|
1083
|
-
_a$
|
|
1084
|
-
_a$
|
|
1085
|
-
_a$
|
|
1086
|
-
_a$
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1020
|
+
var _a$4;
|
|
1021
|
+
var EDimensionAggregationTemplateName;
|
|
1022
|
+
(function (EDimensionAggregationTemplateName) {
|
|
1023
|
+
EDimensionAggregationTemplateName["top"] = "top";
|
|
1024
|
+
EDimensionAggregationTemplateName["firstValue"] = "firstValue";
|
|
1025
|
+
EDimensionAggregationTemplateName["lastValue"] = "lastValue";
|
|
1026
|
+
EDimensionAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
1027
|
+
EDimensionAggregationTemplateName["countReworks"] = "countReworks";
|
|
1028
|
+
})(EDimensionAggregationTemplateName || (EDimensionAggregationTemplateName = {}));
|
|
1029
|
+
/** Шаблоны процессных метрик разреза с режимом AGGREGATION */
|
|
1030
|
+
var dimensionAggregationTemplates = (_a$4 = {},
|
|
1031
|
+
_a$4[EDimensionAggregationTemplateName.top] = topTemplate,
|
|
1032
|
+
_a$4[EDimensionAggregationTemplateName.firstValue] = firstValueTemplate,
|
|
1033
|
+
_a$4[EDimensionAggregationTemplateName.lastValue] = lastValueTemplate,
|
|
1034
|
+
_a$4[EDimensionAggregationTemplateName.countExecutions] = countExecutionsTemplate,
|
|
1035
|
+
_a$4[EDimensionAggregationTemplateName.countReworks] = countReworksTemplate,
|
|
1036
|
+
_a$4);
|
|
1037
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1038
|
+
var prepareDimensionAggregationParams = function (value) {
|
|
1039
|
+
if (!value.eventName ||
|
|
1040
|
+
!value.caseCaseIdFormula ||
|
|
1041
|
+
!value.eventNameFormula ||
|
|
1042
|
+
!value.processName ||
|
|
1043
|
+
!value.templateName) {
|
|
1044
|
+
return null;
|
|
1045
|
+
}
|
|
1046
|
+
var commonParams = {
|
|
1047
|
+
eventNameFormula: value.eventNameFormula,
|
|
1048
|
+
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1049
|
+
eventName: value.eventName,
|
|
1050
|
+
objectFilters: "1",
|
|
1051
|
+
filters: convertFiltersToFormula(value.filters),
|
|
1052
|
+
eventTimeFormula: "",
|
|
1053
|
+
columnFormula: "",
|
|
1054
|
+
};
|
|
1055
|
+
if (value.templateName === EDimensionAggregationTemplateName.countReworks ||
|
|
1056
|
+
value.templateName === EDimensionAggregationTemplateName.countExecutions) {
|
|
1057
|
+
return commonParams;
|
|
1058
|
+
}
|
|
1059
|
+
if (!value.tableName || !value.columnName) {
|
|
1060
|
+
return null;
|
|
1061
|
+
}
|
|
1062
|
+
var columnParams = __assign(__assign(__assign({}, commonParams), (value.innerTemplateName && { innerTemplateName: value.innerTemplateName })), { columnFormula: generateColumnFormula(value.tableName, value.columnName) });
|
|
1063
|
+
if (value.templateName === EDimensionAggregationTemplateName.firstValue ||
|
|
1064
|
+
value.templateName === EDimensionAggregationTemplateName.lastValue) {
|
|
1065
|
+
if (!value.eventTimeFormula) {
|
|
1066
|
+
return null;
|
|
1067
|
+
}
|
|
1068
|
+
return __assign(__assign({}, columnParams), { eventTimeFormula: value.eventTimeFormula });
|
|
1069
|
+
}
|
|
1070
|
+
return columnParams;
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1073
|
+
/** Шаблоны процессных метрик разреза с режимами START_TIME/END_TIME */
|
|
1074
|
+
var timeTemplates = (function () {
|
|
1075
|
+
var _a;
|
|
1076
|
+
var generateTemplates = function (innerTemplate) {
|
|
1077
|
+
var templates = {};
|
|
1078
|
+
for (var key in dimensionTemplateFormulas) {
|
|
1079
|
+
templates[key] = fillTemplateString(dimensionTemplateFormulas[key], { columnFormula: innerTemplate });
|
|
1080
|
+
}
|
|
1081
|
+
return templates;
|
|
1082
|
+
};
|
|
1083
|
+
return _a = {},
|
|
1084
|
+
_a[EWidgetIndicatorValueModes.START_TIME] = generateTemplates("process(minIf({eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})"),
|
|
1085
|
+
_a[EWidgetIndicatorValueModes.END_TIME] = generateTemplates("process(maxIf({eventTimeFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula})"),
|
|
1086
|
+
_a;
|
|
1087
|
+
})();
|
|
1088
|
+
/** На основе значения режимов START_TIME/END_TIME подготовить параметры для подстановки в шаблонную формулу */
|
|
1089
|
+
var prepareTimeParams = function (value) {
|
|
1090
|
+
if (!value.eventName ||
|
|
1091
|
+
!value.caseCaseIdFormula ||
|
|
1092
|
+
!value.eventNameFormula ||
|
|
1093
|
+
!value.processName ||
|
|
1094
|
+
!value.templateName ||
|
|
1095
|
+
!value.eventTimeFormula) {
|
|
1096
|
+
return;
|
|
1097
|
+
}
|
|
1098
|
+
return {
|
|
1099
|
+
eventTimeFormula: value.eventTimeFormula,
|
|
1100
|
+
eventNameFormula: value.eventNameFormula,
|
|
1101
|
+
caseCaseIdFormula: value.caseCaseIdFormula,
|
|
1102
|
+
filters: convertFiltersToFormula(value.filters),
|
|
1103
|
+
eventName: value.eventName,
|
|
1104
|
+
};
|
|
1105
|
+
};
|
|
1106
|
+
|
|
1107
|
+
function getDimensionFormula(_a) {
|
|
1108
|
+
var _b;
|
|
1109
|
+
var value = _a.value;
|
|
1110
|
+
if (!value) {
|
|
1111
|
+
return "";
|
|
1112
|
+
}
|
|
1113
|
+
if (value.mode === EWidgetIndicatorValueModes.FORMULA) {
|
|
1114
|
+
return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
|
|
1115
|
+
}
|
|
1116
|
+
if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
|
|
1117
|
+
var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
|
|
1118
|
+
var templateFormula = dimensionTemplateFormulas[templateName];
|
|
1119
|
+
if (!templateFormula || !tableName || !columnName) {
|
|
1120
|
+
return "";
|
|
1121
|
+
}
|
|
1122
|
+
return fillTemplateString(templateFormula, {
|
|
1123
|
+
columnFormula: generateColumnFormula(tableName, columnName),
|
|
1124
|
+
});
|
|
1125
|
+
}
|
|
1126
|
+
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1127
|
+
var preparedParams = prepareDimensionAggregationParams(value);
|
|
1128
|
+
if (!preparedParams) {
|
|
1129
|
+
return "";
|
|
1130
|
+
}
|
|
1131
|
+
var innerTemplate = value.innerTemplateName
|
|
1132
|
+
? dimensionTemplateFormulas[value.innerTemplateName]
|
|
1133
|
+
: null;
|
|
1134
|
+
var columnFormula = innerTemplate
|
|
1135
|
+
? fillTemplateString(innerTemplate, { columnFormula: preparedParams.columnFormula })
|
|
1136
|
+
: preparedParams.columnFormula;
|
|
1137
|
+
var dimensionAggregationTemplate = dimensionAggregationTemplates[value.templateName];
|
|
1138
|
+
return fillTemplateString(dimensionAggregationTemplate, __assign(__assign({}, preparedParams), { columnFormula: columnFormula }));
|
|
1139
|
+
}
|
|
1140
|
+
if (value.mode === EWidgetIndicatorValueModes.START_TIME ||
|
|
1141
|
+
value.mode === EWidgetIndicatorValueModes.END_TIME) {
|
|
1142
|
+
var preparedParams = prepareTimeParams(value);
|
|
1143
|
+
if (!preparedParams) {
|
|
1144
|
+
return "";
|
|
1145
|
+
}
|
|
1146
|
+
var templateFormula = timeTemplates[value.mode][value.templateName];
|
|
1147
|
+
return fillTemplateString(templateFormula, preparedParams);
|
|
1148
|
+
}
|
|
1149
|
+
return "";
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
var _a$3;
|
|
1153
|
+
var EMeasureAggregationTemplateName;
|
|
1154
|
+
(function (EMeasureAggregationTemplateName) {
|
|
1155
|
+
EMeasureAggregationTemplateName["agvIf"] = "agvIf";
|
|
1156
|
+
EMeasureAggregationTemplateName["medianIf"] = "medianIf";
|
|
1157
|
+
EMeasureAggregationTemplateName["countIf"] = "countIf";
|
|
1158
|
+
EMeasureAggregationTemplateName["countIfDistinct"] = "countIfDistinct";
|
|
1159
|
+
EMeasureAggregationTemplateName["minIf"] = "minIf";
|
|
1160
|
+
EMeasureAggregationTemplateName["maxIf"] = "maxIf";
|
|
1161
|
+
EMeasureAggregationTemplateName["sumIf"] = "sumIf";
|
|
1162
|
+
EMeasureAggregationTemplateName["top"] = "top";
|
|
1163
|
+
EMeasureAggregationTemplateName["firstValue"] = "firstValue";
|
|
1164
|
+
EMeasureAggregationTemplateName["lastValue"] = "lastValue";
|
|
1165
|
+
EMeasureAggregationTemplateName["countExecutions"] = "countExecutions";
|
|
1166
|
+
EMeasureAggregationTemplateName["countReworks"] = "countReworks";
|
|
1167
|
+
})(EMeasureAggregationTemplateName || (EMeasureAggregationTemplateName = {}));
|
|
1168
|
+
/** Шаблоны процессных метрик меры с режимом AGGREGATION */
|
|
1169
|
+
var measureAggregationTemplates = (_a$3 = {},
|
|
1170
|
+
_a$3[EMeasureAggregationTemplateName.agvIf] = "{outerAggregation}If(process(avgIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1171
|
+
_a$3[EMeasureAggregationTemplateName.medianIf] = "{outerAggregation}If(process(medianIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1172
|
+
_a$3[EMeasureAggregationTemplateName.countIf] = "{outerAggregation}If(process(countIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1173
|
+
_a$3[EMeasureAggregationTemplateName.countIfDistinct] = "{outerAggregation}If(process(countIf(distinct {columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1174
|
+
_a$3[EMeasureAggregationTemplateName.minIf] = "{outerAggregation}If(process(minIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1175
|
+
_a$3[EMeasureAggregationTemplateName.maxIf] = "{outerAggregation}If(process(maxIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1176
|
+
_a$3[EMeasureAggregationTemplateName.sumIf] = "{outerAggregation}If(process(sumIf({columnFormula}, {eventNameFormula} = '{eventName}'{filters}), {caseCaseIdFormula}), {objectFilters})",
|
|
1177
|
+
_a$3[EMeasureAggregationTemplateName.top] = "{outerAggregation}If(".concat(topTemplate, ", {objectFilters})"),
|
|
1178
|
+
_a$3[EMeasureAggregationTemplateName.firstValue] = "{outerAggregation}If(".concat(firstValueTemplate, ", {objectFilters})"),
|
|
1179
|
+
_a$3[EMeasureAggregationTemplateName.lastValue] = "{outerAggregation}If(".concat(lastValueTemplate, ", {objectFilters})"),
|
|
1180
|
+
_a$3[EMeasureAggregationTemplateName.countExecutions] = "{outerAggregation}If(".concat(countExecutionsTemplate, ",{objectFilters})"),
|
|
1181
|
+
_a$3[EMeasureAggregationTemplateName.countReworks] = "{outerAggregation}If(".concat(countReworksTemplate, ",{objectFilters})"),
|
|
1182
|
+
_a$3);
|
|
1183
|
+
/** На основе значения режима AGGREGATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1184
|
+
var prepareMeasureAggregationParams = function (value) {
|
|
1091
1185
|
if (!value.eventName ||
|
|
1092
1186
|
!value.caseCaseIdFormula ||
|
|
1093
1187
|
!value.eventNameFormula ||
|
|
@@ -1121,6 +1215,32 @@ var prepareAggregationParams = function (value) {
|
|
|
1121
1215
|
}
|
|
1122
1216
|
return columnParams;
|
|
1123
1217
|
};
|
|
1218
|
+
|
|
1219
|
+
var _a$2;
|
|
1220
|
+
var EMeasureTemplateNames;
|
|
1221
|
+
(function (EMeasureTemplateNames) {
|
|
1222
|
+
EMeasureTemplateNames["avg"] = "avg";
|
|
1223
|
+
EMeasureTemplateNames["median"] = "median";
|
|
1224
|
+
EMeasureTemplateNames["count"] = "count";
|
|
1225
|
+
EMeasureTemplateNames["countDistinct"] = "countDistinct";
|
|
1226
|
+
EMeasureTemplateNames["min"] = "min";
|
|
1227
|
+
EMeasureTemplateNames["max"] = "max";
|
|
1228
|
+
EMeasureTemplateNames["sum"] = "sum";
|
|
1229
|
+
})(EMeasureTemplateNames || (EMeasureTemplateNames = {}));
|
|
1230
|
+
/** Стандартные шаблоны меры */
|
|
1231
|
+
var measureTemplateFormulas = (_a$2 = {},
|
|
1232
|
+
_a$2[EMeasureTemplateNames.avg] = "avg({columnFormula})",
|
|
1233
|
+
_a$2[EMeasureTemplateNames.count] = "count({columnFormula})",
|
|
1234
|
+
_a$2[EMeasureTemplateNames.countDistinct] = "count(distinct {columnFormula})",
|
|
1235
|
+
_a$2[EMeasureTemplateNames.median] = "medianExact({columnFormula})",
|
|
1236
|
+
_a$2[EMeasureTemplateNames.min] = "min({columnFormula})",
|
|
1237
|
+
_a$2[EMeasureTemplateNames.max] = "max({columnFormula})",
|
|
1238
|
+
_a$2[EMeasureTemplateNames.sum] = "sum({columnFormula})",
|
|
1239
|
+
_a$2);
|
|
1240
|
+
|
|
1241
|
+
/** Шаблон процессной метрики меры с режимом CONVERSION */
|
|
1242
|
+
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)";
|
|
1243
|
+
/** На основе значения режима CONVERSION подготовить параметры для подстановки в шаблонную формулу */
|
|
1124
1244
|
var prepareConversionParams = function (value) {
|
|
1125
1245
|
if (!value.startEventName ||
|
|
1126
1246
|
!value.endEventName ||
|
|
@@ -1146,6 +1266,17 @@ var prepareConversionParams = function (value) {
|
|
|
1146
1266
|
endEventFilters: convertFiltersToFormula(value.endEventFilters),
|
|
1147
1267
|
};
|
|
1148
1268
|
};
|
|
1269
|
+
|
|
1270
|
+
/** Шаблоны процессных метрик меры с режимом DURATION */
|
|
1271
|
+
var durationTemplates = (function () {
|
|
1272
|
+
var _a;
|
|
1273
|
+
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 ";
|
|
1274
|
+
return _a = {},
|
|
1275
|
+
_a[EDurationTemplateName.avg] = "avgIf(".concat(innerTemplate, ")"),
|
|
1276
|
+
_a[EDurationTemplateName.median] = "medianIf(".concat(innerTemplate, ")"),
|
|
1277
|
+
_a;
|
|
1278
|
+
})();
|
|
1279
|
+
/** На основе значения режима DURATION подготовить параметры для подстановки в шаблонную формулу */
|
|
1149
1280
|
var prepareDurationParams = function (value) {
|
|
1150
1281
|
if (!value.startEventName ||
|
|
1151
1282
|
!value.endEventName ||
|
|
@@ -1159,7 +1290,7 @@ var prepareDurationParams = function (value) {
|
|
|
1159
1290
|
return null;
|
|
1160
1291
|
}
|
|
1161
1292
|
var getAggregationNameByAppearances = function (appearance) {
|
|
1162
|
-
return appearance ===
|
|
1293
|
+
return appearance === EEventAppearances.FIRST ? "minIf" : "maxIf";
|
|
1163
1294
|
};
|
|
1164
1295
|
return {
|
|
1165
1296
|
objectFilters: "1",
|
|
@@ -1176,6 +1307,7 @@ var prepareDurationParams = function (value) {
|
|
|
1176
1307
|
endEventAggregationName: getAggregationNameByAppearances(value.endEventAppearances),
|
|
1177
1308
|
};
|
|
1178
1309
|
};
|
|
1310
|
+
|
|
1179
1311
|
function getMeasureFormula(_a) {
|
|
1180
1312
|
var _b;
|
|
1181
1313
|
var value = _a.value;
|
|
@@ -1196,7 +1328,7 @@ function getMeasureFormula(_a) {
|
|
|
1196
1328
|
});
|
|
1197
1329
|
}
|
|
1198
1330
|
if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
|
|
1199
|
-
var preparedParams =
|
|
1331
|
+
var preparedParams = prepareMeasureAggregationParams(value);
|
|
1200
1332
|
if (!preparedParams) {
|
|
1201
1333
|
return "";
|
|
1202
1334
|
}
|
|
@@ -1230,6 +1362,7 @@ var eventMeasureTemplateFormulas = (_a$1 = {},
|
|
|
1230
1362
|
_a$1[EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
1231
1363
|
_a$1[EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
1232
1364
|
_a$1);
|
|
1365
|
+
|
|
1233
1366
|
function getEventMeasureFormula(_a, process) {
|
|
1234
1367
|
var value = _a.value;
|
|
1235
1368
|
if (!value) {
|
|
@@ -1255,6 +1388,7 @@ var transitionMeasureTemplateFormulas = (_a = {},
|
|
|
1255
1388
|
_a[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
1256
1389
|
_a[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
1257
1390
|
_a);
|
|
1391
|
+
|
|
1258
1392
|
function getTransitionMeasureFormula(_a, process) {
|
|
1259
1393
|
var value = _a.value;
|
|
1260
1394
|
if (!value) {
|
|
@@ -1781,4 +1915,4 @@ var getColorByIndex = function (index) {
|
|
|
1781
1915
|
return color;
|
|
1782
1916
|
};
|
|
1783
1917
|
|
|
1784
|
-
export { EActionButtonsTypes, EActionTypes, EBlockingConditionMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, 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, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate,
|
|
1918
|
+
export { EActionButtonsTypes, EActionTypes, EBlockingConditionMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, 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, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, durationTemplates, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureAggregationTemplates, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|