@infomaximum/widget-sdk 4.0.0-beta4 → 4.0.0-beta40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +445 -154
- package/dist/index.esm.js +108 -49
- package/dist/index.js +110 -51
- package/package.json +9 -7
package/dist/index.d.ts
CHANGED
|
@@ -34,7 +34,8 @@ declare enum EControlType {
|
|
|
34
34
|
eventsColor = "eventsColor",
|
|
35
35
|
inputMarkdown = "inputMarkdown",
|
|
36
36
|
filter = "filter",
|
|
37
|
-
actionOnClick = "actionOnClick"
|
|
37
|
+
actionOnClick = "actionOnClick",
|
|
38
|
+
eventsPicker = "eventsPicker"
|
|
38
39
|
}
|
|
39
40
|
/** Конфигурация элемента управления настройкой */
|
|
40
41
|
interface IControlRecord<Settings extends object, Value, ControlType = EControlType> {
|
|
@@ -43,6 +44,7 @@ interface IControlRecord<Settings extends object, Value, ControlType = EControlT
|
|
|
43
44
|
title?: string;
|
|
44
45
|
/** Тип используемого элемента управления настройкой из предложенных нашей системой */
|
|
45
46
|
type: ControlType | string;
|
|
47
|
+
marginTop?: number;
|
|
46
48
|
/** Объект дополнительных параметров элемента управления */
|
|
47
49
|
props?: object | ((settings: Settings) => object);
|
|
48
50
|
/** Описание доступа к значению настройки */
|
|
@@ -78,6 +80,9 @@ interface ICalculatorIndicatorOutput {
|
|
|
78
80
|
interface ICalculatorDimensionInput extends ICalculatorIndicatorInput {
|
|
79
81
|
formula: string;
|
|
80
82
|
hideEmpty?: boolean;
|
|
83
|
+
/** Временно поддерживается обратная совместимость с форматом { alias: string; formula: string }[] */
|
|
84
|
+
/** Появилась необходимость в ленточном графике, т.к. разрез длительность используется, как мера */
|
|
85
|
+
additionalFormulas?: Map<string, string>;
|
|
81
86
|
}
|
|
82
87
|
interface ICalculatorDimensionOutput extends ICalculatorIndicatorOutput {
|
|
83
88
|
}
|
|
@@ -260,6 +265,7 @@ declare enum EDurationUnit {
|
|
|
260
265
|
declare const mapFormulaFilterToCalculatorInput: (filterValue: IFormulaFilterValue | string) => TNullable<ICalculatorFilter>;
|
|
261
266
|
declare const mapFormulaFiltersToInputs: (filters: (string | IFormulaFilterValue)[]) => ICalculatorFilter[];
|
|
262
267
|
|
|
268
|
+
type TSelectivePartial<T, Keys extends keyof T> = Omit<T, Keys> & Partial<Pick<T, Keys>>;
|
|
263
269
|
declare const formulaFilterMethods: {
|
|
264
270
|
readonly LAST_TIME: "LAST_TIME";
|
|
265
271
|
readonly EQUAL_TO: ECalculatorFilterMethods.EQUAL_TO;
|
|
@@ -289,6 +295,7 @@ declare enum EProcessFilterNames {
|
|
|
289
295
|
/** Длительность перехода */
|
|
290
296
|
durationOfTransition = "durationOfTransition"
|
|
291
297
|
}
|
|
298
|
+
/** @deprecated необходимо использовать @see {@link IFormulaFilterValue} */
|
|
292
299
|
interface IWidgetFormulaFilterValue extends ICalculatorFilter {
|
|
293
300
|
/**
|
|
294
301
|
* Название фильтра
|
|
@@ -305,16 +312,16 @@ interface IProcessFilterValue {
|
|
|
305
312
|
* События, доступные при выборе процесса.
|
|
306
313
|
* Если параметр не передан, используются все события процесса на основе запроса к вычислителю.
|
|
307
314
|
*/
|
|
308
|
-
|
|
315
|
+
eventsNamesByProcessNameMap?: Map<string, (string | null)[]>;
|
|
309
316
|
}
|
|
310
317
|
interface IProcessEventFilterValue extends IProcessFilterValue {
|
|
311
|
-
|
|
318
|
+
processName: string;
|
|
312
319
|
eventName: string;
|
|
313
320
|
}
|
|
314
321
|
interface IProcessTransitionFilterValue extends IProcessFilterValue {
|
|
315
|
-
|
|
322
|
+
startEventProcessName: string;
|
|
316
323
|
startEventName: string;
|
|
317
|
-
|
|
324
|
+
endEventProcessName: string;
|
|
318
325
|
endEventName: string;
|
|
319
326
|
}
|
|
320
327
|
interface IAddPresenceOfEventFilter {
|
|
@@ -329,15 +336,6 @@ interface IAddPresenceOfTransitionFilter {
|
|
|
329
336
|
interface IAddDurationOfTransitionFilter {
|
|
330
337
|
(name: EProcessFilterNames.durationOfTransition, value: IProcessTransitionFilterValue): void;
|
|
331
338
|
}
|
|
332
|
-
interface IWidgetFiltration {
|
|
333
|
-
/** Значения фильтров, подготовленные для передачи в вычислитель */
|
|
334
|
-
preparedFilterValues: ICalculatorFilter[];
|
|
335
|
-
/** Добавить фильтр по формуле */
|
|
336
|
-
addFormulaFilter(value: IWidgetFormulaFilterValue): void;
|
|
337
|
-
/** Удалить фильтр по формуле */
|
|
338
|
-
removeFormulaFilter(formula: string): void;
|
|
339
|
-
addProcessFilter(...args: Parameters<IAddPresenceOfEventFilter> | Parameters<IAddRepetitionOfEventFilter> | Parameters<IAddPresenceOfTransitionFilter> | Parameters<IAddDurationOfTransitionFilter>): void;
|
|
340
|
-
}
|
|
341
339
|
declare enum EFormulaFilterFieldKeys {
|
|
342
340
|
date = "date",
|
|
343
341
|
dateRange = "dateRange",
|
|
@@ -361,7 +359,7 @@ interface IFormulaFilterValue {
|
|
|
361
359
|
/** Метод фильтрации */
|
|
362
360
|
filteringMethod: valueof<typeof formulaFilterMethods>;
|
|
363
361
|
/** Выбранные в списке значения в виде моделей */
|
|
364
|
-
checkedValues: string[];
|
|
362
|
+
checkedValues: (string | null)[];
|
|
365
363
|
/** Значения полей формы редактора */
|
|
366
364
|
formValues: Partial<{
|
|
367
365
|
[EFormulaFilterFieldKeys.date]: string | null;
|
|
@@ -375,6 +373,41 @@ interface IFormulaFilterValue {
|
|
|
375
373
|
[EFormulaFilterFieldKeys.durationUnit]: EDurationUnit;
|
|
376
374
|
}>;
|
|
377
375
|
}
|
|
376
|
+
interface IStagesFilterItem {
|
|
377
|
+
id: number;
|
|
378
|
+
/** Название этапа */
|
|
379
|
+
name: string;
|
|
380
|
+
/** Формула фильтра этапа */
|
|
381
|
+
formula: string;
|
|
382
|
+
isSelected: boolean;
|
|
383
|
+
}
|
|
384
|
+
interface IStagesFilterValue {
|
|
385
|
+
/** Ключ виджета */
|
|
386
|
+
widgetKey: string;
|
|
387
|
+
/** Заголовок фильтра */
|
|
388
|
+
name: TNullable<string>;
|
|
389
|
+
/** Этапы */
|
|
390
|
+
stages: IStagesFilterItem[];
|
|
391
|
+
}
|
|
392
|
+
type TWidgetFilterValue = IFormulaFilterValue | IStagesFilterValue | IProcessEventFilterValue | IProcessTransitionFilterValue;
|
|
393
|
+
interface IWidgetFilter {
|
|
394
|
+
filterValue: TWidgetFilterValue;
|
|
395
|
+
preparedFilterValue: ICalculatorFilter;
|
|
396
|
+
}
|
|
397
|
+
interface IWidgetFiltration {
|
|
398
|
+
/** Значения фильтров, подготовленные для передачи в вычислитель */
|
|
399
|
+
preparedFilterValues: ICalculatorFilter[];
|
|
400
|
+
filters: IWidgetFilter[];
|
|
401
|
+
/** Добавить фильтр по формуле */
|
|
402
|
+
addFormulaFilter(value: IWidgetFormulaFilterValue | TSelectivePartial<IFormulaFilterValue, "format" | "formValues">): void;
|
|
403
|
+
/** Удалить фильтр по формуле */
|
|
404
|
+
removeFormulaFilter(formula: string): void;
|
|
405
|
+
addProcessFilter(...args: Parameters<IAddPresenceOfEventFilter> | Parameters<IAddRepetitionOfEventFilter> | Parameters<IAddPresenceOfTransitionFilter> | Parameters<IAddDurationOfTransitionFilter>): void;
|
|
406
|
+
/** Добавить фильтр по этапам */
|
|
407
|
+
addStagesFilter(value: Omit<IStagesFilterValue, "widgetKey">): void;
|
|
408
|
+
/** Удалить фильтр по этапам */
|
|
409
|
+
removeStagesFilter(widgetKey: string): void;
|
|
410
|
+
}
|
|
378
411
|
|
|
379
412
|
declare enum EWidgetFilterMode {
|
|
380
413
|
DEFAULT = "DEFAULT",
|
|
@@ -390,25 +423,62 @@ type TWidgetFiltering = {
|
|
|
390
423
|
mode: EWidgetFilterMode;
|
|
391
424
|
};
|
|
392
425
|
declare enum EColorMode {
|
|
426
|
+
DISABLED = "DISABLED",
|
|
393
427
|
FORMULA = "FORMULA",
|
|
394
428
|
BASE = "BASE",
|
|
395
429
|
GRADIENT = "GRADIENT",
|
|
396
|
-
AUTO = "AUTO"
|
|
430
|
+
AUTO = "AUTO",
|
|
431
|
+
RULE = "RULE",
|
|
432
|
+
VALUES = "VALUES",
|
|
433
|
+
BY_DIMENSION = "BY_DIMENSION"
|
|
397
434
|
}
|
|
398
|
-
|
|
399
|
-
type TColor = {
|
|
400
|
-
mode: EColorMode.FORMULA;
|
|
401
|
-
formula: string;
|
|
402
|
-
} | {
|
|
435
|
+
type TColorBase = {
|
|
403
436
|
mode: EColorMode.BASE;
|
|
404
437
|
value?: string;
|
|
405
438
|
defaultColor?: string;
|
|
439
|
+
};
|
|
440
|
+
declare enum EColorScope {
|
|
441
|
+
WORKSPACE = "WORKSPACE",
|
|
442
|
+
DASHBOARD = "DASHBOARD"
|
|
443
|
+
}
|
|
444
|
+
type TColorRuleCommon = {
|
|
445
|
+
mode: EColorMode.RULE;
|
|
446
|
+
ruleName: string;
|
|
447
|
+
};
|
|
448
|
+
type TColorRule = ({
|
|
449
|
+
scope: EColorScope.DASHBOARD | null;
|
|
406
450
|
} | {
|
|
451
|
+
scope: EColorScope.WORKSPACE;
|
|
452
|
+
workspaceGroupId: number | null;
|
|
453
|
+
}) & TColorRuleCommon;
|
|
454
|
+
interface IColoredValue {
|
|
455
|
+
value: string;
|
|
456
|
+
color: TColorBase | TColorRule;
|
|
457
|
+
}
|
|
458
|
+
declare enum EMarkdownDisplayMode {
|
|
459
|
+
NONE = "NONE",
|
|
460
|
+
INDICATOR = "INDICATOR"
|
|
461
|
+
}
|
|
462
|
+
/** Настройка цвета */
|
|
463
|
+
type TColor = {
|
|
464
|
+
mode: EColorMode.FORMULA;
|
|
465
|
+
formula: string;
|
|
466
|
+
} | TColorBase | {
|
|
407
467
|
mode: EColorMode.GRADIENT;
|
|
408
468
|
startValue: string;
|
|
409
469
|
endValue: string;
|
|
410
470
|
} | {
|
|
411
471
|
mode: EColorMode.AUTO;
|
|
472
|
+
} | TColorRule | {
|
|
473
|
+
mode: EColorMode.VALUES;
|
|
474
|
+
dimensionFormula: string;
|
|
475
|
+
items: IColoredValue[];
|
|
476
|
+
} | {
|
|
477
|
+
mode: EColorMode.BY_DIMENSION;
|
|
478
|
+
dimensionName: string;
|
|
479
|
+
items: IColoredValue[];
|
|
480
|
+
} | {
|
|
481
|
+
mode: EColorMode.DISABLED;
|
|
412
482
|
};
|
|
413
483
|
declare enum EDisplayConditionMode {
|
|
414
484
|
DISABLED = "DISABLED",
|
|
@@ -423,7 +493,7 @@ type TDisplayCondition = {
|
|
|
423
493
|
formula: TNullable<string>;
|
|
424
494
|
} | {
|
|
425
495
|
mode: EDisplayConditionMode.VARIABLE;
|
|
426
|
-
|
|
496
|
+
variableName: TNullable<string>;
|
|
427
497
|
variableValue: TNullable<string>;
|
|
428
498
|
};
|
|
429
499
|
interface IRange {
|
|
@@ -432,6 +502,165 @@ interface IRange {
|
|
|
432
502
|
max?: number;
|
|
433
503
|
}
|
|
434
504
|
|
|
505
|
+
interface IWidgetTableColumn {
|
|
506
|
+
/** Имя колонки */
|
|
507
|
+
name: string;
|
|
508
|
+
/** Тип данных колонки */
|
|
509
|
+
dataType: ESimpleDataType;
|
|
510
|
+
}
|
|
511
|
+
interface IActionScript {
|
|
512
|
+
name: string | undefined;
|
|
513
|
+
fieldsNames: Set<string>;
|
|
514
|
+
}
|
|
515
|
+
interface IWidgetTable {
|
|
516
|
+
/** Имя таблицы */
|
|
517
|
+
name: string;
|
|
518
|
+
/** Колонки таблицы */
|
|
519
|
+
columns: Map<string, IWidgetTableColumn>;
|
|
520
|
+
}
|
|
521
|
+
/**
|
|
522
|
+
* simplified - упрощенный для работы фильтрации в образах открытых в дровере/модальном окне
|
|
523
|
+
*
|
|
524
|
+
* full - полный
|
|
525
|
+
*/
|
|
526
|
+
type TFiltrationMode = "simplified" | "full";
|
|
527
|
+
/**
|
|
528
|
+
* preview - упрощенный
|
|
529
|
+
*
|
|
530
|
+
* full - полный
|
|
531
|
+
*/
|
|
532
|
+
type TDisplayMode = "preview" | "full";
|
|
533
|
+
interface IDisplayRule {
|
|
534
|
+
color: TColor;
|
|
535
|
+
}
|
|
536
|
+
interface IWidgetsContext {
|
|
537
|
+
/** используемый язык в системе */
|
|
538
|
+
language: ELanguages;
|
|
539
|
+
processes: Map<string, IWidgetProcess>;
|
|
540
|
+
reportMeasures: TNullable<Map<string, ICommonColumnIndicator>>;
|
|
541
|
+
workspaceMeasures: TNullable<Map<string, ICommonColumnIndicator>>;
|
|
542
|
+
/** Переменные отчета */
|
|
543
|
+
variables: Map<string, TWidgetVariable>;
|
|
544
|
+
/** Метод установки значения переменной отчета */
|
|
545
|
+
setVariableValue(name: string, value: TNullable<string> | string[]): void;
|
|
546
|
+
statesNames: Set<string>;
|
|
547
|
+
reportName: string;
|
|
548
|
+
/**
|
|
549
|
+
* режим дашборда
|
|
550
|
+
* @deprecated 2401 - необходимо использовать displayMode */
|
|
551
|
+
isViewMode: boolean;
|
|
552
|
+
/** Режим отображения виджета */
|
|
553
|
+
displayMode: TDisplayMode;
|
|
554
|
+
/** @deprecated необходимо получать из системной переменной "Login" */
|
|
555
|
+
userLogin: string;
|
|
556
|
+
scripts: Map<string, IActionScript>;
|
|
557
|
+
tables: Set<string>;
|
|
558
|
+
filtrationMode: TFiltrationMode;
|
|
559
|
+
reportDisplayRules: Map<string, IDisplayRule>;
|
|
560
|
+
workspaceDisplayRules: Map<number, Map<string, IDisplayRule>>;
|
|
561
|
+
viewKeyByName: Map<string, string>;
|
|
562
|
+
fetchColumnsByTableName(tableName: string): Promise<IWidgetTableColumn[] | undefined>;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
declare enum EWidgetActionInputMode {
|
|
566
|
+
FROM_COLUMN = "FROM_COLUMN",
|
|
567
|
+
FROM_VARIABLE = "FROM_VARIABLE",
|
|
568
|
+
STATIC_LIST = "STATIC_LIST",
|
|
569
|
+
DYNAMIC_LIST = "DYNAMIC_LIST",
|
|
570
|
+
FORMULA = "FORMULA",
|
|
571
|
+
MANUALLY = "MANUALLY"
|
|
572
|
+
}
|
|
573
|
+
interface IActionCommon {
|
|
574
|
+
id: number;
|
|
575
|
+
name: string;
|
|
576
|
+
}
|
|
577
|
+
declare enum EActionTypes {
|
|
578
|
+
URL = "URL",
|
|
579
|
+
UPDATE_VARIABLE = "UPDATE_VARIABLE",
|
|
580
|
+
RUN_SCRIPT = "RUN_SCRIPT",
|
|
581
|
+
OPEN_VIEW = "OPEN_VIEW"
|
|
582
|
+
}
|
|
583
|
+
interface IActionGoToUrl extends IActionCommon {
|
|
584
|
+
type: EActionTypes.URL;
|
|
585
|
+
url: string;
|
|
586
|
+
targetBlank: boolean;
|
|
587
|
+
}
|
|
588
|
+
interface IActionScriptField {
|
|
589
|
+
name: string;
|
|
590
|
+
id: number;
|
|
591
|
+
value: TWidgetActionInputValue;
|
|
592
|
+
}
|
|
593
|
+
interface IActionRunScript extends IActionCommon {
|
|
594
|
+
description: string;
|
|
595
|
+
type: EActionTypes.RUN_SCRIPT;
|
|
596
|
+
filters: (IFormulaFilterValue | string)[];
|
|
597
|
+
inputs: IActionScriptField[];
|
|
598
|
+
scriptName: string;
|
|
599
|
+
shouldRefreshWidgetsAfterExecution: boolean;
|
|
600
|
+
}
|
|
601
|
+
interface IActionUpdateVariable extends IActionCommon {
|
|
602
|
+
type: EActionTypes.UPDATE_VARIABLE;
|
|
603
|
+
variables: Array<string>;
|
|
604
|
+
}
|
|
605
|
+
declare enum EViewType {
|
|
606
|
+
CREATED_VIEW = "CREATED_VIEW",
|
|
607
|
+
GENERATED_BY_SCRIPT = "GENERATED_BY_SCRIPT"
|
|
608
|
+
}
|
|
609
|
+
declare enum EOpenViewMode {
|
|
610
|
+
NEW_WINDOW = "NEW_WINDOW",
|
|
611
|
+
PLACEHOLDER = "PLACEHOLDER",
|
|
612
|
+
MODAL = "MODAL",
|
|
613
|
+
DRAWER = "DRAWER"
|
|
614
|
+
}
|
|
615
|
+
declare enum EDrawerPlacement {
|
|
616
|
+
LEFT = "LEFT",
|
|
617
|
+
RIGHT = "RIGHT"
|
|
618
|
+
}
|
|
619
|
+
interface IActionOpenView extends IActionCommon {
|
|
620
|
+
type: EActionTypes.OPEN_VIEW;
|
|
621
|
+
viewName: string;
|
|
622
|
+
viewKey: string;
|
|
623
|
+
openMode: EOpenViewMode;
|
|
624
|
+
viewType: EViewType;
|
|
625
|
+
drawerPlacement: EDrawerPlacement;
|
|
626
|
+
placeholderName: string;
|
|
627
|
+
inputs: IActionScriptField[];
|
|
628
|
+
isOpenInCurrentWindow?: boolean;
|
|
629
|
+
}
|
|
630
|
+
type TActionsOnClick = IActionGoToUrl | IActionRunScript | IActionUpdateVariable | IActionOpenView;
|
|
631
|
+
type TWidgetActionCommonInputValue = {
|
|
632
|
+
name: string;
|
|
633
|
+
isHidden: boolean;
|
|
634
|
+
};
|
|
635
|
+
type TWidgetActionInputValue = TWidgetActionCommonInputValue & ({
|
|
636
|
+
mode: EWidgetActionInputMode.FROM_COLUMN;
|
|
637
|
+
tableName: string;
|
|
638
|
+
columnName: string;
|
|
639
|
+
} | {
|
|
640
|
+
mode: EWidgetActionInputMode.FROM_VARIABLE;
|
|
641
|
+
sourceVariable: string;
|
|
642
|
+
} | {
|
|
643
|
+
mode: EWidgetActionInputMode.FORMULA;
|
|
644
|
+
formula: string;
|
|
645
|
+
} | {
|
|
646
|
+
mode: EWidgetActionInputMode.MANUALLY;
|
|
647
|
+
description: string;
|
|
648
|
+
} | {
|
|
649
|
+
mode: EWidgetActionInputMode.STATIC_LIST;
|
|
650
|
+
options: string[];
|
|
651
|
+
defaultOptionIndex: number;
|
|
652
|
+
} | {
|
|
653
|
+
mode: EWidgetActionInputMode.DYNAMIC_LIST;
|
|
654
|
+
formula: string;
|
|
655
|
+
defaultValue: string;
|
|
656
|
+
filters: (IFormulaFilterValue | string)[];
|
|
657
|
+
});
|
|
658
|
+
interface IWidgetActionInput {
|
|
659
|
+
name: string;
|
|
660
|
+
value: TWidgetActionInputValue;
|
|
661
|
+
}
|
|
662
|
+
declare const isActionValid: (action: TActionsOnClick, { scripts, tables, variables }: IWidgetsContext) => boolean;
|
|
663
|
+
|
|
435
664
|
declare enum ESortDirection {
|
|
436
665
|
descend = "DESC",
|
|
437
666
|
ascend = "ASC",
|
|
@@ -442,6 +671,7 @@ type TSortDirection = ESortDirection.ascend | ESortDirection.descend;
|
|
|
442
671
|
interface ISortOrder {
|
|
443
672
|
formula: string;
|
|
444
673
|
direction: TSortDirection;
|
|
674
|
+
displayCondition?: TNullable<string>;
|
|
445
675
|
}
|
|
446
676
|
type TWidgetSortingValueRelatedWidgetMeasure = {
|
|
447
677
|
mode: ESortingValueModes.MEASURE_IN_WIDGET;
|
|
@@ -457,7 +687,7 @@ type TWidgetSortingValue = {
|
|
|
457
687
|
formula: string;
|
|
458
688
|
} | TWidgetSortingValueRelatedWidgetIndicator | {
|
|
459
689
|
mode: ESortingValueModes.IN_DASHBOARD | ESortingValueModes.IN_WORKSPACE;
|
|
460
|
-
|
|
690
|
+
name: string;
|
|
461
691
|
formula: string;
|
|
462
692
|
};
|
|
463
693
|
|
|
@@ -540,7 +770,6 @@ declare enum ESortingValueModes {
|
|
|
540
770
|
IN_WORKSPACE = "IN_WORKSPACE"
|
|
541
771
|
}
|
|
542
772
|
interface ICommonColumnIndicator {
|
|
543
|
-
guid: string;
|
|
544
773
|
name: string;
|
|
545
774
|
formula: string;
|
|
546
775
|
}
|
|
@@ -570,6 +799,7 @@ interface IWidgetColumnIndicator extends IWidgetIndicator {
|
|
|
570
799
|
formatting?: EFormattingPresets;
|
|
571
800
|
formattingTemplate?: string;
|
|
572
801
|
displayCondition?: TDisplayCondition;
|
|
802
|
+
onclick?: TActionsOnClick[];
|
|
573
803
|
}
|
|
574
804
|
interface IWidgetDimensionHierarchy<D extends IWidgetDimension = IWidgetDimension> {
|
|
575
805
|
/** Идентификатор, генерируемый на основе текущего времени */
|
|
@@ -586,6 +816,10 @@ interface IWidgetDimension extends IWidgetColumnIndicator {
|
|
|
586
816
|
interface IWidgetMeasure extends IWidgetColumnIndicator {
|
|
587
817
|
type: EWidgetIndicatorType.MEASURE;
|
|
588
818
|
}
|
|
819
|
+
interface IMarkdownMeasure extends IWidgetMeasure {
|
|
820
|
+
format: EFormatTypes;
|
|
821
|
+
displayMode: EMarkdownDisplayMode;
|
|
822
|
+
}
|
|
589
823
|
/** Тип показателя */
|
|
590
824
|
declare enum EIndicatorType {
|
|
591
825
|
/** Показатели процесса */
|
|
@@ -651,110 +885,18 @@ type TWidgetVariable = {
|
|
|
651
885
|
};
|
|
652
886
|
declare function isHierarchy(indicator: IWidgetColumnIndicator): indicator is IWidgetDimensionHierarchy;
|
|
653
887
|
|
|
654
|
-
interface IWidgetTableColumn {
|
|
655
|
-
/** Имя колонки */
|
|
656
|
-
name: string;
|
|
657
|
-
/** Тип данных колонки */
|
|
658
|
-
dataType: ESimpleDataType;
|
|
659
|
-
}
|
|
660
|
-
interface IActionScript {
|
|
661
|
-
guid: string | undefined;
|
|
662
|
-
fieldsGuids: Set<string>;
|
|
663
|
-
}
|
|
664
|
-
interface IWidgetTable {
|
|
665
|
-
/** Имя таблицы */
|
|
666
|
-
name: string;
|
|
667
|
-
/** Колонки таблицы */
|
|
668
|
-
columns: Map<string, IWidgetTableColumn>;
|
|
669
|
-
}
|
|
670
|
-
/**
|
|
671
|
-
* preview - упрощенный
|
|
672
|
-
*
|
|
673
|
-
* full - полный
|
|
674
|
-
*/
|
|
675
|
-
type TDisplayMode = "preview" | "full";
|
|
676
|
-
interface IWidgetsContext {
|
|
677
|
-
/** используемый язык в системе */
|
|
678
|
-
language: ELanguages;
|
|
679
|
-
processes: Map<string, IWidgetProcess>;
|
|
680
|
-
reportMeasures: TNullable<Map<string, ICommonColumnIndicator>>;
|
|
681
|
-
workspaceMeasures: TNullable<Map<string, ICommonColumnIndicator>>;
|
|
682
|
-
/** Переменные отчета */
|
|
683
|
-
variables: Map<string, TWidgetVariable>;
|
|
684
|
-
/** Метод установки значения переменной отчета */
|
|
685
|
-
setVariableValue(guid: string, value: TNullable<string> | string[]): void;
|
|
686
|
-
statesGuids: Set<string>;
|
|
687
|
-
reportName: string;
|
|
688
|
-
/**
|
|
689
|
-
* режим дашборда
|
|
690
|
-
* @deprecated 2401 - необходимо использовать displayMode */
|
|
691
|
-
isViewMode: boolean;
|
|
692
|
-
/** Режим отображения виджета */
|
|
693
|
-
displayMode: TDisplayMode;
|
|
694
|
-
/** @deprecated необходимо получать из системной переменной "Login" */
|
|
695
|
-
userLogin: string;
|
|
696
|
-
scripts: Map<string, IActionScript>;
|
|
697
|
-
tables: Set<string>;
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
declare enum EWidgetActionInputMode {
|
|
701
|
-
FROM_COLUMN = "FROM_COLUMN",
|
|
702
|
-
FROM_VARIABLE = "FROM_VARIABLE",
|
|
703
|
-
STATIC_LIST = "STATIC_LIST",
|
|
704
|
-
DYNAMIC_LIST = "DYNAMIC_LIST",
|
|
705
|
-
FORMULA = "FORMULA",
|
|
706
|
-
MANUALLY = "MANUALLY"
|
|
707
|
-
}
|
|
708
|
-
type TWidgetActionInputValue = {
|
|
709
|
-
mode: EWidgetActionInputMode.FROM_COLUMN;
|
|
710
|
-
tableName: string;
|
|
711
|
-
columnName: string;
|
|
712
|
-
} | {
|
|
713
|
-
mode: EWidgetActionInputMode.FROM_VARIABLE;
|
|
714
|
-
guid: string;
|
|
715
|
-
} | {
|
|
716
|
-
mode: EWidgetActionInputMode.FORMULA;
|
|
717
|
-
formula: string;
|
|
718
|
-
} | {
|
|
719
|
-
mode: EWidgetActionInputMode.MANUALLY;
|
|
720
|
-
description: string;
|
|
721
|
-
} | {
|
|
722
|
-
mode: EWidgetActionInputMode.STATIC_LIST;
|
|
723
|
-
options: string[];
|
|
724
|
-
defaultOptionIndex: number;
|
|
725
|
-
} | {
|
|
726
|
-
mode: EWidgetActionInputMode.DYNAMIC_LIST;
|
|
727
|
-
formula: string;
|
|
728
|
-
defaultValue: string;
|
|
729
|
-
};
|
|
730
|
-
interface IWidgetActionInput {
|
|
731
|
-
guid: string;
|
|
732
|
-
value: TWidgetActionInputValue;
|
|
733
|
-
}
|
|
734
|
-
interface IWidgetAction {
|
|
735
|
-
id: number;
|
|
736
|
-
name: string;
|
|
737
|
-
description: string;
|
|
738
|
-
filters: (IFormulaFilterValue | string)[];
|
|
739
|
-
scriptGuid?: string;
|
|
740
|
-
/** Поле name необходимо, чтобы показать название скрипта, который был удален */
|
|
741
|
-
scriptName?: string;
|
|
742
|
-
inputs: IWidgetActionInput[];
|
|
743
|
-
shouldRefreshWidgetsAfterExecution: boolean;
|
|
744
|
-
}
|
|
745
|
-
declare const isActionValid: (action: IWidgetAction, { scripts, tables }: IWidgetsContext) => boolean;
|
|
746
|
-
|
|
747
888
|
interface IBaseWidgetSettings {
|
|
748
|
-
apiVersion: string;
|
|
749
|
-
type: string;
|
|
750
889
|
header?: string;
|
|
751
890
|
headerSize?: number;
|
|
752
|
-
|
|
891
|
+
stateName?: string | null;
|
|
892
|
+
showMarkdown?: boolean;
|
|
893
|
+
markdownMeasures?: IMarkdownMeasure[];
|
|
894
|
+
markdownText?: string;
|
|
753
895
|
filters?: (IFormulaFilterValue | string)[];
|
|
754
896
|
filterMode?: EWidgetFilterMode;
|
|
755
897
|
ignoreFilters?: boolean;
|
|
756
898
|
sorting?: IWidgetSortingIndicator[];
|
|
757
|
-
actions?:
|
|
899
|
+
actions?: TActionsOnClick[];
|
|
758
900
|
displayCondition?: TDisplayCondition;
|
|
759
901
|
displayConditionComment?: string;
|
|
760
902
|
}
|
|
@@ -786,20 +928,85 @@ type TGroupLevelRecord<LevelGroupSettings extends object> = IControlRecord<Level
|
|
|
786
928
|
interface ISelectOption {
|
|
787
929
|
value: string;
|
|
788
930
|
label: string;
|
|
931
|
+
disabled?: boolean;
|
|
932
|
+
rightIcon?: "fx" | string;
|
|
933
|
+
}
|
|
934
|
+
declare enum ESelectOptionTypes {
|
|
935
|
+
DIVIDER = "DIVIDER",
|
|
936
|
+
SYSTEM = "SYSTEM",
|
|
937
|
+
GROUP = "GROUP",
|
|
938
|
+
BRANCH = "BRANCH",
|
|
939
|
+
LEAF = "LEAF"
|
|
940
|
+
}
|
|
941
|
+
declare enum ECustomSelectTemplates {
|
|
942
|
+
FORMULA = "FORMULA",
|
|
943
|
+
DIMENSION_GROUPS = "DIMENSION_GROUPS"
|
|
944
|
+
}
|
|
945
|
+
interface ISelectDividerOption {
|
|
946
|
+
type: ESelectOptionTypes.DIVIDER;
|
|
947
|
+
}
|
|
948
|
+
interface ISelectSystemOption<T extends string = string> {
|
|
949
|
+
type: ESelectOptionTypes.SYSTEM;
|
|
950
|
+
template: T;
|
|
789
951
|
}
|
|
952
|
+
interface ISelectGroupOption {
|
|
953
|
+
type: ESelectOptionTypes.GROUP;
|
|
954
|
+
label: string;
|
|
955
|
+
options: IAddButtonSelectOption[];
|
|
956
|
+
icon: string;
|
|
957
|
+
}
|
|
958
|
+
type TSelectFetchOptions = () => Promise<IAddButtonSelectOption[]>;
|
|
959
|
+
type TSelectChildOptions = IAddButtonSelectOption[] | TSelectFetchOptions;
|
|
960
|
+
interface ISelectBranchOption {
|
|
961
|
+
type: ESelectOptionTypes.BRANCH;
|
|
962
|
+
label: string;
|
|
963
|
+
options: TSelectChildOptions;
|
|
964
|
+
icon?: string;
|
|
965
|
+
disabled?: boolean;
|
|
966
|
+
}
|
|
967
|
+
interface ISelectLeafOption {
|
|
968
|
+
type: ESelectOptionTypes.LEAF;
|
|
969
|
+
label: string;
|
|
970
|
+
value: string;
|
|
971
|
+
onSelect: <T = object>(value: string, update: <R extends object>(f: (prevItems: (T | R)[]) => (T | R)[]) => void) => void;
|
|
972
|
+
/** Строка в формате base64 */
|
|
973
|
+
icon?: string;
|
|
974
|
+
disabled?: boolean;
|
|
975
|
+
}
|
|
976
|
+
type IAddButtonSelectOption = ISelectDividerOption | ISelectGroupOption | ISelectBranchOption | ISelectLeafOption;
|
|
977
|
+
type TCustomAddButtonSelectOption = ISelectSystemOption<ECustomSelectTemplates> | IAddButtonSelectOption;
|
|
978
|
+
type TMeasureAddButtonSelectOption = IAddButtonSelectOption;
|
|
790
979
|
interface ICustomAddButtonProps {
|
|
791
|
-
options
|
|
792
|
-
|
|
793
|
-
|
|
980
|
+
options: TSelectChildOptions;
|
|
981
|
+
hasDropdown?: boolean;
|
|
982
|
+
onClick?: ISelectLeafOption["onSelect"];
|
|
983
|
+
}
|
|
984
|
+
interface IWidgetIndicatorMenuConfig {
|
|
985
|
+
hideTablesColumnsOptions?: boolean;
|
|
986
|
+
hideCommonOptions?: boolean;
|
|
987
|
+
hideQuantityOption?: boolean;
|
|
988
|
+
}
|
|
989
|
+
interface IMeasureMenuConfig extends IWidgetIndicatorMenuConfig {
|
|
990
|
+
options?: TMeasureAddButtonSelectOption[];
|
|
991
|
+
}
|
|
992
|
+
interface ISortingMenuConfig extends IWidgetIndicatorMenuConfig {
|
|
794
993
|
}
|
|
795
994
|
/** Кнопка добавления группы в набор */
|
|
796
995
|
type TAddButton = {
|
|
797
996
|
title: string;
|
|
798
|
-
indicatorType: Exclude<EWidgetIndicatorType, EWidgetIndicatorType.CUSTOM>;
|
|
997
|
+
indicatorType: Exclude<EWidgetIndicatorType, EWidgetIndicatorType.CUSTOM | EWidgetIndicatorType.MEASURE | EWidgetIndicatorType.SORTING>;
|
|
799
998
|
} | {
|
|
800
999
|
title: string;
|
|
801
1000
|
indicatorType: EWidgetIndicatorType.CUSTOM;
|
|
802
1001
|
props: ICustomAddButtonProps;
|
|
1002
|
+
} | {
|
|
1003
|
+
title: string;
|
|
1004
|
+
indicatorType: EWidgetIndicatorType.MEASURE;
|
|
1005
|
+
menuConfig?: IMeasureMenuConfig;
|
|
1006
|
+
} | {
|
|
1007
|
+
title: string;
|
|
1008
|
+
indicatorType: EWidgetIndicatorType.SORTING;
|
|
1009
|
+
menuConfig?: ISortingMenuConfig;
|
|
803
1010
|
};
|
|
804
1011
|
interface IAutoIdentifiedArrayItem {
|
|
805
1012
|
/**
|
|
@@ -830,9 +1037,19 @@ interface IGroupSetDescription<Settings extends object, GroupSettings extends ob
|
|
|
830
1037
|
isValid?(group: IGroupSettings): boolean;
|
|
831
1038
|
/** Находится ли группа в состоянии загрузки */
|
|
832
1039
|
isLoading?(group: IGroupSettings): boolean;
|
|
1040
|
+
/** Можно ли удалять группу по умолчанию true */
|
|
1041
|
+
isRemovable?(group: IGroupSettings): boolean;
|
|
1042
|
+
/** Можно ли сортировать группу по умолчанию true */
|
|
1043
|
+
isDraggable?: boolean;
|
|
1044
|
+
/** Опциональный верхний отступ для группы */
|
|
1045
|
+
marginTop?: number;
|
|
833
1046
|
}
|
|
834
1047
|
/** Конфигурация левой панели */
|
|
835
1048
|
interface IPanelDescription<Settings extends object, GroupSettings extends IGroupSettings = IGroupSettings> {
|
|
1049
|
+
/** Добавить заголовок для виджета */
|
|
1050
|
+
useHeader?: boolean;
|
|
1051
|
+
/** Добавить описание для виджета */
|
|
1052
|
+
useMarkdown?: boolean;
|
|
836
1053
|
/** Конфигурация настроек данных виджета */
|
|
837
1054
|
dataRecords?: TWidgetLevelRecord<Settings>[];
|
|
838
1055
|
/** Конфигурация настроек отображения виджета */
|
|
@@ -873,15 +1090,14 @@ interface IWidgetPlaceholderController {
|
|
|
873
1090
|
setConfigured(value: boolean): void;
|
|
874
1091
|
setDisplay(value: boolean): void;
|
|
875
1092
|
setEmpty(value: boolean): void;
|
|
1093
|
+
setOverlay(value: boolean): void;
|
|
876
1094
|
}
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
/** Коллекция значений переменных по их имени */
|
|
884
|
-
interface ICalculatorVariablesValues extends Map<string, ICalculatorVariable> {
|
|
1095
|
+
interface IWidgetPlaceholderValues {
|
|
1096
|
+
error: Error | null;
|
|
1097
|
+
isConfigured: boolean;
|
|
1098
|
+
isDisplay: boolean | undefined;
|
|
1099
|
+
isEmpty: boolean;
|
|
1100
|
+
isOverlay: boolean;
|
|
885
1101
|
}
|
|
886
1102
|
|
|
887
1103
|
/** Формат входного параметра GeneralCalculator */
|
|
@@ -890,8 +1106,6 @@ interface IBaseDimensionsAndMeasuresCalculatorInput {
|
|
|
890
1106
|
dimensions: ICalculatorDimensionInput[];
|
|
891
1107
|
/** Меры */
|
|
892
1108
|
measures: ICalculatorMeasureInput[];
|
|
893
|
-
/** Значения переменных */
|
|
894
|
-
variablesValues?: ICalculatorVariablesValues;
|
|
895
1109
|
/** Фильтры, использующие WHERE */
|
|
896
1110
|
filters: ICalculatorFilter[];
|
|
897
1111
|
/** Фильтры, использующие HAVING */
|
|
@@ -945,8 +1159,6 @@ interface IHistogramCalculatorInput {
|
|
|
945
1159
|
dimensions: ICalculatorDimensionInput[];
|
|
946
1160
|
/** Лимит корзин */
|
|
947
1161
|
binsLimit: number;
|
|
948
|
-
/** Значения переменных */
|
|
949
|
-
variablesValues?: ICalculatorVariablesValues;
|
|
950
1162
|
/** Формула условия отображения */
|
|
951
1163
|
displayConditionFormula?: TNullable<string>;
|
|
952
1164
|
/** Фильтры, использующие WHERE */
|
|
@@ -991,7 +1203,7 @@ interface IEdge extends IGraphElement {
|
|
|
991
1203
|
endName: string | null;
|
|
992
1204
|
}
|
|
993
1205
|
interface IProcessGraphCalculatorInput {
|
|
994
|
-
|
|
1206
|
+
processName: string;
|
|
995
1207
|
vertexLimit: number | null;
|
|
996
1208
|
edgeLimit: number;
|
|
997
1209
|
vertexMeasures: ICalculatorMeasureInput[];
|
|
@@ -999,8 +1211,6 @@ interface IProcessGraphCalculatorInput {
|
|
|
999
1211
|
filters: ICalculatorFilter[];
|
|
1000
1212
|
eventFilters?: ICalculatorFilter[];
|
|
1001
1213
|
displayConditionFormula?: TNullable<string>;
|
|
1002
|
-
/** Значения переменных */
|
|
1003
|
-
variablesValues?: ICalculatorVariablesValues;
|
|
1004
1214
|
}
|
|
1005
1215
|
interface IProcessGraphCalculatorOutput {
|
|
1006
1216
|
vertexMaxLimit: number;
|
|
@@ -1025,8 +1235,6 @@ interface ITwoLimitsCalculatorInput {
|
|
|
1025
1235
|
dimensionsSecondGroup: ICalculatorDimensionInput[];
|
|
1026
1236
|
/** Меры */
|
|
1027
1237
|
measures: ICalculatorMeasureInput[];
|
|
1028
|
-
/** Значения переменных */
|
|
1029
|
-
variablesValues?: ICalculatorVariablesValues;
|
|
1030
1238
|
/** Фильтры, использующие WHERE */
|
|
1031
1239
|
filters: ICalculatorFilter[];
|
|
1032
1240
|
/** Фильтры, использующие HAVING */
|
|
@@ -1063,19 +1271,23 @@ interface ITwoLimitsCalculator extends ICalculator<ITwoLimitsCalculatorInput, IT
|
|
|
1063
1271
|
}
|
|
1064
1272
|
|
|
1065
1273
|
interface ITypeCalculatorInput {
|
|
1066
|
-
|
|
1067
|
-
|
|
1274
|
+
dimensions: {
|
|
1275
|
+
alias: string;
|
|
1276
|
+
formula: string;
|
|
1277
|
+
}[];
|
|
1278
|
+
measures: {
|
|
1279
|
+
alias: string;
|
|
1280
|
+
formula: string;
|
|
1281
|
+
}[];
|
|
1068
1282
|
}
|
|
1069
1283
|
interface ITypeCalculatorOutput {
|
|
1070
|
-
|
|
1284
|
+
types: Map<string, ESimpleDataType>;
|
|
1071
1285
|
}
|
|
1072
1286
|
interface ITypeCalculator extends ICalculator<ITypeCalculatorInput, ITypeCalculatorOutput> {
|
|
1073
1287
|
}
|
|
1074
1288
|
|
|
1075
1289
|
declare const prepareValuesForSql: (dataType: ESimpleDataType, values: (string | null)[]) => (string | null)[];
|
|
1076
1290
|
|
|
1077
|
-
declare function mapVariablesToInputs(variables: Map<string, TWidgetVariable>): ICalculatorVariablesValues;
|
|
1078
|
-
|
|
1079
1291
|
declare function checkDisplayCondition(displayCondition: TNullable<TDisplayCondition>, variables: Map<string, TWidgetVariable>): boolean;
|
|
1080
1292
|
declare function getDisplayConditionFormula(displayCondition: TNullable<TDisplayCondition>): TNullable<string>;
|
|
1081
1293
|
declare const replaceDisplayCondition: <I extends IWidgetColumnIndicator>(dimension: I, displayCondition: TNullable<TDisplayCondition>) => TNullable<I>;
|
|
@@ -1084,7 +1296,7 @@ declare const replaceDisplayCondition: <I extends IWidgetColumnIndicator>(dimens
|
|
|
1084
1296
|
declare function mapMeasuresToInputs<T extends IWidgetMeasure>(measures: T[], variables: Map<string, TWidgetVariable>, addFormulas?: (measure: T) => Map<string, string>): ICalculatorMeasureInput[];
|
|
1085
1297
|
|
|
1086
1298
|
/** Конвертировать разрезы виджета во входы для вычислителя */
|
|
1087
|
-
declare function mapDimensionsToInputs(dimensions:
|
|
1299
|
+
declare function mapDimensionsToInputs<T extends IWidgetDimension>(dimensions: T[], variables: Map<string, TWidgetVariable>, addFormulas?: (dimension: T) => Map<string, string>): ICalculatorDimensionInput[];
|
|
1088
1300
|
|
|
1089
1301
|
/** Конвертировать процессные показатели виджета во входы для вычислителя */
|
|
1090
1302
|
declare function mapTransitionMeasuresToInputs<T extends IProcessIndicator>(indicators: T[], process: IWidgetProcess, variables: Map<string, TWidgetVariable>, addFormulas?: (indicator: T) => Map<string, string>): ICalculatorMeasureInput[];
|
|
@@ -1099,7 +1311,7 @@ declare function mapEventMeasuresToInputs<T extends IProcessIndicator>(indicator
|
|
|
1099
1311
|
* @param measuresInOriginalOrder меры виджета (конкретная мера будет браться по индексу)
|
|
1100
1312
|
* @returns
|
|
1101
1313
|
*/
|
|
1102
|
-
declare function mapSortingToInputs(sortingIndicators
|
|
1314
|
+
declare function mapSortingToInputs(sortingIndicators: IWidgetSortingIndicator[] | undefined, dimensionsInOriginalOrder: IWidgetDimension[] | undefined, measuresInOriginalOrder: IWidgetMeasure[] | undefined, variables: Map<string, TWidgetVariable>): ISortOrder[];
|
|
1103
1315
|
|
|
1104
1316
|
/**
|
|
1105
1317
|
* Выбрать активный разрез иерархии на основе активных фильтров.
|
|
@@ -1125,6 +1337,18 @@ declare function bindContentsWithIndicators<Output extends ICalculatorIndicatorO
|
|
|
1125
1337
|
|
|
1126
1338
|
declare const escapeSpecialCharacters: (formula: string) => string;
|
|
1127
1339
|
|
|
1340
|
+
/** Удалить из строки символы экранирования */
|
|
1341
|
+
declare function unescapeSpecialCharacters(str: string): string;
|
|
1342
|
+
|
|
1343
|
+
/** Вид переменной для калькулятора */
|
|
1344
|
+
interface ICalculatorVariable {
|
|
1345
|
+
dataType: ESimpleDataType;
|
|
1346
|
+
value: string | string[];
|
|
1347
|
+
}
|
|
1348
|
+
/** Коллекция значений переменных по их имени */
|
|
1349
|
+
interface ICalculatorVariablesValues extends Map<string, ICalculatorVariable> {
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1128
1352
|
interface ICalculatorFactory {
|
|
1129
1353
|
general: () => IGeneralCalculator;
|
|
1130
1354
|
pie: () => IPieCalculator;
|
|
@@ -1145,16 +1369,77 @@ interface IDefinition<WidgetSettings extends IBaseWidgetSettings, GroupSettings
|
|
|
1145
1369
|
getMeasures?(settings: WidgetSettings): IWidgetMeasure[];
|
|
1146
1370
|
}
|
|
1147
1371
|
|
|
1372
|
+
type TContextMenu = (TContextMenuList | TContextMenuButtonGroup) & {
|
|
1373
|
+
event?: MouseEvent;
|
|
1374
|
+
placement?: "topRight" | "topLeft" | "bottomRight" | "bottomLeft";
|
|
1375
|
+
positionOrigin?: "frame" | "workArea";
|
|
1376
|
+
position?: {
|
|
1377
|
+
unitX?: TContextMenuPositionUnit;
|
|
1378
|
+
unitY?: TContextMenuPositionUnit;
|
|
1379
|
+
x?: number;
|
|
1380
|
+
y?: number;
|
|
1381
|
+
};
|
|
1382
|
+
};
|
|
1383
|
+
type TContextMenuPositionUnit = "%" | "px";
|
|
1384
|
+
type TContextMenuList = {
|
|
1385
|
+
type: "list";
|
|
1386
|
+
items: TContextMenuRow[];
|
|
1387
|
+
};
|
|
1388
|
+
type TContextMenuButtonGroup = {
|
|
1389
|
+
type: "buttonGroup";
|
|
1390
|
+
items: TContextMenuButton[];
|
|
1391
|
+
};
|
|
1392
|
+
type TContextMenuRow = {
|
|
1393
|
+
key: string;
|
|
1394
|
+
label: string;
|
|
1395
|
+
onClick: () => void;
|
|
1396
|
+
};
|
|
1397
|
+
type TContextMenuButton = TContextMenuButtonActions | TContextMenuButtonClose | TContextMenuButtonApply | TContextMenuButtonCustom | TContextMenuButtonOptions;
|
|
1398
|
+
type TContextMenuButtonActions = {
|
|
1399
|
+
type: "actions";
|
|
1400
|
+
actions: TActionsOnClick[];
|
|
1401
|
+
onClick: (action: TActionsOnClick) => void;
|
|
1402
|
+
};
|
|
1403
|
+
type TContextMenuButtonClose = {
|
|
1404
|
+
type: "close";
|
|
1405
|
+
onClick?: () => void;
|
|
1406
|
+
};
|
|
1407
|
+
type TContextMenuButtonApply = {
|
|
1408
|
+
type: "apply";
|
|
1409
|
+
onClick: () => void;
|
|
1410
|
+
};
|
|
1411
|
+
type TContextMenuButtonCustom = {
|
|
1412
|
+
key: string;
|
|
1413
|
+
type: "custom";
|
|
1414
|
+
icon: string;
|
|
1415
|
+
onClick: () => void;
|
|
1416
|
+
};
|
|
1417
|
+
type TContextMenuButtonOptions = {
|
|
1418
|
+
key: string;
|
|
1419
|
+
type: "options";
|
|
1420
|
+
icon: string;
|
|
1421
|
+
items: TContextMenuRow[];
|
|
1422
|
+
};
|
|
1423
|
+
|
|
1148
1424
|
type TLaunchActionParams = {
|
|
1149
|
-
action:
|
|
1425
|
+
action: TActionsOnClick;
|
|
1150
1426
|
onSuccess: () => void;
|
|
1151
1427
|
filters: ICalculatorFilter[];
|
|
1152
1428
|
needConfirmation?: boolean;
|
|
1153
1429
|
};
|
|
1430
|
+
interface ILaunchActionSubscribers {
|
|
1431
|
+
onActionSuccess(callback: () => void): void;
|
|
1432
|
+
}
|
|
1154
1433
|
type TWidgetContainer = {
|
|
1155
1434
|
/** Имеет ли контейнер виджета ограниченную максимальную высоту */
|
|
1156
1435
|
isMaxHeightLimited: boolean;
|
|
1436
|
+
/** Установить минимальную высоту рабочей области виджета */
|
|
1437
|
+
setContentMinHeight(value: number): void;
|
|
1157
1438
|
};
|
|
1439
|
+
interface IWidgetPersistValue<T extends object = object> {
|
|
1440
|
+
get(): T | null;
|
|
1441
|
+
set(value: T | null): void;
|
|
1442
|
+
}
|
|
1158
1443
|
interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetSettings> {
|
|
1159
1444
|
/** guid виджета */
|
|
1160
1445
|
guid: string;
|
|
@@ -1175,12 +1460,18 @@ interface IWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetS
|
|
|
1175
1460
|
rootViewContainer: HTMLDivElement;
|
|
1176
1461
|
/** Объект для управления плейсхолдером */
|
|
1177
1462
|
placeholder: IWidgetPlaceholderController;
|
|
1178
|
-
/**
|
|
1463
|
+
/** Объект для получения значений плейсхолдера */
|
|
1464
|
+
placeholderValues: IWidgetPlaceholderValues;
|
|
1465
|
+
/** Контекст виджета */
|
|
1179
1466
|
widgetsContext: IWidgetsContext;
|
|
1180
1467
|
/** Данные о контейнере виджета */
|
|
1181
1468
|
widgetContainer: TWidgetContainer;
|
|
1182
1469
|
/** Запуск действия */
|
|
1183
|
-
launchAction(params: TLaunchActionParams):
|
|
1470
|
+
launchAction(params: TLaunchActionParams): ILaunchActionSubscribers;
|
|
1471
|
+
/** Значение, сохраняемое в localStorage и URL */
|
|
1472
|
+
persistValue: IWidgetPersistValue;
|
|
1473
|
+
/** функция для управления контекстными меню */
|
|
1474
|
+
setContextMenu: (key: string, value: TContextMenu | null) => void;
|
|
1184
1475
|
}
|
|
1185
1476
|
interface ICustomWidgetProps<WidgetSettings extends IBaseWidgetSettings = IBaseWidgetSettings> extends IWidgetProps<WidgetSettings> {
|
|
1186
1477
|
/** @deprecated - нужно использовать из widgetsContext */
|
|
@@ -1336,7 +1627,7 @@ declare const replaceFiltersBySelection: (filters: ICalculatorFilter[], selectio
|
|
|
1336
1627
|
* @param {P} [props] - Дополнительные параметры локализации.
|
|
1337
1628
|
* @returns {string} - Локализованный текст для указанного языка.
|
|
1338
1629
|
*/
|
|
1339
|
-
declare const getLocalizedText: <L extends TLocalizationDescription, P extends ILocalizationProps = TExtractLocalizationParams<L>>(language: ELanguages, locObj: L, props?: P
|
|
1630
|
+
declare const getLocalizedText: <L extends TLocalizationDescription, P extends ILocalizationProps = TExtractLocalizationParams<L>>(language: ELanguages, locObj: L, props?: P) => string;
|
|
1340
1631
|
|
|
1341
1632
|
type TDefineWidgetOptions = {
|
|
1342
1633
|
manifest?: Record<string, unknown>;
|
|
@@ -1352,4 +1643,4 @@ declare global {
|
|
|
1352
1643
|
}
|
|
1353
1644
|
}
|
|
1354
1645
|
|
|
1355
|
-
export { ECalculatorFilterMethods, EColorMode, EControlType, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMeasureTemplateNames, EProcessFilterNames, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionScript, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorVariable, type ICalculatorVariablesValues, type ICommonColumnIndicator, type IControlRecord, type ICustomAddButtonProps, type ICustomWidgetProps, type IDefinition, type IDimensionSelection, type IDimensionSelectionByFormula, type IDisplayPredicate, type IDivePanelDescription, type IDividerRecord, type IEdge, type IExportColumnOrder, type IFillSettings, type IFormulaFilterValue, type IGeneralCalculator, type IGeneralCalculatorExportInput, type IGeneralCalculatorInput, type IGeneralCalculatorOutput, type IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type ILens, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRange, type ISelectOption, type ISortOrder, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type IVertex, type IWidget, type
|
|
1646
|
+
export { EActionTypes, ECalculatorFilterMethods, EColorMode, EColorScope, EControlType, ECustomSelectTemplates, EDbType, EDimensionTemplateNames, EDisplayConditionMode, EDrawerPlacement, EDurationUnit, EEventMeasureTemplateNames, EFormatTypes, EFormattingPresets, EFormulaFilterFieldKeys, EIndicatorType, ELastTimeUnit, EMarkdownDisplayMode, EMeasureTemplateNames, EOpenViewMode, EProcessFilterNames, ESelectOptionTypes, ESimpleDataType, ESortDirection, ESortingValueModes, ETransitionMeasureTemplateNames, EViewType, EWidgetActionInputMode, EWidgetFilterMode, EWidgetIndicatorType, EWidgetIndicatorValueModes, type IActionCommon, type IActionGoToUrl, type IActionOpenView, type IActionRunScript, type IActionScript, type IActionScriptField, type IActionUpdateVariable, type IAddButtonSelectOption, type IAddDurationOfTransitionFilter, type IAddPresenceOfEventFilter, type IAddPresenceOfTransitionFilter, type IAddRepetitionOfEventFilter, type IBaseDimensionsAndMeasuresCalculator, type IBaseDimensionsAndMeasuresCalculatorInput, type IBaseDimensionsAndMeasuresCalculatorOutput, type IBaseWidgetSettings, type ICalculator, type ICalculatorDimensionInput, type ICalculatorDimensionOutput, type ICalculatorFactory, type ICalculatorFilter, type ICalculatorIndicatorInput, type ICalculatorIndicatorOutput, type ICalculatorMeasureInput, type ICalculatorMeasureOutput, type ICalculatorVariable, type ICalculatorVariablesValues, type IColoredValue, type ICommonColumnIndicator, 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 IGraphElement, type IGroupSetDescription, type IGroupSetRecord, type IGroupSettings, type IHistogramBin, type IHistogramCalculator, type IHistogramCalculatorInput, type IHistogramCalculatorOutput, type ILaunchActionSubscribers, type ILens, type IMarkdownMeasure, type IMeasureMenuConfig, type IPanelDescription, type IPanelDescriptionCreator, type IPieCalculator, type IPieCalculatorInput, type IPieCalculatorOutput, type IProcessEventFilterValue, type IProcessEventIndicator, type IProcessGraphCalculator, type IProcessGraphCalculatorInput, type IProcessGraphCalculatorOutput, type IProcessIndicator, type IProcessTransitionFilterValue, type IProcessTransitionIndicator, type IRange, type ISelectBranchOption, type ISelectDividerOption, type ISelectGroupOption, type ISelectLeafOption, type ISelectOption, type ISelectSystemOption, type ISortOrder, type ISortingMenuConfig, type IStagesFilterValue, type ITwoLimitsCalculator, type ITwoLimitsCalculatorExportInput, type ITwoLimitsCalculatorInput, type ITwoLimitsCalculatorOutput, type ITypeCalculator, type ITypeCalculatorInput, type ITypeCalculatorOutput, type IVertex, type IWidget, type IWidgetActionInput, type IWidgetColumnIndicator, type IWidgetDimension, type IWidgetDimensionHierarchy, type IWidgetEntity, type IWidgetFilter, type IWidgetFiltration, type IWidgetFormatting, type IWidgetFormulaFilterValue, type IWidgetIndicator, type IWidgetIndicatorMenuConfig, type IWidgetMeasure, type IWidgetPersistValue, type IWidgetPlaceholderController, type IWidgetPlaceholderValues, type IWidgetProcess, type IWidgetProps, type IWidgetSortingIndicator, type IWidgetTable, type IWidgetTableColumn, type IWidgetsContext, type TActionsOnClick, type TBoundedContentWithIndicator, type TColor, 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 TFiltrationMode, type TGroupLevelRecord, type TLaunchActionParams, type TMeasureAddButtonSelectOption, type TProcessIndicatorValue, type TRecordAccessor, type TSelectChildOptions, type TSelectFetchOptions, type TSelectivePartial, type TSortDirection, type TUpdateSelection, type TValuePath, type TWidgetActionCommonInputValue, type TWidgetActionInputValue, type TWidgetContainer, type TWidgetFilterValue, type TWidgetFiltering, type TWidgetLevelRecord, type TWidgetSortingValue, type TWidgetSortingValueRelatedWidgetDimension, type TWidgetSortingValueRelatedWidgetIndicator, type TWidgetSortingValueRelatedWidgetMeasure, type TWidgetVariable, bindContentWithIndicator, bindContentsWithIndicators, checkDisplayCondition, dimensionTemplateFormulas, escapeSpecialCharacters, eventMeasureTemplateFormulas, fillTemplateString, formulaFilterMethods, generateColumnFormula, getDimensionFormula, getDisplayConditionFormula, getEventMeasureFormula, getLocalizedText, getMeasureFormula, getTransitionMeasureFormula, isActionValid, isHierarchy, mapDimensionsToInputs, mapEventMeasuresToInputs, mapFormulaFilterToCalculatorInput, mapFormulaFiltersToInputs, mapMeasuresToInputs, mapSortingToInputs, mapTransitionMeasuresToInputs, measureTemplateFormulas, prepareValuesForSql, replaceDisplayCondition, replaceFiltersBySelection, replaceHierarchiesWithDimensions, selectDimensionFromHierarchy, transitionMeasureTemplateFormulas, unescapeSpecialCharacters, updateDefaultModeSelection, updateMultiModeSelection, updateSingleModeSelection };
|