@infomaximum/widget-sdk 6.0.0-view-theme.9 → 6.0.0-view-theme.11

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.esm.js CHANGED
@@ -79,22 +79,22 @@ var AutoIdentifiedArrayItemSchema = function (z) {
79
79
  };
80
80
  var BaseWidgetSettingsSchema = function (z) {
81
81
  return z.object({
82
- title: z.string().optional(),
83
- titleSize: z.number().optional(),
84
- titleColor: ColorSchema(z).optional(),
85
- titleWeight: z.enum(EFontWeight).optional(),
86
- stateName: z.string().nullable().optional(),
87
- showMarkdown: z.boolean().optional(),
88
- markdownMeasures: z.array(MarkdownMeasureSchema(z)).optional(),
89
- markdownText: z.string().optional(),
90
- markdownTextSize: z.number().optional(),
91
- filters: z.array(SettingsFilterSchema(z)).optional(),
92
- filterMode: z.enum(EWidgetFilterMode).optional(),
93
- ignoreFilters: z.boolean().optional(),
94
- sorting: z.array(WidgetSortingIndicatorSchema(z)).optional(),
95
- actionButtons: z.array(ActionButtonSchema(z)).optional(),
96
- paddings: z.union([z.number(), z.string()]).optional(),
97
- viewTheme: z.boolean().optional(),
82
+ title: z.string().default(""),
83
+ titleSize: z.number().default(14),
84
+ titleColor: ColorSchema(z).default({ mode: EColorMode.AUTO }),
85
+ titleWeight: z.enum(EFontWeight).default(EFontWeight.NORMAL),
86
+ stateName: z.string().nullable().default(null),
87
+ showMarkdown: z.boolean().default(false),
88
+ markdownMeasures: z.array(MarkdownMeasureSchema(z)).default([]),
89
+ markdownText: z.string().default(""),
90
+ markdownTextSize: z.number().default(14),
91
+ filters: z.array(SettingsFilterSchema(z)).default([]),
92
+ filterMode: z.enum(EWidgetFilterMode).default(EWidgetFilterMode.DEFAULT),
93
+ ignoreFilters: z.boolean().default(false),
94
+ sorting: z.array(WidgetSortingIndicatorSchema(z)).default([]),
95
+ actionButtons: z.array(ActionButtonSchema(z)).default([]),
96
+ paddings: z.union([z.number(), z.string()]).default(8),
97
+ viewTheme: z.boolean().default(false),
98
98
  });
99
99
  };
100
100
 
@@ -615,24 +615,43 @@ var WidgetColumnIndicatorSchema = function (z) {
615
615
  dbDataType: z.string().optional(),
616
616
  format: FormatSchema(z).optional(),
617
617
  formatting: FormattingSchema(z).optional(),
618
- displayCondition: DisplayConditionSchema(z).optional(),
618
+ displayCondition: DisplayConditionSchema(z).default({ mode: EDisplayConditionMode.DISABLED }),
619
619
  onClick: z.array(ActionsOnClickSchema(z)).optional(),
620
620
  });
621
621
  };
622
+ var WidgetIndicatorFormulaValueSchema = function (z) {
623
+ return z.object({
624
+ mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
625
+ formula: z.string().optional(),
626
+ });
627
+ };
628
+ var WidgetIndicatorTemplateValueSchema = function (z) {
629
+ return z.object({
630
+ mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
631
+ /** Имя шаблонной формулы, использующей колонку таблицы */
632
+ templateName: z.string().optional(),
633
+ /** Имя таблицы */
634
+ tableName: z.string().optional(),
635
+ /** Имя колонки */
636
+ columnName: z.string().optional(),
637
+ });
638
+ };
622
639
  var ColumnIndicatorValueSchema = function (z) {
640
+ return z.union([MeasureValueSchema(z), DimensionValueSchema(z)]);
641
+ };
642
+ var MeasureValueSchema = function (z) {
623
643
  return z.discriminatedUnion("mode", [
624
- z.object({
625
- mode: z.literal(EWidgetIndicatorValueModes.FORMULA),
626
- formula: z.string().optional(),
644
+ WidgetIndicatorFormulaValueSchema(z),
645
+ WidgetIndicatorTemplateValueSchema(z).extend({
646
+ innerTemplateName: z.enum(EMeasureInnerTemplateNames).optional(),
627
647
  }),
628
- z.object({
629
- mode: z.literal(EWidgetIndicatorValueModes.TEMPLATE),
630
- /** Имя шаблонной формулы, использующей колонку таблицы */
631
- templateName: z.string().optional(),
632
- /** Имя таблицы */
633
- tableName: z.string().optional(),
634
- /** Имя колонки */
635
- columnName: z.string().optional(),
648
+ ]);
649
+ };
650
+ var DimensionValueSchema = function (z) {
651
+ return z.discriminatedUnion("mode", [
652
+ WidgetIndicatorFormulaValueSchema(z),
653
+ WidgetIndicatorTemplateValueSchema(z).extend({
654
+ innerTemplateName: z.never().optional(),
636
655
  }),
637
656
  ]);
638
657
  };
@@ -670,7 +689,7 @@ var WidgetDimensionSchema = function (z) {
670
689
  return WidgetColumnIndicatorSchema(z).extend({
671
690
  value: z
672
691
  .discriminatedUnion("mode", [
673
- ColumnIndicatorValueSchema(z),
692
+ DimensionValueSchema(z),
674
693
  WidgetIndicatorAggregationValueSchema(z).extend({
675
694
  innerTemplateName: z.string().optional(),
676
695
  }),
@@ -684,7 +703,7 @@ var WidgetDimensionHierarchySchema = function (z, dimensionSchema) {
684
703
  return AutoIdentifiedArrayItemSchema(z).extend({
685
704
  name: z.string(),
686
705
  hierarchyDimensions: z.array(dimensionSchema).default([]),
687
- displayCondition: DisplayConditionSchema(z).optional(),
706
+ displayCondition: DisplayConditionSchema(z).default({ mode: EDisplayConditionMode.DISABLED }),
688
707
  });
689
708
  };
690
709
  var WidgetIndicatorConversionValue = function (z) {
@@ -715,7 +734,7 @@ var WidgetMeasureSchema = function (z) {
715
734
  return WidgetColumnIndicatorSchema(z).extend({
716
735
  value: z
717
736
  .discriminatedUnion("mode", [
718
- ColumnIndicatorValueSchema(z),
737
+ MeasureValueSchema(z),
719
738
  WidgetIndicatorAggregationValueSchema(z).extend({
720
739
  outerAggregation: z.enum(EOuterAggregation),
721
740
  }),
@@ -755,7 +774,7 @@ var ProcessIndicatorSchema = function (z) {
755
774
  dbDataType: z.string().optional(),
756
775
  format: FormatSchema(z).optional(),
757
776
  formatting: FormattingSchema(z).optional(),
758
- displayCondition: DisplayConditionSchema(z).optional(),
777
+ displayCondition: DisplayConditionSchema(z).default({ mode: EDisplayConditionMode.DISABLED }),
759
778
  });
760
779
  };
761
780
 
@@ -886,8 +905,8 @@ var ParameterFromManualInputSchema = function (z) {
886
905
  var ParameterFromStaticListSchema = function (z) {
887
906
  return z.object({
888
907
  inputMethod: z.literal(EWidgetActionInputMethod.STATIC_LIST),
889
- options: z.string(),
890
- defaultValue: z.union([z.string(), z.array(z.string())]),
908
+ options: z.string().default(""),
909
+ defaultValue: z.union([z.string(), z.array(z.string())]).default(""),
891
910
  acceptEmptyValue: z.boolean().optional(),
892
911
  });
893
912
  };
@@ -970,7 +989,7 @@ var ActivateConditionSchema = function (z) {
970
989
  var ActionRunScriptSchema = function (z) {
971
990
  return ActionCommonSchema(z).extend({
972
991
  type: z.literal(EActionTypes.EXECUTE_SCRIPT),
973
- parameters: z.array(ActionOnClickParameterSchema(z)),
992
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
974
993
  scriptKey: z.string(),
975
994
  autoUpdate: z.enum(EAutoUpdateMode),
976
995
  hideInactiveButton: z.boolean().optional(),
@@ -1015,13 +1034,13 @@ var ActionOpenViewSchema = function (z) {
1015
1034
  ActionOpenViewCommonSchema(z).extend({
1016
1035
  mode: z.literal(EViewMode.GENERATED_BY_SCRIPT),
1017
1036
  scriptKey: z.string(),
1018
- parameters: z.array(ActionOnClickParameterSchema(z)),
1037
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
1019
1038
  displayName: z.string(),
1020
1039
  }),
1021
1040
  ActionOpenViewCommonSchema(z).extend({
1022
1041
  mode: z.literal(EViewMode.EXISTED_VIEW),
1023
1042
  viewKey: z.string(),
1024
- parameters: z.array(ActionOnClickParameterSchema(z)),
1043
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
1025
1044
  }),
1026
1045
  ActionOpenViewCommonSchema(z).extend({
1027
1046
  mode: z.literal(EViewMode.EMPTY),
@@ -1059,7 +1078,7 @@ var WidgetActionParameterSchema = function (z) {
1059
1078
  };
1060
1079
  var WidgetActionSchema = function (z) {
1061
1080
  return ActionCommonSchema(z).extend({
1062
- parameters: z.array(WidgetActionParameterSchema(z)),
1081
+ parameters: z.array(WidgetActionParameterSchema(z)).default([]),
1063
1082
  type: z.literal(EActionTypes.EXECUTE_SCRIPT),
1064
1083
  scriptKey: z.string(),
1065
1084
  autoUpdate: z.enum(EAutoUpdateMode),
@@ -1080,7 +1099,7 @@ var ViewActionSchema = function (z) {
1080
1099
  name: z.string(),
1081
1100
  buttonType: z.enum(EActionButtonsTypes).default(EActionButtonsTypes.BASE),
1082
1101
  type: z.literal(EActionTypes.EXECUTE_SCRIPT).default(EActionTypes.EXECUTE_SCRIPT),
1083
- parameters: z.array(ViewActionParameterSchema(z)),
1102
+ parameters: z.array(ViewActionParameterSchema(z)).default([]),
1084
1103
  scriptKey: z.string().nullable(),
1085
1104
  autoUpdate: z
1086
1105
  .union([z.literal(EAutoUpdateMode.NONE), z.literal(EAutoUpdateMode.ALL_VIEWS)])
@@ -1830,7 +1849,7 @@ var prepareMeasureAggregationParams = function (value) {
1830
1849
  return columnParams;
1831
1850
  };
1832
1851
 
1833
- var _a$3;
1852
+ var _a$3, _b;
1834
1853
  var EMeasureTemplateNames;
1835
1854
  (function (EMeasureTemplateNames) {
1836
1855
  EMeasureTemplateNames["avg"] = "avg";
@@ -1841,6 +1860,11 @@ var EMeasureTemplateNames;
1841
1860
  EMeasureTemplateNames["max"] = "max";
1842
1861
  EMeasureTemplateNames["sum"] = "sum";
1843
1862
  })(EMeasureTemplateNames || (EMeasureTemplateNames = {}));
1863
+ var EMeasureInnerTemplateNames;
1864
+ (function (EMeasureInnerTemplateNames) {
1865
+ EMeasureInnerTemplateNames["begin"] = "begin";
1866
+ EMeasureInnerTemplateNames["end"] = "end";
1867
+ })(EMeasureInnerTemplateNames || (EMeasureInnerTemplateNames = {}));
1844
1868
  /** Стандартные шаблоны меры */
1845
1869
  var measureTemplateFormulas = (_a$3 = {},
1846
1870
  _a$3[EMeasureTemplateNames.avg] = "avg({columnFormula})",
@@ -1851,6 +1875,10 @@ var measureTemplateFormulas = (_a$3 = {},
1851
1875
  _a$3[EMeasureTemplateNames.max] = "max({columnFormula})",
1852
1876
  _a$3[EMeasureTemplateNames.sum] = "sum({columnFormula})",
1853
1877
  _a$3);
1878
+ var measureInnerTemplateFormulas = (_b = {},
1879
+ _b[EMeasureInnerTemplateNames.begin] = "begin({columnFormula})",
1880
+ _b[EMeasureInnerTemplateNames.end] = "end({columnFormula})",
1881
+ _b);
1854
1882
 
1855
1883
  /** Шаблон процессной метрики меры с режимом CONVERSION */
1856
1884
  var conversionTemplate = "countIf(\n process(\n minIf(\n {startEventTimeFormula}, \n {startEventNameFormula} = {startEventName}{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n maxIf(\n {endEventTimeFormula}, \n {endEventNameFormula} = {endEventName}{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) \n and \n process(\n countIf(\n {startEventNameFormula} = {startEventName}{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n) / countIf(\n process(\n countIf(\n {startEventNameFormula} = {startEventName}{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
@@ -1993,13 +2021,18 @@ function getMeasureFormula(_a) {
1993
2021
  return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
1994
2022
  }
1995
2023
  if (value.mode === EWidgetIndicatorValueModes.TEMPLATE) {
1996
- var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
2024
+ var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName, innerTemplateName = value.innerTemplateName;
1997
2025
  var templateFormula = measureTemplateFormulas[templateName];
1998
2026
  if (!templateFormula || !tableName || !columnName) {
1999
2027
  return "";
2000
2028
  }
2029
+ var columnFormula = innerTemplateName
2030
+ ? fillTemplateSql(measureInnerTemplateFormulas[innerTemplateName], {
2031
+ columnFormula: generateColumnFormula(tableName, columnName),
2032
+ })
2033
+ : generateColumnFormula(tableName, columnName);
2001
2034
  return fillTemplateSql(templateFormula, {
2002
- columnFormula: generateColumnFormula(tableName, columnName),
2035
+ columnFormula: columnFormula,
2003
2036
  });
2004
2037
  }
2005
2038
  if (value.mode === EWidgetIndicatorValueModes.AGGREGATION) {
@@ -2519,9 +2552,9 @@ function mapSortingToInputs(_a) {
2519
2552
  return;
2520
2553
  }
2521
2554
  if (getIndicatorType(value.group, indicator) === EWidgetIndicatorType.DIMENSION) {
2522
- var activeDimensions = isDimensionsHierarchy(indicator)
2555
+ var activeDimensions = (isDimensionsHierarchy(indicator)
2523
2556
  ? selectDimensionFromHierarchy(indicator, filters)
2524
- : indicator;
2557
+ : indicator);
2525
2558
  var formula = activeDimensions && getDimensionFormula(activeDimensions);
2526
2559
  if (!formula || !checkDisplayCondition(indicator.displayCondition, variables)) {
2527
2560
  return;
@@ -2535,10 +2568,11 @@ function mapSortingToInputs(_a) {
2535
2568
  : undefined,
2536
2569
  };
2537
2570
  }
2571
+ var measure = indicator;
2538
2572
  return {
2539
- formula: getMeasureFormula(indicator),
2573
+ formula: getMeasureFormula(measure),
2540
2574
  direction: direction,
2541
- dbDataType: indicator.dbDataType,
2575
+ dbDataType: measure.dbDataType,
2542
2576
  };
2543
2577
  });
2544
2578
  return sortOrder;
@@ -2813,15 +2847,18 @@ var getColorByIndex = function (index) {
2813
2847
  };
2814
2848
 
2815
2849
  var WidgetPresetSettingsSchema = function (z) {
2816
- return z.object({
2817
- filterMode: z.enum(EWidgetFilterMode).default(EWidgetFilterMode.DEFAULT),
2818
- ignoreFilters: z.boolean().default(false),
2819
- stateName: z.string().nullable().default(null),
2820
- titleColor: ColorSchema(z).default({ mode: EColorMode.AUTO }),
2821
- titleSize: z.number().default(14),
2822
- titleWeight: z.enum(EFontWeight).default(EFontWeight.NORMAL),
2850
+ return BaseWidgetSettingsSchema(z)
2851
+ .pick({
2852
+ filterMode: true,
2853
+ ignoreFilters: true,
2854
+ stateName: true,
2855
+ titleColor: true,
2856
+ titleSize: true,
2857
+ titleWeight: true,
2858
+ paddings: true,
2859
+ })
2860
+ .extend({
2823
2861
  textSize: z.number().default(12),
2824
- paddings: z.union([z.number(), z.string()]).default(8),
2825
2862
  });
2826
2863
  };
2827
2864
 
@@ -2918,4 +2955,4 @@ var ColorSchema = function (z) {
2918
2955
  ]);
2919
2956
  };
2920
2957
 
2921
- export { ActionButtonSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, MarkdownMeasureSchema, OuterAggregation, ParameterColumnListSchema, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDynamicListSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ParameterTableListSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValue, WidgetIndicatorDurationValue, WidgetIndicatorSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, themeValueMetaKey, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
2958
+ export { ActionButtonSchema, ActionGoToURLSchema, ActionOnClickParameterSchema, ActionOpenInSchema, ActionOpenViewSchema, ActionRunScriptSchema, ActionSchema, ActionUpdateVariableSchema, ActionsOnClickSchema, AutoIdentifiedArrayItemSchema, BaseWidgetSettingsSchema, ColorAutoSchema, ColorBaseSchema, ColorByDimensionSchema, ColorDisabledSchema, ColorFormulaSchema, ColorGradientSchema, ColorRuleSchema, ColorSchema, ColorValuesSchema, ColoredValueSchema, ColumnIndicatorValueSchema, DimensionProcessFilterSchema, DimensionValueSchema, DisplayConditionSchema, EActionButtonsTypes, EActionTypes, EActivateConditionMode, EAutoUpdateMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDataModelOption, EDimensionAggregationTemplateName, EDimensionProcessFilterTimeUnit, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatOrFormattingMode, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EHeightMode, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureInnerTemplateNames, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, ExtendedFormulaFilterValueSchema, FormatSchema, FormattingSchema, FormulaFilterValueSchema, MarkdownMeasureSchema, MeasureValueSchema, OuterAggregation, ParameterColumnListSchema, ParameterFromAggregationSchema, ParameterFromColumnSchema, ParameterFromDynamicListSchema, ParameterFromEndEventSchema, ParameterFromEventSchema, ParameterFromFormulaSchema, ParameterFromManualInputSchema, ParameterFromStartEventSchema, ParameterFromStaticListSchema, ParameterFromVariableSchema, ParameterTableListSchema, ProcessIndicatorSchema, ProcessIndicatorValueSchema, RangeSchema, SettingsFilterSchema, SortDirectionSchema, SortOrderSchema, ViewActionParameterSchema, ViewActionSchema, WidgetActionParameterSchema, WidgetActionSchema, WidgetColumnIndicatorSchema, WidgetDimensionHierarchySchema, WidgetDimensionSchema, WidgetIndicatorAggregationValueSchema, WidgetIndicatorConversionValue, WidgetIndicatorDurationValue, WidgetIndicatorFormulaValueSchema, WidgetIndicatorSchema, WidgetIndicatorTemplateValueSchema, WidgetIndicatorTimeValueSchema, WidgetMeasureSchema, WidgetPresetSettingsSchema, WidgetSortingIndicatorSchema, WidgetSortingValueSchema, applyIndexToArrayFormula, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, createEscaper, createAggregationTemplate as createMeasureAggregationTemplate, curlyBracketsContentPattern, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, displayConditionTemplate, doubleQuoteContentPattern, durationTemplates, escapeCurlyBracketLinkName, escapeDoubleQuoteLinkName, eventMeasureTemplateFormulas, fillTemplateSql, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getProcessDimensionValueFormula, getRuleColor, getTransitionMeasureFormula, isDimensionProcessFilter, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSettingsFiltersToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureInnerTemplateFormulas, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, themeValueMetaKey, themed, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
package/dist/index.js CHANGED
@@ -80,22 +80,22 @@ var AutoIdentifiedArrayItemSchema = function (z) {
80
80
  };
81
81
  var BaseWidgetSettingsSchema = function (z) {
82
82
  return z.object({
83
- title: z.string().optional(),
84
- titleSize: z.number().optional(),
85
- titleColor: ColorSchema(z).optional(),
86
- titleWeight: z.enum(exports.EFontWeight).optional(),
87
- stateName: z.string().nullable().optional(),
88
- showMarkdown: z.boolean().optional(),
89
- markdownMeasures: z.array(MarkdownMeasureSchema(z)).optional(),
90
- markdownText: z.string().optional(),
91
- markdownTextSize: z.number().optional(),
92
- filters: z.array(SettingsFilterSchema(z)).optional(),
93
- filterMode: z.enum(exports.EWidgetFilterMode).optional(),
94
- ignoreFilters: z.boolean().optional(),
95
- sorting: z.array(WidgetSortingIndicatorSchema(z)).optional(),
96
- actionButtons: z.array(ActionButtonSchema(z)).optional(),
97
- paddings: z.union([z.number(), z.string()]).optional(),
98
- viewTheme: z.boolean().optional(),
83
+ title: z.string().default(""),
84
+ titleSize: z.number().default(14),
85
+ titleColor: ColorSchema(z).default({ mode: exports.EColorMode.AUTO }),
86
+ titleWeight: z.enum(exports.EFontWeight).default(exports.EFontWeight.NORMAL),
87
+ stateName: z.string().nullable().default(null),
88
+ showMarkdown: z.boolean().default(false),
89
+ markdownMeasures: z.array(MarkdownMeasureSchema(z)).default([]),
90
+ markdownText: z.string().default(""),
91
+ markdownTextSize: z.number().default(14),
92
+ filters: z.array(SettingsFilterSchema(z)).default([]),
93
+ filterMode: z.enum(exports.EWidgetFilterMode).default(exports.EWidgetFilterMode.DEFAULT),
94
+ ignoreFilters: z.boolean().default(false),
95
+ sorting: z.array(WidgetSortingIndicatorSchema(z)).default([]),
96
+ actionButtons: z.array(ActionButtonSchema(z)).default([]),
97
+ paddings: z.union([z.number(), z.string()]).default(8),
98
+ viewTheme: z.boolean().default(false),
99
99
  });
100
100
  };
101
101
 
@@ -616,24 +616,43 @@ var WidgetColumnIndicatorSchema = function (z) {
616
616
  dbDataType: z.string().optional(),
617
617
  format: FormatSchema(z).optional(),
618
618
  formatting: FormattingSchema(z).optional(),
619
- displayCondition: DisplayConditionSchema(z).optional(),
619
+ displayCondition: DisplayConditionSchema(z).default({ mode: exports.EDisplayConditionMode.DISABLED }),
620
620
  onClick: z.array(ActionsOnClickSchema(z)).optional(),
621
621
  });
622
622
  };
623
+ var WidgetIndicatorFormulaValueSchema = function (z) {
624
+ return z.object({
625
+ mode: z.literal(exports.EWidgetIndicatorValueModes.FORMULA),
626
+ formula: z.string().optional(),
627
+ });
628
+ };
629
+ var WidgetIndicatorTemplateValueSchema = function (z) {
630
+ return z.object({
631
+ mode: z.literal(exports.EWidgetIndicatorValueModes.TEMPLATE),
632
+ /** Имя шаблонной формулы, использующей колонку таблицы */
633
+ templateName: z.string().optional(),
634
+ /** Имя таблицы */
635
+ tableName: z.string().optional(),
636
+ /** Имя колонки */
637
+ columnName: z.string().optional(),
638
+ });
639
+ };
623
640
  var ColumnIndicatorValueSchema = function (z) {
641
+ return z.union([MeasureValueSchema(z), DimensionValueSchema(z)]);
642
+ };
643
+ var MeasureValueSchema = function (z) {
624
644
  return z.discriminatedUnion("mode", [
625
- z.object({
626
- mode: z.literal(exports.EWidgetIndicatorValueModes.FORMULA),
627
- formula: z.string().optional(),
645
+ WidgetIndicatorFormulaValueSchema(z),
646
+ WidgetIndicatorTemplateValueSchema(z).extend({
647
+ innerTemplateName: z.enum(exports.EMeasureInnerTemplateNames).optional(),
628
648
  }),
629
- z.object({
630
- mode: z.literal(exports.EWidgetIndicatorValueModes.TEMPLATE),
631
- /** Имя шаблонной формулы, использующей колонку таблицы */
632
- templateName: z.string().optional(),
633
- /** Имя таблицы */
634
- tableName: z.string().optional(),
635
- /** Имя колонки */
636
- columnName: z.string().optional(),
649
+ ]);
650
+ };
651
+ var DimensionValueSchema = function (z) {
652
+ return z.discriminatedUnion("mode", [
653
+ WidgetIndicatorFormulaValueSchema(z),
654
+ WidgetIndicatorTemplateValueSchema(z).extend({
655
+ innerTemplateName: z.never().optional(),
637
656
  }),
638
657
  ]);
639
658
  };
@@ -671,7 +690,7 @@ var WidgetDimensionSchema = function (z) {
671
690
  return WidgetColumnIndicatorSchema(z).extend({
672
691
  value: z
673
692
  .discriminatedUnion("mode", [
674
- ColumnIndicatorValueSchema(z),
693
+ DimensionValueSchema(z),
675
694
  WidgetIndicatorAggregationValueSchema(z).extend({
676
695
  innerTemplateName: z.string().optional(),
677
696
  }),
@@ -685,7 +704,7 @@ var WidgetDimensionHierarchySchema = function (z, dimensionSchema) {
685
704
  return AutoIdentifiedArrayItemSchema(z).extend({
686
705
  name: z.string(),
687
706
  hierarchyDimensions: z.array(dimensionSchema).default([]),
688
- displayCondition: DisplayConditionSchema(z).optional(),
707
+ displayCondition: DisplayConditionSchema(z).default({ mode: exports.EDisplayConditionMode.DISABLED }),
689
708
  });
690
709
  };
691
710
  var WidgetIndicatorConversionValue = function (z) {
@@ -716,7 +735,7 @@ var WidgetMeasureSchema = function (z) {
716
735
  return WidgetColumnIndicatorSchema(z).extend({
717
736
  value: z
718
737
  .discriminatedUnion("mode", [
719
- ColumnIndicatorValueSchema(z),
738
+ MeasureValueSchema(z),
720
739
  WidgetIndicatorAggregationValueSchema(z).extend({
721
740
  outerAggregation: z.enum(exports.EOuterAggregation),
722
741
  }),
@@ -756,7 +775,7 @@ var ProcessIndicatorSchema = function (z) {
756
775
  dbDataType: z.string().optional(),
757
776
  format: FormatSchema(z).optional(),
758
777
  formatting: FormattingSchema(z).optional(),
759
- displayCondition: DisplayConditionSchema(z).optional(),
778
+ displayCondition: DisplayConditionSchema(z).default({ mode: exports.EDisplayConditionMode.DISABLED }),
760
779
  });
761
780
  };
762
781
 
@@ -887,8 +906,8 @@ var ParameterFromManualInputSchema = function (z) {
887
906
  var ParameterFromStaticListSchema = function (z) {
888
907
  return z.object({
889
908
  inputMethod: z.literal(exports.EWidgetActionInputMethod.STATIC_LIST),
890
- options: z.string(),
891
- defaultValue: z.union([z.string(), z.array(z.string())]),
909
+ options: z.string().default(""),
910
+ defaultValue: z.union([z.string(), z.array(z.string())]).default(""),
892
911
  acceptEmptyValue: z.boolean().optional(),
893
912
  });
894
913
  };
@@ -971,7 +990,7 @@ var ActivateConditionSchema = function (z) {
971
990
  var ActionRunScriptSchema = function (z) {
972
991
  return ActionCommonSchema(z).extend({
973
992
  type: z.literal(exports.EActionTypes.EXECUTE_SCRIPT),
974
- parameters: z.array(ActionOnClickParameterSchema(z)),
993
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
975
994
  scriptKey: z.string(),
976
995
  autoUpdate: z.enum(exports.EAutoUpdateMode),
977
996
  hideInactiveButton: z.boolean().optional(),
@@ -1016,13 +1035,13 @@ var ActionOpenViewSchema = function (z) {
1016
1035
  ActionOpenViewCommonSchema(z).extend({
1017
1036
  mode: z.literal(exports.EViewMode.GENERATED_BY_SCRIPT),
1018
1037
  scriptKey: z.string(),
1019
- parameters: z.array(ActionOnClickParameterSchema(z)),
1038
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
1020
1039
  displayName: z.string(),
1021
1040
  }),
1022
1041
  ActionOpenViewCommonSchema(z).extend({
1023
1042
  mode: z.literal(exports.EViewMode.EXISTED_VIEW),
1024
1043
  viewKey: z.string(),
1025
- parameters: z.array(ActionOnClickParameterSchema(z)),
1044
+ parameters: z.array(ActionOnClickParameterSchema(z)).default([]),
1026
1045
  }),
1027
1046
  ActionOpenViewCommonSchema(z).extend({
1028
1047
  mode: z.literal(exports.EViewMode.EMPTY),
@@ -1060,7 +1079,7 @@ var WidgetActionParameterSchema = function (z) {
1060
1079
  };
1061
1080
  var WidgetActionSchema = function (z) {
1062
1081
  return ActionCommonSchema(z).extend({
1063
- parameters: z.array(WidgetActionParameterSchema(z)),
1082
+ parameters: z.array(WidgetActionParameterSchema(z)).default([]),
1064
1083
  type: z.literal(exports.EActionTypes.EXECUTE_SCRIPT),
1065
1084
  scriptKey: z.string(),
1066
1085
  autoUpdate: z.enum(exports.EAutoUpdateMode),
@@ -1081,7 +1100,7 @@ var ViewActionSchema = function (z) {
1081
1100
  name: z.string(),
1082
1101
  buttonType: z.enum(exports.EActionButtonsTypes).default(exports.EActionButtonsTypes.BASE),
1083
1102
  type: z.literal(exports.EActionTypes.EXECUTE_SCRIPT).default(exports.EActionTypes.EXECUTE_SCRIPT),
1084
- parameters: z.array(ViewActionParameterSchema(z)),
1103
+ parameters: z.array(ViewActionParameterSchema(z)).default([]),
1085
1104
  scriptKey: z.string().nullable(),
1086
1105
  autoUpdate: z
1087
1106
  .union([z.literal(exports.EAutoUpdateMode.NONE), z.literal(exports.EAutoUpdateMode.ALL_VIEWS)])
@@ -1831,7 +1850,7 @@ var prepareMeasureAggregationParams = function (value) {
1831
1850
  return columnParams;
1832
1851
  };
1833
1852
 
1834
- var _a$3;
1853
+ var _a$3, _b;
1835
1854
  exports.EMeasureTemplateNames = void 0;
1836
1855
  (function (EMeasureTemplateNames) {
1837
1856
  EMeasureTemplateNames["avg"] = "avg";
@@ -1842,6 +1861,11 @@ exports.EMeasureTemplateNames = void 0;
1842
1861
  EMeasureTemplateNames["max"] = "max";
1843
1862
  EMeasureTemplateNames["sum"] = "sum";
1844
1863
  })(exports.EMeasureTemplateNames || (exports.EMeasureTemplateNames = {}));
1864
+ exports.EMeasureInnerTemplateNames = void 0;
1865
+ (function (EMeasureInnerTemplateNames) {
1866
+ EMeasureInnerTemplateNames["begin"] = "begin";
1867
+ EMeasureInnerTemplateNames["end"] = "end";
1868
+ })(exports.EMeasureInnerTemplateNames || (exports.EMeasureInnerTemplateNames = {}));
1845
1869
  /** Стандартные шаблоны меры */
1846
1870
  var measureTemplateFormulas = (_a$3 = {},
1847
1871
  _a$3[exports.EMeasureTemplateNames.avg] = "avg({columnFormula})",
@@ -1852,6 +1876,10 @@ var measureTemplateFormulas = (_a$3 = {},
1852
1876
  _a$3[exports.EMeasureTemplateNames.max] = "max({columnFormula})",
1853
1877
  _a$3[exports.EMeasureTemplateNames.sum] = "sum({columnFormula})",
1854
1878
  _a$3);
1879
+ var measureInnerTemplateFormulas = (_b = {},
1880
+ _b[exports.EMeasureInnerTemplateNames.begin] = "begin({columnFormula})",
1881
+ _b[exports.EMeasureInnerTemplateNames.end] = "end({columnFormula})",
1882
+ _b);
1855
1883
 
1856
1884
  /** Шаблон процессной метрики меры с режимом CONVERSION */
1857
1885
  var conversionTemplate = "countIf(\n process(\n minIf(\n {startEventTimeFormula}, \n {startEventNameFormula} = {startEventName}{startEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) < \n process(\n maxIf(\n {endEventTimeFormula}, \n {endEventNameFormula} = {endEventName}{endEventFilters}\n ), \n {endCaseCaseIdFormula}\n ) \n and \n process(\n countIf(\n {startEventNameFormula} = {startEventName}{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n) / countIf(\n process(\n countIf(\n {startEventNameFormula} = {startEventName}{startEventFilters}\n ) != 0, \n {endCaseCaseIdFormula}\n ) != 0\n)";
@@ -1994,13 +2022,18 @@ function getMeasureFormula(_a) {
1994
2022
  return (_b = value.formula) !== null && _b !== void 0 ? _b : "";
1995
2023
  }
1996
2024
  if (value.mode === exports.EWidgetIndicatorValueModes.TEMPLATE) {
1997
- var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName;
2025
+ var templateName = value.templateName, tableName = value.tableName, columnName = value.columnName, innerTemplateName = value.innerTemplateName;
1998
2026
  var templateFormula = measureTemplateFormulas[templateName];
1999
2027
  if (!templateFormula || !tableName || !columnName) {
2000
2028
  return "";
2001
2029
  }
2030
+ var columnFormula = innerTemplateName
2031
+ ? fillTemplateSql(measureInnerTemplateFormulas[innerTemplateName], {
2032
+ columnFormula: generateColumnFormula(tableName, columnName),
2033
+ })
2034
+ : generateColumnFormula(tableName, columnName);
2002
2035
  return fillTemplateSql(templateFormula, {
2003
- columnFormula: generateColumnFormula(tableName, columnName),
2036
+ columnFormula: columnFormula,
2004
2037
  });
2005
2038
  }
2006
2039
  if (value.mode === exports.EWidgetIndicatorValueModes.AGGREGATION) {
@@ -2520,9 +2553,9 @@ function mapSortingToInputs(_a) {
2520
2553
  return;
2521
2554
  }
2522
2555
  if (getIndicatorType(value.group, indicator) === exports.EWidgetIndicatorType.DIMENSION) {
2523
- var activeDimensions = isDimensionsHierarchy(indicator)
2556
+ var activeDimensions = (isDimensionsHierarchy(indicator)
2524
2557
  ? selectDimensionFromHierarchy(indicator, filters)
2525
- : indicator;
2558
+ : indicator);
2526
2559
  var formula = activeDimensions && getDimensionFormula(activeDimensions);
2527
2560
  if (!formula || !checkDisplayCondition(indicator.displayCondition, variables)) {
2528
2561
  return;
@@ -2536,10 +2569,11 @@ function mapSortingToInputs(_a) {
2536
2569
  : undefined,
2537
2570
  };
2538
2571
  }
2572
+ var measure = indicator;
2539
2573
  return {
2540
- formula: getMeasureFormula(indicator),
2574
+ formula: getMeasureFormula(measure),
2541
2575
  direction: direction,
2542
- dbDataType: indicator.dbDataType,
2576
+ dbDataType: measure.dbDataType,
2543
2577
  };
2544
2578
  });
2545
2579
  return sortOrder;
@@ -2814,15 +2848,18 @@ var getColorByIndex = function (index) {
2814
2848
  };
2815
2849
 
2816
2850
  var WidgetPresetSettingsSchema = function (z) {
2817
- return z.object({
2818
- filterMode: z.enum(exports.EWidgetFilterMode).default(exports.EWidgetFilterMode.DEFAULT),
2819
- ignoreFilters: z.boolean().default(false),
2820
- stateName: z.string().nullable().default(null),
2821
- titleColor: ColorSchema(z).default({ mode: exports.EColorMode.AUTO }),
2822
- titleSize: z.number().default(14),
2823
- titleWeight: z.enum(exports.EFontWeight).default(exports.EFontWeight.NORMAL),
2851
+ return BaseWidgetSettingsSchema(z)
2852
+ .pick({
2853
+ filterMode: true,
2854
+ ignoreFilters: true,
2855
+ stateName: true,
2856
+ titleColor: true,
2857
+ titleSize: true,
2858
+ titleWeight: true,
2859
+ paddings: true,
2860
+ })
2861
+ .extend({
2824
2862
  textSize: z.number().default(12),
2825
- paddings: z.union([z.number(), z.string()]).default(8),
2826
2863
  });
2827
2864
  };
2828
2865
 
@@ -2950,12 +2987,14 @@ exports.ColorValuesSchema = ColorValuesSchema;
2950
2987
  exports.ColoredValueSchema = ColoredValueSchema;
2951
2988
  exports.ColumnIndicatorValueSchema = ColumnIndicatorValueSchema;
2952
2989
  exports.DimensionProcessFilterSchema = DimensionProcessFilterSchema;
2990
+ exports.DimensionValueSchema = DimensionValueSchema;
2953
2991
  exports.DisplayConditionSchema = DisplayConditionSchema;
2954
2992
  exports.ExtendedFormulaFilterValueSchema = ExtendedFormulaFilterValueSchema;
2955
2993
  exports.FormatSchema = FormatSchema;
2956
2994
  exports.FormattingSchema = FormattingSchema;
2957
2995
  exports.FormulaFilterValueSchema = FormulaFilterValueSchema;
2958
2996
  exports.MarkdownMeasureSchema = MarkdownMeasureSchema;
2997
+ exports.MeasureValueSchema = MeasureValueSchema;
2959
2998
  exports.ParameterColumnListSchema = ParameterColumnListSchema;
2960
2999
  exports.ParameterFromAggregationSchema = ParameterFromAggregationSchema;
2961
3000
  exports.ParameterFromColumnSchema = ParameterFromColumnSchema;
@@ -2984,7 +3023,9 @@ exports.WidgetDimensionSchema = WidgetDimensionSchema;
2984
3023
  exports.WidgetIndicatorAggregationValueSchema = WidgetIndicatorAggregationValueSchema;
2985
3024
  exports.WidgetIndicatorConversionValue = WidgetIndicatorConversionValue;
2986
3025
  exports.WidgetIndicatorDurationValue = WidgetIndicatorDurationValue;
3026
+ exports.WidgetIndicatorFormulaValueSchema = WidgetIndicatorFormulaValueSchema;
2987
3027
  exports.WidgetIndicatorSchema = WidgetIndicatorSchema;
3028
+ exports.WidgetIndicatorTemplateValueSchema = WidgetIndicatorTemplateValueSchema;
2988
3029
  exports.WidgetIndicatorTimeValueSchema = WidgetIndicatorTimeValueSchema;
2989
3030
  exports.WidgetMeasureSchema = WidgetMeasureSchema;
2990
3031
  exports.WidgetPresetSettingsSchema = WidgetPresetSettingsSchema;
@@ -3040,6 +3081,7 @@ exports.mapMeasuresToInputs = mapMeasuresToInputs;
3040
3081
  exports.mapSettingsFiltersToInputs = mapSettingsFiltersToInputs;
3041
3082
  exports.mapSortingToInputs = mapSortingToInputs;
3042
3083
  exports.mapTransitionMeasuresToInputs = mapTransitionMeasuresToInputs;
3084
+ exports.measureInnerTemplateFormulas = measureInnerTemplateFormulas;
3043
3085
  exports.measureTemplateFormulas = measureTemplateFormulas;
3044
3086
  exports.parseClickHouseType = parseClickHouseType;
3045
3087
  exports.parseIndicatorLink = parseIndicatorLink;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "6.0.0-view-theme.9",
3
+ "version": "6.0.0-view-theme.11",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",