@infomaximum/widget-sdk 3.20.1 → 3.22.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
@@ -63,6 +63,12 @@ interface ICalculator<Input, Output> {
63
63
  }
64
64
  interface ICalculatorIndicatorInput {
65
65
  alias: string;
66
+ /**
67
+ * Информация о типе данных:
68
+ * - Если тип не передан, не производится дополнительной обработки формулы.
69
+ * - Если передан тип "OTHER", формула дополнительно будет обернута в toString().
70
+ */
71
+ dataType?: ESimpleDataType;
66
72
  displayConditionFormula?: TNullable<string>;
67
73
  }
68
74
  interface ICalculatorIndicatorOutput {
@@ -1124,6 +1130,8 @@ declare function bindContentWithIndicator<Output extends ICalculatorIndicatorOut
1124
1130
  */
1125
1131
  declare function bindContentsWithIndicators<Output extends ICalculatorIndicatorOutput, Indicator extends IWidgetIndicator>(outputs: Map<string, Output>, indicators: Indicator[]): TBoundedContentWithIndicator<Output, Indicator>[];
1126
1132
 
1133
+ declare const escapeSpecialCharacters: (formula: string) => string;
1134
+
1127
1135
  interface ICalculatorFactory {
1128
1136
  general: () => IGeneralCalculator;
1129
1137
  pie: () => IPieCalculator;
@@ -1134,6 +1142,8 @@ interface ICalculatorFactory {
1134
1142
  }
1135
1143
 
1136
1144
  interface IDefinition<WidgetSettings extends IBaseWidgetSettings, GroupSettings extends IGroupSettings> {
1145
+ /** иконка виджета отображаемая в системе (в base64, svg или png) */
1146
+ icon?: string;
1137
1147
  /** возвращает конфигурацию настроек для отображения */
1138
1148
  createPanelDescription: IPanelDescriptionCreator<WidgetSettings, GroupSettings>;
1139
1149
  /** заполняет настройки значениями по умолчанию */
@@ -1327,15 +1337,18 @@ declare const replaceFiltersBySelection: (filters: ICalculatorFilter[], selectio
1327
1337
  */
1328
1338
  declare const getLocalizedText: <L extends TLocalizationDescription, P extends ILocalizationProps = TExtractLocalizationParams<L>>(language: ELanguages, locObj: L, props?: P | undefined) => string;
1329
1339
 
1340
+ type TDefineWidgetOptions = {
1341
+ manifest?: Record<string, unknown>;
1342
+ };
1330
1343
  declare global {
1331
1344
  interface Infomaximum {
1332
1345
  /** @deprecated 2402 - необходимо использовать window.im.widget.defineWidget */
1333
1346
  defineWidget: <WidgetSettings extends IBaseWidgetSettings, GroupSettings extends IGroupSettings>(uuid: string, Widget: IWidgetEntity<WidgetSettings, GroupSettings>) => void;
1334
1347
  widget: {
1335
1348
  currentSdkVersion: number;
1336
- defineWidget: <WidgetSettings extends IBaseWidgetSettings, GroupSettings extends IGroupSettings>(uuid: string, Widget: IWidgetEntity<WidgetSettings, GroupSettings>) => void;
1349
+ defineWidget: <WidgetSettings extends IBaseWidgetSettings, GroupSettings extends IGroupSettings>(uuid: string, Widget: IWidgetEntity<WidgetSettings, GroupSettings>, options?: TDefineWidgetOptions) => void;
1337
1350
  };
1338
1351
  }
1339
1352
  }
1340
1353
 
1341
- 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 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 };
1354
+ 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, 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
@@ -514,7 +514,9 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
514
514
  };
515
515
 
516
516
  function generateColumnFormula(tableName, columnName) {
517
- return "\"".concat(tableName, "\".\"").concat(columnName, "\"");
517
+ var preparedTableName = escapeSpecialCharacters(tableName);
518
+ var preparedColumnName = escapeSpecialCharacters(columnName);
519
+ return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
518
520
  }
519
521
  function fillTemplateString(templateString, params) {
520
522
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -738,6 +740,7 @@ function mapMeasureToInput(measure, variables, addFormulas) {
738
740
  return {
739
741
  alias: String(measure.id),
740
742
  mainFormula: mainFormula,
743
+ dataType: measure.dataType,
741
744
  displayConditionFormula: getDisplayConditionFormula(measure.displayCondition),
742
745
  additionalFormulas: addFormulas(measure),
743
746
  };
@@ -760,6 +763,7 @@ function mapDimensionToInput(dimension, variables) {
760
763
  return {
761
764
  alias: String(dimension.id),
762
765
  formula: formula,
766
+ dataType: dimension.dataType,
763
767
  hideEmpty: dimension.hideEmptyValues,
764
768
  displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
765
769
  };
@@ -783,6 +787,7 @@ function mapTransitionMeasureToInput(indicator, process, variables, addFormulas)
783
787
  return {
784
788
  alias: String(indicator.id),
785
789
  mainFormula: mainFormula,
790
+ dataType: indicator.dataType,
786
791
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
787
792
  additionalFormulas: addFormulas(indicator),
788
793
  };
@@ -806,6 +811,7 @@ function mapEventMeasureToInput(indicator, process, variables, addFormulas) {
806
811
  return {
807
812
  alias: String(indicator.id),
808
813
  mainFormula: mainFormula,
814
+ dataType: indicator.dataType,
809
815
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
810
816
  additionalFormulas: addFormulas(indicator),
811
817
  };
@@ -907,6 +913,14 @@ function bindContentsWithIndicators(outputs, indicators) {
907
913
  });
908
914
  }
909
915
 
916
+ var escapeSpecialCharacters = function (formula) {
917
+ return formula
918
+ .replaceAll("\\", "\\\\")
919
+ .replaceAll('"', '\\"')
920
+ .replaceAll("`", "\\`")
921
+ .replaceAll("-", "\\-");
922
+ };
923
+
910
924
  var EControlType;
911
925
  (function (EControlType) {
912
926
  EControlType["inputNumber"] = "inputNumber";
@@ -1030,4 +1044,4 @@ var getLocalizedText = function (language, locObj, props) {
1030
1044
  return localization.getLocalized(locObj, props);
1031
1045
  };
1032
1046
 
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 };
1047
+ 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
@@ -515,7 +515,9 @@ var replaceDisplayCondition = function (dimension, displayCondition) {
515
515
  };
516
516
 
517
517
  function generateColumnFormula(tableName, columnName) {
518
- return "\"".concat(tableName, "\".\"").concat(columnName, "\"");
518
+ var preparedTableName = escapeSpecialCharacters(tableName);
519
+ var preparedColumnName = escapeSpecialCharacters(columnName);
520
+ return "\"".concat(preparedTableName, "\".\"").concat(preparedColumnName, "\"");
519
521
  }
520
522
  function fillTemplateString(templateString, params) {
521
523
  return templateString.replace(/\{(.*?)\}/g, function (_, key) { var _a; return (_a = params[key]) !== null && _a !== void 0 ? _a : ""; });
@@ -739,6 +741,7 @@ function mapMeasureToInput(measure, variables, addFormulas) {
739
741
  return {
740
742
  alias: String(measure.id),
741
743
  mainFormula: mainFormula,
744
+ dataType: measure.dataType,
742
745
  displayConditionFormula: getDisplayConditionFormula(measure.displayCondition),
743
746
  additionalFormulas: addFormulas(measure),
744
747
  };
@@ -761,6 +764,7 @@ function mapDimensionToInput(dimension, variables) {
761
764
  return {
762
765
  alias: String(dimension.id),
763
766
  formula: formula,
767
+ dataType: dimension.dataType,
764
768
  hideEmpty: dimension.hideEmptyValues,
765
769
  displayConditionFormula: getDisplayConditionFormula(dimension.displayCondition),
766
770
  };
@@ -784,6 +788,7 @@ function mapTransitionMeasureToInput(indicator, process, variables, addFormulas)
784
788
  return {
785
789
  alias: String(indicator.id),
786
790
  mainFormula: mainFormula,
791
+ dataType: indicator.dataType,
787
792
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
788
793
  additionalFormulas: addFormulas(indicator),
789
794
  };
@@ -807,6 +812,7 @@ function mapEventMeasureToInput(indicator, process, variables, addFormulas) {
807
812
  return {
808
813
  alias: String(indicator.id),
809
814
  mainFormula: mainFormula,
815
+ dataType: indicator.dataType,
810
816
  displayConditionFormula: getDisplayConditionFormula(indicator.displayCondition),
811
817
  additionalFormulas: addFormulas(indicator),
812
818
  };
@@ -908,6 +914,14 @@ function bindContentsWithIndicators(outputs, indicators) {
908
914
  });
909
915
  }
910
916
 
917
+ var escapeSpecialCharacters = function (formula) {
918
+ return formula
919
+ .replaceAll("\\", "\\\\")
920
+ .replaceAll('"', '\\"')
921
+ .replaceAll("`", "\\`")
922
+ .replaceAll("-", "\\-");
923
+ };
924
+
911
925
  exports.EControlType = void 0;
912
926
  (function (EControlType) {
913
927
  EControlType["inputNumber"] = "inputNumber";
@@ -1043,6 +1057,7 @@ exports.bindContentWithIndicator = bindContentWithIndicator;
1043
1057
  exports.bindContentsWithIndicators = bindContentsWithIndicators;
1044
1058
  exports.checkDisplayCondition = checkDisplayCondition;
1045
1059
  exports.dimensionTemplateFormulas = dimensionTemplateFormulas;
1060
+ exports.escapeSpecialCharacters = escapeSpecialCharacters;
1046
1061
  exports.eventMeasureTemplateFormulas = eventMeasureTemplateFormulas;
1047
1062
  exports.fillTemplateString = fillTemplateString;
1048
1063
  exports.formulaFilterMethods = formulaFilterMethods;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "3.20.1",
3
+ "version": "3.22.0",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",