Options
All
  • Public
  • Public/Protected
  • All
Menu

Bese representation of a Object

export

Hierarchy

Indexable

[nameAttr: string]: any

Index

Constructors

  • new Model(attr?: any): Model
  • Creates an instance of Model.

    memberof

    Model

    Parameters

    • Optional attr: any

    Returns Model

Properties

_attribute_names: string[] = []

registered attribute names (in declaration order)

memberof

Model

_date_last_modification: number = ...

"date" of previous change. We start at + 2 because we consider that an initialisation is a modification.

memberof

Model

_parents: Model[] = []

parent models (depending on this)

memberof

Model

_processes: Process[] = []

synchronized processes

memberof

Model

_server_id?: number

id unique from server. It doesn't exist at creation but added after a sync of the server

memberof

Model

model_id: number = ...

id of the model

memberof

Model

_constructorName: string = 'Model'

Methods

  • _get_parents_that_check_rec(res: Model[], visited: {}, func_to_check: ((model: Model) => boolean)): void
  • see get_parents_that_check

    memberof

    Model

    Parameters

    • res: Model[]
    • visited: {}
      • [attrName: string]: boolean
    • func_to_check: ((model: Model) => boolean)
        • Parameters

          Returns boolean

    Returns void

  • _get_state(): string
  • _set(value: any): boolean
  • may be redefined. by default, add attributes using keys and values (and remove old unused values) must return true if data is changed

    memberof

    Model

    Parameters

    • value: any

    Returns boolean

    {boolean}

  • return true if info from map[ mid ] if compatible with this. If it's the case, use this information to update data

    memberof

    Model

    Parameters

    Returns boolean

    {boolean}

  • _signal_change(change_level?: number): Timeout
  • called by set. change_level should not be defined by the user (it permits to != change from child of from this)

    memberof

    Model

    Parameters

    • change_level: number = 2

    Returns Timeout

    {ReturnType}

  • add_attr(object: {}): void
  • add_attr(name: string, instanceOfModel?: any, signal_change?: boolean): void
  • add attribute

    memberof

    Model

    Parameters

    • object: {}
      • [nameAttr: string]: any

    Returns void

  • add attribute

    memberof

    Model

    Parameters

    • name: string
    • Optional instanceOfModel: any
    • Optional signal_change: boolean

    Returns void

  • if this has been modified during the preceding round, f will be called If f is a process: process.onchange will be called each time this (or a child of this) will be modified. process.destructor will be called if this is destroyed. ... can be seen as a bind with an object

    memberof

    Model

    Parameters

    Returns Process

    {Process}

  • cosmetic_attribute(name: string): boolean
  • To be redifined in children if needed

    memberof

    Model

    Parameters

    • name: string

    Returns boolean

    {boolean}

  • destructor(): void
  • Do nothing here, TBD in child if needed. Called in rem_attr if have no more parent.

    memberof

    Model

    Returns void

  • dim(_for_display?: number): number
  • dimensionnality of the object -> 0 for a scalar, 1 for a vector, ...

    memberof

    Model

    Parameters

    • _for_display: number = 0

    Returns number

    {number}

  • equals(m: Model): boolean
  • get(): any
  • return a copy of data in a "standard" representation (e.g. string, number, objects, ...) users are encouraged to use Models as much as possible (meaning that get should not be called for every manipulation), adding methods for manipulation of data if necessary (e.g. toggle, find, ... in Lst, Str, ...). May be redefined for specific types (e.g. Str, Lst, ...)

    memberof

    Model

    Returns any

    {*}

  • get_parents_that_check(func_to_check: ((model: Model) => boolean)): Model[]
  • get first parents that checks func_to_check

    memberof

    Model

    Parameters

    • func_to_check: ((model: Model) => boolean)
        • Parameters

          Returns boolean

    Returns Model[]

    {Model[]}

  • get_state(date?: number): string
  • return a string which describes the changes in this and children since date

    memberof

    Model

    Parameters

    • date: number = -1

    Returns string

    {string}

  • has_been_directly_modified(): boolean
  • return true if this has changed since previous synchronisation due to a direct modification (not from a child one)

    memberof

    Model

    Returns boolean

    {boolean}

  • has_been_modified(): boolean
  • return true if this (or a child of this) has changed since the previous synchronisation

    memberof

    Model

    Returns boolean

    {boolean}

  • mod_attr(name: string, instanceOfModel: any, signal_change?: boolean): void
  • change attribute named nname to instanceOfModel (use references for comparison)

    memberof

    Model

    Parameters

    • name: string
    • instanceOfModel: any
    • signal_change: boolean = true

    Returns void

    {void}

  • real_change(): boolean
  • returns true if change is not "cosmetic"

    memberof

    Model

    Returns boolean

    {boolean}

  • rem_attr(name: string, signal_change?: boolean): void
  • remove attribute named name

    memberof

    Model

    Parameters

    • name: string
    • signal_change: boolean = true

    Returns void

  • set(value: any): boolean
  • modify data, using another values, or Model instances. Should not be redefined (but _set should be) returns true if object os modified

    memberof

    Model

    Parameters

    • value: any

    Returns boolean

    {boolean}

  • set_attr(instanceOfModel: {}): void
  • add / mod / rem attr to get the same data than o (assumed to be something like { key: val, ... })

    memberof

    Model

    Parameters

    • instanceOfModel: {}
      • [key: string]: any

    Returns void

  • set_state(str: string): void
  • modify state according to str. str can be the result of a previous @get_state

    memberof

    Model

    Parameters

    • str: string

    Returns void

  • size(_for_display?: number): number | number[]
  • dimension of the object -> [] for a scalar, [ length ] for a vector, [ nb_row, nb_cols ] for a matrix...

    memberof

    Model

    Parameters

    • _for_display: number = 0

    Returns number | number[]

    {(number | number[])}

Generated using TypeDoc