Type Parameters

  • Schemes extends BaseSchemes

Hierarchy

  • HistoryPlugin<Schemes>
    • HistoryPlugin

Constructors

  • Type Parameters

    • Schemes extends BaseSchemes

    Parameters

    • Optionalprops: {
          timing?: number;
      }

      History plugin properties

      • Optionaltiming?: number

        Time in ms between actions to be considered as one action

    Returns HistoryPlugin<Schemes>

Properties

__scope: {
    parents: [BaseArea<Schemes>, Root<Schemes>];
    produces: never;
}
canRedo: Writable<boolean> = ...
canUndo: Writable<boolean> = ...
isRedoing: boolean = false
isUndoing: boolean = false
lastMoveTime: number = ...
name: string
parent?: any
signal: Signal<any>
timing: number

Methods

  • Parameters

    Returns void

  • Adds a preset to the history plugin

    Type Parameters

    • T extends Action

    Parameters

    • preset: Preset<Schemes, T>

      Preset that manages some actions, e.g. classic preset for adding/removing nodes, connections, etc.

    Returns void

  • Clear history

    Returns void

  • Type Parameters

    • C extends never

    Parameters

    • context: C

    Returns Promise<undefined>

  • Get produced history records

    Returns HistoryRecord<Action>[]

    History snapshot

  • Get recent history records produced in the last ms milliseconds

    Parameters

    • ms: number

      Delta time in milliseconds

    Returns HistoryRecord<Action>[]

    History records produced in the last ms milliseconds

  • Returns boolean

  • Type Parameters

    Returns Scope<T, P>

  • Type Parameters

    • T

    Parameters

    • type: Type<T>

    Returns T

  • Asynchronously redoes an actions until the separated flag is encountered or the time between the current and previous action exceeds timing property which is 200ms by default

    Returns Promise<void>

  • Returns void

  • Parameters

    Returns void

  • Asynchronously undoes an actions until the separated flag is encountered or the time between the current and previous action exceeds timing property which is 200ms by default

    Returns Promise<void>

  • Type Parameters

    • S extends Scope<any, any[]>

    Parameters

    Returns {
        debug<T>(_f: ((p: {
            [K in string | number | symbol]: BaseArea<Schemes> | Root<Schemes>
        }) => T)): void;
    }

    • debug:function
      • Type Parameters

        • T extends []

        Parameters

        • _f: ((p: {
              [K in string | number | symbol]: BaseArea<Schemes> | Root<Schemes>
          }) => T)
            • (p): T
            • Parameters

              • p: {
                    [K in string | number | symbol]: BaseArea<Schemes> | Root<Schemes>
                }

              Returns T

        Returns void