@infomaximum/widget-sdk 4.0.0-beta1 → 4.0.0-beta3

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 {
@@ -369,13 +375,6 @@ interface IFormulaFilterValue {
369
375
  }>;
370
376
  }
371
377
 
372
- interface IPlacement {
373
- left: number;
374
- top: number;
375
- width: number;
376
- height: number;
377
- zIndex: number;
378
- }
379
378
  declare enum EWidgetFilterMode {
380
379
  DEFAULT = "DEFAULT",
381
380
  SINGLE = "SINGLE",
@@ -753,7 +752,6 @@ interface IBaseWidgetSettings {
753
752
  filters?: (IFormulaFilterValue | string)[];
754
753
  filterMode?: EWidgetFilterMode;
755
754
  ignoreFilters?: boolean;
756
- placement: IPlacement;
757
755
  sorting?: IWidgetSortingIndicator[];
758
756
  actions?: IWidgetAction[];
759
757
  displayCondition?: TDisplayCondition;
@@ -1124,6 +1122,8 @@ declare function bindContentWithIndicator<Output extends ICalculatorIndicatorOut
1124
1122
  */
1125
1123
  declare function bindContentsWithIndicators<Output extends ICalculatorIndicatorOutput, Indicator extends IWidgetIndicator>(outputs: Map<string, Output>, indicators: Indicator[]): TBoundedContentWithIndicator<Output, Indicator>[];
1126
1124
 
1125
+ declare const escapeSpecialCharacters: (formula: string) => string;
1126
+
1127
1127
  interface ICalculatorFactory {
1128
1128
  general: () => IGeneralCalculator;
1129
1129
  pie: () => IPieCalculator;
@@ -1164,7 +1164,7 @@ interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetS
1164
1164
  rootViewContainer: HTMLDivElement;
1165
1165
  /** Объект для управления плейсхолдером */
1166
1166
  placeholder: IWidgetPlaceholderController;
1167
- /** Контекст виджета */
1167
+ /** Контекст виджетов */
1168
1168
  widgetsContext: IWidgetsContext;
1169
1169
  /** Вызывает модальное окно для запуска действия */
1170
1170
  launchAction(params: {
@@ -1172,6 +1172,11 @@ interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetS
1172
1172
  onSuccess: () => void;
1173
1173
  filters: ICalculatorFilter[];
1174
1174
  }): void;
1175
+ /** Данные о контейнере виджета */
1176
+ widgetContainer: {
1177
+ /** Имеет ли контейнер виджета ограниченную максимальную высоту */
1178
+ isMaxHeightLimited: boolean;
1179
+ };
1175
1180
  }
1176
1181
  interface ICustomWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetSettings> extends IWidgetProps<WidgetSettings> {
1177
1182
  /** @deprecated - нужно использовать из widgetsContext */
@@ -1343,4 +1348,4 @@ declare global {
1343
1348
  }
1344
1349
  }
1345
1350
 
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 };
1351
+ 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 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
@@ -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
  };
@@ -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
@@ -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
  };
@@ -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": "4.0.0-beta1",
3
+ "version": "4.0.0-beta3",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",