@infomaximum/widget-sdk 4.0.0-beta57 → 4.0.0-beta59
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/dist/index.d.ts +185 -226
- package/dist/index.esm.js +195 -106
- package/dist/index.js +201 -106
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -229,7 +229,7 @@ var EFormattingPresets;
|
|
|
229
229
|
(function (EFormattingPresets) {
|
|
230
230
|
//Общая группа шаблонов
|
|
231
231
|
EFormattingPresets["AUTO"] = "AUTO";
|
|
232
|
-
EFormattingPresets["
|
|
232
|
+
EFormattingPresets["CUSTOM"] = "CUSTOM";
|
|
233
233
|
//Группа шаблонов для формата DATE
|
|
234
234
|
EFormattingPresets["DD/M/YYYY"] = "DD/M/YYYY";
|
|
235
235
|
EFormattingPresets["DD-MM-YYYY"] = "DD-MM-YYYY";
|
|
@@ -473,22 +473,6 @@ var EWidgetFilterMode;
|
|
|
473
473
|
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
474
474
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
475
475
|
})(EWidgetFilterMode || (EWidgetFilterMode = {}));
|
|
476
|
-
var EColorMode;
|
|
477
|
-
(function (EColorMode) {
|
|
478
|
-
EColorMode["DISABLED"] = "DISABLED";
|
|
479
|
-
EColorMode["FORMULA"] = "FORMULA";
|
|
480
|
-
EColorMode["BASE"] = "BASE";
|
|
481
|
-
EColorMode["GRADIENT"] = "GRADIENT";
|
|
482
|
-
EColorMode["AUTO"] = "AUTO";
|
|
483
|
-
EColorMode["RULE"] = "RULE";
|
|
484
|
-
EColorMode["VALUES"] = "VALUES";
|
|
485
|
-
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
486
|
-
})(EColorMode || (EColorMode = {}));
|
|
487
|
-
var EColorScope;
|
|
488
|
-
(function (EColorScope) {
|
|
489
|
-
EColorScope["WORKSPACE"] = "WORKSPACE";
|
|
490
|
-
EColorScope["DASHBOARD"] = "DASHBOARD";
|
|
491
|
-
})(EColorScope || (EColorScope = {}));
|
|
492
476
|
var EMarkdownDisplayMode;
|
|
493
477
|
(function (EMarkdownDisplayMode) {
|
|
494
478
|
EMarkdownDisplayMode["NONE"] = "NONE";
|
|
@@ -551,9 +535,7 @@ var EWidgetIndicatorType;
|
|
|
551
535
|
EWidgetIndicatorType["EVENT_INDICATOR"] = "EVENT_INDICATOR";
|
|
552
536
|
EWidgetIndicatorType["TRANSITION_INDICATOR"] = "TRANSITION_INDICATOR";
|
|
553
537
|
EWidgetIndicatorType["DIMENSION"] = "DIMENSION";
|
|
554
|
-
EWidgetIndicatorType["DIMENSION_HIERARCHY"] = "DIMENSION_HIERARCHY";
|
|
555
538
|
EWidgetIndicatorType["SORTING"] = "SORTING";
|
|
556
|
-
EWidgetIndicatorType["CUSTOM"] = "CUSTOM";
|
|
557
539
|
})(EWidgetIndicatorType || (EWidgetIndicatorType = {}));
|
|
558
540
|
var EDbType;
|
|
559
541
|
(function (EDbType) {
|
|
@@ -573,18 +555,8 @@ var ESortingValueModes;
|
|
|
573
555
|
(function (ESortingValueModes) {
|
|
574
556
|
/** Сортировка по формуле */
|
|
575
557
|
ESortingValueModes["FORMULA"] = "FORMULA";
|
|
576
|
-
/**
|
|
577
|
-
ESortingValueModes["
|
|
578
|
-
/** @deprecated Для сортировки по иерархии используется режим DIMENSION_IN_WIDGET */
|
|
579
|
-
ESortingValueModes["HIERARCHY"] = "HIERARCHY";
|
|
580
|
-
/** Сортировка по мере виджета */
|
|
581
|
-
ESortingValueModes["MEASURE_IN_WIDGET"] = "MEASURE_IN_WIDGET";
|
|
582
|
-
/** Сортировка по разрезу(в т.ч. по иерархии) виджета */
|
|
583
|
-
ESortingValueModes["DIMENSION_IN_WIDGET"] = "DIMENSION_IN_WIDGET";
|
|
584
|
-
/** Сортировка по мере отчета */
|
|
585
|
-
ESortingValueModes["IN_DASHBOARD"] = "IN_DASHBOARD";
|
|
586
|
-
/** Сортировка по мере пространства */
|
|
587
|
-
ESortingValueModes["IN_WORKSPACE"] = "IN_WORKSPACE";
|
|
558
|
+
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
559
|
+
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
588
560
|
})(ESortingValueModes || (ESortingValueModes = {}));
|
|
589
561
|
/** Тип показателя */
|
|
590
562
|
var EIndicatorType;
|
|
@@ -606,8 +578,8 @@ var EIndicatorType;
|
|
|
606
578
|
/** Пользовательская сортировка */
|
|
607
579
|
EIndicatorType["USER_SORTING"] = "USER_SORTING";
|
|
608
580
|
})(EIndicatorType || (EIndicatorType = {}));
|
|
609
|
-
function
|
|
610
|
-
return
|
|
581
|
+
function isDimensionsHierarchy(indicator) {
|
|
582
|
+
return "hierarchyDimensions" in indicator;
|
|
611
583
|
}
|
|
612
584
|
|
|
613
585
|
var _a$3;
|
|
@@ -703,11 +675,11 @@ function getMeasureFormula(_a) {
|
|
|
703
675
|
var _a$1;
|
|
704
676
|
var EEventMeasureTemplateNames;
|
|
705
677
|
(function (EEventMeasureTemplateNames) {
|
|
706
|
-
EEventMeasureTemplateNames["
|
|
678
|
+
EEventMeasureTemplateNames["eventsCount"] = "eventsCount";
|
|
707
679
|
EEventMeasureTemplateNames["reworksCount"] = "reworksCount";
|
|
708
680
|
})(EEventMeasureTemplateNames || (EEventMeasureTemplateNames = {}));
|
|
709
681
|
var eventMeasureTemplateFormulas = (_a$1 = {},
|
|
710
|
-
_a$1[EEventMeasureTemplateNames.
|
|
682
|
+
_a$1[EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
711
683
|
_a$1[EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
712
684
|
_a$1);
|
|
713
685
|
function getEventMeasureFormula(_a, process) {
|
|
@@ -728,11 +700,11 @@ function getEventMeasureFormula(_a, process) {
|
|
|
728
700
|
var _a;
|
|
729
701
|
var ETransitionMeasureTemplateNames;
|
|
730
702
|
(function (ETransitionMeasureTemplateNames) {
|
|
731
|
-
ETransitionMeasureTemplateNames["
|
|
703
|
+
ETransitionMeasureTemplateNames["transitionsCount"] = "transitionsCount";
|
|
732
704
|
ETransitionMeasureTemplateNames["medianTime"] = "medianTime";
|
|
733
705
|
})(ETransitionMeasureTemplateNames || (ETransitionMeasureTemplateNames = {}));
|
|
734
706
|
var transitionMeasureTemplateFormulas = (_a = {},
|
|
735
|
-
_a[ETransitionMeasureTemplateNames.
|
|
707
|
+
_a[ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
736
708
|
_a[ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
737
709
|
_a);
|
|
738
710
|
function getTransitionMeasureFormula(_a, process) {
|
|
@@ -750,6 +722,32 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
750
722
|
return "";
|
|
751
723
|
}
|
|
752
724
|
|
|
725
|
+
/**
|
|
726
|
+
* Регулярное выражение для поиска имени ссылки внутри формулы.
|
|
727
|
+
* Учитывает, что имя внутри формулы содержит экраны.
|
|
728
|
+
*
|
|
729
|
+
* Принцип работы:
|
|
730
|
+
* Пробовать следующие вхождения:
|
|
731
|
+
* - \\\\ - экранированный символ обратного слэша.
|
|
732
|
+
* - Иначе \\" - экранированный символ кавычки.
|
|
733
|
+
* - Иначе [^"] - любой символ кроме кавычки.
|
|
734
|
+
* Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
|
|
735
|
+
*/
|
|
736
|
+
var linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
|
|
737
|
+
var dashboardLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"(?!\\.\"").concat(linkNameRegExp, "\")"), "g");
|
|
738
|
+
var workspaceLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"\\.\"(").concat(linkNameRegExp, ")\""), "g");
|
|
739
|
+
var parseIndicatorLink = function (formula) {
|
|
740
|
+
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
741
|
+
if (dashboardMatch) {
|
|
742
|
+
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
743
|
+
}
|
|
744
|
+
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
745
|
+
if (workspaceMatch) {
|
|
746
|
+
return { scopeName: workspaceMatch[1], indicatorName: workspaceMatch[2] };
|
|
747
|
+
}
|
|
748
|
+
return null;
|
|
749
|
+
};
|
|
750
|
+
|
|
753
751
|
function mapMeasureToInput(measure, variables, addFormulas) {
|
|
754
752
|
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
755
753
|
var mainFormula = getMeasureFormula(measure);
|
|
@@ -772,8 +770,7 @@ function mapMeasuresToInputs(measures, variables, addFormulas) {
|
|
|
772
770
|
return compactMap(measures, function (measure) { return mapMeasureToInput(measure, variables, addFormulas); });
|
|
773
771
|
}
|
|
774
772
|
|
|
775
|
-
function mapDimensionToInput(dimension, variables
|
|
776
|
-
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
773
|
+
function mapDimensionToInput(dimension, variables) {
|
|
777
774
|
var formula = getDimensionFormula(dimension);
|
|
778
775
|
if (!formula) {
|
|
779
776
|
return null;
|
|
@@ -787,14 +784,11 @@ function mapDimensionToInput(dimension, variables, addFormulas) {
|
|
|
787
784
|
dataType: dimension.dataType,
|
|
788
785
|
hideEmpty: dimension.hideEmptyValues,
|
|
789
786
|
displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
|
|
790
|
-
additionalFormulas: addFormulas(dimension),
|
|
791
787
|
};
|
|
792
788
|
}
|
|
793
789
|
/** Конвертировать разрезы виджета во входы для вычислителя */
|
|
794
|
-
function mapDimensionsToInputs(dimensions, variables
|
|
795
|
-
return compactMap(dimensions, function (dimension) {
|
|
796
|
-
return mapDimensionToInput(dimension, variables, addFormulas);
|
|
797
|
-
});
|
|
790
|
+
function mapDimensionsToInputs(dimensions, variables) {
|
|
791
|
+
return compactMap(dimensions, function (dimension) { return mapDimensionToInput(dimension, variables); });
|
|
798
792
|
}
|
|
799
793
|
|
|
800
794
|
function mapTransitionMeasureToInput(indicator, process, variables, addFormulas) {
|
|
@@ -845,50 +839,13 @@ function mapEventMeasuresToInputs(indicators, process, variables, addFormulas) {
|
|
|
845
839
|
});
|
|
846
840
|
}
|
|
847
841
|
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
function mapSortingToInputs(sortingIndicators, dimensionsInOriginalOrder, measuresInOriginalOrder, variables) {
|
|
856
|
-
if (sortingIndicators === void 0) { sortingIndicators = []; }
|
|
857
|
-
if (dimensionsInOriginalOrder === void 0) { dimensionsInOriginalOrder = []; }
|
|
858
|
-
if (measuresInOriginalOrder === void 0) { measuresInOriginalOrder = []; }
|
|
859
|
-
return compactMap(sortingIndicators, function (_a) {
|
|
860
|
-
var _b;
|
|
861
|
-
var value = _a.value, direction = _a.direction;
|
|
862
|
-
if (value.mode === ESortingValueModes.FORMULA ||
|
|
863
|
-
value.mode === ESortingValueModes.QUANTITY ||
|
|
864
|
-
value.mode === ESortingValueModes.IN_DASHBOARD ||
|
|
865
|
-
value.mode === ESortingValueModes.IN_WORKSPACE) {
|
|
866
|
-
return value.formula ? { formula: value.formula, direction: direction } : undefined;
|
|
867
|
-
}
|
|
868
|
-
if (value.mode === ESortingValueModes.DIMENSION_IN_WIDGET ||
|
|
869
|
-
value.mode === ESortingValueModes.HIERARCHY) {
|
|
870
|
-
var dimension = dimensionsInOriginalOrder[value.index];
|
|
871
|
-
if (!dimension) {
|
|
872
|
-
return;
|
|
873
|
-
}
|
|
874
|
-
var formula = getDimensionFormula(dimension);
|
|
875
|
-
if (!formula || !checkDisplayCondition(dimension.displayCondition, variables)) {
|
|
876
|
-
return;
|
|
877
|
-
}
|
|
878
|
-
return {
|
|
879
|
-
formula: getDimensionFormula(dimension),
|
|
880
|
-
direction: direction,
|
|
881
|
-
displayCondition: ((_b = dimension.displayCondition) === null || _b === void 0 ? void 0 : _b.mode) === EDisplayConditionMode.FORMULA
|
|
882
|
-
? dimension.displayCondition.formula
|
|
883
|
-
: undefined,
|
|
884
|
-
};
|
|
885
|
-
}
|
|
886
|
-
if (value.mode === ESortingValueModes.MEASURE_IN_WIDGET) {
|
|
887
|
-
var measure = measuresInOriginalOrder[value.index];
|
|
888
|
-
return measure && { formula: getMeasureFormula(measure), direction: direction };
|
|
889
|
-
}
|
|
890
|
-
});
|
|
891
|
-
}
|
|
842
|
+
var ESortDirection;
|
|
843
|
+
(function (ESortDirection) {
|
|
844
|
+
ESortDirection["descend"] = "DESC";
|
|
845
|
+
ESortDirection["ascend"] = "ASC";
|
|
846
|
+
ESortDirection["ASC"] = "ascend";
|
|
847
|
+
ESortDirection["DESC"] = "descend";
|
|
848
|
+
})(ESortDirection || (ESortDirection = {}));
|
|
892
849
|
|
|
893
850
|
/**
|
|
894
851
|
* Выбрать активный разрез иерархии на основе активных фильтров.
|
|
@@ -897,9 +854,9 @@ function mapSortingToInputs(sortingIndicators, dimensionsInOriginalOrder, measur
|
|
|
897
854
|
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
898
855
|
*/
|
|
899
856
|
function selectDimensionFromHierarchy(_a, filters) {
|
|
900
|
-
var
|
|
857
|
+
var hierarchyDimensions = _a.hierarchyDimensions;
|
|
901
858
|
var _loop_1 = function (i) {
|
|
902
|
-
var dimension =
|
|
859
|
+
var dimension = hierarchyDimensions[i];
|
|
903
860
|
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
904
861
|
var matchedFilter = filters.find(function (_a) {
|
|
905
862
|
var formula = _a.formula, filteringMethod = _a.filteringMethod;
|
|
@@ -909,20 +866,121 @@ function selectDimensionFromHierarchy(_a, filters) {
|
|
|
909
866
|
if (!matchedFilter) {
|
|
910
867
|
return "continue";
|
|
911
868
|
}
|
|
912
|
-
var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1,
|
|
913
|
-
return { value:
|
|
869
|
+
var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, hierarchyDimensions.length - 1);
|
|
870
|
+
return { value: hierarchyDimensions[selectionIndex] };
|
|
914
871
|
};
|
|
915
|
-
for (var i =
|
|
872
|
+
for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
|
|
916
873
|
var state_1 = _loop_1(i);
|
|
917
874
|
if (typeof state_1 === "object")
|
|
918
875
|
return state_1.value;
|
|
919
876
|
}
|
|
920
|
-
return
|
|
877
|
+
return hierarchyDimensions[0];
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
var getDefaultSortOrder = function (dimensions, measures) {
|
|
881
|
+
/** Если есть условие отображения, то не делаем авто-сортировку */
|
|
882
|
+
if (dimensions.some(function (dimension) {
|
|
883
|
+
return dimension.displayCondition &&
|
|
884
|
+
dimension.displayCondition.mode !== EDisplayConditionMode.DISABLED;
|
|
885
|
+
})) {
|
|
886
|
+
return [];
|
|
887
|
+
}
|
|
888
|
+
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
889
|
+
var timeDimension = dimensions.find(function (dimension) {
|
|
890
|
+
return dimension.format &&
|
|
891
|
+
[
|
|
892
|
+
EFormatTypes.DATE,
|
|
893
|
+
EFormatTypes.MONTH,
|
|
894
|
+
EFormatTypes.DATETIME,
|
|
895
|
+
EFormatTypes.DAY_OF_WEEK,
|
|
896
|
+
EFormatTypes.HOUR,
|
|
897
|
+
EFormatTypes.MONTH_YEAR,
|
|
898
|
+
EFormatTypes.YEAR,
|
|
899
|
+
EFormatTypes.QUARTER,
|
|
900
|
+
EFormatTypes.QUARTER_YEAR,
|
|
901
|
+
EFormatTypes.DAY_OF_MONTH,
|
|
902
|
+
EFormatTypes.WEEK,
|
|
903
|
+
].includes(dimension.format);
|
|
904
|
+
});
|
|
905
|
+
if (timeDimension) {
|
|
906
|
+
return [{ formula: getDimensionFormula(timeDimension), direction: ESortDirection.ascend }];
|
|
907
|
+
}
|
|
908
|
+
if (measures.length > 0) {
|
|
909
|
+
var firstMeasure = measures[0];
|
|
910
|
+
if (firstMeasure) {
|
|
911
|
+
return [
|
|
912
|
+
{
|
|
913
|
+
direction: ESortDirection.descend,
|
|
914
|
+
formula: getMeasureFormula(firstMeasure),
|
|
915
|
+
},
|
|
916
|
+
];
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return [];
|
|
920
|
+
};
|
|
921
|
+
function mapSortingToInputs(_a) {
|
|
922
|
+
var _b;
|
|
923
|
+
var settings = _a.settings, variables = _a.variables, filters = _a.filters, getIndicatorType = _a.getIndicatorType, _c = _a.withDefaultSortOrder, withDefaultSortOrder = _c === void 0 ? true : _c, _d = _a.sortableIndicatorsKeys, sortableIndicatorsKeys = _d === void 0 ? [] : _d;
|
|
924
|
+
var sortOrder = compactMap((_b = settings["sorting"]) !== null && _b !== void 0 ? _b : [], function (_a) {
|
|
925
|
+
var _b;
|
|
926
|
+
var direction = _a.direction, value = _a.value;
|
|
927
|
+
if (value.mode === ESortingValueModes.FORMULA) {
|
|
928
|
+
return value.formula ? { formula: value.formula, direction: direction } : undefined;
|
|
929
|
+
}
|
|
930
|
+
var indicatorsGroup = settings[value.group];
|
|
931
|
+
var indicator = indicatorsGroup === null || indicatorsGroup === void 0 ? void 0 : indicatorsGroup[value.index];
|
|
932
|
+
if (!indicator) {
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
935
|
+
if (getIndicatorType(value.group, indicator) === EWidgetIndicatorType.DIMENSION) {
|
|
936
|
+
var activeDimensions = isDimensionsHierarchy(indicator)
|
|
937
|
+
? selectDimensionFromHierarchy(indicator, filters)
|
|
938
|
+
: indicator;
|
|
939
|
+
var formula = activeDimensions && getDimensionFormula(activeDimensions);
|
|
940
|
+
if (!formula || !checkDisplayCondition(indicator.displayCondition, variables)) {
|
|
941
|
+
return;
|
|
942
|
+
}
|
|
943
|
+
return {
|
|
944
|
+
formula: formula,
|
|
945
|
+
direction: direction,
|
|
946
|
+
displayCondition: ((_b = indicator.displayCondition) === null || _b === void 0 ? void 0 : _b.mode) === EDisplayConditionMode.FORMULA
|
|
947
|
+
? indicator.displayCondition.formula
|
|
948
|
+
: undefined,
|
|
949
|
+
};
|
|
950
|
+
}
|
|
951
|
+
return {
|
|
952
|
+
formula: getMeasureFormula(indicator),
|
|
953
|
+
direction: direction,
|
|
954
|
+
};
|
|
955
|
+
});
|
|
956
|
+
if (sortOrder.length > 0) {
|
|
957
|
+
return sortOrder;
|
|
958
|
+
}
|
|
959
|
+
if (sortableIndicatorsKeys.length === 0 || withDefaultSortOrder === false) {
|
|
960
|
+
return [];
|
|
961
|
+
}
|
|
962
|
+
var dimensions = [];
|
|
963
|
+
var measures = [];
|
|
964
|
+
sortableIndicatorsKeys.forEach(function (key) {
|
|
965
|
+
var indicatorsGroup = settings[key];
|
|
966
|
+
indicatorsGroup === null || indicatorsGroup === void 0 ? void 0 : indicatorsGroup.forEach(function (indicator) {
|
|
967
|
+
if (getIndicatorType(key, indicator) === EWidgetIndicatorType.DIMENSION) {
|
|
968
|
+
var activeDimensions = isDimensionsHierarchy(indicator)
|
|
969
|
+
? selectDimensionFromHierarchy(indicator, filters)
|
|
970
|
+
: indicator;
|
|
971
|
+
activeDimensions && dimensions.push(activeDimensions);
|
|
972
|
+
}
|
|
973
|
+
else {
|
|
974
|
+
measures.push(indicator);
|
|
975
|
+
}
|
|
976
|
+
});
|
|
977
|
+
});
|
|
978
|
+
return getDefaultSortOrder(dimensions, measures);
|
|
921
979
|
}
|
|
922
980
|
|
|
923
981
|
var replaceHierarchiesWithDimensions = function (dimensions, filters) {
|
|
924
982
|
return compactMap(dimensions, function (indicator) {
|
|
925
|
-
if (
|
|
983
|
+
if (isDimensionsHierarchy(indicator)) {
|
|
926
984
|
var selectedDimension = selectDimensionFromHierarchy(indicator, filters);
|
|
927
985
|
return (selectedDimension && replaceDisplayCondition(selectedDimension, indicator.displayCondition));
|
|
928
986
|
}
|
|
@@ -967,8 +1025,6 @@ var EControlType;
|
|
|
967
1025
|
EControlType["typedFormula"] = "typedFormula";
|
|
968
1026
|
EControlType["inputRange"] = "inputRange";
|
|
969
1027
|
EControlType["colorPicker"] = "colorPicker";
|
|
970
|
-
/** @deprecated - удалится в ближайшее время */
|
|
971
|
-
EControlType["filterMode"] = "filterMode";
|
|
972
1028
|
EControlType["displayCondition"] = "displayCondition";
|
|
973
1029
|
EControlType["eventsColor"] = "eventsColor";
|
|
974
1030
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
@@ -992,14 +1048,6 @@ var ECustomSelectTemplates;
|
|
|
992
1048
|
ECustomSelectTemplates["DIMENSION_GROUPS"] = "DIMENSION_GROUPS";
|
|
993
1049
|
})(ECustomSelectTemplates || (ECustomSelectTemplates = {}));
|
|
994
1050
|
|
|
995
|
-
var ESortDirection;
|
|
996
|
-
(function (ESortDirection) {
|
|
997
|
-
ESortDirection["descend"] = "DESC";
|
|
998
|
-
ESortDirection["ascend"] = "ASC";
|
|
999
|
-
ESortDirection["ASC"] = "ascend";
|
|
1000
|
-
ESortDirection["DESC"] = "descend";
|
|
1001
|
-
})(ESortDirection || (ESortDirection = {}));
|
|
1002
|
-
|
|
1003
1051
|
var findFilterByFormula = function (filters, formula) {
|
|
1004
1052
|
var _a;
|
|
1005
1053
|
return ((_a = filters.find(function (filter) {
|
|
@@ -1094,4 +1142,45 @@ var getLocalizedText = function (language, locObj, props) {
|
|
|
1094
1142
|
return localization.getLocalized(locObj, props);
|
|
1095
1143
|
};
|
|
1096
1144
|
|
|
1097
|
-
|
|
1145
|
+
var EColorMode;
|
|
1146
|
+
(function (EColorMode) {
|
|
1147
|
+
/** Окрашивание отключено */
|
|
1148
|
+
EColorMode["DISABLED"] = "DISABLED";
|
|
1149
|
+
/** Цвет каждого значения вычисляется по формуле */
|
|
1150
|
+
EColorMode["FORMULA"] = "FORMULA";
|
|
1151
|
+
/** Один цвет для всех значений */
|
|
1152
|
+
EColorMode["BASE"] = "BASE";
|
|
1153
|
+
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
1154
|
+
EColorMode["GRADIENT"] = "GRADIENT";
|
|
1155
|
+
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
1156
|
+
EColorMode["AUTO"] = "AUTO";
|
|
1157
|
+
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
1158
|
+
EColorMode["RULE"] = "RULE";
|
|
1159
|
+
/** Задать цвет конкретным значениям разреза */
|
|
1160
|
+
EColorMode["VALUES"] = "VALUES";
|
|
1161
|
+
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
1162
|
+
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
1163
|
+
})(EColorMode || (EColorMode = {}));
|
|
1164
|
+
var getRuleColor = function (ruleFormula, globalContext) {
|
|
1165
|
+
var _a, _b;
|
|
1166
|
+
var link = parseIndicatorLink(ruleFormula);
|
|
1167
|
+
if (!link) {
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1170
|
+
var _c = link.scopeName, scopeName = _c === void 0 ? null : _c, ruleName = link.indicatorName;
|
|
1171
|
+
var rulesByScope = isNil(scopeName)
|
|
1172
|
+
? globalContext.reportDisplayRules
|
|
1173
|
+
: (_a = globalContext.workspaceDisplayRules) === null || _a === void 0 ? void 0 : _a.get(scopeName);
|
|
1174
|
+
return (_b = rulesByScope === null || rulesByScope === void 0 ? void 0 : rulesByScope.get(ruleName)) === null || _b === void 0 ? void 0 : _b.color;
|
|
1175
|
+
};
|
|
1176
|
+
var isValidColor = function (color, globalContext) {
|
|
1177
|
+
if (color.mode === EColorMode.RULE) {
|
|
1178
|
+
return !color.formula || Boolean(getRuleColor(color.formula, globalContext));
|
|
1179
|
+
}
|
|
1180
|
+
if (color.mode === EColorMode.VALUES) {
|
|
1181
|
+
return color.items.every(function (item) { return isValidColor(item.color, globalContext); });
|
|
1182
|
+
}
|
|
1183
|
+
return true;
|
|
1184
|
+
};
|
|
1185
|
+
|
|
1186
|
+
export { EActionTypes, ECalculatorFilterMethods, EColorMode, EControlType, ECustomSelectTemplates, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationUnit, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureTemplateNames, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dashboardLinkRegExp, dimensionTemplateFormulas, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isExecuteScriptActionValid, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseIndicatorLink, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
|