@infomaximum/widget-sdk 5.10.0 → 5.10.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [5.10.1](https://github.com/Infomaximum/widget-sdk/compare/v5.10.0...v5.10.1) (2025-03-21)
6
+
5
7
  ## [5.10.0](https://github.com/Infomaximum/widget-sdk/compare/v5.9.1...v5.10.0) (2025-03-14)
6
8
 
7
9
 
package/dist/index.d.ts CHANGED
@@ -6,59 +6,6 @@ type TNullable<T> = T | null | undefined;
6
6
  type valueof<T> = T[keyof T];
7
7
  type StringKeyOf<T> = Exclude<keyof T, number | symbol>;
8
8
 
9
- declare enum EUnitMode {
10
- PIXEL = "PIXEL",
11
- PERCENT = "PERCENT"
12
- }
13
- declare enum EControlType {
14
- inputNumber = "inputNumber",
15
- switch = "switch",
16
- input = "input",
17
- formattingTemplate = "formattingTemplate",
18
- radioIconGroup = "radioIconGroup",
19
- select = "select",
20
- tagSet = "tagSet",
21
- formula = "formula",
22
- typedFormula = "typedFormula",
23
- inputRange = "inputRange",
24
- colorPicker = "colorPicker",
25
- displayCondition = "displayCondition",
26
- eventsColor = "eventsColor",
27
- inputMarkdown = "inputMarkdown",
28
- filter = "filter",
29
- actionOnClick = "actionOnClick",
30
- eventsPicker = "eventsPicker",
31
- size = "size",
32
- formatting = "formatting"
33
- }
34
- /** Конфигурация элемента управления настройкой */
35
- interface IControlRecord<Settings extends object, Value, ControlType = EControlType> {
36
- /** Ключ, должен быть уникальным в рамках одного уровня вложенности */
37
- key: string;
38
- /** Локализация заголовка */
39
- title?: string;
40
- /** Тип используемого элемента управления из предложенных системой */
41
- type: ControlType | string;
42
- /** Кастомный верхний отступ */
43
- marginTop?: number;
44
- /** Объект дополнительных параметров элемента управления */
45
- props?: object | ((settings: Settings) => object);
46
- /** Описание доступа к значению настройки */
47
- accessor: TRecordAccessor<Settings, Value>;
48
- /**
49
- * Рекурсивное определение мета-описания, в элемент управления будет передана функция dive
50
- * для перехода в указанное мета-описание.
51
- *
52
- * Возможность работает только для элемента управления EControlType.tagSet.
53
- */
54
- description?: IDivePanelDescription<Settings>;
55
- /**
56
- * Предикат, позволяющий скрыть элемент управления.
57
- * Предоставлен для удобства разработки. Скрыть элемент можно и условно добавляя его в мета-описание.
58
- */
59
- shouldDisplay?: IDisplayPredicate<Settings>;
60
- }
61
-
62
9
  interface ICalculator<Input, Output> {
63
10
  /** Запрос к вычислителю */
64
11
  calculate(input: Input): Promise<Output>;
@@ -508,6 +455,301 @@ interface IAppearanceDisabledSettings {
508
455
  }
509
456
  type TAppearanceSettings = IAppearanceEnabledSettings | IAppearanceDisabledSettings;
510
457
 
458
+ declare enum ESortDirection {
459
+ descend = "DESC",
460
+ ascend = "ASC",
461
+ ASC = "ascend",
462
+ DESC = "descend"
463
+ }
464
+ type TSortDirection = ESortDirection.ascend | ESortDirection.descend;
465
+ interface ISortOrder {
466
+ /** Формула сортировки */
467
+ formula: string;
468
+ /** Тип данных формулы */
469
+ dbDataType: TNullable<string>;
470
+ /** Направление сортировки */
471
+ direction: TSortDirection;
472
+ /** Условие применения сортировки */
473
+ displayCondition?: TNullable<string>;
474
+ }
475
+ type TWidgetSortingValue = {
476
+ mode: ESortingValueModes.FORMULA;
477
+ formula: string;
478
+ dbDataType: string;
479
+ } | {
480
+ mode: ESortingValueModes.IN_WIDGET;
481
+ group: string;
482
+ index: number;
483
+ };
484
+
485
+ declare enum EWidgetIndicatorType {
486
+ MEASURE = "MEASURE",
487
+ EVENT_INDICATOR = "EVENT_INDICATOR",
488
+ TRANSITION_INDICATOR = "TRANSITION_INDICATOR",
489
+ DIMENSION = "DIMENSION",
490
+ SORTING = "SORTING"
491
+ }
492
+ declare enum EOuterAggregation {
493
+ avg = "avg",
494
+ median = "median",
495
+ count = "count",
496
+ countDistinct = "countDistinct",
497
+ min = "min",
498
+ max = "max",
499
+ sum = "sum"
500
+ }
501
+ interface IWidgetIndicator extends IAutoIdentifiedArrayItem {
502
+ name: string;
503
+ }
504
+ type TProcessIndicatorValue = {
505
+ mode: EWidgetIndicatorValueModes.FORMULA;
506
+ formula: string;
507
+ } | {
508
+ mode: EWidgetIndicatorValueModes.TEMPLATE;
509
+ /** Имя шаблонной формулы, использующей колонку таблицы */
510
+ templateName: string;
511
+ };
512
+ interface IProcessIndicator extends IWidgetIndicator {
513
+ value?: TProcessIndicatorValue;
514
+ dbDataType?: string;
515
+ format?: EFormatTypes;
516
+ formatting?: EFormattingPresets;
517
+ formattingTemplate?: string;
518
+ displayCondition?: TDisplayCondition;
519
+ }
520
+ interface IProcessEventIndicator extends IProcessIndicator {
521
+ }
522
+ interface IProcessTransitionIndicator extends IProcessIndicator {
523
+ }
524
+ /** Индикатор для сортировки */
525
+ interface IWidgetSortingIndicator extends IWidgetIndicator {
526
+ direction: TSortDirection;
527
+ value: TWidgetSortingValue;
528
+ }
529
+ /** Режимы значения показателя (на основе чего генерируется формула) */
530
+ declare enum EWidgetIndicatorValueModes {
531
+ /** Готовая формула (как правило, введенная пользователем через редактор формул) */
532
+ FORMULA = "FORMULA",
533
+ /** Шаблон формулы, предоставляемый системой */
534
+ TEMPLATE = "TEMPLATE",
535
+ AGGREGATION = "AGGREGATION",
536
+ DURATION = "DURATION",
537
+ CONVERSION = "CONVERSION",
538
+ START_TIME = "START_TIME",
539
+ END_TIME = "END_TIME"
540
+ }
541
+ /** Режимы сортировки (на что ссылается сортировка) */
542
+ declare enum ESortingValueModes {
543
+ /** Сортировка по формуле */
544
+ FORMULA = "FORMULA",
545
+ /** Сортировка по показателю(разрезу или мере) виджета */
546
+ IN_WIDGET = "IN_WIDGET"
547
+ }
548
+ interface ICommonState {
549
+ name: string;
550
+ /** @deprecated */
551
+ guid: string;
552
+ }
553
+ interface ICommonMeasures {
554
+ name: string;
555
+ /** @deprecated */
556
+ guid: string;
557
+ formula: string;
558
+ }
559
+ interface ICommonDimensions {
560
+ name: string;
561
+ formula: string;
562
+ }
563
+ type TColumnIndicatorValue = {
564
+ mode: EWidgetIndicatorValueModes.FORMULA;
565
+ formula?: string;
566
+ } | {
567
+ mode: EWidgetIndicatorValueModes.TEMPLATE;
568
+ /** Имя шаблонной формулы, использующей колонку таблицы */
569
+ templateName?: string;
570
+ /** Имя таблицы */
571
+ tableName?: string;
572
+ /** Имя колонки */
573
+ columnName?: string;
574
+ };
575
+ /** Общий интерфейс разреза и меры */
576
+ interface IWidgetColumnIndicator extends IWidgetIndicator {
577
+ dbDataType?: string;
578
+ format?: EFormatTypes;
579
+ formatting?: EFormattingPresets;
580
+ formattingTemplate?: string;
581
+ displayCondition?: TDisplayCondition;
582
+ onClick?: TActionsOnClick[];
583
+ }
584
+ interface IWidgetDimensionHierarchy<D extends IWidgetDimension = IWidgetDimension> extends IAutoIdentifiedArrayItem {
585
+ name: string;
586
+ hierarchyDimensions: D[];
587
+ displayCondition?: TDisplayCondition;
588
+ }
589
+ interface IWidgetDimension extends Omit<IWidgetColumnIndicator, "value"> {
590
+ value?: TColumnIndicatorValue | (TWidgetIndicatorAggregationValue & {
591
+ innerTemplateName?: string;
592
+ }) | TWidgetIndicatorTimeValue;
593
+ hideEmptyValues: boolean;
594
+ }
595
+ interface IWidgetMeasure extends Omit<IWidgetColumnIndicator, "value"> {
596
+ value?: TColumnIndicatorValue | (TWidgetIndicatorAggregationValue & {
597
+ outerAggregation: EOuterAggregation;
598
+ }) | TWidgetIndicatorConversionValue | TWidgetIndicatorDurationValue;
599
+ }
600
+ interface IMarkdownMeasure extends IWidgetMeasure {
601
+ format: EFormatTypes;
602
+ displaySign: EMarkdownDisplayMode;
603
+ }
604
+ /** Тип показателя */
605
+ declare enum EIndicatorType {
606
+ /** Показатели процесса */
607
+ PROCESS_MEASURE = "PROCESS_MEASURE",
608
+ /** Вводимое значение */
609
+ STATIC = "STATIC",
610
+ /** Статический список */
611
+ STATIC_LIST = "STATIC_LIST",
612
+ /** Динамический список */
613
+ DYNAMIC_LIST = "DYNAMIC_LIST",
614
+ /** Список колонок */
615
+ COLUMN_LIST = "COLUMN_LIST",
616
+ /** Разрез */
617
+ DIMENSION = "DIMENSION",
618
+ /** Мера */
619
+ MEASURE = "MEASURE",
620
+ /** Иерархия */
621
+ DYNAMIC_DIMENSION = "DYNAMIC_DIMENSION",
622
+ /** Пользовательская сортировка */
623
+ USER_SORTING = "USER_SORTING"
624
+ }
625
+ interface IBaseWidgetVariable {
626
+ /** Имя переменной */
627
+ name: string;
628
+ /** @deprecated */
629
+ guid: string;
630
+ }
631
+ /** Обобщенные типы значений переменных */
632
+ declare enum ESimpleInputType {
633
+ /** Число (точность Float64) */
634
+ NUMBER = "FLOAT",
635
+ /** Целое число (точность Int64) */
636
+ INTEGER_NUMBER = "INTEGER",
637
+ /** Текст */
638
+ TEXT = "STRING",
639
+ /** Дата (точность Date) */
640
+ DATE = "DATE",
641
+ /** Дата и время (точность DateTime64) */
642
+ DATE_AND_TIME = "DATETIME"
643
+ }
644
+ interface IWidgetStaticVariable extends IBaseWidgetVariable {
645
+ /** Тип переменной */
646
+ type: EIndicatorType.STATIC;
647
+ /** Значение */
648
+ value: string;
649
+ /** Обобщенный тип данных */
650
+ simpleInputType: ESimpleInputType;
651
+ }
652
+ interface IStaticListLabeledOption {
653
+ value: string;
654
+ label: string;
655
+ }
656
+ interface IWidgetStaticListVariable extends IBaseWidgetVariable {
657
+ /** Тип переменной */
658
+ type: EIndicatorType.STATIC_LIST;
659
+ /** Значение */
660
+ value: string | string[];
661
+ /** Элементы статического списка */
662
+ /** @deprecated поле будет удалено, необходимо использовать labeledOptions */
663
+ options: string[];
664
+ /** Объект ключ значение для статического списка */
665
+ labeledOptions: IStaticListLabeledOption[];
666
+ /** Множественный выбор */
667
+ multipleChoice: boolean;
668
+ }
669
+ interface IWidgetDynamicListVariable extends IBaseWidgetVariable {
670
+ /** Тип переменной */
671
+ type: EIndicatorType.DYNAMIC_LIST;
672
+ /** Значение */
673
+ value: string | string[];
674
+ /** Формула для отображения списка */
675
+ listFormula: TNullable<string>;
676
+ /** Тип данных */
677
+ dbDataType: string;
678
+ /** Множественный выбор */
679
+ multipleChoice: boolean;
680
+ /** Фильтры */
681
+ filters: TExtendedFormulaFilterValue[];
682
+ }
683
+ interface IWidgetColumnListVariable extends IBaseWidgetVariable {
684
+ /** Тип переменной */
685
+ type: EIndicatorType.COLUMN_LIST;
686
+ /** Имя таблицы */
687
+ tableName: string;
688
+ /** Значение (имя колонки) */
689
+ value: string;
690
+ }
691
+ type TWidgetVariable = IWidgetStaticVariable | IWidgetStaticListVariable | IWidgetDynamicListVariable | IWidgetColumnListVariable;
692
+ declare function isDimensionsHierarchy(indicator: IWidgetColumnIndicator): indicator is IWidgetDimensionHierarchy;
693
+ declare enum OuterAggregation {
694
+ avg = "avgIf",
695
+ median = "medianIf",
696
+ count = "countIf",
697
+ countDistinct = "countIfDistinct",
698
+ min = "minIf",
699
+ max = "maxIf",
700
+ sum = "sumIf"
701
+ }
702
+ declare enum EDurationTemplateName {
703
+ avg = "avg",
704
+ median = "median"
705
+ }
706
+ type TWidgetIndicatorAggregationValue = {
707
+ mode: EWidgetIndicatorValueModes.AGGREGATION;
708
+ templateName: string;
709
+ processName: string | null;
710
+ eventName: string | null;
711
+ caseCaseIdFormula: string | null;
712
+ eventNameFormula: string | null;
713
+ filters: TExtendedFormulaFilterValue[];
714
+ tableName?: string;
715
+ columnName?: string;
716
+ eventTimeFormula?: string | null;
717
+ };
718
+ declare enum EEventAppearances {
719
+ FIRST = "FIRST",
720
+ LAST = "LAST"
721
+ }
722
+ type TWidgetIndicatorConversionValue = {
723
+ mode: EWidgetIndicatorValueModes.CONVERSION;
724
+ startEventNameFormula: string | null;
725
+ startEventProcessName: string | null;
726
+ startEventName: string | null;
727
+ startEventFilters: TExtendedFormulaFilterValue[];
728
+ startEventTimeFormula: string | null;
729
+ endEventNameFormula: string | null;
730
+ endEventProcessName: string | null;
731
+ endEventName: string | null;
732
+ endEventFilters: TExtendedFormulaFilterValue[];
733
+ endCaseCaseIdFormula: string | null;
734
+ endEventTimeFormula: string | null;
735
+ };
736
+ type TWidgetIndicatorDurationValue = {
737
+ mode: EWidgetIndicatorValueModes.DURATION;
738
+ templateName: string;
739
+ startEventAppearances: EEventAppearances;
740
+ endEventAppearances: EEventAppearances;
741
+ } & Omit<TWidgetIndicatorConversionValue, "mode">;
742
+ type TWidgetIndicatorTimeValue = {
743
+ templateName: string;
744
+ mode: EWidgetIndicatorValueModes.START_TIME | EWidgetIndicatorValueModes.END_TIME;
745
+ processName: string;
746
+ eventName: string;
747
+ eventTimeFormula: string;
748
+ caseCaseIdFormula: string;
749
+ eventNameFormula: string;
750
+ filters: TExtendedFormulaFilterValue[];
751
+ };
752
+
511
753
  interface IWidgetTableColumn {
512
754
  /** Имя колонки */
513
755
  name: string;
@@ -834,300 +1076,377 @@ declare enum EActionButtonsTypes {
834
1076
  SECONDARY = "primary-outlined"
835
1077
  }
836
1078
 
837
- declare enum ESortDirection {
838
- descend = "DESC",
839
- ascend = "ASC",
840
- ASC = "ascend",
841
- DESC = "descend"
1079
+ declare enum ESimpleDataType {
1080
+ OTHER = "OTHER",
1081
+ DATE = "DATE",
1082
+ FLOAT = "FLOAT",
1083
+ DATETIME = "DATETIME",
1084
+ STRING = "STRING",
1085
+ INTEGER = "INTEGER",
1086
+ DATETIME64 = "DATETIME64",
1087
+ BOOLEAN = "BOOLEAN"
842
1088
  }
843
- type TSortDirection = ESortDirection.ascend | ESortDirection.descend;
844
- interface ISortOrder {
845
- /** Формула сортировки */
846
- formula: string;
847
- /** Тип данных формулы */
848
- dbDataType: TNullable<string>;
849
- /** Направление сортировки */
850
- direction: TSortDirection;
851
- /** Условие применения сортировки */
852
- displayCondition?: TNullable<string>;
1089
+ type TDbTypeContainer = "Array" | "Nullable";
1090
+ /** Результат разбора типа данных из базы данных (в будущем возможна поддержка других СУБД помимо ClickHouse) */
1091
+ interface IParsedDbType<T extends TNullable<string> = string> {
1092
+ /** Контейнеры над базовым типом в порядке от внешнего к внутреннему */
1093
+ containers: TDbTypeContainer[];
1094
+ /** Исходный базовый тип (без контейнеров) */
1095
+ dbBaseDataType: T;
1096
+ /** Обобщенный базовый тип */
1097
+ simpleBaseType: ESimpleDataType;
1098
+ /** Обобщенный исходный тип (при наличии контейнера `Array` классифицируется как `OTHER`) */
1099
+ simpleType: ESimpleDataType;
853
1100
  }
854
- type TWidgetSortingValue = {
855
- mode: ESortingValueModes.FORMULA;
856
- formula: string;
857
- dbDataType: string;
858
- } | {
859
- mode: ESortingValueModes.IN_WIDGET;
860
- group: string;
861
- index: number;
862
- };
863
1101
 
864
- declare enum EWidgetIndicatorType {
865
- MEASURE = "MEASURE",
866
- EVENT_INDICATOR = "EVENT_INDICATOR",
867
- TRANSITION_INDICATOR = "TRANSITION_INDICATOR",
868
- DIMENSION = "DIMENSION",
869
- SORTING = "SORTING"
870
- }
871
- declare enum EOuterAggregation {
872
- avg = "avg",
873
- median = "median",
874
- count = "count",
875
- countDistinct = "countDistinct",
876
- min = "min",
877
- max = "max",
878
- sum = "sum"
879
- }
880
- interface IWidgetIndicator extends IAutoIdentifiedArrayItem {
881
- name: string;
882
- }
883
- type TProcessIndicatorValue = {
884
- mode: EWidgetIndicatorValueModes.FORMULA;
885
- formula: string;
886
- } | {
887
- mode: EWidgetIndicatorValueModes.TEMPLATE;
888
- /** Имя шаблонной формулы, использующей колонку таблицы */
889
- templateName: string;
1102
+ declare enum EControlType {
1103
+ /** Ввод текста */
1104
+ input = "input",
1105
+ /** Ввод текста в формате markdown */
1106
+ inputMarkdown = "inputMarkdown",
1107
+ /** Ввод числа */
1108
+ inputNumber = "inputNumber",
1109
+ /** Выбор диапазона чисел */
1110
+ inputRange = "inputRange",
1111
+ /** Ввод размера (число + единица измерения) */
1112
+ size = "size",
1113
+ /** Выбор boolean значения через переключатель */
1114
+ switch = "switch",
1115
+ /** Выбор варианта из выпадающего списка */
1116
+ select = "select",
1117
+ /** Выбор одного из вариантов, представленных через иконки */
1118
+ radioIconGroup = "radioIconGroup",
1119
+ /** Ввод значения показателя */
1120
+ formula = "formula",
1121
+ /** Ввод формулы и ее типа */
1122
+ typedFormula = "typedFormula",
1123
+ /** Выбор настроек форматирования */
1124
+ formatting = "formatting",
1125
+ /** Ввод шаблона форматирования */
1126
+ formattingTemplate = "formattingTemplate",
1127
+ /** Выбор действий по клику */
1128
+ actionOnClick = "actionOnClick",
1129
+ /** Ввод фильтров */
1130
+ filter = "filter",
1131
+ /** Ввод условия отображения */
1132
+ displayCondition = "displayCondition",
1133
+ /** Ввод цвета */
1134
+ colorPicker = "colorPicker",
1135
+ /** Отображение тегов с возможностью "провалиться" внутрь */
1136
+ tagSet = "tagSet",
1137
+ /** Множественный выбор событий процесса */
1138
+ eventsPicker = "eventsPicker",
1139
+ /**
1140
+ * @deprecated используется только для виджета "Маршруты", будет перенесено на уровень виджета.
1141
+ * Ввод цветов для событий процесса.
1142
+ */
1143
+ eventsColor = "eventsColor"
1144
+ }
1145
+ type ControlsMap = {
1146
+ [EControlType.input]: IInputControl;
1147
+ [EControlType.inputMarkdown]: IInputMarkdownControl;
1148
+ [EControlType.inputNumber]: IInputNumberControl;
1149
+ [EControlType.inputRange]: IInputRangeControl;
1150
+ [EControlType.size]: ISizeControl;
1151
+ [EControlType.switch]: ISwitchControl;
1152
+ [EControlType.select]: ISelectControl;
1153
+ [EControlType.radioIconGroup]: IRadioIconGroupControl;
1154
+ [EControlType.formula]: IFormulaControl;
1155
+ [EControlType.typedFormula]: ITypedFormulaControl;
1156
+ [EControlType.formatting]: IFormattingControl;
1157
+ [EControlType.formattingTemplate]: IFormattingTemplateControl;
1158
+ [EControlType.actionOnClick]: IActionOnClickControl;
1159
+ [EControlType.filter]: IFilterControl;
1160
+ [EControlType.displayCondition]: IDisplayConditionControl;
1161
+ [EControlType.colorPicker]: IColorPickerControl;
1162
+ [EControlType.tagSet]: ITagSetControl;
1163
+ [EControlType.eventsPicker]: IEventsPickerControl;
1164
+ [EControlType.eventsColor]: IEventsColorControl;
890
1165
  };
891
- interface IProcessIndicator extends IWidgetIndicator {
892
- value?: TProcessIndicatorValue;
893
- dbDataType?: string;
894
- format?: EFormatTypes;
895
- formatting?: EFormattingPresets;
896
- formattingTemplate?: string;
897
- displayCondition?: TDisplayCondition;
898
- }
899
- interface IProcessEventIndicator extends IProcessIndicator {
900
- }
901
- interface IProcessTransitionIndicator extends IProcessIndicator {
902
- }
903
- /** Индикатор для сортировки */
904
- interface IWidgetSortingIndicator extends IWidgetIndicator {
905
- direction: TSortDirection;
906
- value: TWidgetSortingValue;
907
- }
908
- /** Режимы значения показателя (на основе чего генерируется формула) */
909
- declare enum EWidgetIndicatorValueModes {
910
- /** Готовая формула (как правило, введенная пользователем через редактор формул) */
911
- FORMULA = "FORMULA",
912
- /** Шаблон формулы, предоставляемый системой */
913
- TEMPLATE = "TEMPLATE",
914
- AGGREGATION = "AGGREGATION",
915
- DURATION = "DURATION",
916
- CONVERSION = "CONVERSION",
917
- START_TIME = "START_TIME",
918
- END_TIME = "END_TIME"
919
- }
920
- /** Режимы сортировки (на что ссылается сортировка) */
921
- declare enum ESortingValueModes {
922
- /** Сортировка по формуле */
923
- FORMULA = "FORMULA",
924
- /** Сортировка по показателю(разрезу или мере) виджета */
925
- IN_WIDGET = "IN_WIDGET"
1166
+ type TControlUnion<Settings extends object> = {
1167
+ [K in keyof ControlsMap]: IControlRecord<Settings, ControlsMap[K]>;
1168
+ }[keyof ControlsMap];
1169
+ type TControlConstraint = {
1170
+ type: string;
1171
+ value: unknown;
1172
+ props: object;
1173
+ };
1174
+ /** Конфигурация элемента управления настройкой */
1175
+ interface IControlRecord<Settings extends object, T extends TControlConstraint = TControlConstraint> {
1176
+ /** Ключ, должен быть уникальным в рамках одного уровня вложенности */
1177
+ key: string;
1178
+ /** Локализация заголовка */
1179
+ title?: string;
1180
+ /** Тип используемого элемента управления из предложенных системой */
1181
+ type: T["type"];
1182
+ /** Кастомный верхний отступ */
1183
+ marginTop?: number;
1184
+ /** Объект дополнительных параметров элемента управления */
1185
+ props?: T["props"] | ((settings: Settings) => T["props"]);
1186
+ /** Описание доступа к значению настройки */
1187
+ accessor: TRecordAccessor<Settings, T["value"]>;
1188
+ /**
1189
+ * Рекурсивное определение мета-описания, в элемент управления будет передана функция dive
1190
+ * для перехода в указанное мета-описание.
1191
+ *
1192
+ * Возможность работает только для элемента управления EControlType.tagSet.
1193
+ */
1194
+ description?: T["type"] extends EControlType.tagSet ? IDivePanelDescription<Settings> : never;
1195
+ /**
1196
+ * Предикат, позволяющий скрыть элемент управления.
1197
+ * Предоставлен для удобства разработки. Скрыть элемент можно и условно добавляя его в мета-описание.
1198
+ */
1199
+ shouldDisplay?: IDisplayPredicate<Settings>;
926
1200
  }
927
- interface ICommonState {
928
- name: string;
929
- /** @deprecated */
930
- guid: string;
1201
+ interface IInputControl {
1202
+ type: EControlType.input;
1203
+ value: string;
1204
+ props: {
1205
+ isBordered?: boolean;
1206
+ placeholder?: string;
1207
+ /** Максимальное количество символов которое можно ввести в поле */
1208
+ maxLength?: number;
1209
+ onFocus?: (e: FocusEvent) => void;
1210
+ /** Обрабатывать ли изменения по onBlur */
1211
+ isChangeOnBlur?: boolean;
1212
+ /** Использовать ли уменьшенный размер заголовка */
1213
+ isSmallTitle?: boolean;
1214
+ disabled?: boolean;
1215
+ };
931
1216
  }
932
- interface ICommonMeasures {
933
- name: string;
934
- /** @deprecated */
935
- guid: string;
936
- formula: string;
1217
+ interface IInputMarkdownControl {
1218
+ type: EControlType.inputMarkdown;
1219
+ value: string;
1220
+ props: {};
1221
+ }
1222
+ interface IInputNumberControl {
1223
+ type: EControlType.inputNumber;
1224
+ value: number | null;
1225
+ props: {
1226
+ min?: number;
1227
+ max?: number;
1228
+ /**
1229
+ * Число, на которое увеличивается или уменьшается текущее значение при нажатии на стрелку.
1230
+ * Это может быть целое или десятичное число.
1231
+ */
1232
+ step?: number;
1233
+ placeholder?: string;
1234
+ /**
1235
+ * Текстовая метка, которая отображает любую контекстную информацию о поле, например,
1236
+ * единицы измерения.
1237
+ */
1238
+ unitLabel?: string;
1239
+ isClearable?: boolean;
1240
+ disabled?: boolean;
1241
+ };
937
1242
  }
938
- interface ICommonDimensions {
939
- name: string;
940
- formula: string;
1243
+ interface IInputRangeControl {
1244
+ type: EControlType.inputRange;
1245
+ value: IRange;
1246
+ props: {
1247
+ min?: number;
1248
+ max?: number;
1249
+ units?: {
1250
+ key: string;
1251
+ label: string;
1252
+ }[];
1253
+ prepareValue?: (value: [number?, number?]) => [number?, number?];
1254
+ disabled?: boolean;
1255
+ };
941
1256
  }
942
- type TColumnIndicatorValue = {
943
- mode: EWidgetIndicatorValueModes.FORMULA;
944
- formula?: string;
945
- } | {
946
- mode: EWidgetIndicatorValueModes.TEMPLATE;
947
- /** Имя шаблонной формулы, использующей колонку таблицы */
948
- templateName?: string;
949
- /** Имя таблицы */
950
- tableName?: string;
951
- /** Имя колонки */
952
- columnName?: string;
953
- };
954
- /** Общий интерфейс разреза и меры */
955
- interface IWidgetColumnIndicator extends IWidgetIndicator {
956
- dbDataType?: string;
957
- format?: EFormatTypes;
958
- formatting?: EFormattingPresets;
959
- formattingTemplate?: string;
960
- displayCondition?: TDisplayCondition;
961
- onClick?: TActionsOnClick[];
1257
+ declare enum EUnitMode {
1258
+ PIXEL = "PIXEL",
1259
+ PERCENT = "PERCENT"
962
1260
  }
963
- interface IWidgetDimensionHierarchy<D extends IWidgetDimension = IWidgetDimension> extends IAutoIdentifiedArrayItem {
964
- name: string;
965
- hierarchyDimensions: D[];
966
- displayCondition?: TDisplayCondition;
1261
+ interface ISizeControl {
1262
+ type: EControlType.size;
1263
+ value: {
1264
+ value: number | null;
1265
+ mode: EUnitMode;
1266
+ };
1267
+ props: {
1268
+ placeholder?: string;
1269
+ disabled?: boolean;
1270
+ isClearable?: boolean;
1271
+ minMaxByMode?: {
1272
+ [EUnitMode.PIXEL]: {
1273
+ min?: number;
1274
+ max?: number;
1275
+ };
1276
+ [EUnitMode.PERCENT]: {
1277
+ min?: number;
1278
+ max?: number;
1279
+ };
1280
+ };
1281
+ };
967
1282
  }
968
- interface IWidgetDimension extends Omit<IWidgetColumnIndicator, "value"> {
969
- value?: TColumnIndicatorValue | (TWidgetIndicatorAggregationValue & {
970
- innerTemplateName?: string;
971
- }) | TWidgetIndicatorTimeValue;
972
- hideEmptyValues: boolean;
1283
+ interface ISwitchControl {
1284
+ type: EControlType.switch;
1285
+ value: boolean;
1286
+ props: {
1287
+ size?: "small" | "default";
1288
+ };
973
1289
  }
974
- interface IWidgetMeasure extends Omit<IWidgetColumnIndicator, "value"> {
975
- value?: TColumnIndicatorValue | (TWidgetIndicatorAggregationValue & {
976
- outerAggregation: EOuterAggregation;
977
- }) | TWidgetIndicatorConversionValue | TWidgetIndicatorDurationValue;
1290
+ interface ISelectControl {
1291
+ type: EControlType.select;
1292
+ value: TNullable<string>;
1293
+ props: {
1294
+ fetchOptions?: (searchText?: string) => Promise<ISelectOption[] | {
1295
+ isAllRequested: boolean;
1296
+ options: ISelectOption[];
1297
+ }>;
1298
+ options?: ISelectOption[];
1299
+ withSearch?: boolean;
1300
+ error?: string;
1301
+ allowClear?: boolean;
1302
+ size?: "small" | "default";
1303
+ placeholder?: string;
1304
+ disabled?: boolean;
1305
+ status?: "error" | "warning";
1306
+ };
978
1307
  }
979
- interface IMarkdownMeasure extends IWidgetMeasure {
980
- format: EFormatTypes;
981
- displaySign: EMarkdownDisplayMode;
1308
+ interface IRadioIconGroupControl<Icon = string> {
1309
+ type: EControlType.radioIconGroup;
1310
+ value: string;
1311
+ props: {
1312
+ options: {
1313
+ value: string;
1314
+ /** Иконка */
1315
+ label: Icon;
1316
+ disabled?: boolean;
1317
+ }[];
1318
+ };
982
1319
  }
983
- /** Тип показателя */
984
- declare enum EIndicatorType {
985
- /** Показатели процесса */
986
- PROCESS_MEASURE = "PROCESS_MEASURE",
987
- /** Вводимое значение */
988
- STATIC = "STATIC",
989
- /** Статический список */
990
- STATIC_LIST = "STATIC_LIST",
991
- /** Динамический список */
992
- DYNAMIC_LIST = "DYNAMIC_LIST",
993
- /** Список колонок */
994
- COLUMN_LIST = "COLUMN_LIST",
995
- /** Разрез */
996
- DIMENSION = "DIMENSION",
997
- /** Мера */
998
- MEASURE = "MEASURE",
999
- /** Иерархия */
1000
- DYNAMIC_DIMENSION = "DYNAMIC_DIMENSION",
1001
- /** Пользовательская сортировка */
1002
- USER_SORTING = "USER_SORTING"
1320
+ interface IFormulaControl {
1321
+ type: EControlType.formula;
1322
+ value: {
1323
+ value: TColumnIndicatorValue | (TWidgetIndicatorAggregationValue & {
1324
+ outerAggregation: EOuterAggregation;
1325
+ }) | (TWidgetIndicatorAggregationValue & {
1326
+ innerTemplateName?: string;
1327
+ }) | TWidgetIndicatorConversionValue | TWidgetIndicatorDurationValue | TWidgetIndicatorTimeValue;
1328
+ dbDataType: string | undefined;
1329
+ };
1330
+ props: {
1331
+ showModeToggle?: boolean;
1332
+ indicatorConfig?: ({
1333
+ type: "measure";
1334
+ } & {
1335
+ /** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
1336
+ allowClear?: boolean;
1337
+ /** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
1338
+ placeholder?: string;
1339
+ /** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
1340
+ hideQuantityOption?: boolean;
1341
+ /** @deprecated временное решение для виджета "Воронка", не следует использовать [BI-14710] */
1342
+ options?: TMeasureAddButtonSelectOption[];
1343
+ }) | {
1344
+ type: "dimension";
1345
+ };
1346
+ disabled?: boolean;
1347
+ titleModal?: string;
1348
+ };
1003
1349
  }
1004
- interface IBaseWidgetVariable {
1005
- /** Имя переменной */
1006
- name: string;
1007
- /** @deprecated */
1008
- guid: string;
1350
+ interface ITypedFormulaControl {
1351
+ type: EControlType.typedFormula;
1352
+ value: {
1353
+ formula: string;
1354
+ dbDataType: string;
1355
+ };
1356
+ props: {
1357
+ disabled?: boolean;
1358
+ titleModal?: string;
1359
+ };
1009
1360
  }
1010
- /** Обобщенные типы значений переменных */
1011
- declare enum ESimpleInputType {
1012
- /** Число (точность Float64) */
1013
- NUMBER = "FLOAT",
1014
- /** Целое число (точность Int64) */
1015
- INTEGER_NUMBER = "INTEGER",
1016
- /** Текст */
1017
- TEXT = "STRING",
1018
- /** Дата (точность Date) */
1019
- DATE = "DATE",
1020
- /** Дата и время (точность DateTime64) */
1021
- DATE_AND_TIME = "DATETIME"
1361
+ interface IFormattingControl {
1362
+ type: EControlType.formatting;
1363
+ value: {
1364
+ format: EFormatTypes;
1365
+ formatting: EFormattingPresets;
1366
+ formattingTemplate?: string;
1367
+ };
1368
+ props: {
1369
+ formats?: Partial<Record<ESimpleDataType, EFormatTypes[]>>;
1370
+ formatting?: Partial<Record<EFormatTypes, EFormattingPresets[]>>;
1371
+ dbDataType: TNullable<string>;
1372
+ };
1022
1373
  }
1023
- interface IWidgetStaticVariable extends IBaseWidgetVariable {
1024
- /** Тип переменной */
1025
- type: EIndicatorType.STATIC;
1026
- /** Значение */
1374
+ interface IFormattingTemplateControl {
1375
+ type: EControlType.formattingTemplate;
1027
1376
  value: string;
1028
- /** Обобщенный тип данных */
1029
- simpleInputType: ESimpleInputType;
1377
+ props: {
1378
+ /** Используемый формат (влияет на контент подсказки) */
1379
+ format?: TNullable<EFormatTypes>;
1380
+ };
1030
1381
  }
1031
- interface IStaticListLabeledOption {
1032
- value: string;
1033
- label: string;
1382
+ interface IActionOnClickControl {
1383
+ type: EControlType.actionOnClick;
1384
+ value: TActionsOnClick[];
1385
+ props: {
1386
+ indicator: {
1387
+ name: string;
1388
+ onClick?: TActionsOnClick[];
1389
+ };
1390
+ placeholder?: string;
1391
+ inputMethods: EWidgetActionInputMethod[];
1392
+ };
1034
1393
  }
1035
- interface IWidgetStaticListVariable extends IBaseWidgetVariable {
1036
- /** Тип переменной */
1037
- type: EIndicatorType.STATIC_LIST;
1038
- /** Значение */
1039
- value: string | string[];
1040
- /** Элементы статического списка */
1041
- /** @deprecated поле будет удалено, необходимо использовать labeledOptions */
1042
- options: string[];
1043
- /** Объект ключ значение для статического списка */
1044
- labeledOptions: IStaticListLabeledOption[];
1045
- /** Множественный выбор */
1046
- multipleChoice: boolean;
1394
+ interface IFilterControl {
1395
+ type: EControlType.filter;
1396
+ value: TExtendedFormulaFilterValue[];
1397
+ props: {
1398
+ buttonTitle?: string;
1399
+ };
1047
1400
  }
1048
- interface IWidgetDynamicListVariable extends IBaseWidgetVariable {
1049
- /** Тип переменной */
1050
- type: EIndicatorType.DYNAMIC_LIST;
1051
- /** Значение */
1052
- value: string | string[];
1053
- /** Формула для отображения списка */
1054
- listFormula: TNullable<string>;
1055
- /** Тип данных */
1056
- dbDataType: string;
1057
- /** Множественный выбор */
1058
- multipleChoice: boolean;
1059
- /** Фильтры */
1060
- filters: TExtendedFormulaFilterValue[];
1401
+ interface IDisplayConditionControl {
1402
+ type: EControlType.displayCondition;
1403
+ value: TDisplayCondition;
1404
+ props: {
1405
+ isInMeasure?: boolean;
1406
+ labelFontSize?: number;
1407
+ };
1061
1408
  }
1062
- interface IWidgetColumnListVariable extends IBaseWidgetVariable {
1063
- /** Тип переменной */
1064
- type: EIndicatorType.COLUMN_LIST;
1065
- /** Имя таблицы */
1066
- tableName: string;
1067
- /** Значение (имя колонки) */
1068
- value: string;
1409
+ interface IColorPickerControl {
1410
+ type: EControlType.colorPicker;
1411
+ value: TColor | undefined;
1412
+ props: {
1413
+ ruleModes?: EColorMode[];
1414
+ modes?: EColorMode[];
1415
+ /** Цвет по умолчанию для режима BASE при переключении с другого режима */
1416
+ defaultColor?: string;
1417
+ dimension?: IWidgetDimension;
1418
+ };
1069
1419
  }
1070
- type TWidgetVariable = IWidgetStaticVariable | IWidgetStaticListVariable | IWidgetDynamicListVariable | IWidgetColumnListVariable;
1071
- declare function isDimensionsHierarchy(indicator: IWidgetColumnIndicator): indicator is IWidgetDimensionHierarchy;
1072
- declare enum OuterAggregation {
1073
- avg = "avgIf",
1074
- median = "medianIf",
1075
- count = "countIf",
1076
- countDistinct = "countIfDistinct",
1077
- min = "minIf",
1078
- max = "maxIf",
1079
- sum = "sumIf"
1420
+ interface ITagSetControl {
1421
+ type: EControlType.tagSet;
1422
+ value: string[];
1423
+ props: {
1424
+ placeholder?: string;
1425
+ isError?: boolean;
1426
+ };
1080
1427
  }
1081
- declare enum EDurationTemplateName {
1082
- avg = "avg",
1083
- median = "median"
1428
+ interface IEventsPickerControl {
1429
+ type: EControlType.eventsPicker;
1430
+ value: (string | null)[];
1431
+ props: {
1432
+ process: IWidgetProcess | undefined;
1433
+ withPercentageSelection?: boolean;
1434
+ };
1084
1435
  }
1085
- type TWidgetIndicatorAggregationValue = {
1086
- mode: EWidgetIndicatorValueModes.AGGREGATION;
1087
- templateName: string;
1088
- processName: string | null;
1089
- eventName: string | null;
1090
- caseCaseIdFormula: string | null;
1091
- eventNameFormula: string | null;
1092
- filters: TExtendedFormulaFilterValue[];
1093
- tableName?: string;
1094
- columnName?: string;
1095
- eventTimeFormula?: string | null;
1096
- };
1097
- declare enum EEventAppearances {
1098
- FIRST = "FIRST",
1099
- LAST = "LAST"
1436
+ interface IEventsColorControl {
1437
+ type: EControlType.eventsColor;
1438
+ value: {
1439
+ defaultColor: string;
1440
+ values: Record<string, {
1441
+ mode: EColorMode;
1442
+ value: string;
1443
+ }>;
1444
+ };
1445
+ props: Omit<IColorPickerControl["props"], "defaultColor"> & {
1446
+ defaultColor?: ((eventName: string) => string) | string;
1447
+ processName: string;
1448
+ };
1100
1449
  }
1101
- type TWidgetIndicatorConversionValue = {
1102
- mode: EWidgetIndicatorValueModes.CONVERSION;
1103
- startEventNameFormula: string | null;
1104
- startEventProcessName: string | null;
1105
- startEventName: string | null;
1106
- startEventFilters: TExtendedFormulaFilterValue[];
1107
- startEventTimeFormula: string | null;
1108
- endEventNameFormula: string | null;
1109
- endEventProcessName: string | null;
1110
- endEventName: string | null;
1111
- endEventFilters: TExtendedFormulaFilterValue[];
1112
- endCaseCaseIdFormula: string | null;
1113
- endEventTimeFormula: string | null;
1114
- };
1115
- type TWidgetIndicatorDurationValue = {
1116
- mode: EWidgetIndicatorValueModes.DURATION;
1117
- templateName: string;
1118
- startEventAppearances: EEventAppearances;
1119
- endEventAppearances: EEventAppearances;
1120
- } & Omit<TWidgetIndicatorConversionValue, "mode">;
1121
- type TWidgetIndicatorTimeValue = {
1122
- templateName: string;
1123
- mode: EWidgetIndicatorValueModes.START_TIME | EWidgetIndicatorValueModes.END_TIME;
1124
- processName: string;
1125
- eventName: string;
1126
- eventTimeFormula: string;
1127
- caseCaseIdFormula: string;
1128
- eventNameFormula: string;
1129
- filters: TExtendedFormulaFilterValue[];
1130
- };
1131
1450
 
1132
1451
  /** Формат входного параметра GeneralCalculator */
1133
1452
  interface IBaseDimensionsAndMeasuresCalculatorInput {
@@ -1301,29 +1620,6 @@ interface ITypeCalculatorOutput {
1301
1620
  interface ITypeCalculator extends ICalculator<ITypeCalculatorInput, ITypeCalculatorOutput> {
1302
1621
  }
1303
1622
 
1304
- declare enum ESimpleDataType {
1305
- OTHER = "OTHER",
1306
- DATE = "DATE",
1307
- FLOAT = "FLOAT",
1308
- DATETIME = "DATETIME",
1309
- STRING = "STRING",
1310
- INTEGER = "INTEGER",
1311
- DATETIME64 = "DATETIME64",
1312
- BOOLEAN = "BOOLEAN"
1313
- }
1314
- type TDbTypeContainer = "Array" | "Nullable";
1315
- /** Результат разбора типа данных из базы данных (в будущем возможна поддержка других СУБД помимо ClickHouse) */
1316
- interface IParsedDbType<T extends TNullable<string> = string> {
1317
- /** Контейнеры над базовым типом в порядке от внешнего к внутреннему */
1318
- containers: TDbTypeContainer[];
1319
- /** Исходный базовый тип (без контейнеров) */
1320
- dbBaseDataType: T;
1321
- /** Обобщенный базовый тип */
1322
- simpleBaseType: ESimpleDataType;
1323
- /** Обобщенный исходный тип (при наличии контейнера `Array` классифицируется как `OTHER`) */
1324
- simpleType: ESimpleDataType;
1325
- }
1326
-
1327
1623
  declare const prepareValuesForSql: (simpleType: ESimpleDataType, values: (string | null)[]) => (string | null)[];
1328
1624
 
1329
1625
  declare function checkDisplayCondition(displayCondition: TNullable<TDisplayCondition>, variables: Map<string, TWidgetVariable>): boolean;
@@ -1637,8 +1933,16 @@ interface ILens<T extends TNullable<object>, Value> {
1637
1933
  get(obj: T): TNullable<Value>;
1638
1934
  set(obj: T, value: Value): void;
1639
1935
  }
1936
+ /**
1937
+ * Линза, которая может вернуть Partial значение из get (будет обработано на стороне control'а),
1938
+ * но требует передачи в set полного значения
1939
+ */
1940
+ interface IPartialLens<T extends TNullable<object>, Value> {
1941
+ get(obj: T): TNullable<Partial<Value>>;
1942
+ set(obj: T, value: Value): void;
1943
+ }
1640
1944
  type TValuePath = string | string[];
1641
- type TRecordAccessor<Settings extends object, Value> = TValuePath | ILens<Settings, Value>;
1945
+ type TRecordAccessor<Settings extends object, Value> = TValuePath | IPartialLens<Settings, Value>;
1642
1946
  interface IDisplayPredicate<Settings> {
1643
1947
  (s: Settings): boolean;
1644
1948
  }
@@ -1656,13 +1960,14 @@ interface IGroupSetRecord {
1656
1960
  interface ICollapseRecord<Settings extends object = object> {
1657
1961
  key: string;
1658
1962
  type: "collapse";
1963
+ title?: string;
1659
1964
  records: TGroupLevelRecord<Settings>[];
1660
1965
  }
1661
1966
  type TEmptyRecord = boolean | null | undefined;
1662
1967
  /** Набор конфигураций, которые могут встречаться на уровне виджета */
1663
- type TWidgetLevelRecord<Settings extends object> = IControlRecord<Settings, any, EControlType> | IDividerRecord<Settings> | IGroupSetRecord | ICollapseRecord<Settings> | TEmptyRecord;
1968
+ type TWidgetLevelRecord<Settings extends object> = ICollapseRecord<Settings> | IDividerRecord<Settings> | IGroupSetRecord | TControlUnion<Settings> | TEmptyRecord;
1664
1969
  /** Набор конфигураций, которые могут встречаться на уровне группы */
1665
- type TGroupLevelRecord<LevelGroupSettings extends object> = IControlRecord<LevelGroupSettings, any, EControlType> | IDividerRecord<LevelGroupSettings> | ICollapseRecord<LevelGroupSettings> | TEmptyRecord;
1970
+ type TGroupLevelRecord<LevelGroupSettings extends object> = ICollapseRecord<LevelGroupSettings> | IDividerRecord<LevelGroupSettings> | TControlUnion<LevelGroupSettings> | TEmptyRecord;
1666
1971
  interface ISelectOption {
1667
1972
  value: string;
1668
1973
  label: string;
@@ -1774,7 +2079,7 @@ interface IGroupSetDescription<Settings extends object, GroupSettings extends ob
1774
2079
  /** Максимальное количество групп в наборе */
1775
2080
  maxCount: number;
1776
2081
  /** Описание доступа к настройкам групп */
1777
- accessor: TRecordAccessor<Settings, GroupSettings[]>;
2082
+ accessor: TValuePath | ILens<Settings, GroupSettings[]>;
1778
2083
  /** Конфигурация кнопок добавления группы в набор */
1779
2084
  addButtons: TAddButton[];
1780
2085
  /** Получить название, отображаемое на плашке (по умолчанию используется поле name из группы) */
@@ -2230,4 +2535,4 @@ declare global {
2230
2535
  }
2231
2536
  }
2232
2537
 
2233
- export { EActionButtonsTypes, EActionTypes, EAutoUpdateMode, EBlockingConditionMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionGoToUrl, type IActionRunScript, type IActionScript, type IActionUpdateVariable, type IAddButtonSelectOption, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IAutoIdentifiedArrayItem, 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 ICollapseRecord, type IColoredValue, type ICommonDimensions, type ICommonMeasures, type ICommonState, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayPredicate, type IDisplayRule, type IDivePanelDescription, type IDividerRecord, type IEdge, type IExportColumnOrder, type IFillSettings, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGlobalContext, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type IIndicatorLink, type IInitialSettings, type ILens, type IMarkdownMeasure, type IMeasureAddButtonProps, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessFilterPreviewParams, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRange, type ISelectBranchOption, type ISelectDividerOption, type ISelectGroupOption, type ISelectLeafOption, type ISelectNode, type ISelectOption, type ISelectSystemOption, type ISettingsMigratorParams, type ISortOrder, type ISortingAddButtonProps, type IStagesFilterValue, type IStaticListLabeledOption, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type ITypeCalculatorOutputItem, type IVertex, type IViewContext, type IWidget, type IWidgetAction, type IWidgetColumnIndicator, type IWidgetColumnListVariable, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetDynamicListVariable, type IWidgetEntity, type IWidgetFilter, type IWidgetFiltration, type IWidgetFormatting, type IWidgetIndicator, type IWidgetIndicatorAddButtonProps, type IWidgetManifest, type IWidgetMeasure, type IWidgetMigrator, type IWidgetPersistValue, type IWidgetPlaceholderController, type IWidgetPlaceholderValues, type IWidgetPresetSettings, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetStaticListVariable, type IWidgetStaticVariable, type IWidgetStruct, type IWidgetTable, type IWidgetTableColumn, OuterAggregation, type TAction, type TActionOnClickParameter, type TActionOpenView, type TActionValidator, type TActionsOnClick, type TAddButton, type TAppearanceSettings, type TBoundedContentWithIndicator, type TColor, type TColorBase, type TColorRule, type TColumnIndicatorValue, type TContextMenu, type TContextMenuButton, type TContextMenuButtonActions, type TContextMenuButtonApply, type TContextMenuButtonClose, type TContextMenuButtonCustom, type TContextMenuButtonGroup, type TContextMenuButtonOptions, type TContextMenuList, type TContextMenuPositionUnit, type TContextMenuRow, type TCustomAddButtonSelectOption, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TExtendedFormulaFilterValue, type TFiltrationAccessibility, type TGroupLevelRecord, type TLaunchActionParams, type TMeasureAddButtonSelectOption, type TMigrateProcessor, type TMigrationStruct, type TProcessIndicatorValue, type TRecordAccessor, type TSelectChildOptions, type TSelectFetchNodes, type TSelectivePartial, type TSortDirection, type TUpdateSelection, type TValuePath, type TVersion, type TWidgetActionParameter, type TWidgetContainer, type TWidgetDimensionData, type TWidgetFilterValue, type TWidgetFiltering, type TWidgetIndicatorAggregationValue, type TWidgetIndicatorConversionValue, type TWidgetIndicatorData, type TWidgetIndicatorDurationValue, type TWidgetIndicatorTimeValue, type TWidgetLevelRecord, type TWidgetSortingValue, type TWidgetVariable, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, durationTemplates, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureAggregationTemplates, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
2538
+ export { EActionButtonsTypes, EActionTypes, EAutoUpdateMode, EBlockingConditionMode, ECalculatorFilterMethods, EClickHouseBaseTypes, EColorMode, EControlType, ECustomSelectTemplates, EDimensionAggregationTemplateName, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationTemplateName, EDurationUnit, EEventAppearances, EEventMeasureTemplateNames, EFontWeight, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureAggregationTemplateName, EMeasureTemplateNames, EOuterAggregation, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESimpleInputType, ESortDirection, ESortingValueModes, ESystemRecordKey, ETransitionMeasureTemplateNames, EUnitMode, EViewMode, EViewOpenIn, EWidgetActionInputMethod, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionGoToUrl, type IActionOnClickControl, type IActionRunScript, type IActionScript, type IActionUpdateVariable, type IAddButtonSelectOption, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IAutoIdentifiedArrayItem, 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 ICollapseRecord, type IColorPickerControl, type IColoredValue, type ICommonDimensions, type ICommonMeasures, type ICommonState, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayConditionControl, type IDisplayPredicate, type IDisplayRule, type IDivePanelDescription, type IDividerRecord, type IEdge, type IEventsColorControl, type IEventsPickerControl, type IExportColumnOrder, type IFillSettings, type IFilterControl, type IFormattingControl, type IFormattingTemplateControl, type IFormulaControl, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGlobalContext, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type IIndicatorLink, type IInitialSettings, type IInputControl, type IInputMarkdownControl, type IInputNumberControl, type IInputRangeControl, type ILens, type IMarkdownMeasure, type IMeasureAddButtonProps, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessFilterPreviewParams, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRadioIconGroupControl, type IRange, type ISelectBranchOption, type ISelectControl, type ISelectDividerOption, type ISelectGroupOption, type ISelectLeafOption, type ISelectNode, type ISelectOption, type ISelectSystemOption, type ISettingsMigratorParams, type ISizeControl, type ISortOrder, type ISortingAddButtonProps, type IStagesFilterValue, type IStaticListLabeledOption, type ISwitchControl, type ITagSetControl, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type ITypeCalculatorOutputItem, type ITypedFormulaControl, type IVertex, type IViewContext, type IWidget, type IWidgetAction, type IWidgetColumnIndicator, type IWidgetColumnListVariable, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetDynamicListVariable, type IWidgetEntity, type IWidgetFilter, type IWidgetFiltration, type IWidgetFormatting, type IWidgetIndicator, type IWidgetIndicatorAddButtonProps, type IWidgetManifest, type IWidgetMeasure, type IWidgetMigrator, type IWidgetPersistValue, type IWidgetPlaceholderController, type IWidgetPlaceholderValues, type IWidgetPresetSettings, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetStaticListVariable, type IWidgetStaticVariable, type IWidgetStruct, type IWidgetTable, type IWidgetTableColumn, OuterAggregation, type TAction, type TActionOnClickParameter, type TActionOpenView, type TActionValidator, type TActionsOnClick, type TAddButton, type TAppearanceSettings, type TBoundedContentWithIndicator, type TColor, type TColorBase, type TColorRule, type TColumnIndicatorValue, type TContextMenu, type TContextMenuButton, type TContextMenuButtonActions, type TContextMenuButtonApply, type TContextMenuButtonClose, type TContextMenuButtonCustom, type TContextMenuButtonGroup, type TContextMenuButtonOptions, type TContextMenuList, type TContextMenuPositionUnit, type TContextMenuRow, type TControlUnion, type TCustomAddButtonSelectOption, type TDefineWidgetOptions, type TDisplayCondition, type TDisplayMode, type TEmptyRecord, type TExtendedFormulaFilterValue, type TFiltrationAccessibility, type TGroupLevelRecord, type TLaunchActionParams, type TMeasureAddButtonSelectOption, type TMigrateProcessor, type TMigrationStruct, type TProcessIndicatorValue, type TRecordAccessor, type TSelectChildOptions, type TSelectFetchNodes, type TSelectivePartial, type TSortDirection, type TUpdateSelection, type TValuePath, type TVersion, type TWidgetActionParameter, type TWidgetContainer, type TWidgetDimensionData, type TWidgetFilterValue, type TWidgetFiltering, type TWidgetIndicatorAggregationValue, type TWidgetIndicatorConversionValue, type TWidgetIndicatorData, type TWidgetIndicatorDurationValue, type TWidgetIndicatorTimeValue, type TWidgetLevelRecord, type TWidgetSortingValue, type TWidgetVariable, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, clearMultiLineComments, clearSingleLineComments, colors, conversionTemplate, convertFiltersToFormula, convertToFormulasChain, countExecutionsTemplate, dashboardLinkRegExp, dimensionAggregationTemplates, dimensionTemplateFormulas, durationTemplates, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formattingConfig, formulaFilterMethods, generateColumnFormula, getColorByIndex, getDefaultSortOrders, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getRuleColor, getTransitionMeasureFormula, isDimensionsHierarchy, isFormulaFilterValue, isValidColor, linkNameRegExp, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureAggregationTemplates, measureTemplateFormulas, parseClickHouseType, parseIndicatorLink, prepareConversionParams, prepareDimensionAggregationParams, prepareDurationParams, prepareFormulaForSql, prepareMeasureAggregationParams, prepareSortOrders, prepareTimeParams, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, timeTemplates, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection, workspaceLinkRegExp };
package/dist/index.esm.js CHANGED
@@ -1695,33 +1695,55 @@ function bindContentsWithIndicators(outputs, indicators) {
1695
1695
  return compactMap(indicators, function (indicator) { return bindContentWithIndicator(outputs, indicator); });
1696
1696
  }
1697
1697
 
1698
- var EUnitMode;
1699
- (function (EUnitMode) {
1700
- EUnitMode["PIXEL"] = "PIXEL";
1701
- EUnitMode["PERCENT"] = "PERCENT";
1702
- })(EUnitMode || (EUnitMode = {}));
1703
1698
  var EControlType;
1704
1699
  (function (EControlType) {
1700
+ /** Ввод текста */
1701
+ EControlType["input"] = "input";
1702
+ /** Ввод текста в формате markdown */
1703
+ EControlType["inputMarkdown"] = "inputMarkdown";
1704
+ /** Ввод числа */
1705
1705
  EControlType["inputNumber"] = "inputNumber";
1706
+ /** Выбор диапазона чисел */
1707
+ EControlType["inputRange"] = "inputRange";
1708
+ /** Ввод размера (число + единица измерения) */
1709
+ EControlType["size"] = "size";
1710
+ /** Выбор boolean значения через переключатель */
1706
1711
  EControlType["switch"] = "switch";
1707
- EControlType["input"] = "input";
1708
- EControlType["formattingTemplate"] = "formattingTemplate";
1709
- EControlType["radioIconGroup"] = "radioIconGroup";
1712
+ /** Выбор варианта из выпадающего списка */
1710
1713
  EControlType["select"] = "select";
1711
- EControlType["tagSet"] = "tagSet";
1714
+ /** Выбор одного из вариантов, представленных через иконки */
1715
+ EControlType["radioIconGroup"] = "radioIconGroup";
1716
+ /** Ввод значения показателя */
1712
1717
  EControlType["formula"] = "formula";
1718
+ /** Ввод формулы и ее типа */
1713
1719
  EControlType["typedFormula"] = "typedFormula";
1714
- EControlType["inputRange"] = "inputRange";
1715
- EControlType["colorPicker"] = "colorPicker";
1716
- EControlType["displayCondition"] = "displayCondition";
1717
- EControlType["eventsColor"] = "eventsColor";
1718
- EControlType["inputMarkdown"] = "inputMarkdown";
1719
- EControlType["filter"] = "filter";
1720
+ /** Выбор настроек форматирования */
1721
+ EControlType["formatting"] = "formatting";
1722
+ /** Ввод шаблона форматирования */
1723
+ EControlType["formattingTemplate"] = "formattingTemplate";
1724
+ /** Выбор действий по клику */
1720
1725
  EControlType["actionOnClick"] = "actionOnClick";
1726
+ /** Ввод фильтров */
1727
+ EControlType["filter"] = "filter";
1728
+ /** Ввод условия отображения */
1729
+ EControlType["displayCondition"] = "displayCondition";
1730
+ /** Ввод цвета */
1731
+ EControlType["colorPicker"] = "colorPicker";
1732
+ /** Отображение тегов с возможностью "провалиться" внутрь */
1733
+ EControlType["tagSet"] = "tagSet";
1734
+ /** Множественный выбор событий процесса */
1721
1735
  EControlType["eventsPicker"] = "eventsPicker";
1722
- EControlType["size"] = "size";
1723
- EControlType["formatting"] = "formatting";
1736
+ /**
1737
+ * @deprecated используется только для виджета "Маршруты", будет перенесено на уровень виджета.
1738
+ * Ввод цветов для событий процесса.
1739
+ */
1740
+ EControlType["eventsColor"] = "eventsColor";
1724
1741
  })(EControlType || (EControlType = {}));
1742
+ var EUnitMode;
1743
+ (function (EUnitMode) {
1744
+ EUnitMode["PIXEL"] = "PIXEL";
1745
+ EUnitMode["PERCENT"] = "PERCENT";
1746
+ })(EUnitMode || (EUnitMode = {}));
1725
1747
 
1726
1748
  var ESelectOptionTypes;
1727
1749
  (function (ESelectOptionTypes) {
package/dist/index.js CHANGED
@@ -1696,33 +1696,55 @@ function bindContentsWithIndicators(outputs, indicators) {
1696
1696
  return compactMap(indicators, function (indicator) { return bindContentWithIndicator(outputs, indicator); });
1697
1697
  }
1698
1698
 
1699
- exports.EUnitMode = void 0;
1700
- (function (EUnitMode) {
1701
- EUnitMode["PIXEL"] = "PIXEL";
1702
- EUnitMode["PERCENT"] = "PERCENT";
1703
- })(exports.EUnitMode || (exports.EUnitMode = {}));
1704
1699
  exports.EControlType = void 0;
1705
1700
  (function (EControlType) {
1701
+ /** Ввод текста */
1702
+ EControlType["input"] = "input";
1703
+ /** Ввод текста в формате markdown */
1704
+ EControlType["inputMarkdown"] = "inputMarkdown";
1705
+ /** Ввод числа */
1706
1706
  EControlType["inputNumber"] = "inputNumber";
1707
+ /** Выбор диапазона чисел */
1708
+ EControlType["inputRange"] = "inputRange";
1709
+ /** Ввод размера (число + единица измерения) */
1710
+ EControlType["size"] = "size";
1711
+ /** Выбор boolean значения через переключатель */
1707
1712
  EControlType["switch"] = "switch";
1708
- EControlType["input"] = "input";
1709
- EControlType["formattingTemplate"] = "formattingTemplate";
1710
- EControlType["radioIconGroup"] = "radioIconGroup";
1713
+ /** Выбор варианта из выпадающего списка */
1711
1714
  EControlType["select"] = "select";
1712
- EControlType["tagSet"] = "tagSet";
1715
+ /** Выбор одного из вариантов, представленных через иконки */
1716
+ EControlType["radioIconGroup"] = "radioIconGroup";
1717
+ /** Ввод значения показателя */
1713
1718
  EControlType["formula"] = "formula";
1719
+ /** Ввод формулы и ее типа */
1714
1720
  EControlType["typedFormula"] = "typedFormula";
1715
- EControlType["inputRange"] = "inputRange";
1716
- EControlType["colorPicker"] = "colorPicker";
1717
- EControlType["displayCondition"] = "displayCondition";
1718
- EControlType["eventsColor"] = "eventsColor";
1719
- EControlType["inputMarkdown"] = "inputMarkdown";
1720
- EControlType["filter"] = "filter";
1721
+ /** Выбор настроек форматирования */
1722
+ EControlType["formatting"] = "formatting";
1723
+ /** Ввод шаблона форматирования */
1724
+ EControlType["formattingTemplate"] = "formattingTemplate";
1725
+ /** Выбор действий по клику */
1721
1726
  EControlType["actionOnClick"] = "actionOnClick";
1727
+ /** Ввод фильтров */
1728
+ EControlType["filter"] = "filter";
1729
+ /** Ввод условия отображения */
1730
+ EControlType["displayCondition"] = "displayCondition";
1731
+ /** Ввод цвета */
1732
+ EControlType["colorPicker"] = "colorPicker";
1733
+ /** Отображение тегов с возможностью "провалиться" внутрь */
1734
+ EControlType["tagSet"] = "tagSet";
1735
+ /** Множественный выбор событий процесса */
1722
1736
  EControlType["eventsPicker"] = "eventsPicker";
1723
- EControlType["size"] = "size";
1724
- EControlType["formatting"] = "formatting";
1737
+ /**
1738
+ * @deprecated используется только для виджета "Маршруты", будет перенесено на уровень виджета.
1739
+ * Ввод цветов для событий процесса.
1740
+ */
1741
+ EControlType["eventsColor"] = "eventsColor";
1725
1742
  })(exports.EControlType || (exports.EControlType = {}));
1743
+ exports.EUnitMode = void 0;
1744
+ (function (EUnitMode) {
1745
+ EUnitMode["PIXEL"] = "PIXEL";
1746
+ EUnitMode["PERCENT"] = "PERCENT";
1747
+ })(exports.EUnitMode || (exports.EUnitMode = {}));
1726
1748
 
1727
1749
  exports.ESelectOptionTypes = void 0;
1728
1750
  (function (ESelectOptionTypes) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infomaximum/widget-sdk",
3
- "version": "5.10.0",
3
+ "version": "5.10.1",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.esm.js",
6
6
  "types": "./dist/index.d.ts",