sequential-workflow-designer 0.18.5 → 0.19.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/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Step, BranchedStep, SequentialStep, Definition, Sequence, ComponentType, DefinitionWalker, StepOrName } from 'sequential-workflow-model';
1
+ import { Definition, Step, Sequence, ComponentType, DefinitionWalker, StepOrName } from 'sequential-workflow-model';
2
2
  export * from 'sequential-workflow-model';
3
3
 
4
4
  declare class Icons {
@@ -68,25 +68,6 @@ type SimpleEventListener<T> = (value: T) => void;
68
68
 
69
69
  declare function race<A, B, C>(timeout: number, a: SimpleEvent<A>, b: SimpleEvent<B>, c?: SimpleEvent<C>): SimpleEvent<[A?, B?, C?]>;
70
70
 
71
- /**
72
- * @deprecated Use {@link Step} instead.
73
- */
74
- interface TaskStep extends Step {
75
- componentType: 'task';
76
- }
77
- /**
78
- * @deprecated Use {@link BranchedStep} instead.
79
- */
80
- interface SwitchStep extends BranchedStep {
81
- componentType: 'switch';
82
- }
83
- /**
84
- * @deprecated Use {@link SequentialStep} instead.
85
- */
86
- interface ContainerStep extends SequentialStep {
87
- componentType: 'container';
88
- }
89
-
90
71
  interface Behavior {
91
72
  onStart(position: Vector): void;
92
73
  onMove(delta: Vector): Behavior | void;
@@ -296,13 +277,23 @@ declare class ComponentContext {
296
277
  private constructor();
297
278
  }
298
279
 
280
+ declare class CustomActionController {
281
+ private readonly configuration;
282
+ private readonly state;
283
+ private readonly stateModifier;
284
+ constructor(configuration: DesignerConfiguration, state: DesignerState, stateModifier: StateModifier);
285
+ trigger(action: CustomAction, step: Step | null, sequence: Sequence): void;
286
+ private createCustomActionHandlerContext;
287
+ private notifyStepChanged;
288
+ }
289
+
299
290
  declare class HistoryController {
300
291
  private readonly stack;
301
292
  private readonly state;
302
- private readonly definitionModifier;
293
+ private readonly stateModifier;
303
294
  private readonly stackSize;
304
- static create(initialStack: UndoStack | undefined, state: DesignerState, definitionModifier: DefinitionModifier, configuration: DesignerConfiguration): HistoryController;
305
- constructor(stack: UndoStack, state: DesignerState, definitionModifier: DefinitionModifier, stackSize: number);
295
+ static create(initialStack: UndoStack | undefined, state: DesignerState, stateModifier: StateModifier, configuration: DesignerConfiguration): HistoryController;
296
+ constructor(stack: UndoStack, state: DesignerState, stateModifier: StateModifier, stackSize: number);
306
297
  canUndo(): boolean;
307
298
  undo(): void;
308
299
  canRedo(): boolean;
@@ -351,23 +342,25 @@ declare class DesignerContext {
351
342
  readonly services: Services;
352
343
  readonly componentContext: ComponentContext;
353
344
  readonly definitionWalker: DefinitionWalker;
354
- readonly definitionModifier: DefinitionModifier;
345
+ readonly stateModifier: StateModifier;
355
346
  readonly layoutController: LayoutController;
356
347
  readonly workspaceController: WorkspaceControllerWrapper;
357
348
  readonly behaviorController: BehaviorController;
349
+ readonly customActionController: CustomActionController;
358
350
  readonly historyController: HistoryController | undefined;
359
351
  static create(parent: HTMLElement, startDefinition: Definition, configuration: DesignerConfiguration, services: Services): DesignerContext;
360
- constructor(theme: string, state: DesignerState, configuration: DesignerConfiguration, services: Services, componentContext: ComponentContext, definitionWalker: DefinitionWalker, definitionModifier: DefinitionModifier, layoutController: LayoutController, workspaceController: WorkspaceControllerWrapper, behaviorController: BehaviorController, historyController: HistoryController | undefined);
352
+ constructor(theme: string, state: DesignerState, configuration: DesignerConfiguration, services: Services, componentContext: ComponentContext, definitionWalker: DefinitionWalker, stateModifier: StateModifier, layoutController: LayoutController, workspaceController: WorkspaceControllerWrapper, behaviorController: BehaviorController, customActionController: CustomActionController, historyController: HistoryController | undefined);
361
353
  setWorkspaceController(controller: WorkspaceController): void;
362
354
  }
363
355
 
364
356
  type EditorRendererHandler = (step: Step | null) => void;
365
357
  declare class EditorRenderer {
366
358
  private readonly state;
359
+ private readonly selectedStepIdProvider;
367
360
  private readonly definitionWalker;
368
361
  private readonly handler;
369
362
  private readonly raceEvent;
370
- static create(state: DesignerState, definitionWalker: DefinitionWalker, handler: EditorRendererHandler): EditorRenderer;
363
+ static create(state: DesignerState, selectedStepIdProvider: SelectedStepIdProvider, definitionWalker: DefinitionWalker, handler: EditorRendererHandler): EditorRenderer;
371
364
  private currentStepId;
372
365
  private constructor();
373
366
  destroy(): void;
@@ -376,17 +369,26 @@ declare class EditorRenderer {
376
369
  private readonly raceEventHandler;
377
370
  }
378
371
 
372
+ interface StateModifierDependency {
373
+ update(): void;
374
+ }
375
+
376
+ interface SelectedStepIdProvider {
377
+ onSelectedStepIdChanged: SimpleEvent<string | null>;
378
+ selectedStepId: string | null;
379
+ }
379
380
  declare class EditorApi {
380
381
  private readonly state;
381
382
  private readonly definitionWalker;
382
- private readonly definitionModifier;
383
- constructor(state: DesignerState, definitionWalker: DefinitionWalker, definitionModifier: DefinitionModifier);
383
+ private readonly stateModifier;
384
+ constructor(state: DesignerState, definitionWalker: DefinitionWalker, stateModifier: StateModifier);
384
385
  isCollapsed(): boolean;
385
386
  isReadonly(): boolean;
386
387
  toggleIsCollapsed(): void;
387
388
  subscribeIsCollapsed(listener: SimpleEventListener<boolean>): void;
388
389
  getDefinition(): Definition;
389
- runRenderer(rendererHandler: EditorRendererHandler): EditorRenderer;
390
+ addDefinitionModifierDependency(dependency: StateModifierDependency): void;
391
+ runRenderer(rendererHandler: EditorRendererHandler, customSelectedStepIdProvider: SelectedStepIdProvider | null): EditorRenderer;
390
392
  createStepEditorContext(stepId: string): StepEditorContext;
391
393
  createRootEditorContext(): RootEditorContext;
392
394
  }
@@ -396,10 +398,6 @@ declare class PathBarApi {
396
398
  private readonly definitionWalker;
397
399
  constructor(state: DesignerState, definitionWalker: DefinitionWalker);
398
400
  readonly onStateChanged: SimpleEvent<[(string[] | undefined)?, (DefinitionChangedEvent | undefined)?, unknown?]>;
399
- /**
400
- * @deprecated Don't use this method
401
- */
402
- subscribe(handler: () => void): void;
403
401
  setFolderPath(path: string[]): void;
404
402
  getFolderPath(): string[];
405
403
  getFolderPathStepNames(): string[];
@@ -476,6 +474,7 @@ declare class DesignerApi {
476
474
  readonly workspace: WorkspaceApi;
477
475
  readonly viewport: ViewportApi;
478
476
  readonly pathBar: PathBarApi;
477
+ readonly definitionWalker: DefinitionWalker;
479
478
  static create(context: DesignerContext): DesignerApi;
480
479
  private constructor();
481
480
  }
@@ -712,6 +711,7 @@ interface DesignerExtension {
712
711
  grid?: GridExtension;
713
712
  rootComponent?: RootComponentExtension;
714
713
  sequenceComponent?: SequenceComponentExtension;
714
+ contextMenu?: ContextMenuExtension;
715
715
  daemons?: DaemonExtension[];
716
716
  }
717
717
  interface StepExtension<S extends Step = Step> {
@@ -785,6 +785,17 @@ interface SequencePlaceIndicator {
785
785
  interface SequenceComponentExtension {
786
786
  create(parentElement: SVGElement, sequenceContext: SequenceContext, componentContext: ComponentContext): SequenceComponent;
787
787
  }
788
+ interface ContextMenuExtension {
789
+ createItemsProvider?: (customActionController: CustomActionController) => ContextMenuItemsProvider;
790
+ }
791
+ interface ContextMenuItemsProvider {
792
+ getItems(step: Step | null, sequence: Sequence): ContextMenuItem[];
793
+ }
794
+ interface ContextMenuItem {
795
+ readonly label: string;
796
+ readonly order: number;
797
+ readonly callback?: () => void;
798
+ }
788
799
  interface PlaceholderControllerExtension {
789
800
  create(): PlaceholderController;
790
801
  }
@@ -924,6 +935,7 @@ interface ToolboxGroupConfiguration {
924
935
  steps: StepDefinition[];
925
936
  }
926
937
  interface StepsConfiguration {
938
+ isSelectable?: (step: Step, parentSequence: Sequence) => boolean;
927
939
  canInsertStep?: (step: Step, targetSequence: Sequence, targetIndex: number) => boolean;
928
940
  isDraggable?: (step: Step, parentSequence: Sequence) => boolean;
929
941
  canMoveStep?: (sourceSequence: Sequence, step: Step, targetSequence: Sequence, targetIndex: number) => boolean;
@@ -984,11 +996,17 @@ declare enum DefinitionChangeType {
984
996
  rootReplaced = 8
985
997
  }
986
998
 
987
- declare class DefinitionModifier {
999
+ declare class StateModifier {
988
1000
  private readonly definitionWalker;
989
1001
  private readonly state;
990
1002
  private readonly configuration;
991
- constructor(definitionWalker: DefinitionWalker, state: DesignerState, configuration: DesignerConfiguration);
1003
+ private readonly dependencies;
1004
+ static create(definitionWalker: DefinitionWalker, state: DesignerState, configuration: DesignerConfiguration): StateModifier;
1005
+ constructor(definitionWalker: DefinitionWalker, state: DesignerState, configuration: DesignerConfiguration, dependencies: StateModifierDependency[]);
1006
+ addDependency(dependency: StateModifierDependency): void;
1007
+ isSelectable(step: Step, parentSequence: Sequence): boolean;
1008
+ trySelectStep(step: Step, parentSequence: Sequence): void;
1009
+ trySelectStepById(stepId: string): void;
992
1010
  isDeletable(stepId: string): boolean;
993
1011
  tryDelete(stepId: string): boolean;
994
1012
  tryInsert(step: Step, targetSequence: Sequence, targetIndex: number): boolean;
@@ -997,21 +1015,17 @@ declare class DefinitionModifier {
997
1015
  isDuplicable(step: Step, parentSequence: Sequence): boolean;
998
1016
  tryDuplicate(step: Step, parentSequence: Sequence): boolean;
999
1017
  replaceDefinition(definition: Definition): void;
1000
- updateDependantFields(): void;
1018
+ updateDependencies(): void;
1001
1019
  }
1002
1020
 
1003
1021
  declare class ControlBarApi {
1004
1022
  private readonly state;
1005
1023
  private readonly historyController;
1006
- private readonly definitionModifier;
1024
+ private readonly stateModifier;
1007
1025
  private readonly viewportApi;
1008
- static create(state: DesignerState, historyController: HistoryController | undefined, definitionModifier: DefinitionModifier, viewportApi: ViewportApi): ControlBarApi;
1026
+ static create(state: DesignerState, historyController: HistoryController | undefined, stateModifier: StateModifier, viewportApi: ViewportApi): ControlBarApi;
1009
1027
  private constructor();
1010
1028
  readonly onStateChanged: SimpleEvent<unknown>;
1011
- /**
1012
- * @deprecated Don't use this method
1013
- */
1014
- subscribe(handler: () => void): void;
1015
1029
  resetViewport(): void;
1016
1030
  zoomIn(): void;
1017
1031
  zoomOut(): void;
@@ -1029,7 +1043,7 @@ declare class ControlBarApi {
1029
1043
  declare class Editor {
1030
1044
  private readonly view;
1031
1045
  private readonly renderer;
1032
- static create(parent: HTMLElement, api: EditorApi, stepEditorClassName: string, stepEditorProvider: StepEditorProvider, rootEditorClassName: string, rootEditorProvider: RootEditorProvider): Editor;
1046
+ static create(parent: HTMLElement, api: EditorApi, stepEditorClassName: string, stepEditorProvider: StepEditorProvider, rootEditorClassName: string, rootEditorProvider: RootEditorProvider, customSelectedStepIdProvider: SelectedStepIdProvider | null): Editor;
1033
1047
  private constructor();
1034
1048
  destroy(): void;
1035
1049
  }
@@ -1037,6 +1051,7 @@ declare class Editor {
1037
1051
  declare class Designer<TDefinition extends Definition = Definition> {
1038
1052
  private readonly view;
1039
1053
  private readonly state;
1054
+ private readonly stateModifier;
1040
1055
  private readonly walker;
1041
1056
  private readonly historyController;
1042
1057
  private readonly api;
@@ -1114,10 +1129,6 @@ declare class Designer<TDefinition extends Definition = Definition> {
1114
1129
  * @description Moves the viewport to the step with the animation.
1115
1130
  */
1116
1131
  moveViewportToStep(stepId: string): void;
1117
- /**
1118
- * @deprecated Use `moveViewportToStep` instead.
1119
- */
1120
- moveViewPortToStep(stepId: string): void;
1121
1132
  /**
1122
1133
  * @description Rerender the root component and all its children.
1123
1134
  */
@@ -1197,16 +1208,6 @@ declare class StepsDesignerExtension implements DesignerExtension {
1197
1208
  readonly steps: StepExtension<Step>[];
1198
1209
  static create(configuration: StepsDesignerExtensionConfiguration): StepsDesignerExtension;
1199
1210
  protected constructor(steps: StepExtension<Step>[]);
1200
- }
1201
- /**
1202
- * @deprecated Use `StepsDesignerExtension` instead.
1203
- */
1204
- declare class StepsExtension extends StepsDesignerExtension {
1205
- }
1206
- /**
1207
- * @deprecated Use `StepsDesignerExtensionConfiguration` instead.
1208
- */
1209
- interface StepsExtensionConfiguration extends StepsDesignerExtensionConfiguration {
1210
1211
  }
1211
1212
 
1212
- export { Attributes, Badge, BadgeExtension, BadgeView, Badges, BadgesResult, BaseClickCommand, CenteredViewportCalculator, ClassicWheelControllerExtension, ClickCommand, ClickCommandType, ClickDetails, Component, ComponentContext, ComponentView, ContainerStep, ContainerStepComponentViewConfiguration, ContainerStepExtensionConfiguration, ControlBarApi, CustomAction, CustomActionHandler, CustomActionHandlerContext, Daemon, DaemonExtension, DefaultSequenceComponent, DefaultSequenceComponentView, DefaultViewportController, DefaultViewportControllerExtension, DefinitionChangeType, DefinitionChangedEvent, Designer, DesignerApi, DesignerConfiguration, DesignerContext, DesignerExtension, DesignerState, Dom, DraggedComponent, DraggedComponentExtension, Editor, EditorApi, EditorsConfiguration, Grid, GridExtension, Icons, InputView, JoinView, KeyboardAction, KeyboardConfiguration, LabelView, LineGridConfiguration, LineGridDesignerExtension, ObjectCloner, OpenFolderClickCommand, OutputView, PathBarApi, Placeholder, PlaceholderController, PlaceholderControllerExtension, PlaceholderDirection, PlaceholderExtension, PlaceholderView, QuantifiedScaleViewportCalculator, RectPlaceholder, RectPlaceholderConfiguration, RectPlaceholderView, RegionView, RerenderStepClickCommand, RootComponentExtension, RootEditorContext, RootEditorProvider, RootValidator, SelectStepClickCommand, SequenceComponent, SequenceComponentExtension, SequenceContext, SequencePlaceIndicator, Services, ServicesResolver, SimpleEvent, SimpleEventListener, StepComponent, StepComponentView, StepComponentViewContext, StepComponentViewFactory, StepComponentViewWrapperExtension, StepContext, StepDefinition, StepDescriptionProvider, StepEditorContext, StepEditorProvider, StepExtension, StepExtensionResolver, StepIconUrlProvider, StepLabelProvider, StepValidator, StepsConfiguration, StepsDesignerExtension, StepsDesignerExtensionConfiguration, StepsExtension, StepsExtensionConfiguration, SwitchStep, SwitchStepComponentViewConfiguration, SwitchStepExtensionConfiguration, TaskStep, TaskStepComponentViewConfiguration, TaskStepExtensionConfiguration, ToolboxApi, ToolboxConfiguration, ToolboxGroupConfiguration, TriggerCustomActionClickCommand, UiComponent, UiComponentExtension, Uid, UidGenerator, UndoStack, UndoStackItem, ValidationErrorBadgeExtension, ValidationErrorBadgeExtensionConfiguration, ValidationErrorBadgeViewConfiguration, ValidatorConfiguration, Vector, Viewport, ViewportController, ViewportControllerExtension, WheelController, WheelControllerExtension, WorkspaceApi, createContainerStepComponentViewFactory, createSwitchStepComponentViewFactory, createTaskStepComponentViewFactory, getAbsolutePosition, race };
1213
+ export { Attributes, Badge, BadgeExtension, BadgeView, Badges, BadgesResult, BaseClickCommand, CenteredViewportCalculator, ClassicWheelControllerExtension, ClickCommand, ClickCommandType, ClickDetails, Component, ComponentContext, ComponentView, ContainerStepComponentViewConfiguration, ContainerStepExtensionConfiguration, ContextMenuExtension, ContextMenuItem, ContextMenuItemsProvider, ControlBarApi, CustomAction, CustomActionController, CustomActionHandler, CustomActionHandlerContext, Daemon, DaemonExtension, DefaultSequenceComponent, DefaultSequenceComponentView, DefaultViewportController, DefaultViewportControllerExtension, DefinitionChangeType, DefinitionChangedEvent, Designer, DesignerApi, DesignerConfiguration, DesignerContext, DesignerExtension, DesignerState, Dom, DraggedComponent, DraggedComponentExtension, Editor, EditorApi, EditorsConfiguration, Grid, GridExtension, Icons, InputView, JoinView, KeyboardAction, KeyboardConfiguration, LabelView, LineGridConfiguration, LineGridDesignerExtension, ObjectCloner, OpenFolderClickCommand, OutputView, PathBarApi, Placeholder, PlaceholderController, PlaceholderControllerExtension, PlaceholderDirection, PlaceholderExtension, PlaceholderView, QuantifiedScaleViewportCalculator, RectPlaceholder, RectPlaceholderConfiguration, RectPlaceholderView, RegionView, RerenderStepClickCommand, RootComponentExtension, RootEditorContext, RootEditorProvider, RootValidator, SelectStepClickCommand, SelectedStepIdProvider, SequenceComponent, SequenceComponentExtension, SequenceContext, SequencePlaceIndicator, Services, ServicesResolver, SimpleEvent, SimpleEventListener, StateModifierDependency, StepComponent, StepComponentView, StepComponentViewContext, StepComponentViewFactory, StepComponentViewWrapperExtension, StepContext, StepDefinition, StepDescriptionProvider, StepEditorContext, StepEditorProvider, StepExtension, StepExtensionResolver, StepIconUrlProvider, StepLabelProvider, StepValidator, StepsConfiguration, StepsDesignerExtension, StepsDesignerExtensionConfiguration, SwitchStepComponentViewConfiguration, SwitchStepExtensionConfiguration, TaskStepComponentViewConfiguration, TaskStepExtensionConfiguration, ToolboxApi, ToolboxConfiguration, ToolboxGroupConfiguration, TriggerCustomActionClickCommand, UiComponent, UiComponentExtension, Uid, UidGenerator, UndoStack, UndoStackItem, ValidationErrorBadgeExtension, ValidationErrorBadgeExtensionConfiguration, ValidationErrorBadgeViewConfiguration, ValidatorConfiguration, Vector, Viewport, ViewportController, ViewportControllerExtension, WheelController, WheelControllerExtension, WorkspaceApi, createContainerStepComponentViewFactory, createSwitchStepComponentViewFactory, createTaskStepComponentViewFactory, getAbsolutePosition, race };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sequential-workflow-designer",
3
3
  "description": "Customizable no-code component for building flow-based programming applications.",
4
- "version": "0.18.5",
4
+ "version": "0.19.1",
5
5
  "type": "module",
6
6
  "main": "./lib/esm/index.js",
7
7
  "types": "./lib/index.d.ts",