Home Reference Source
public class | source

ToolStack

Extends:

Array → ToolStack

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public

[.cur]: *

public

[i]: *

public

ctx: *

public

cur: *

public
public get

head: *

public

length: *

public
public
public
public

toolctx: *

Private Members
private

Method Summary

Public Methods
public

calcMemSize(ctx: *): *

public

execOrRedo(compareInputs: *): boolean

runs .undo,.redo if toolstack head is same as tool

public

execTool(ctx: *, toolop: *)

public

limitMemory(maxmem: *, ctx: *): *

public

loadSTRUCT(reader: *)

public

redo()

public

replay(cb: *, onStep: *): *

cb is a function(ctx), if it returns the value false then playback stops promise will still be fulfilled.

public

rerun(tool: *)

public

reset(ctx: *)

public

rewind(): *

public

save(): *

public
public

toolCancel(ctx: *, tool: *)

public

undo()

Private Methods
private

_save(): *

Public Constructors

public constructor() source

Public Members

public [.cur]: * source

public [i]: * source

public ctx: * source

public cur: * source

public enforceMemLimit: boolean source

public get head: * source

public length: * source

public memLimit: * source

public modalRunning: number source

public modal_running: boolean source

public toolctx: * source

Private Members

private _undo_branch: * source

Public Methods

public calcMemSize(ctx: *): * source

Params:

NameTypeAttributeDescription
ctx *
  • optional

Return:

*

public execOrRedo(compareInputs: *): boolean source

runs .undo,.redo if toolstack head is same as tool

otherwise, .execTool(ctx, tool) is called.

Params:

NameTypeAttributeDescription
compareInputs *

: check if toolstack head has identical input values, defaults to false

Return:

boolean

public execTool(ctx: *, toolop: *) source

Params:

NameTypeAttributeDescription
ctx *
toolop *

public limitMemory(maxmem: *, ctx: *): * source

Params:

NameTypeAttributeDescription
maxmem *
  • optional
ctx *
  • optional

Return:

*

public loadSTRUCT(reader: *) source

Params:

NameTypeAttributeDescription
reader *

public redo() source

public replay(cb: *, onStep: *): * source

cb is a function(ctx), if it returns the value false then playback stops promise will still be fulfilled.

onstep is a callback, if it returns a promise that promise will be waited on, otherwise execution is queue with window.setTimeout().

Params:

NameTypeAttributeDescription
cb *
onStep *

Return:

*

public rerun(tool: *) source

Params:

NameTypeAttributeDescription
tool *

public reset(ctx: *) source

Params:

NameTypeAttributeDescription
ctx *

public rewind(): * source

Return:

*

public save(): * source

Return:

*

public setRestrictedToolContext(ctx: *) source

Params:

NameTypeAttributeDescription
ctx *

public toolCancel(ctx: *, tool: *) source

Params:

NameTypeAttributeDescription
ctx *
tool *

public undo() source

Private Methods

private _save(): * source

Return:

*