@infomaximum/widget-sdk 3.21.0 → 3.23.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/dist/index.d.ts CHANGED
@@ -33,7 +33,8 @@ declare enum EControlType {
33
33
  displayCondition = "displayCondition",
34
34
  eventsColor = "eventsColor",
35
35
  inputMarkdown = "inputMarkdown",
36
- filter = "filter"
36
+ filter = "filter",
37
+ actionOnClick = "actionOnClick"
37
38
  }
38
39
  /** Конфигурация элемента управления настройкой */
39
40
  interface IControlRecord<Settings extends object, Value, ControlType = EControlType> {
@@ -63,6 +64,12 @@ interface ICalculator<Input, Output> {
63
64
  }
64
65
  interface ICalculatorIndicatorInput {
65
66
  alias: string;
67
+ /**
68
+ * Информация о типе данных:
69
+ * - Если тип не передан, не производится дополнительной обработки формулы.
70
+ * - Если передан тип "OTHER", формула дополнительно будет обернута в toString().
71
+ */
72
+ dataType?: ESimpleDataType;
66
73
  displayConditionFormula?: TNullable<string>;
67
74
  }
68
75
  interface ICalculatorIndicatorOutput {
@@ -1124,6 +1131,8 @@ declare function bindContentWithIndicator<Output extends ICalculatorIndicatorOut
1124
1131
  */
1125
1132
  declare function bindContentsWithIndicators<Output extends ICalculatorIndicatorOutput, Indicator extends IWidgetIndicator>(outputs: Map<string, Output>, indicators: Indicator[]): TBoundedContentWithIndicator<Output, Indicator>[];
1126
1133
 
1134
+ declare const escapeSpecialCharacters: (formula: string) => string;
1135
+
1127
1136
  interface ICalculatorFactory {
1128
1137
  general: () => IGeneralCalculator;
1129
1138
  pie: () => IPieCalculator;
@@ -1144,6 +1153,12 @@ interface IDefinition<WidgetSettings extends IBaseWidgetSettings, GroupSettings
1144
1153
  getMeasures?(settings: WidgetSettings): IWidgetMeasure[];
1145
1154
  }
1146
1155
 
1156
+ type TLaunchActionParams = {
1157
+ action: IWidgetAction;
1158
+ onSuccess: () => void;
1159
+ filters: ICalculatorFilter[];
1160
+ needConfirmation?: boolean;
1161
+ };
1147
1162
  interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetSettings> {
1148
1163
  /** guid виджета */
1149
1164
  guid: string;
@@ -1166,12 +1181,8 @@ interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetS
1166
1181
  placeholder: IWidgetPlaceholderController;
1167
1182
  /** Контекст виджета */
1168
1183
  widgetsContext: IWidgetsContext;
1169
- /** Вызывает модальное окно для запуска действия */
1170
- launchAction(params: {
1171
- action: IWidgetAction;
1172
- onSuccess: () => void;
1173
- filters: ICalculatorFilter[];
1174
- }): void;
1184
+ /** Запуск действия */
1185
+ launchAction(params: TLaunchActionParams): void;
1175
1186
  }
1176
1187
  interface ICustomWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetSettings> extends IWidgetProps<WidgetSettings> {
1177
1188
  /** @deprecated - нужно использовать из widgetsContext */
@@ -1343,4 +1354,4 @@ declare global {
1343
1354
  }
1344
1355
  }
1345
1356
 
1346
- export { ECalculatorFilterMethods, EColorMode, EControlType, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMeasureTemplateNames, EProcessFilterNames, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionScript, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorVariable, type ICalculatorVariablesValues, type ICommonColumnIndicator, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayPredicate, type IDivePanelDescription, type IDividerRecord, type IEdge, type IExportColumnOrder, type IFillSettings, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type ILens, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IPlacement, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRange, type ISelectOption, type ISortOrder, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type IVertex, type IWidget, type IWidgetAction, type IWidgetActionInput, type IWidgetColumnIndicator, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetEntity, type IWidgetFiltration, type IWidgetFormatting, type IWidgetFormulaFilterValue, type IWidgetIndicator, type IWidgetMeasure, type IWidgetPlaceholderController, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetTable, type IWidgetTableColumn, type IWidgetsContext, type TBoundedContentWithIndicator, type TColor, type TColumnIndicatorValue, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TGroupLevelRecord, type TProcessIndicatorValue, type TRecordAccessor, type TSortDirection, type TUpdateSelection, type TValuePath, type TWidgetActionInputValue, type TWidgetFiltering, type TWidgetLevelRecord, type TWidgetSortingValue, type TWidgetSortingValueRelatedWidgetDimension, type TWidgetSortingValueRelatedWidgetIndicator, type TWidgetSortingValueRelatedWidgetMeasure, type TWidgetVariable, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dimensionTemplateFormulas, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getTransitionMeasureFormula, isActionValid, isHierarchy, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, mapVariablesToInputs, measureTemplateFormulas, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection };
1357
+ export { ECalculatorFilterMethods, EColorMode, EControlType, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMeasureTemplateNames, EProcessFilterNames, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionScript, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorVariable, type ICalculatorVariablesValues, type ICommonColumnIndicator, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayPredicate, type IDivePanelDescription, type IDividerRecord, type IEdge, type IExportColumnOrder, type IFillSettings, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type ILens, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IPlacement, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRange, type ISelectOption, type ISortOrder, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type IVertex, type IWidget, type IWidgetAction, type IWidgetActionInput, type IWidgetColumnIndicator, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetEntity, type IWidgetFiltration, type IWidgetFormatting, type IWidgetFormulaFilterValue, type IWidgetIndicator, type IWidgetMeasure, type IWidgetPlaceholderController, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetTable, type IWidgetTableColumn, type IWidgetsContext, type TBoundedContentWithIndicator, type TColor, type TColumnIndicatorValue, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TGroupLevelRecord, type TLaunchActionParams, type TProcessIndicatorValue, type TRecordAccessor, type TSortDirection, type TUpdateSelection, type TValuePath, type TWidgetActionInputValue, type TWidgetFiltering, type TWidgetLevelRecord, type TWidgetSortingValue, type TWidgetSortingValueRelatedWidgetDimension, type TWidgetSortingValueRelatedWidgetIndicator, type TWidgetSortingValueRelatedWidgetMeasure, type TWidgetVariable, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dimensionTemplateFormulas, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getTransitionMeasureFormula, isActionValid, isHierarchy, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, mapVariablesToInputs, measureTemplateFormulas, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection };
package/dist/index.esm.js CHANGED
@@ -513,8 +513,18 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
513
513
  : __assign(__assign({}, dimension), { displayCondition: displayCondition });
514
514
  };
515
515
 
516
+ var escapeSpecialCharacters = function (formula) {
517
+ return formula
518
+ .replaceAll("\\", "\\\\")
519
+ .replaceAll('"', '\\"')
520
+ .replaceAll("`", "\\`")
521
+ .replaceAll("-", "\\-");
522
+ };
523
+
516
524
  function generateColumnFormula(tableName, columnName) {
517
- return "\"".concat(tableName, "\".\"").concat(columnName, "\"");
525
+ var preparedTableName = escapeSpecialCharacters(tableName);
526
+ var preparedColumnName = escapeSpecialCharacters(columnName);
527
+ return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
518
528
  }
519
529
  function fillTemplateString(templateString, params) {
520
530
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -738,6 +748,7 @@ function mapMeasureToInput(measure, variables, addFormulas) {
738
748
  return {
739
749
  alias: String(measure.id),
740
750
  mainFormula: mainFormula,
751
+ dataType: measure.dataType,
741
752
  displayConditionFormula: getDisplayConditionFormula(measure.displayCondition),
742
753
  additionalFormulas: addFormulas(measure),
743
754
  };
@@ -760,6 +771,7 @@ function mapDimensionToInput(dimension, variables) {
760
771
  return {
761
772
  alias: String(dimension.id),
762
773
  formula: formula,
774
+ dataType: dimension.dataType,
763
775
  hideEmpty: dimension.hideEmptyValues,
764
776
  displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
765
777
  };
@@ -783,6 +795,7 @@ function mapTransitionMeasureToInput(indicator, process, variables, addFormulas)
783
795
  return {
784
796
  alias: String(indicator.id),
785
797
  mainFormula: mainFormula,
798
+ dataType: indicator.dataType,
786
799
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
787
800
  additionalFormulas: addFormulas(indicator),
788
801
  };
@@ -806,6 +819,7 @@ function mapEventMeasureToInput(indicator, process, variables, addFormulas) {
806
819
  return {
807
820
  alias: String(indicator.id),
808
821
  mainFormula: mainFormula,
822
+ dataType: indicator.dataType,
809
823
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
810
824
  additionalFormulas: addFormulas(indicator),
811
825
  };
@@ -926,6 +940,7 @@ var EControlType;
926
940
  EControlType["eventsColor"] = "eventsColor";
927
941
  EControlType["inputMarkdown"] = "inputMarkdown";
928
942
  EControlType["filter"] = "filter";
943
+ EControlType["actionOnClick"] = "actionOnClick";
929
944
  })(EControlType || (EControlType = {}));
930
945
 
931
946
  var ESortDirection;
@@ -1030,4 +1045,4 @@ var getLocalizedText = function (language, locObj, props) {
1030
1045
  return localization.getLocalized(locObj, props);
1031
1046
  };
1032
1047
 
1033
- export { ECalculatorFilterMethods, EColorMode, EControlType, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMeasureTemplateNames, EProcessFilterNames, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dimensionTemplateFormulas, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getTransitionMeasureFormula, isActionValid, isHierarchy, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, mapVariablesToInputs, measureTemplateFormulas, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection };
1048
+ export { ECalculatorFilterMethods, EColorMode, EControlType, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMeasureTemplateNames, EProcessFilterNames, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dimensionTemplateFormulas, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getTransitionMeasureFormula, isActionValid, isHierarchy, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, mapVariablesToInputs, measureTemplateFormulas, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection };
package/dist/index.js CHANGED
@@ -514,8 +514,18 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
514
514
  : __assign(__assign({}, dimension), { displayCondition: displayCondition });
515
515
  };
516
516
 
517
+ var escapeSpecialCharacters = function (formula) {
518
+ return formula
519
+ .replaceAll("\\", "\\\\")
520
+ .replaceAll('"', '\\"')
521
+ .replaceAll("`", "\\`")
522
+ .replaceAll("-", "\\-");
523
+ };
524
+
517
525
  function generateColumnFormula(tableName, columnName) {
518
- return "\"".concat(tableName, "\".\"").concat(columnName, "\"");
526
+ var preparedTableName = escapeSpecialCharacters(tableName);
527
+ var preparedColumnName = escapeSpecialCharacters(columnName);
528
+ return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
519
529
  }
520
530
  function fillTemplateString(templateString, params) {
521
531
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -739,6 +749,7 @@ function mapMeasureToInput(measure, variables, addFormulas) {
739
749
  return {
740
750
  alias: String(measure.id),
741
751
  mainFormula: mainFormula,
752
+ dataType: measure.dataType,
742
753
  displayConditionFormula: getDisplayConditionFormula(measure.displayCondition),
743
754
  additionalFormulas: addFormulas(measure),
744
755
  };
@@ -761,6 +772,7 @@ function mapDimensionToInput(dimension, variables) {
761
772
  return {
762
773
  alias: String(dimension.id),
763
774
  formula: formula,
775
+ dataType: dimension.dataType,
764
776
  hideEmpty: dimension.hideEmptyValues,
765
777
  displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
766
778
  };
@@ -784,6 +796,7 @@ function mapTransitionMeasureToInput(indicator, process, variables, addFormulas)
784
796
  return {
785
797
  alias: String(indicator.id),
786
798
  mainFormula: mainFormula,
799
+ dataType: indicator.dataType,
787
800
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
788
801
  additionalFormulas: addFormulas(indicator),
789
802
  };
@@ -807,6 +820,7 @@ function mapEventMeasureToInput(indicator, process, variables, addFormulas) {
807
820
  return {
808
821
  alias: String(indicator.id),
809
822
  mainFormula: mainFormula,
823
+ dataType: indicator.dataType,
810
824
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
811
825
  additionalFormulas: addFormulas(indicator),
812
826
  };
@@ -927,6 +941,7 @@ exports.EControlType = void 0;
927
941
  EControlType["eventsColor"] = "eventsColor";
928
942
  EControlType["inputMarkdown"] = "inputMarkdown";
929
943
  EControlType["filter"] = "filter";
944
+ EControlType["actionOnClick"] = "actionOnClick";
930
945
  })(exports.EControlType || (exports.EControlType = {}));
931
946
 
932
947
  exports.ESortDirection = void 0;
@@ -1043,6 +1058,7 @@ exports.bindContentWithIndicator = bindContentWithIndicator;
1043
1058
  exports.bindContentsWithIndicators = bindContentsWithIndicators;
1044
1059
  exports.checkDisplayCondition = checkDisplayCondition;
1045
1060
  exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
1061
+ exports.escapeSpecialCharacters = escapeSpecialCharacters;
1046
1062
  exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
1047
1063
  exports.fillTemplateString = fillTemplateString;
1048
1064
  exports.formulaFilterMethods = formulaFilterMethods;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "3.21.0",
3
+ "version": "3.23.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",