@masterteam/flowplus-workflow 0.0.1 → 0.0.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@masterteam/flowplus-workflow",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "FlowPlus2 design-time workflow builder package — Studio, Builder, inspectors, canvas (Foblex), validation, layout persistence, publish flow. Runtime task action / process start / client form rendering live in @masterteam/work-center and @masterteam/forms/client-form, not here.",
5
5
  "publishConfig": {
6
6
  "directory": "../../../dist/masterteam/flowplus-workflow",
@@ -25,9 +25,9 @@
25
25
  "tailwindcss-primeui": "^0.6.1",
26
26
  "dagre": "^0.8.5",
27
27
  "@ngxs/store": "^20.1.0",
28
- "@masterteam/components": "^0.0.176",
29
- "@masterteam/forms": "^0.0.81",
30
- "@masterteam/icons": "^0.0.15"
28
+ "@masterteam/icons": "^0.0.15",
29
+ "@masterteam/components": "^0.0.178",
30
+ "@masterteam/forms": "^0.0.81"
31
31
  },
32
32
  "sideEffects": false,
33
33
  "exports": {
@@ -12,9 +12,10 @@ import { BreadcrumbItem } from '@masterteam/components/breadcrumb';
12
12
  import { FormControl } from '@angular/forms';
13
13
  import { ModalService } from '@masterteam/components/modal';
14
14
  import * as i1 from '@foblex/flow';
15
- import { FFlowComponent, FCanvasComponent, EFMarkerType, FCanvasChangeEvent, FCreateNodeEvent, FCreateConnectionEvent, FReassignConnectionEvent, FDragStartedEvent, FMoveNodesEvent, FSelectionChangeEvent } from '@foblex/flow';
15
+ import { FFlowComponent, FCanvasComponent, EFMarkerType, EFCanvasLayer, FCanvasChangeEvent, FCreateNodeEvent, FCreateConnectionEvent, FReassignConnectionEvent, FDragStartedEvent, FMoveNodesEvent, FSelectionChangeEvent } from '@foblex/flow';
16
16
  import { IPoint } from '@foblex/2d';
17
17
  import { ColumnDef, TableAction } from '@masterteam/components/table';
18
+ import { OptionItem } from '@masterteam/components/tabs';
18
19
 
19
20
  /**
20
21
  * Common API envelope used by FlowPlus2 backend.
@@ -2491,6 +2492,26 @@ declare function computeBranchLanes(args: {
2491
2492
  };
2492
2493
  }): FlowBranchLaneVm[];
2493
2494
 
2495
+ interface CanvasNoteVm {
2496
+ id: string;
2497
+ text: string;
2498
+ color: string;
2499
+ x: number;
2500
+ y: number;
2501
+ width: number;
2502
+ height: number;
2503
+ createdAt?: string | null;
2504
+ updatedAt?: string | null;
2505
+ }
2506
+ interface CanvasNotePatch {
2507
+ text?: string;
2508
+ color?: string;
2509
+ x?: number;
2510
+ y?: number;
2511
+ width?: number;
2512
+ height?: number;
2513
+ }
2514
+
2494
2515
  /**
2495
2516
  * NGXS state model for the FlowPlus design-time workflow builder.
2496
2517
  *
@@ -2535,6 +2556,7 @@ type FlowplusPublishStatus = 'idle' | 'publishing' | 'published' | 'error';
2535
2556
  interface FlowplusSelection {
2536
2557
  stepIds: number[];
2537
2558
  connectionIds: number[];
2559
+ canvasNoteIds: string[];
2538
2560
  triggerId: number | null;
2539
2561
  /** When true the workflow root is selected. */
2540
2562
  isWorkflowSelected: boolean;
@@ -2984,6 +3006,32 @@ declare class SetLayoutAutosavePaused {
2984
3006
  static readonly type = "[FlowplusWorkflow] Set Layout Autosave Paused";
2985
3007
  constructor(paused: boolean);
2986
3008
  }
3009
+ declare class AddCanvasNote {
3010
+ note: CanvasNoteVm;
3011
+ static readonly type = "[FlowplusWorkflow] Add Canvas Note";
3012
+ constructor(note: CanvasNoteVm);
3013
+ }
3014
+ declare class UpdateCanvasNote {
3015
+ noteId: string;
3016
+ patch: CanvasNotePatch;
3017
+ static readonly type = "[FlowplusWorkflow] Update Canvas Note";
3018
+ constructor(noteId: string, patch: CanvasNotePatch);
3019
+ }
3020
+ declare class DeleteCanvasNote {
3021
+ noteId: string;
3022
+ static readonly type = "[FlowplusWorkflow] Delete Canvas Note";
3023
+ constructor(noteId: string);
3024
+ }
3025
+ declare class DuplicateCanvasNote {
3026
+ noteId: string;
3027
+ static readonly type = "[FlowplusWorkflow] Duplicate Canvas Note";
3028
+ constructor(noteId: string);
3029
+ }
3030
+ declare class SelectCanvasNote {
3031
+ noteId: string | null;
3032
+ static readonly type = "[FlowplusWorkflow] Select Canvas Note";
3033
+ constructor(noteId: string | null);
3034
+ }
2987
3035
  declare class ValidateWorkflow {
2988
3036
  static readonly type = "[FlowplusWorkflow] Validate Workflow";
2989
3037
  }
@@ -3016,8 +3064,9 @@ declare class ClearSelection {
3016
3064
  declare class SetSelectionFromCanvas {
3017
3065
  stepIds: number[];
3018
3066
  connectionIds: number[];
3067
+ canvasNoteIds: string[];
3019
3068
  static readonly type = "[FlowplusWorkflow] Set Selection From Canvas";
3020
- constructor(stepIds: number[], connectionIds: number[]);
3069
+ constructor(stepIds: number[], connectionIds: number[], canvasNoteIds?: string[]);
3021
3070
  }
3022
3071
  declare class SetActiveInspectorTab {
3023
3072
  tab: string;
@@ -3189,6 +3238,13 @@ interface LayoutTriggerPosition {
3189
3238
  x: number;
3190
3239
  y: number;
3191
3240
  }
3241
+ interface LayoutCanvasNotePosition {
3242
+ noteId: string;
3243
+ x?: number;
3244
+ y?: number;
3245
+ width?: number;
3246
+ height?: number;
3247
+ }
3192
3248
  interface LayoutPositionUpdateOptions {
3193
3249
  scheduleSave?: boolean;
3194
3250
  }
@@ -3211,6 +3267,8 @@ declare class FlowplusWorkflowFacade {
3211
3267
  readonly selection: _angular_core.Signal<_masterteam_flowplus_workflow.FlowplusSelection>;
3212
3268
  readonly viewport: _angular_core.Signal<_masterteam_flowplus_workflow.WorkflowViewportDto>;
3213
3269
  readonly layout: _angular_core.Signal<_masterteam_flowplus_workflow.WorkflowLayoutDto | null>;
3270
+ readonly canvasNotes: _angular_core.Signal<CanvasNoteVm[]>;
3271
+ readonly selectedCanvasNoteIds: _angular_core.Signal<string[]>;
3214
3272
  readonly saveStatus: _angular_core.Signal<_masterteam_flowplus_workflow.FlowplusSaveStatus>;
3215
3273
  readonly layoutSaveStatus: _angular_core.Signal<_masterteam_flowplus_workflow.FlowplusSaveStatus>;
3216
3274
  readonly dirtyFlags: _angular_core.Signal<_masterteam_flowplus_workflow.FlowplusDirtyFlags>;
@@ -3317,9 +3375,10 @@ declare class FlowplusWorkflowFacade {
3317
3375
  selectTrigger(triggerId: number): Observable<void>;
3318
3376
  selectWorkflow(): Observable<void>;
3319
3377
  /** Set selection from a Foblex `fSelectionChange` payload. */
3320
- setSelectionFromCanvas(stepIds: number[], connectionIds: number[]): Observable<void>;
3378
+ setSelectionFromCanvas(stepIds: number[], connectionIds: number[], canvasNoteIds?: string[]): Observable<void>;
3321
3379
  /** Select every step (Ctrl/Cmd+A). */
3322
3380
  selectAll(): Observable<void>;
3381
+ selectCanvasNote(noteId: string | null): Observable<void>;
3323
3382
  setInspectorTab(tab: string): Observable<void>;
3324
3383
  toggleMinimap(open?: boolean): Observable<void>;
3325
3384
  createStep(tempStep: WorkflowStepDto, request: ConstructorParameters<typeof CreateStep>[1]): Observable<void>;
@@ -3333,10 +3392,18 @@ declare class FlowplusWorkflowFacade {
3333
3392
  createTrigger(trigger: Partial<WorkflowTriggerDto>): Observable<void>;
3334
3393
  updateTrigger(triggerId: number, patch: Partial<WorkflowTriggerDto>): Observable<void>;
3335
3394
  deleteTrigger(triggerId: number): Observable<void>;
3395
+ addCanvasNote(position: {
3396
+ x: number;
3397
+ y: number;
3398
+ }): CanvasNoteVm;
3399
+ updateCanvasNote(noteId: string, patch: CanvasNotePatch): Observable<void>;
3400
+ deleteCanvasNote(noteId: string): Observable<void>;
3401
+ duplicateCanvasNote(noteId: string): Observable<void>;
3336
3402
  loadLayout(): Observable<void>;
3337
3403
  setLayoutPositions(args: {
3338
3404
  nodes?: LayoutNodePosition[];
3339
3405
  triggers?: LayoutTriggerPosition[];
3406
+ notes?: LayoutCanvasNotePosition[];
3340
3407
  }, options?: LayoutPositionUpdateOptions): boolean;
3341
3408
  setNodePosition(stepId: number, x: number, y: number, options?: LayoutPositionUpdateOptions): boolean;
3342
3409
  commitLayout(): Observable<void>;
@@ -3492,6 +3559,12 @@ declare class FlowplusWorkflowState {
3492
3559
  loadLayout(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowLayoutDto> | undefined;
3493
3560
  markLayoutDirty(ctx: StateContext<FlowplusWorkflowStateModel>): void;
3494
3561
  setLayoutAutosavePaused(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetLayoutAutosavePaused): Observable<void> | undefined;
3562
+ addCanvasNote(ctx: StateContext<FlowplusWorkflowStateModel>, action: AddCanvasNote): Observable<void> | undefined;
3563
+ updateCanvasNote(ctx: StateContext<FlowplusWorkflowStateModel>, action: UpdateCanvasNote): Observable<void> | undefined;
3564
+ deleteCanvasNote(ctx: StateContext<FlowplusWorkflowStateModel>, action: DeleteCanvasNote): Observable<void> | undefined;
3565
+ duplicateCanvasNote(ctx: StateContext<FlowplusWorkflowStateModel>, action: DuplicateCanvasNote): Observable<void> | undefined;
3566
+ selectCanvasNote(ctx: StateContext<FlowplusWorkflowStateModel>, action: SelectCanvasNote): void;
3567
+ private patchCanvasNotes;
3495
3568
  saveLayout(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowLayoutDto> | undefined;
3496
3569
  validateWorkflow(ctx: StateContext<FlowplusWorkflowStateModel>): Observable<_masterteam_flowplus_workflow.WorkflowValidationResultDto> | undefined;
3497
3570
  setValidation(ctx: StateContext<FlowplusWorkflowStateModel>, action: SetValidation): void;
@@ -4127,11 +4200,25 @@ declare class FlowCanvasComponent {
4127
4200
  canvasBackgroundClick: EventEmitter<void>;
4128
4201
  /** Add affordance → page opens the left palette (no floating popover). */
4129
4202
  requestAddStep: EventEmitter<RequestAddStepEvent>;
4203
+ noteUpdate: EventEmitter<{
4204
+ noteId: string;
4205
+ patch: CanvasNotePatch;
4206
+ }>;
4207
+ noteDuplicate: EventEmitter<{
4208
+ noteId: string;
4209
+ }>;
4210
+ noteDelete: EventEmitter<{
4211
+ noteId: string;
4212
+ }>;
4213
+ readonly canvasLayers: EFCanvasLayer[];
4130
4214
  readonly nodes: _angular_core.Signal<_masterteam_flowplus_workflow.FlowCanvasNodeVm[]>;
4215
+ readonly canvasNotes: _angular_core.Signal<CanvasNoteVm[]>;
4131
4216
  readonly edges: _angular_core.Signal<FlowCanvasEdgeVm[]>;
4132
4217
  readonly triggerNodes: _angular_core.Signal<_masterteam_flowplus_workflow.TriggerNodeVm[]>;
4133
4218
  readonly branchLanes: _angular_core.Signal<_masterteam_flowplus_workflow.FlowBranchLaneVm[]>;
4134
4219
  readonly viewport: _angular_core.Signal<_masterteam_flowplus_workflow.WorkflowViewportDto>;
4220
+ readonly selectedCanvasNoteIds: _angular_core.Signal<string[]>;
4221
+ readonly editingNoteId: _angular_core.WritableSignal<string | null>;
4135
4222
  /**
4136
4223
  * Minimum world size the minimap renders. A very small value (Foblex's
4137
4224
  * default-ish 80) makes one or two nodes fill the whole minimap, which
@@ -4211,6 +4298,8 @@ declare class FlowCanvasComponent {
4211
4298
  focusStep(stepId: number, select?: boolean): void;
4212
4299
  /** Public: center a virtual trigger node (selection not meaningful). */
4213
4300
  focusTrigger(triggerId: number): void;
4301
+ /** Public: center + select a sticky canvas note. */
4302
+ focusNote(noteId: string): void;
4214
4303
  /**
4215
4304
  * Public: center + select a connection. Foblex centers nodes/groups, not
4216
4305
  * edges, so we center on the connection's source node and highlight the
@@ -4339,6 +4428,26 @@ declare class FlowCanvasComponent {
4339
4428
  onMoveNodes(event: FMoveNodesEvent): void;
4340
4429
  onStepPositionChange(stepId: number, position: IPoint): void;
4341
4430
  onTriggerPositionChange(triggerId: number, position: IPoint): void;
4431
+ onNotePositionChange(noteId: string, position: IPoint): void;
4432
+ onNoteSizeChange(noteId: string, size: {
4433
+ width?: number;
4434
+ height?: number;
4435
+ }): void;
4436
+ onNoteContentChange(event: {
4437
+ noteId: string;
4438
+ text: string;
4439
+ }): void;
4440
+ onNoteColorChange(event: {
4441
+ noteId: string;
4442
+ color: string;
4443
+ }): void;
4444
+ onNoteDuplicate(event: {
4445
+ noteId: string;
4446
+ }): void;
4447
+ onNoteDelete(event: {
4448
+ noteId: string;
4449
+ }): void;
4450
+ onNoteEditStart(noteId: string): void;
4342
4451
  private commitCanvasPositions;
4343
4452
  private syncCanvasPositionsFromDom;
4344
4453
  private syncStableCanvasPositions;
@@ -4365,6 +4474,7 @@ declare class FlowCanvasComponent {
4365
4474
  autoLayout(): void;
4366
4475
  isNodeSelected(stepId: number): boolean;
4367
4476
  isConnectionSelected(connectionId: number): boolean;
4477
+ canvasNoteGroupId(noteId: string): string;
4368
4478
  onNodeQuickAdd(e: {
4369
4479
  stepId: number;
4370
4480
  }): void;
@@ -4410,7 +4520,7 @@ declare class FlowCanvasComponent {
4410
4520
  triggerId: number;
4411
4521
  }): void;
4412
4522
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FlowCanvasComponent, never>;
4413
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlowCanvasComponent, "fp-flow-canvas", never, {}, { "paletteDrop": "paletteDrop"; "connectionCreate": "connectionCreate"; "connectionReassign": "connectionReassign"; "triggerStartConnect": "triggerStartConnect"; "triggerStartReassign": "triggerStartReassign"; "triggerStartDisconnect": "triggerStartDisconnect"; "connectionQuickAdd": "connectionQuickAdd"; "quickAddPick": "quickAddPick"; "autoLayoutRequested": "autoLayoutRequested"; "loaded": "loaded"; "nodeQuickAdd": "nodeQuickAdd"; "nodePortPlusClick": "nodePortPlusClick"; "nodeDuplicate": "nodeDuplicate"; "nodeRemove": "nodeRemove"; "nodeOpenDetails": "nodeOpenDetails"; "edgeInsertStep": "edgeInsertStep"; "edgeRemove": "edgeRemove"; "edgeEditFormula": "edgeEditFormula"; "edgeOpenDetails": "edgeOpenDetails"; "assignNodeToConnection": "assignNodeToConnection"; "openChildWorkflow": "openChildWorkflow"; "starterAddTrigger": "starterAddTrigger"; "triggerOpenDetails": "triggerOpenDetails"; "triggerExecute": "triggerExecute"; "triggerToggleEnabled": "triggerToggleEnabled"; "triggerDelete": "triggerDelete"; "canvasBackgroundClick": "canvasBackgroundClick"; "requestAddStep": "requestAddStep"; }, never, never, true, never>;
4523
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FlowCanvasComponent, "fp-flow-canvas", never, {}, { "paletteDrop": "paletteDrop"; "connectionCreate": "connectionCreate"; "connectionReassign": "connectionReassign"; "triggerStartConnect": "triggerStartConnect"; "triggerStartReassign": "triggerStartReassign"; "triggerStartDisconnect": "triggerStartDisconnect"; "connectionQuickAdd": "connectionQuickAdd"; "quickAddPick": "quickAddPick"; "autoLayoutRequested": "autoLayoutRequested"; "loaded": "loaded"; "nodeQuickAdd": "nodeQuickAdd"; "nodePortPlusClick": "nodePortPlusClick"; "nodeDuplicate": "nodeDuplicate"; "nodeRemove": "nodeRemove"; "nodeOpenDetails": "nodeOpenDetails"; "edgeInsertStep": "edgeInsertStep"; "edgeRemove": "edgeRemove"; "edgeEditFormula": "edgeEditFormula"; "edgeOpenDetails": "edgeOpenDetails"; "assignNodeToConnection": "assignNodeToConnection"; "openChildWorkflow": "openChildWorkflow"; "starterAddTrigger": "starterAddTrigger"; "triggerOpenDetails": "triggerOpenDetails"; "triggerExecute": "triggerExecute"; "triggerToggleEnabled": "triggerToggleEnabled"; "triggerDelete": "triggerDelete"; "canvasBackgroundClick": "canvasBackgroundClick"; "requestAddStep": "requestAddStep"; "noteUpdate": "noteUpdate"; "noteDuplicate": "noteDuplicate"; "noteDelete": "noteDelete"; }, never, never, true, never>;
4414
4524
  }
4415
4525
 
4416
4526
  /** A single command. `kind: 'addStep'` carries the catalog item; `kind:
@@ -4624,6 +4734,17 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4624
4734
  onTogglePalette(): void;
4625
4735
  onOpenPaletteFromRail(): void;
4626
4736
  onClosePalette(): void;
4737
+ onAddCanvasNote(): void;
4738
+ onCanvasNoteUpdate(event: {
4739
+ noteId: string;
4740
+ patch: CanvasNotePatch;
4741
+ }): void;
4742
+ onCanvasNoteDuplicate(event: {
4743
+ noteId: string;
4744
+ }): void;
4745
+ onCanvasNoteDelete(event: {
4746
+ noteId: string;
4747
+ }): void;
4627
4748
  onCanvasBackgroundClick(): void;
4628
4749
  /**
4629
4750
  * Starter card asked us to add a trigger. The canvas already opened the
@@ -4644,6 +4765,10 @@ declare class WorkflowBuilderPageComponent implements OnDestroy {
4644
4765
  onUnpublish(): void;
4645
4766
  private confirmPublish;
4646
4767
  autoLayout(): void;
4768
+ private canvasNoteAutoLayoutMembers;
4769
+ private canvasNoteAutoLayoutPositions;
4770
+ private currentCanvasItemRects;
4771
+ private nextCanvasItemRects;
4647
4772
  deleteSelection(): void;
4648
4773
  onNodeQuickAdd(e: {
4649
4774
  stepId: number;
@@ -4894,6 +5019,8 @@ declare class PaletteComponent {
4894
5019
  add: EventEmitter<WorkflowStepTypeCatalogItemDto>;
4895
5020
  /** Add a trigger from the "Add another trigger" section. */
4896
5021
  addTrigger: EventEmitter<WorkflowCatalogOptionDto>;
5022
+ /** Add a sticky canvas note directly from the rail. */
5023
+ addNote: EventEmitter<void>;
4897
5024
  searchModel: string;
4898
5025
  /** Two-level navigation state. */
4899
5026
  readonly view: _angular_core.WritableSignal<PaletteView>;
@@ -4913,6 +5040,7 @@ declare class PaletteComponent {
4913
5040
  readonly headerTitle: _angular_core.Signal<string>;
4914
5041
  openCategory(category: string): void;
4915
5042
  openTriggers(): void;
5043
+ addCanvasNote(): void;
4916
5044
  back(): void;
4917
5045
  openDrawer(): void;
4918
5046
  closeDrawer(): void;
@@ -4938,7 +5066,7 @@ declare class PaletteComponent {
4938
5066
  private triggerTypeFor;
4939
5067
  private t;
4940
5068
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaletteComponent, never>;
4941
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaletteComponent, "fp-palette", never, {}, { "closeRequested": "closeRequested"; "openRequested": "openRequested"; "add": "add"; "addTrigger": "addTrigger"; }, never, never, true, never>;
5069
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaletteComponent, "fp-palette", never, {}, { "closeRequested": "closeRequested"; "openRequested": "openRequested"; "add": "add"; "addTrigger": "addTrigger"; "addNote": "addNote"; }, never, never, true, never>;
4942
5070
  }
4943
5071
 
4944
5072
  interface InspectorTab {
@@ -4992,11 +5120,7 @@ declare class InspectorShellComponent {
4992
5120
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<InspectorShellComponent, "fp-inspector-shell", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "stepChange": "stepChange"; "connectionChange": "connectionChange"; "workflowChange": "workflowChange"; "closeRequested": "closeRequested"; }, never, never, true, never>;
4993
5121
  }
4994
5122
 
4995
- interface BottomTabOption {
4996
- label: string;
4997
- value: string;
4998
- badge?: number | null;
4999
- }
5123
+ type BottomTabOption = Pick<OptionItem, 'label' | 'value' | 'badge' | 'icon' | 'severity'>;
5000
5124
  interface ContextSourceRowVm {
5001
5125
  key: string;
5002
5126
  source: WorkflowContextCatalogSourceDto;
@@ -5022,6 +5146,10 @@ declare class BottomPanelComponent {
5022
5146
  readonly contextRows: _angular_core.Signal<ContextSourceRowVm[]>;
5023
5147
  readonly contextColumns: _angular_core.Signal<ColumnDef[]>;
5024
5148
  issueCount(): number;
5149
+ issueIcon(): MTIcon;
5150
+ issueSeverity(): BottomTabOption['severity'];
5151
+ runtimeSeverity(): BottomTabOption['severity'];
5152
+ private validationIssues;
5025
5153
  refreshRuntimeOverlay(): void;
5026
5154
  clearReplay(): void;
5027
5155
  openRuns(): void;
@@ -5105,7 +5233,7 @@ interface ValidationGroupVm {
5105
5233
  description: string;
5106
5234
  icon: MTIcon;
5107
5235
  issues: WorkflowValidationIssueDto[];
5108
- tone: 'neutral' | 'error' | 'warning' | 'info';
5236
+ tone: 'neutral' | 'danger' | 'warn' | 'info';
5109
5237
  }
5110
5238
  interface ValidationIssueRowVm {
5111
5239
  key: string;
@@ -5119,6 +5247,7 @@ interface ValidationIssueRowVm {
5119
5247
  color: string;
5120
5248
  };
5121
5249
  }
5250
+ type ProblemTabSeverity = NonNullable<OptionItem['severity']>;
5122
5251
  declare class ProblemsPanelComponent {
5123
5252
  readonly store: FlowplusWorkflowFacade;
5124
5253
  private readonly transloco;
@@ -5130,24 +5259,19 @@ declare class ProblemsPanelComponent {
5130
5259
  readonly issueGroups: _angular_core.Signal<ValidationGroupVm[]>;
5131
5260
  readonly selectedGroup: _angular_core.Signal<ValidationGroupVm>;
5132
5261
  readonly selectedIssues: _angular_core.Signal<WorkflowValidationIssueDto[]>;
5262
+ readonly issueGroupOptions: _angular_core.Signal<OptionItem[]>;
5133
5263
  readonly issueRows: _angular_core.Signal<ValidationIssueRowVm[]>;
5134
5264
  readonly issueColumns: _angular_core.Signal<ColumnDef[]>;
5135
5265
  issueKey(i: WorkflowValidationIssueDto): string;
5136
5266
  selectGroup(group: ValidationGroupVm): void;
5267
+ selectGroupKey(value: WorkflowValidationGroupKey): void;
5137
5268
  selectIssue(issue: WorkflowValidationIssueDto): void;
5138
5269
  selectIssueRow(row: ValidationIssueRowVm): void;
5139
5270
  severityIcon(i: WorkflowValidationIssueDto): MTIcon;
5140
- severityClass(i: WorkflowValidationIssueDto): string;
5141
- severityIconClass(i: WorkflowValidationIssueDto): string;
5142
- severityPillClass(i: WorkflowValidationIssueDto): string;
5143
- issueCellClass(row: ValidationIssueRowVm): string;
5144
- groupButtonClass(group: ValidationGroupVm): string;
5145
- groupIconClass(group: ValidationGroupVm): string;
5146
- groupIssueBadge(group: ValidationGroupVm): string;
5147
- issueTableRowClass(issue: WorkflowValidationIssueDto): string;
5271
+ groupIssueBadge(group: ValidationGroupVm): string | null;
5272
+ groupSeverity(group: ValidationGroupVm): ProblemTabSeverity;
5148
5273
  message(i: WorkflowValidationIssueDto): string;
5149
5274
  targetLabel(i: WorkflowValidationIssueDto): string;
5150
- blocksPublishLabel(i: WorkflowValidationIssueDto): string;
5151
5275
  detailValue(value: unknown): string;
5152
5276
  private group;
5153
5277
  private statusValue;
@@ -5243,5 +5367,5 @@ declare class DagreFlowLayoutEngine implements FlowLayoutEngine {
5243
5367
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<DagreFlowLayoutEngine>;
5244
5368
  }
5245
5369
 
5246
- export { APP_STATES, ApplyAutomationExecutionDetail, ApplyBuilderCommand, ApplyBuilderSnapshot, AutomationBuilderCatalogApiService, AutomationDesignApiService, AutomationExecutionApiService, AutomationExecutionsPageComponent, BottomPanelComponent, BuilderTopbarComponent, ClearAutomationRuntimeState, ClearCommandHistory, ClearConflict, ClearPendingOperation, ClearSelection, ClearWorkflowBuilder, CommitStepUpdates, CommitWorkflowMetadata, ConnectionCreated, ConnectionCreationFailed, ContextPickerComponent, ContextPillButtonComponent, ContextPillComponent, CreateConnection, CreateStep, CreateTrigger, CreateWorkflow, DagreFlowLayoutEngine, DeleteConnection, DeleteStep, DeleteTrigger, DeleteWorkflow, DuplicateWorkflow, EndpointBuilder, FLOWPLUS_FORM_DESIGNER_ADAPTER, FLOWPLUS_WORKFLOW_CONFIG, FLOWPLUS_WORKFLOW_DEFAULT_RUNTIME, FLOWPLUS_WORKFLOW_DEFAULT_STATE, FLOWPLUS_WORKFLOW_NAVIGATION, FLOWPLUS_WORKFLOW_ROUTES, FLOW_NODE_BASE_HEIGHT, FLOW_NODE_CARD_WIDTH, FLOW_NODE_MULTI_OUTPUT_GAP, FLOW_NODE_OUTPUT_SIZE, FlowCanvasComponent, FlowNodeComponent, FlowplusWorkflowActionKey, FlowplusWorkflowFacade, FlowplusWorkflowNavigationService, FlowplusWorkflowOverlayService, FlowplusWorkflowState, InspectorShellComponent, KeyboardShortcutsService, LOCAL_FALLBACK_CATALOG, LoadAutomationExecution, LoadContextCatalog, LoadContextCatalogForStep, LoadLatestAutomationExecution, LoadLayout, LoadTriggers, LoadWorkflowBuilder, LoadWorkflowCatalog, LoadWorkflowList, MarkLayoutDirty, MoveStep, NODE_COLOR_TOKEN, NODE_DEFAULT_ICON, NODE_MT_ICON, NoopFlowplusFormDesignerAdapter, PaletteComponent, PaletteDragSourceDirective, PollAutomationExecution, ProblemsPanelComponent, ProcessCreateDialogComponent, PublishWorkflow, RedoBuilderCommand, ReloadWorkflowBuilder, RunAutomationTrigger, RunWorkflowTest, SaveLayout, SelectConnection, SelectRuntimeNodeRun, SelectStep, SelectTrigger, SetActiveInspectorTab, SetBottomPanelOpen, SetBottomPanelTab, SetCanvasViewport, SetContextCatalog, SetCreateDialogOpen, SetInspectorOpen, SetLayout, SetLayoutAutosavePaused, SetMinimap, SetPaletteOpen, SetPaletteSearch, SetPendingOperation, SetReadonly, SetSelectedRuntimeTrigger, SetSelection, SetSelectionFromCanvas, SetStudioFilter, SetValidation, SetWorkflowCatalog, SetWorkflowDefinition, StepCreated, StepCreationFailed, TRIGGER_MT_ICON, TestRunPanelComponent, UnconfiguredFormDesignerAdapter, UndoBuilderCommand, UnpublishWorkflow, UpdateConnection, UpdateStep, UpdateTrigger, UpdateWorkflowMetadata, UpdateWorkflowResources, UpdateWorkflowVariables, ValidateWorkflow, WorkflowBuilderPageComponent, WorkflowCatalogApiService, WorkflowContextApiService, WorkflowDebugApiService, WorkflowDefinitionApiService, WorkflowFormApiService, WorkflowRunDebuggerPageComponent, WorkflowRuntimeApiService, WorkflowStudioPageComponent, WorkflowValidationApiService, applyBuilderSnapshot, avatarSeverityForStep, avatarSeverityForTrigger, canonicalTriggerTypeForStarterKind, coerceTranslatable, colorVarFor, computeBranchLanes, computeSaveStatus, connectionCanvasId, derivePortsForStep, extractMessage, flowNodeCardHeightForOutputs, flowNodeLayoutHeightForOutputs, flowNodeOutputCenterY, flowNodeOutputStackHeight, fromWorkflowConnectionDomain, fromWorkflowStepDomain, hasOtherPending, iconFor, indexValidationByConnectionId, indexValidationByStepId, indexValidationByTriggerId, inputPortId, isEntityDirty, mapHttpError, mtIconForStep, mtIconForTrigger, newClientMutationId, nextOperationId, nodeCanvasId, outputPortId, parseConnectionId, parseNodeId, parsePortId, parseTriggerOutputPortId, parseTriggerStartConnectionId, patchLayoutPosition, patchTriggerLayoutPosition, provideFlowplusFormDesignerAdapter, provideFlowplusWorkflow, provideFlowplusWorkflowNavigation, provideFlowplusWorkflowNavigationDefaults, readRecord, removeStepWithEdges, resolveTranslatable, resolveTriggerStartNodeKey, resolveTriggerStartStep, resolveTriggerStartStepId, resolveWorkflowTriggerKey, savingOrSaved, tempNodeCanvasId, toWorkflowConnectionDomain, toWorkflowDefinitionDomain, toWorkflowStepDomain, toWorkflowTriggerDomain, triggerCanvasId, triggerOutputPortId, triggerStartConnectionCanvasId, triggerStarterKindFor, unwrap, unwrapApiData, upsertConnection, upsertStep };
5370
+ export { APP_STATES, AddCanvasNote, ApplyAutomationExecutionDetail, ApplyBuilderCommand, ApplyBuilderSnapshot, AutomationBuilderCatalogApiService, AutomationDesignApiService, AutomationExecutionApiService, AutomationExecutionsPageComponent, BottomPanelComponent, BuilderTopbarComponent, ClearAutomationRuntimeState, ClearCommandHistory, ClearConflict, ClearPendingOperation, ClearSelection, ClearWorkflowBuilder, CommitStepUpdates, CommitWorkflowMetadata, ConnectionCreated, ConnectionCreationFailed, ContextPickerComponent, ContextPillButtonComponent, ContextPillComponent, CreateConnection, CreateStep, CreateTrigger, CreateWorkflow, DagreFlowLayoutEngine, DeleteCanvasNote, DeleteConnection, DeleteStep, DeleteTrigger, DeleteWorkflow, DuplicateCanvasNote, DuplicateWorkflow, EndpointBuilder, FLOWPLUS_FORM_DESIGNER_ADAPTER, FLOWPLUS_WORKFLOW_CONFIG, FLOWPLUS_WORKFLOW_DEFAULT_RUNTIME, FLOWPLUS_WORKFLOW_DEFAULT_STATE, FLOWPLUS_WORKFLOW_NAVIGATION, FLOWPLUS_WORKFLOW_ROUTES, FLOW_NODE_BASE_HEIGHT, FLOW_NODE_CARD_WIDTH, FLOW_NODE_MULTI_OUTPUT_GAP, FLOW_NODE_OUTPUT_SIZE, FlowCanvasComponent, FlowNodeComponent, FlowplusWorkflowActionKey, FlowplusWorkflowFacade, FlowplusWorkflowNavigationService, FlowplusWorkflowOverlayService, FlowplusWorkflowState, InspectorShellComponent, KeyboardShortcutsService, LOCAL_FALLBACK_CATALOG, LoadAutomationExecution, LoadContextCatalog, LoadContextCatalogForStep, LoadLatestAutomationExecution, LoadLayout, LoadTriggers, LoadWorkflowBuilder, LoadWorkflowCatalog, LoadWorkflowList, MarkLayoutDirty, MoveStep, NODE_COLOR_TOKEN, NODE_DEFAULT_ICON, NODE_MT_ICON, NoopFlowplusFormDesignerAdapter, PaletteComponent, PaletteDragSourceDirective, PollAutomationExecution, ProblemsPanelComponent, ProcessCreateDialogComponent, PublishWorkflow, RedoBuilderCommand, ReloadWorkflowBuilder, RunAutomationTrigger, RunWorkflowTest, SaveLayout, SelectCanvasNote, SelectConnection, SelectRuntimeNodeRun, SelectStep, SelectTrigger, SetActiveInspectorTab, SetBottomPanelOpen, SetBottomPanelTab, SetCanvasViewport, SetContextCatalog, SetCreateDialogOpen, SetInspectorOpen, SetLayout, SetLayoutAutosavePaused, SetMinimap, SetPaletteOpen, SetPaletteSearch, SetPendingOperation, SetReadonly, SetSelectedRuntimeTrigger, SetSelection, SetSelectionFromCanvas, SetStudioFilter, SetValidation, SetWorkflowCatalog, SetWorkflowDefinition, StepCreated, StepCreationFailed, TRIGGER_MT_ICON, TestRunPanelComponent, UnconfiguredFormDesignerAdapter, UndoBuilderCommand, UnpublishWorkflow, UpdateCanvasNote, UpdateConnection, UpdateStep, UpdateTrigger, UpdateWorkflowMetadata, UpdateWorkflowResources, UpdateWorkflowVariables, ValidateWorkflow, WorkflowBuilderPageComponent, WorkflowCatalogApiService, WorkflowContextApiService, WorkflowDebugApiService, WorkflowDefinitionApiService, WorkflowFormApiService, WorkflowRunDebuggerPageComponent, WorkflowRuntimeApiService, WorkflowStudioPageComponent, WorkflowValidationApiService, applyBuilderSnapshot, avatarSeverityForStep, avatarSeverityForTrigger, canonicalTriggerTypeForStarterKind, coerceTranslatable, colorVarFor, computeBranchLanes, computeSaveStatus, connectionCanvasId, derivePortsForStep, extractMessage, flowNodeCardHeightForOutputs, flowNodeLayoutHeightForOutputs, flowNodeOutputCenterY, flowNodeOutputStackHeight, fromWorkflowConnectionDomain, fromWorkflowStepDomain, hasOtherPending, iconFor, indexValidationByConnectionId, indexValidationByStepId, indexValidationByTriggerId, inputPortId, isEntityDirty, mapHttpError, mtIconForStep, mtIconForTrigger, newClientMutationId, nextOperationId, nodeCanvasId, outputPortId, parseConnectionId, parseNodeId, parsePortId, parseTriggerOutputPortId, parseTriggerStartConnectionId, patchLayoutPosition, patchTriggerLayoutPosition, provideFlowplusFormDesignerAdapter, provideFlowplusWorkflow, provideFlowplusWorkflowNavigation, provideFlowplusWorkflowNavigationDefaults, readRecord, removeStepWithEdges, resolveTranslatable, resolveTriggerStartNodeKey, resolveTriggerStartStep, resolveTriggerStartStepId, resolveWorkflowTriggerKey, savingOrSaved, tempNodeCanvasId, toWorkflowConnectionDomain, toWorkflowDefinitionDomain, toWorkflowStepDomain, toWorkflowTriggerDomain, triggerCanvasId, triggerOutputPortId, triggerStartConnectionCanvasId, triggerStarterKindFor, unwrap, unwrapApiData, upsertConnection, upsertStep };
5247
5371
  export type { ActivateAutomationRequest, ActivationResult, ApiEnvelope, AssignmentSelectorContractResult, AssignmentValidationRequest, AutomationBuilderCatalog, AutomationEngineHealthSnapshot, AutomationExecutionDetail, AutomationExecutionEvent, AutomationExecutionListResult, AutomationExecutionNodeDataDetail, AutomationExecutionStatus, AutomationExecutionSummary, AutomationExportDefinition, AutomationFormBindingDefinition, AutomationFrontendDetail, AutomationFrontendListResult, AutomationImportRequest, AutomationImportResult, AutomationLastExecutionSummary, AutomationMetadataRequest, AutomationNodeAttempt, AutomationNodeDefinition, AutomationNodeRun, AutomationNodeType, AutomationRetentionPruneResult, AutomationRevisionDiffResult, AutomationRevisionSummary, AutomationRouteDefinition, AutomationRunResult, AutomationRuntimeWait, AutomationRuntimeWaitResumeTokenResult, AutomationSelectorItem, AutomationSelectorResult, AutomationStatus, AutomationSummary, AutomationTriggerDefinition, AutomationTriggerType, AutomationValidationIssue, AutomationValidationReport, AutomationValidationSummary, AvatarSeverityVars, BatchBuilderPatchRequest, CreateWorkflowConnectionRequest, CreateWorkflowDefinitionRequest, CreateWorkflowPluginStepRequest, CreateWorkflowStepRequest, CredentialReference, CredentialReferenceListResult, CredentialTestRequest, CredentialTestResult, CredentialTypeCatalogItem, CredentialTypeCatalogResult, EngineEventDto, ExecutionCancelResult, ExecutionRetryRequest, ExecutionRetryResult, ExpressionNamespaceDescriptor, ExpressionPreviewRequest, ExpressionPreviewResult, ExpressionValidationRequest, ExpressionValidationResult, FlowBranchLaneVm, FlowCanvasEdgeVm, FlowCanvasNodeVm, FlowLayoutEngine, FlowNodePortVm, FlowPlusCommitMappingValidationRequest, FlowPlusModuleCatalogItem, FlowPlusModuleCatalogResult, FlowPlusModuleField, FlowPlusModuleSchemaResult, FlowPortDirection, FlowPortSide, FlowplusApiError, FlowplusBuilderCommand, FlowplusBuilderSlice, FlowplusConflictState, FlowplusDirtyFlags, FlowplusExecutionRuntimeSlice, FlowplusFormDesignerAdapter, FlowplusPendingOperation, FlowplusPublishStatus, FlowplusRuntimeNodeState, FlowplusRuntimeNodeVisualState, FlowplusRuntimeReplayMode, FlowplusRuntimeRouteState, FlowplusRuntimeRouteVisualState, FlowplusRuntimeTriggerState, FlowplusRuntimeTriggerVisualState, FlowplusSaveStatus, FlowplusSelection, FlowplusStudioSlice, FlowplusTriggerExecutionRequest, FlowplusUiState, FlowplusWorkflowConfig, FlowplusWorkflowNavigationConfig, FlowplusWorkflowStateModel, FormBindingDefinitionRequest, FormSchemaResult, FormSelectorContractResult, FormSelectorItem, FormVersionListResult, FormVersionSummary, FormulaBuilderValue, HumanApprovalDecisionRequest, HumanApprovalDecisionResult, JsonSchemaLite, NavigationTarget, NodeDefinitionRequest, NodeTypeCatalogItem, OpenStepFormDesignerInput, OpenStepFormPreviewInput, PagedResult, ProcessContextEntryDto, ProcessContextLineageNodeDto, ProcessContextSnapshotDto, ProcessContextTimelineEventDto, ProcessFormLoadRequest, ProcessFormLoadResponseDto, ProcessStartRequest, ProcessStartResultDto, ProcessSubmitOperationKey, ProcessSubmitRequest, ProcessSubmitResponseDto, ProcessSubmitStatus, PublishAutomationRequest, PublishAutomationResult, RouteDefinitionRequest, ScheduleOptionsResult, SchedulePreviewRequest, SchedulePreviewResult, ScheduleValidationRequest, StepFormDesignerResult, StepFormPreviewResult, TaskActionRequest, TaskActionResultDto, TranslatableText, TriggerDefinitionRequest, TriggerNodeVm, TriggerStarterKind, TriggerTypeCatalogItem, UpdateWorkflowConnectionRequest, UpdateWorkflowDefinitionRequest, UpdateWorkflowStepRequest, WaitResumeRequest, WaitResumeResult, WebhookSetupResult, WorkflowAppActionDescriptorDto, WorkflowAppActionMappingDto, WorkflowAppActionOptionDto, WorkflowAppActionStepConfigDto, WorkflowAppDescriptorDto, WorkflowAutomatedOutputMappingDto, WorkflowAutomatedStepConfigDto, WorkflowBuilderCapabilitiesDto, WorkflowBuilderDto, WorkflowBuilderPermissionsDto, WorkflowCatalogDefaultsDto, WorkflowCatalogDto, WorkflowCatalogOptionDto, WorkflowConnectionDomain, WorkflowConnectionDto, WorkflowConnectionLayoutDto, WorkflowContextCatalogDto, WorkflowContextCatalogSourceDto, WorkflowContextPathValidationRequest, WorkflowContextPathValidationResultDto, WorkflowContextSourceType, WorkflowContextValueType, WorkflowDefinitionDomain, WorkflowDefinitionDto, WorkflowDefinitionListQuery, WorkflowDefinitionListResult, WorkflowDefinitionSummaryDto, WorkflowFormBindingContractDto, WorkflowFormBindingMode, WorkflowJoinParallelStepConfigDto, WorkflowLayoutDto, WorkflowNodeLayoutDto, WorkflowPluginDescriptorDto, WorkflowPluginStepConfigDto, WorkflowResourceBindingDto, WorkflowRuntimeRoutingPolicyDto, WorkflowSelectedActionDto, WorkflowStartParallelStepConfigDto, WorkflowStatus, WorkflowStepActionCatalogItemDto, WorkflowStepActionDto, WorkflowStepCategory, WorkflowStepDefaultsItemDto, WorkflowStepDomain, WorkflowStepDto, WorkflowStepFormBindingDto, WorkflowStepFormContractDto, WorkflowStepFormUpdateRequest, WorkflowStepPropertyDto, WorkflowStepType, WorkflowStepTypeCapabilityItemDto, WorkflowStepTypeCatalogItemDto, WorkflowSubprocessContextMappingDto, WorkflowSubprocessPropertyMappingDto, WorkflowSubprocessStepConfigDto, WorkflowTestRunConnectionDecisionDto, WorkflowTestRunContextChangeDto, WorkflowTestRunContextValueDto, WorkflowTestRunMode, WorkflowTestRunRequest, WorkflowTestRunResultDto, WorkflowTestRunStatus, WorkflowTestStepResultDto, WorkflowTestStepStatus, WorkflowTriggerDomain, WorkflowTriggerDto, WorkflowTriggerType, WorkflowValidationEntityType, WorkflowValidationGroupKey, WorkflowValidationGroupedIssuesDto, WorkflowValidationIssueDto, WorkflowValidationIssueSeverity, WorkflowValidationResultDto, WorkflowValidationSeverity, WorkflowValidationStateDto, WorkflowVariableDto, WorkflowViewportDto };