Options
All
  • Public
  • Public/Protected
  • All
Menu

Model is a base for Model-Like objects.

Model provides some event-model and general attribute management facilities. Model basically provides getter, setter methods for attributes and an event subscription system to notify of attribute changes or other custom events. Model is used mainly by Components to model component options and thus allow editors to treat each component as a Data Model object to drive user interface.

Hierarchy

Index

Properties

Private subscriptions

subscriptions: ISubscription[] = []

Static prefixed

prefixed: string | boolean

Methods

addListener

  • addListener(event: string | symbol, fn: ListenerFn, context?: any): this
  • Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns this

emit

  • emit(event: string | symbol, ...args: Array<any>): boolean
  • Calls each of the listeners registered for a given event.

    Parameters

    • event: string | symbol
    • Rest ...args: Array<any>

    Returns boolean

eventNames

  • eventNames(): Array<string | symbol>
  • Return an array listing the events for which the emitter has registered listeners.

    Returns Array<string | symbol>

Abstract get

  • get(key: string): any
  • Returns the value of an attribute.

    Override to implement getter for attributes

    Parameters

    • key: string

      attribute name

    Returns any

Protected listenTo

  • listenTo(emitter: EventEmitter, event: string, callback: function): void
  • Add a listener to another EventEmitter.

    This provides an event subscription list facility. Allowing subclasses to listen to other emitters and remove all or some listeners with a single call to Model.stopListening, later.

    Parameters

    • emitter: EventEmitter

      the event emitter to listen to

    • event: string

      the name of the event to listen to

    • callback: function

      the callback for the event handler

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns void

listenerCount

  • listenerCount(event: string | symbol): number
  • Return the number of listeners listening to a given event.

    Parameters

    • event: string | symbol

    Returns number

listeners

  • listeners(event: string | symbol): Array<ListenerFn>
  • Return the listeners registered for a given event.

    Parameters

    • event: string | symbol

    Returns Array<ListenerFn>

off

  • off(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): this
  • Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns this

on

  • on(event: string | symbol, fn: ListenerFn, context?: any): this
  • Add a listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns this

once

  • once(event: string | symbol, fn: ListenerFn, context?: any): this
  • Add a one-time listener for a given event.

    Parameters

    • event: string | symbol
    • fn: ListenerFn
    • Optional context: any

    Returns this

removeAllListeners

  • removeAllListeners(event?: string | symbol): this
  • Remove all listeners, or those of the specified event.

    Parameters

    • Optional event: string | symbol

    Returns this

removeListener

  • removeListener(event: string | symbol, fn?: ListenerFn, context?: any, once?: boolean): this
  • Remove the listeners of a given event.

    Parameters

    • event: string | symbol
    • Optional fn: ListenerFn
    • Optional context: any
    • Optional once: boolean

    Returns this

set

  • set(key: string | any, value: any, options?: any): boolean
  • Safely set an attribute(s).

    If the attribute set succeeds, a change:[attribute name] event is fired. change:[attribute name] event handler receives this object, the new value and options as arguments.

    Additionally a change event is also fired when all changes succeed. The change event receives this object and the options as arguments.

    Parameters

    • key: string | any

      the name of the attribute or map of values

    • value: any

      the new value of the attribute

    • Optional options: any

      this object is sent down to the event handlers, useful to things down to your handler. if options.silent is true then events are not fired.

    Returns boolean

Protected Abstract setAttribute

  • setAttribute(key: string, value: any, options: any): boolean
  • Set value of a single attribute and returns boolean to indicate success.

    Override this to implement attribute set logic

    Parameters

    • key: string

      attribute name

    • value: any

      value

    • options: any

      custom options

    Returns boolean

Protected stopListening

  • stopListening(emitter?: EventEmitter, event?: string, callback?: function): void
  • Removes to one or more listeners that were set earlier with calls to Model.listenTo.

    Use the arguments to filter subscriptions. eg: model.stopListening(em) will remove all listeners on emitter em. model.stopListening(em, 'change') will remove all listeners for change event on emitter em.

    Parameters

    • Optional emitter: EventEmitter

      the event emitter on which the listener was set

    • Optional event: string

      the event to be removed

    • Optional callback: function

      the callback to be removed

        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns void

Abstract toJSON

  • toJSON(key: string): any
  • Returns a JSON representation of the attributes.

    Override to implement a JSON generation logic

    Parameters

    • key: string

      attribute name

    Returns any