@infomaximum/widget-sdk 4.0.0-beta58 → 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 +159 -115
- package/dist/index.js +165 -115
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -230,7 +230,7 @@ exports.EFormattingPresets = void 0;
|
|
|
230
230
|
(function (EFormattingPresets) {
|
|
231
231
|
//Общая группа шаблонов
|
|
232
232
|
EFormattingPresets["AUTO"] = "AUTO";
|
|
233
|
-
EFormattingPresets["
|
|
233
|
+
EFormattingPresets["CUSTOM"] = "CUSTOM";
|
|
234
234
|
//Группа шаблонов для формата DATE
|
|
235
235
|
EFormattingPresets["DD/M/YYYY"] = "DD/M/YYYY";
|
|
236
236
|
EFormattingPresets["DD-MM-YYYY"] = "DD-MM-YYYY";
|
|
@@ -474,22 +474,6 @@ exports.EWidgetFilterMode = void 0;
|
|
|
474
474
|
EWidgetFilterMode["MULTI"] = "MULTI";
|
|
475
475
|
EWidgetFilterMode["DISABLED"] = "DISABLED";
|
|
476
476
|
})(exports.EWidgetFilterMode || (exports.EWidgetFilterMode = {}));
|
|
477
|
-
exports.EColorMode = void 0;
|
|
478
|
-
(function (EColorMode) {
|
|
479
|
-
EColorMode["DISABLED"] = "DISABLED";
|
|
480
|
-
EColorMode["FORMULA"] = "FORMULA";
|
|
481
|
-
EColorMode["BASE"] = "BASE";
|
|
482
|
-
EColorMode["GRADIENT"] = "GRADIENT";
|
|
483
|
-
EColorMode["AUTO"] = "AUTO";
|
|
484
|
-
EColorMode["RULE"] = "RULE";
|
|
485
|
-
EColorMode["VALUES"] = "VALUES";
|
|
486
|
-
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
487
|
-
})(exports.EColorMode || (exports.EColorMode = {}));
|
|
488
|
-
exports.EColorScope = void 0;
|
|
489
|
-
(function (EColorScope) {
|
|
490
|
-
EColorScope["WORKSPACE"] = "WORKSPACE";
|
|
491
|
-
EColorScope["DASHBOARD"] = "DASHBOARD";
|
|
492
|
-
})(exports.EColorScope || (exports.EColorScope = {}));
|
|
493
477
|
exports.EMarkdownDisplayMode = void 0;
|
|
494
478
|
(function (EMarkdownDisplayMode) {
|
|
495
479
|
EMarkdownDisplayMode["NONE"] = "NONE";
|
|
@@ -552,9 +536,7 @@ exports.EWidgetIndicatorType = void 0;
|
|
|
552
536
|
EWidgetIndicatorType["EVENT_INDICATOR"] = "EVENT_INDICATOR";
|
|
553
537
|
EWidgetIndicatorType["TRANSITION_INDICATOR"] = "TRANSITION_INDICATOR";
|
|
554
538
|
EWidgetIndicatorType["DIMENSION"] = "DIMENSION";
|
|
555
|
-
EWidgetIndicatorType["DIMENSION_HIERARCHY"] = "DIMENSION_HIERARCHY";
|
|
556
539
|
EWidgetIndicatorType["SORTING"] = "SORTING";
|
|
557
|
-
EWidgetIndicatorType["CUSTOM"] = "CUSTOM";
|
|
558
540
|
})(exports.EWidgetIndicatorType || (exports.EWidgetIndicatorType = {}));
|
|
559
541
|
exports.EDbType = void 0;
|
|
560
542
|
(function (EDbType) {
|
|
@@ -574,18 +556,8 @@ exports.ESortingValueModes = void 0;
|
|
|
574
556
|
(function (ESortingValueModes) {
|
|
575
557
|
/** Сортировка по формуле */
|
|
576
558
|
ESortingValueModes["FORMULA"] = "FORMULA";
|
|
577
|
-
/**
|
|
578
|
-
ESortingValueModes["
|
|
579
|
-
/** @deprecated Для сортировки по иерархии используется режим DIMENSION_IN_WIDGET */
|
|
580
|
-
ESortingValueModes["HIERARCHY"] = "HIERARCHY";
|
|
581
|
-
/** Сортировка по мере виджета */
|
|
582
|
-
ESortingValueModes["MEASURE_IN_WIDGET"] = "MEASURE_IN_WIDGET";
|
|
583
|
-
/** Сортировка по разрезу(в т.ч. по иерархии) виджета */
|
|
584
|
-
ESortingValueModes["DIMENSION_IN_WIDGET"] = "DIMENSION_IN_WIDGET";
|
|
585
|
-
/** Сортировка по мере отчета */
|
|
586
|
-
ESortingValueModes["IN_DASHBOARD"] = "IN_DASHBOARD";
|
|
587
|
-
/** Сортировка по мере пространства */
|
|
588
|
-
ESortingValueModes["IN_WORKSPACE"] = "IN_WORKSPACE";
|
|
559
|
+
/** Сортировка по показателю(разрезу или мере) виджета */
|
|
560
|
+
ESortingValueModes["IN_WIDGET"] = "IN_WIDGET";
|
|
589
561
|
})(exports.ESortingValueModes || (exports.ESortingValueModes = {}));
|
|
590
562
|
/** Тип показателя */
|
|
591
563
|
exports.EIndicatorType = void 0;
|
|
@@ -607,8 +579,8 @@ exports.EIndicatorType = void 0;
|
|
|
607
579
|
/** Пользовательская сортировка */
|
|
608
580
|
EIndicatorType["USER_SORTING"] = "USER_SORTING";
|
|
609
581
|
})(exports.EIndicatorType || (exports.EIndicatorType = {}));
|
|
610
|
-
function
|
|
611
|
-
return
|
|
582
|
+
function isDimensionsHierarchy(indicator) {
|
|
583
|
+
return "hierarchyDimensions" in indicator;
|
|
612
584
|
}
|
|
613
585
|
|
|
614
586
|
var _a$3;
|
|
@@ -704,11 +676,11 @@ function getMeasureFormula(_a) {
|
|
|
704
676
|
var _a$1;
|
|
705
677
|
exports.EEventMeasureTemplateNames = void 0;
|
|
706
678
|
(function (EEventMeasureTemplateNames) {
|
|
707
|
-
EEventMeasureTemplateNames["
|
|
679
|
+
EEventMeasureTemplateNames["eventsCount"] = "eventsCount";
|
|
708
680
|
EEventMeasureTemplateNames["reworksCount"] = "reworksCount";
|
|
709
681
|
})(exports.EEventMeasureTemplateNames || (exports.EEventMeasureTemplateNames = {}));
|
|
710
682
|
var eventMeasureTemplateFormulas = (_a$1 = {},
|
|
711
|
-
_a$1[exports.EEventMeasureTemplateNames.
|
|
683
|
+
_a$1[exports.EEventMeasureTemplateNames.eventsCount] = "count()",
|
|
712
684
|
_a$1[exports.EEventMeasureTemplateNames.reworksCount] = "count() - uniqExact({caseCaseIdFormula})",
|
|
713
685
|
_a$1);
|
|
714
686
|
function getEventMeasureFormula(_a, process) {
|
|
@@ -729,11 +701,11 @@ function getEventMeasureFormula(_a, process) {
|
|
|
729
701
|
var _a;
|
|
730
702
|
exports.ETransitionMeasureTemplateNames = void 0;
|
|
731
703
|
(function (ETransitionMeasureTemplateNames) {
|
|
732
|
-
ETransitionMeasureTemplateNames["
|
|
704
|
+
ETransitionMeasureTemplateNames["transitionsCount"] = "transitionsCount";
|
|
733
705
|
ETransitionMeasureTemplateNames["medianTime"] = "medianTime";
|
|
734
706
|
})(exports.ETransitionMeasureTemplateNames || (exports.ETransitionMeasureTemplateNames = {}));
|
|
735
707
|
var transitionMeasureTemplateFormulas = (_a = {},
|
|
736
|
-
_a[exports.ETransitionMeasureTemplateNames.
|
|
708
|
+
_a[exports.ETransitionMeasureTemplateNames.transitionsCount] = "count()",
|
|
737
709
|
_a[exports.ETransitionMeasureTemplateNames.medianTime] = "medianExact(date_diff(second, begin({eventTimeFormula}), end({eventTimeFormula})))",
|
|
738
710
|
_a);
|
|
739
711
|
function getTransitionMeasureFormula(_a, process) {
|
|
@@ -751,6 +723,32 @@ function getTransitionMeasureFormula(_a, process) {
|
|
|
751
723
|
return "";
|
|
752
724
|
}
|
|
753
725
|
|
|
726
|
+
/**
|
|
727
|
+
* Регулярное выражение для поиска имени ссылки внутри формулы.
|
|
728
|
+
* Учитывает, что имя внутри формулы содержит экраны.
|
|
729
|
+
*
|
|
730
|
+
* Принцип работы:
|
|
731
|
+
* Пробовать следующие вхождения:
|
|
732
|
+
* - \\\\ - экранированный символ обратного слэша.
|
|
733
|
+
* - Иначе \\" - экранированный символ кавычки.
|
|
734
|
+
* - Иначе [^"] - любой символ кроме кавычки.
|
|
735
|
+
* Если встречается любой другой символ, то это закрывающая кавычка имени переменной.
|
|
736
|
+
*/
|
|
737
|
+
var linkNameRegExp = "(?:\\\\\\\\|\\\\\"|[^\"])+";
|
|
738
|
+
var dashboardLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"(?!\\.\"").concat(linkNameRegExp, "\")"), "g");
|
|
739
|
+
var workspaceLinkRegExp = new RegExp("link: \"(".concat(linkNameRegExp, ")\"\\.\"(").concat(linkNameRegExp, ")\""), "g");
|
|
740
|
+
var parseIndicatorLink = function (formula) {
|
|
741
|
+
var dashboardMatch = formula.match(dashboardLinkRegExp.source);
|
|
742
|
+
if (dashboardMatch) {
|
|
743
|
+
return { scopeName: null, indicatorName: dashboardMatch[1] };
|
|
744
|
+
}
|
|
745
|
+
var workspaceMatch = formula.match(workspaceLinkRegExp.source);
|
|
746
|
+
if (workspaceMatch) {
|
|
747
|
+
return { scopeName: workspaceMatch[1], indicatorName: workspaceMatch[2] };
|
|
748
|
+
}
|
|
749
|
+
return null;
|
|
750
|
+
};
|
|
751
|
+
|
|
754
752
|
function mapMeasureToInput(measure, variables, addFormulas) {
|
|
755
753
|
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
756
754
|
var mainFormula = getMeasureFormula(measure);
|
|
@@ -773,8 +771,7 @@ function mapMeasuresToInputs(measures, variables, addFormulas) {
|
|
|
773
771
|
return compactMap(measures, function (measure) { return mapMeasureToInput(measure, variables, addFormulas); });
|
|
774
772
|
}
|
|
775
773
|
|
|
776
|
-
function mapDimensionToInput(dimension, variables
|
|
777
|
-
if (addFormulas === void 0) { addFormulas = function () { return new Map(); }; }
|
|
774
|
+
function mapDimensionToInput(dimension, variables) {
|
|
778
775
|
var formula = getDimensionFormula(dimension);
|
|
779
776
|
if (!formula) {
|
|
780
777
|
return null;
|
|
@@ -788,14 +785,11 @@ function mapDimensionToInput(dimension, variables, addFormulas) {
|
|
|
788
785
|
dataType: dimension.dataType,
|
|
789
786
|
hideEmpty: dimension.hideEmptyValues,
|
|
790
787
|
displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
|
|
791
|
-
additionalFormulas: addFormulas(dimension),
|
|
792
788
|
};
|
|
793
789
|
}
|
|
794
790
|
/** Конвертировать разрезы виджета во входы для вычислителя */
|
|
795
|
-
function mapDimensionsToInputs(dimensions, variables
|
|
796
|
-
return compactMap(dimensions, function (dimension) {
|
|
797
|
-
return mapDimensionToInput(dimension, variables, addFormulas);
|
|
798
|
-
});
|
|
791
|
+
function mapDimensionsToInputs(dimensions, variables) {
|
|
792
|
+
return compactMap(dimensions, function (dimension) { return mapDimensionToInput(dimension, variables); });
|
|
799
793
|
}
|
|
800
794
|
|
|
801
795
|
function mapTransitionMeasureToInput(indicator, process, variables, addFormulas) {
|
|
@@ -854,15 +848,45 @@ exports.ESortDirection = void 0;
|
|
|
854
848
|
ESortDirection["DESC"] = "descend";
|
|
855
849
|
})(exports.ESortDirection || (exports.ESortDirection = {}));
|
|
856
850
|
|
|
851
|
+
/**
|
|
852
|
+
* Выбрать активный разрез иерархии на основе активных фильтров.
|
|
853
|
+
* Принцип:
|
|
854
|
+
* Если к разрезу иерархии применяется INCLUDE-фильтр с одним значением - выбираем следующий за ним разрез
|
|
855
|
+
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
856
|
+
*/
|
|
857
|
+
function selectDimensionFromHierarchy(_a, filters) {
|
|
858
|
+
var hierarchyDimensions = _a.hierarchyDimensions;
|
|
859
|
+
var _loop_1 = function (i) {
|
|
860
|
+
var dimension = hierarchyDimensions[i];
|
|
861
|
+
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
862
|
+
var matchedFilter = filters.find(function (_a) {
|
|
863
|
+
var formula = _a.formula, filteringMethod = _a.filteringMethod;
|
|
864
|
+
return formula === getDimensionFormula(dimension) &&
|
|
865
|
+
filteringMethod === exports.ECalculatorFilterMethods.INCLUDE;
|
|
866
|
+
});
|
|
867
|
+
if (!matchedFilter) {
|
|
868
|
+
return "continue";
|
|
869
|
+
}
|
|
870
|
+
var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, hierarchyDimensions.length - 1);
|
|
871
|
+
return { value: hierarchyDimensions[selectionIndex] };
|
|
872
|
+
};
|
|
873
|
+
for (var i = hierarchyDimensions.length - 1; i >= 0; i--) {
|
|
874
|
+
var state_1 = _loop_1(i);
|
|
875
|
+
if (typeof state_1 === "object")
|
|
876
|
+
return state_1.value;
|
|
877
|
+
}
|
|
878
|
+
return hierarchyDimensions[0];
|
|
879
|
+
}
|
|
880
|
+
|
|
857
881
|
var getDefaultSortOrder = function (dimensions, measures) {
|
|
858
|
-
/** Если есть условие отображения, то не делаем
|
|
882
|
+
/** Если есть условие отображения, то не делаем авто-сортировку */
|
|
859
883
|
if (dimensions.some(function (dimension) {
|
|
860
884
|
return dimension.displayCondition &&
|
|
861
885
|
dimension.displayCondition.mode !== exports.EDisplayConditionMode.DISABLED;
|
|
862
886
|
})) {
|
|
863
887
|
return [];
|
|
864
888
|
}
|
|
865
|
-
/** Если есть временной разрез, то
|
|
889
|
+
/** Если есть временной разрез, то авто-сортировка по первому такому разрезу (по возрастанию) */
|
|
866
890
|
var timeDimension = dimensions.find(function (dimension) {
|
|
867
891
|
return dimension.format &&
|
|
868
892
|
[
|
|
@@ -895,88 +919,69 @@ var getDefaultSortOrder = function (dimensions, measures) {
|
|
|
895
919
|
}
|
|
896
920
|
return [];
|
|
897
921
|
};
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
* @param measuresInOriginalOrder меры виджета (конкретная мера будет браться по индексу)
|
|
903
|
-
* @returns
|
|
904
|
-
*/
|
|
905
|
-
function mapSortingToInputs(sortingIndicators, dimensionsInOriginalOrder, measuresInOriginalOrder, variables, withDefaultSortOrder) {
|
|
906
|
-
if (sortingIndicators === void 0) { sortingIndicators = []; }
|
|
907
|
-
if (dimensionsInOriginalOrder === void 0) { dimensionsInOriginalOrder = []; }
|
|
908
|
-
if (measuresInOriginalOrder === void 0) { measuresInOriginalOrder = []; }
|
|
909
|
-
if (withDefaultSortOrder === void 0) { withDefaultSortOrder = true; }
|
|
910
|
-
var sortOrder = compactMap(sortingIndicators, function (_a) {
|
|
922
|
+
function mapSortingToInputs(_a) {
|
|
923
|
+
var _b;
|
|
924
|
+
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;
|
|
925
|
+
var sortOrder = compactMap((_b = settings["sorting"]) !== null && _b !== void 0 ? _b : [], function (_a) {
|
|
911
926
|
var _b;
|
|
912
|
-
var
|
|
913
|
-
if (value.mode === exports.ESortingValueModes.FORMULA
|
|
914
|
-
value.mode === exports.ESortingValueModes.QUANTITY ||
|
|
915
|
-
value.mode === exports.ESortingValueModes.IN_DASHBOARD ||
|
|
916
|
-
value.mode === exports.ESortingValueModes.IN_WORKSPACE) {
|
|
927
|
+
var direction = _a.direction, value = _a.value;
|
|
928
|
+
if (value.mode === exports.ESortingValueModes.FORMULA) {
|
|
917
929
|
return value.formula ? { formula: value.formula, direction: direction } : undefined;
|
|
918
930
|
}
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
var
|
|
926
|
-
|
|
931
|
+
var indicatorsGroup = settings[value.group];
|
|
932
|
+
var indicator = indicatorsGroup === null || indicatorsGroup === void 0 ? void 0 : indicatorsGroup[value.index];
|
|
933
|
+
if (!indicator) {
|
|
934
|
+
return;
|
|
935
|
+
}
|
|
936
|
+
if (getIndicatorType(value.group, indicator) === exports.EWidgetIndicatorType.DIMENSION) {
|
|
937
|
+
var activeDimensions = isDimensionsHierarchy(indicator)
|
|
938
|
+
? selectDimensionFromHierarchy(indicator, filters)
|
|
939
|
+
: indicator;
|
|
940
|
+
var formula = activeDimensions && getDimensionFormula(activeDimensions);
|
|
941
|
+
if (!formula || !checkDisplayCondition(indicator.displayCondition, variables)) {
|
|
927
942
|
return;
|
|
928
943
|
}
|
|
929
944
|
return {
|
|
930
|
-
formula:
|
|
945
|
+
formula: formula,
|
|
931
946
|
direction: direction,
|
|
932
|
-
displayCondition: ((_b =
|
|
933
|
-
?
|
|
947
|
+
displayCondition: ((_b = indicator.displayCondition) === null || _b === void 0 ? void 0 : _b.mode) === exports.EDisplayConditionMode.FORMULA
|
|
948
|
+
? indicator.displayCondition.formula
|
|
934
949
|
: undefined,
|
|
935
950
|
};
|
|
936
951
|
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
}
|
|
952
|
+
return {
|
|
953
|
+
formula: getMeasureFormula(indicator),
|
|
954
|
+
direction: direction,
|
|
955
|
+
};
|
|
941
956
|
});
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
/**
|
|
948
|
-
* Выбрать активный разрез иерархии на основе активных фильтров.
|
|
949
|
-
* Принцип:
|
|
950
|
-
* Если к разрезу иерархии применяется INCLUDE-фильтр с одним значением - выбираем следующий за ним разрез
|
|
951
|
-
* Если к разрезу иерархии применяется INCLUDE-фильтр с несколькими значениями - выбираем данный разрез
|
|
952
|
-
*/
|
|
953
|
-
function selectDimensionFromHierarchy(_a, filters) {
|
|
954
|
-
var dimensions = _a.dimensions;
|
|
955
|
-
var _loop_1 = function (i) {
|
|
956
|
-
var dimension = dimensions[i];
|
|
957
|
-
// todo: widgets - возможно, стоит использовать Map фильтров для быстрого поиска
|
|
958
|
-
var matchedFilter = filters.find(function (_a) {
|
|
959
|
-
var formula = _a.formula, filteringMethod = _a.filteringMethod;
|
|
960
|
-
return formula === getDimensionFormula(dimension) &&
|
|
961
|
-
filteringMethod === exports.ECalculatorFilterMethods.INCLUDE;
|
|
962
|
-
});
|
|
963
|
-
if (!matchedFilter) {
|
|
964
|
-
return "continue";
|
|
965
|
-
}
|
|
966
|
-
var selectionIndex = matchedFilter.values.length > 1 ? i : Math.min(i + 1, dimensions.length - 1);
|
|
967
|
-
return { value: dimensions[selectionIndex] };
|
|
968
|
-
};
|
|
969
|
-
for (var i = dimensions.length - 1; i >= 0; i--) {
|
|
970
|
-
var state_1 = _loop_1(i);
|
|
971
|
-
if (typeof state_1 === "object")
|
|
972
|
-
return state_1.value;
|
|
957
|
+
if (sortOrder.length > 0) {
|
|
958
|
+
return sortOrder;
|
|
959
|
+
}
|
|
960
|
+
if (sortableIndicatorsKeys.length === 0 || withDefaultSortOrder === false) {
|
|
961
|
+
return [];
|
|
973
962
|
}
|
|
974
|
-
|
|
963
|
+
var dimensions = [];
|
|
964
|
+
var measures = [];
|
|
965
|
+
sortableIndicatorsKeys.forEach(function (key) {
|
|
966
|
+
var indicatorsGroup = settings[key];
|
|
967
|
+
indicatorsGroup === null || indicatorsGroup === void 0 ? void 0 : indicatorsGroup.forEach(function (indicator) {
|
|
968
|
+
if (getIndicatorType(key, indicator) === exports.EWidgetIndicatorType.DIMENSION) {
|
|
969
|
+
var activeDimensions = isDimensionsHierarchy(indicator)
|
|
970
|
+
? selectDimensionFromHierarchy(indicator, filters)
|
|
971
|
+
: indicator;
|
|
972
|
+
activeDimensions && dimensions.push(activeDimensions);
|
|
973
|
+
}
|
|
974
|
+
else {
|
|
975
|
+
measures.push(indicator);
|
|
976
|
+
}
|
|
977
|
+
});
|
|
978
|
+
});
|
|
979
|
+
return getDefaultSortOrder(dimensions, measures);
|
|
975
980
|
}
|
|
976
981
|
|
|
977
982
|
var replaceHierarchiesWithDimensions = function (dimensions, filters) {
|
|
978
983
|
return compactMap(dimensions, function (indicator) {
|
|
979
|
-
if (
|
|
984
|
+
if (isDimensionsHierarchy(indicator)) {
|
|
980
985
|
var selectedDimension = selectDimensionFromHierarchy(indicator, filters);
|
|
981
986
|
return (selectedDimension && replaceDisplayCondition(selectedDimension, indicator.displayCondition));
|
|
982
987
|
}
|
|
@@ -1021,8 +1026,6 @@ exports.EControlType = void 0;
|
|
|
1021
1026
|
EControlType["typedFormula"] = "typedFormula";
|
|
1022
1027
|
EControlType["inputRange"] = "inputRange";
|
|
1023
1028
|
EControlType["colorPicker"] = "colorPicker";
|
|
1024
|
-
/** @deprecated - удалится в ближайшее время */
|
|
1025
|
-
EControlType["filterMode"] = "filterMode";
|
|
1026
1029
|
EControlType["displayCondition"] = "displayCondition";
|
|
1027
1030
|
EControlType["eventsColor"] = "eventsColor";
|
|
1028
1031
|
EControlType["inputMarkdown"] = "inputMarkdown";
|
|
@@ -1140,6 +1143,47 @@ var getLocalizedText = function (language, locObj, props) {
|
|
|
1140
1143
|
return localization.getLocalized(locObj, props);
|
|
1141
1144
|
};
|
|
1142
1145
|
|
|
1146
|
+
exports.EColorMode = void 0;
|
|
1147
|
+
(function (EColorMode) {
|
|
1148
|
+
/** Окрашивание отключено */
|
|
1149
|
+
EColorMode["DISABLED"] = "DISABLED";
|
|
1150
|
+
/** Цвет каждого значения вычисляется по формуле */
|
|
1151
|
+
EColorMode["FORMULA"] = "FORMULA";
|
|
1152
|
+
/** Один цвет для всех значений */
|
|
1153
|
+
EColorMode["BASE"] = "BASE";
|
|
1154
|
+
/** Окрашивание каждого значения по градиенту относительно минимального и максимального значений */
|
|
1155
|
+
EColorMode["GRADIENT"] = "GRADIENT";
|
|
1156
|
+
/** Использовать автоматический цвет: по умолчанию определяется порядковым номером показателя */
|
|
1157
|
+
EColorMode["AUTO"] = "AUTO";
|
|
1158
|
+
/** Использовать цвет из правила отображения (в правиле отображения рекурсивно определен цвет) */
|
|
1159
|
+
EColorMode["RULE"] = "RULE";
|
|
1160
|
+
/** Задать цвет конкретным значениям разреза */
|
|
1161
|
+
EColorMode["VALUES"] = "VALUES";
|
|
1162
|
+
/** Задать цвет конкретным значениям общего разреза. Режим используется только для настроек правила отображения */
|
|
1163
|
+
EColorMode["BY_DIMENSION"] = "BY_DIMENSION";
|
|
1164
|
+
})(exports.EColorMode || (exports.EColorMode = {}));
|
|
1165
|
+
var getRuleColor = function (ruleFormula, globalContext) {
|
|
1166
|
+
var _a, _b;
|
|
1167
|
+
var link = parseIndicatorLink(ruleFormula);
|
|
1168
|
+
if (!link) {
|
|
1169
|
+
return;
|
|
1170
|
+
}
|
|
1171
|
+
var _c = link.scopeName, scopeName = _c === void 0 ? null : _c, ruleName = link.indicatorName;
|
|
1172
|
+
var rulesByScope = isNil(scopeName)
|
|
1173
|
+
? globalContext.reportDisplayRules
|
|
1174
|
+
: (_a = globalContext.workspaceDisplayRules) === null || _a === void 0 ? void 0 : _a.get(scopeName);
|
|
1175
|
+
return (_b = rulesByScope === null || rulesByScope === void 0 ? void 0 : rulesByScope.get(ruleName)) === null || _b === void 0 ? void 0 : _b.color;
|
|
1176
|
+
};
|
|
1177
|
+
var isValidColor = function (color, globalContext) {
|
|
1178
|
+
if (color.mode === exports.EColorMode.RULE) {
|
|
1179
|
+
return !color.formula || Boolean(getRuleColor(color.formula, globalContext));
|
|
1180
|
+
}
|
|
1181
|
+
if (color.mode === exports.EColorMode.VALUES) {
|
|
1182
|
+
return color.items.every(function (item) { return isValidColor(item.color, globalContext); });
|
|
1183
|
+
}
|
|
1184
|
+
return true;
|
|
1185
|
+
};
|
|
1186
|
+
|
|
1143
1187
|
Object.defineProperty(exports, "ELanguages", {
|
|
1144
1188
|
enumerable: true,
|
|
1145
1189
|
get: function () { return localization$1.ELanguages; }
|
|
@@ -1151,6 +1195,7 @@ Object.defineProperty(exports, "EFilteringMethodValues", {
|
|
|
1151
1195
|
exports.bindContentWithIndicator = bindContentWithIndicator;
|
|
1152
1196
|
exports.bindContentsWithIndicators = bindContentsWithIndicators;
|
|
1153
1197
|
exports.checkDisplayCondition = checkDisplayCondition;
|
|
1198
|
+
exports.dashboardLinkRegExp = dashboardLinkRegExp;
|
|
1154
1199
|
exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
|
|
1155
1200
|
exports.escapeSpecialCharacters = escapeSpecialCharacters;
|
|
1156
1201
|
exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
|
|
@@ -1162,10 +1207,13 @@ exports.getDisplayConditionFormula = getDisplayConditionFormula;
|
|
|
1162
1207
|
exports.getEventMeasureFormula = getEventMeasureFormula;
|
|
1163
1208
|
exports.getLocalizedText = getLocalizedText;
|
|
1164
1209
|
exports.getMeasureFormula = getMeasureFormula;
|
|
1210
|
+
exports.getRuleColor = getRuleColor;
|
|
1165
1211
|
exports.getTransitionMeasureFormula = getTransitionMeasureFormula;
|
|
1212
|
+
exports.isDimensionsHierarchy = isDimensionsHierarchy;
|
|
1166
1213
|
exports.isExecuteScriptActionValid = isExecuteScriptActionValid;
|
|
1167
1214
|
exports.isFormulaFilterValue = isFormulaFilterValue;
|
|
1168
|
-
exports.
|
|
1215
|
+
exports.isValidColor = isValidColor;
|
|
1216
|
+
exports.linkNameRegExp = linkNameRegExp;
|
|
1169
1217
|
exports.mapDimensionsToInputs = mapDimensionsToInputs;
|
|
1170
1218
|
exports.mapEventMeasuresToInputs = mapEventMeasuresToInputs;
|
|
1171
1219
|
exports.mapFormulaFilterToCalculatorInput = mapFormulaFilterToCalculatorInput;
|
|
@@ -1174,6 +1222,7 @@ exports.mapMeasuresToInputs = mapMeasuresToInputs;
|
|
|
1174
1222
|
exports.mapSortingToInputs = mapSortingToInputs;
|
|
1175
1223
|
exports.mapTransitionMeasuresToInputs = mapTransitionMeasuresToInputs;
|
|
1176
1224
|
exports.measureTemplateFormulas = measureTemplateFormulas;
|
|
1225
|
+
exports.parseIndicatorLink = parseIndicatorLink;
|
|
1177
1226
|
exports.prepareValuesForSql = prepareValuesForSql;
|
|
1178
1227
|
exports.replaceDisplayCondition = replaceDisplayCondition;
|
|
1179
1228
|
exports.replaceFiltersBySelection = replaceFiltersBySelection;
|
|
@@ -1184,3 +1233,4 @@ exports.unescapeSpecialCharacters = unescapeSpecialCharacters;
|
|
|
1184
1233
|
exports.updateDefaultModeSelection = updateDefaultModeSelection;
|
|
1185
1234
|
exports.updateMultiModeSelection = updateMultiModeSelection;
|
|
1186
1235
|
exports.updateSingleModeSelection = updateSingleModeSelection;
|
|
1236
|
+
exports.workspaceLinkRegExp = workspaceLinkRegExp;
|