Skip to main content

Pentaho+ documentation has moved!

The new product documentation portal is here. Check it out now at docs.hitachivantara.com

 

Hitachi Vantara Lumada and Pentaho Documentation

Model

pentaho.visual. Model

The Model class is the required, base class of visualization models.

All registered visual filter types are pre-loaded with the model classes and can thus be safely loaded synchronously.

AMD Module

require(["pentaho/visual/Model"], function(Model) { /* code goes here */ });

See also: pentaho.visual.IView , pentaho.visual.action.Select , pentaho.visual.action.Execute , pentaho.visual.action.Update

Extends

Constructor

Name Description
new Model(modelSpec)
Abstract

Creates a model instance, given its specification.

Members

Name Description
$changeset : pentaho.type.action.Changeset

Gets the changeset of this instance in the ambient transaction, if any, or null.

$hasChanges : boolean

Gets a value that indicates if this instance has any changes in the ambient transaction.

$isValid : boolean

Determines if this value is a valid.

$key : string

Gets the key of the complex value.

$references : Array.<object>

Gets the references to this container, or null, if none.

$type : pentaho.type.ValueType

Gets the type of this instance.

$uid : string

Gets the unique identifier of the instance.

$version : number

Gets the current version of the instance.

application : pentaho.visual.Application

Gets or sets the visual application object.

base : function
Protected

If a method has been overridden, then the base method provides access to the overridden method.

data : pentaho.data.ITable

Gets or sets the data of the visualization.

height : number

Gets or sets the height that the container application has allocated to display the visualization without horizontal or vertical scrolling, in pixels.

isAutoUpdate : boolean

Gets a value that indicates if automatic updates are enabled.

isDirty : boolean

Gets a value that indicates if the model is in a dirty state.

isDirtyNew : boolean

Gets a value that indicates if the model has been changed since the last update execution started.

isUpdating : boolean

Gets a value that indicates if an update execution is in progress.

keyFieldNames : Array.<string>

Gets an array of the names of fields which are mapped to effective key visual roles.

measureFieldNames : Array.<string>

Gets an array of the names of fields which are mapped to effective measure visual roles and which are not mapped to any effective key visual roles.

selectionFilter : pentaho.data.filter.Abstract

Gets or sets the current data selection filter.

width : number

Gets or sets the width that the container application has allocated to display the visualization without horizontal or vertical scrolling, in pixels.

Methods

Name Description
_compare(other) : number
Protected

Compares this element to a distinct, non-equal element of the same type according to its relative order.

_configure(config)
Protected

Configures this value with a given distinct and non-Nully configuration.

_configureOrCreate(config) : pentaho.type.Element
Protected

Configures this value with a given distinct and non-Nully configuration, if it is possible. Otherwise creates and returns a new value based on this one, but with the configuration applied.

_configureProperty(propType, valueConfig)
Protected

Configures a property with a given value specification.

_createActionExecution(action) : pentaho.action.Execution
Protected

Creates an action execution for a given action.

_createChangeset(transaction) : pentaho.type.action.Changeset
Protected

Creates a changeset with this container as target and returns it.

_emit(event) : pentaho.lang.Event
Protected

Emits an unstructured event and returns it, unless it was canceled.

_emitActionPhaseDoEvent(actionExecution) : Promise
Protected

Emits the do phase event of an action execution.

_emitActionPhaseFinallyEvent(actionExecution)
Protected

Emits the finally phase event of an action execution.

_emitActionPhaseInitEvent(actionExecution)
Protected

Emits the init phase event of an action execution.

_emitActionPhaseWillEvent(actionExecution)
Protected

Emits the will phase event of an action execution.

_emitGeneric(source, eventArgs, type, phase, keyArgs) : boolean
Protected

Emits an event given an arbitrary payload object, its type and phase. Returns the event payload object, unless the event is canceled.

_emitGenericAllAsync(source, eventArgs, type, phase, keyArgs) : Promise.<object>
Protected

Emits an event asynchronously, given an arbitrary payload object, its type and phase, and succeeding if every listener succeeds.

_emitSafe(event) : pentaho.lang.Event
Protected

Variation of the _emit method in which errors thrown by event listeners are caught and logged.

_equals(other) : boolean
Protected

Gets a value that indicates if a given distinct, non-null value of the same type represents the same entity.

_hasListeners(type, phase) : boolean
Protected

Determines if there are any registrations for a given event type and, optionally, phase.

_init(modelSpec)
Protected

Called when the model is constructed.

_initClone(clone)
Protected

Initializes a shallow clone of this container.

_initContainer()
Protected

Initializes a container instance.

_initProperties(spec)
Protected

Initializes the properties of the complex instance from a the given specification.

_onAutoUpdate()
Protected

Called when a change is made and isAutoUpdate is true.

_onChangeFinally(transaction)
Protected

Emits the finally phase event of a change action execution.

_onChangeInit(actionExecution, keyArgs)
Protected

Emits the init phase event of a change action execution.

_onChangeWill(actionExecution)
Protected

Emits the will phase event of a change action execution.

_onDataOrMappingsChanged()
Protected

Called when the data property or any of the visual role properties has changed, but before notifying any change:finally phase listeners of a change action.

act(action) : pentaho.action.Execution

Executes or starts execution of a given action in this target and returns the corresponding action execution instance.

assertValid()

Ensures that the value is valid, and throws the first validation error if it is not.

clone() : pentaho.type.Value
Abstract

Creates a shallow clone of this value.

compare(other) : number

Compares this element to another according to its relative order.

configure(config)

Configures this value with a given configuration.

configureOrCreate(config) : pentaho.type.Element

Configures this value with a given configuration, if it is possible. Otherwise creates and returns a new value based on this one, but with the configuration applied.

countOf(name, sloppy) : number

Gets the number of values of a given property.

countRangeOf(name) : pentaho.IRange

Gets the current valid count range of values of a given property.

domainOf(name) : Array.<pentaho.type.Element>

Gets the current list of valid values of a given property.

equals(other) : boolean

Determines if a given value represents the same entity.

execute(actionOrSpec) : pentaho.action.Execution

Performs an execute action, given its specification.

extend(source, keyArgs) : object

Extend an object with the properties of another.

get(name, sloppy) : pentaho.type.Value | Nully

Gets the value of a property.

getf(name, sloppy) : string

Gets the string representation of the value of a property.

getv(name, sloppy) : * | pentaho.type.Complex | pentaho.type.List | Nully

Gets the primitive value of the value of a property.

isApplicableOf(name) : boolean

Gets a value that indicates if a given property is currently applicable.

isDefaultedOf(name) : boolean

Gets a value that indicates if a given property has assumed a default value.

isEnabledOf(name) : boolean

Gets a value that indicates if a given property is currently enabled.

isRequiredOf(name) : boolean

Gets a value that indicates if a given property is currently required.

off(typeOrHandle, observer)

Removes one registration given its handle, or all registrations of a given event type (or types) and observer (or listener function).

on(type, observer, keyArgs) : pentaho.lang.IEventRegistrationHandle

Registers an observer (or listener function) for an event(s) of a given type(s).

select(actionOrSpec) : pentaho.action.Execution

Performs a select action, given its specification.

set(name, valueSpec)

Sets the value of a property.

toJSON() : JsonValue

Creates a top-level JSON specification that describes this instance.

toSpec(keyArgs) : pentaho.type.spec.Instance

Creates a specification that describes this value.

toSpecInContext(keyArgs) : *

Creates a specification that describes this instance.

update() : Promise

Updates the model to match the latest changes.

Constructor Details

new Model(modelSpec)
Abstract

Creates a model instance, given its specification.

Source: javascript/web/pentaho/visual/Model.js, line 116

Parameters:
Name Default Value Summary
modelSpec : pentaho.visual.spec.IModel
Optional

The model specification.

See also: pentaho.visual.IView , pentaho.visual.action.Select , pentaho.visual.action.Execute , pentaho.visual.action.Update

Members Details

$changeset: pentaho.type.action.Changeset

Gets the changeset of this instance in the ambient transaction, if any, or null.

Source: javascript/web/pentaho/type/mixins/Container.js, line 213

Inherited From: pentaho.type.mixins.Container#$changeset

$hasChanges: boolean

Gets a value that indicates if this instance has any changes in the ambient transaction.

Source: javascript/web/pentaho/type/mixins/Container.js, line 223

Inherited From: pentaho.type.mixins.Container#$hasChanges

$isValid: boolean

Determines if this value is a valid.

This attribute calls validate and returns a boolean value indicating if it returned no errors.

Source: javascript/web/pentaho/type/Value.js, line 168

Inherited From: pentaho.type.Value#$isValid

$key: string

Gets the key of the complex value.

The default complex implementation returns the value of the $uid property.

Source: javascript/web/pentaho/type/Complex.js, line 187

Inherited From: pentaho.type.Complex#$key

$references: Array.<object>

Gets the references to this container, or null, if none.

Note that the returned array may be empty.

Do NOT change the returned array or its elements in any way.

Source: javascript/web/pentaho/type/mixins/Container.js, line 156

Inherited From: pentaho.type.mixins.Container#$references

$type: pentaho.type.ValueType

Gets the type of this instance.

Source: javascript/web/pentaho/type/Value.js, line 334

Overrides: pentaho.visual.AbstractModel#$type

$uid: string

Gets the unique identifier of the instance.

Source: javascript/web/pentaho/type/mixins/Container.js, line 75

Inherited From: pentaho.type.mixins.Container#$uid

$version: number

Gets the current version of the instance.

Source: javascript/web/pentaho/type/mixins/Container.js, line 187

Inherited From: pentaho.type.mixins.Container#$version

application: pentaho.visual.Application

Gets or sets the visual application object.

The application object represents the relevant state and interface of the application in which a model is being used.

By default, this property is not included when serializing to JSON. To serialize it, specify the argument keyArgs.omitProps.application of toSpec to false.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 234

Inherited From: pentaho.visual.AbstractModel#application

base: function
Protected

If a method has been overridden, then the base method provides access to the overridden method.

Can also be called from within a constructor function.

Source: javascript/web/pentaho/lang/Base.js, line 299

Inherited From: pentaho.lang.Base#base

data: pentaho.data.ITable

Gets or sets the data of the visualization.

By default, this property is not included when serializing to JSON. To serialize it, specify the argument keyArgs.omitProps.data of toSpec to false.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 253

Inherited From: pentaho.visual.AbstractModel#data

height: number

Gets or sets the height that the container application has allocated to display the visualization without horizontal or vertical scrolling, in pixels.

This property is required and non-browsable.

Source: javascript/web/pentaho/visual/Model.js, line 627

Default Value: 300

See also: pentaho.visual.Model#width

isAutoUpdate: boolean

Gets a value that indicates if automatic updates are enabled.

When true, the model is automatically updated whenever changes occur. The model is updated before notifying any local listeners of the Change:{finally} action.

When false, the model must be manually updated by calling the update method.

Source: javascript/web/pentaho/visual/Model.js, line 216

isDirty: boolean

Gets a value that indicates if the model is in a dirty state.

A model is considered dirty from the time it is changed to the time it is updated. This includes the entirety of the update execution. Contrast this with the isDirtyNew property, which excludes the period of the current update execution.

During the dirty period, the model should not handle any user interaction actions, as the user could be acting on an outdated representation of it.

Source: javascript/web/pentaho/visual/Model.js, line 238

See also: pentaho.visual.Model#isDirtyNew , pentaho.visual.Model#isUpdating

isDirtyNew: boolean

Gets a value that indicates if the model has been changed since the last update execution started.

A model is dirty if changes exist which were not captured by a past or ongoing update execution.

This property yields the correct result even if called before the local _onChangeFinally handler, during a transaction.

Contrast this property with the isDirty property, which takes into account whether the view is updating, while this property does not.

Source: javascript/web/pentaho/visual/Model.js, line 262

See also: pentaho.visual.Model#isDirty , pentaho.visual.Model#isUpdating

isUpdating: boolean

Gets a value that indicates if an update execution is in progress.

Source: javascript/web/pentaho/visual/Model.js, line 350

See also: pentaho.visual.Model#update

keyFieldNames: Array.<string>

Gets an array of the names of fields which are mapped to effective key visual roles.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 146

Inherited From: pentaho.visual.AbstractModel#keyFieldNames

See also: pentaho.visual.role.AbstractPropertyType#isVisualKeyEffective

measureFieldNames: Array.<string>

Gets an array of the names of fields which are mapped to effective measure visual roles and which are not mapped to any effective key visual roles.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 178

Inherited From: pentaho.visual.AbstractModel#measureFieldNames

See also: pentaho.visual.role.AbstractPropertyType#isVisualKeyEffective

selectionFilter: pentaho.data.filter.Abstract

Gets or sets the current data selection filter.

This property is required.

By default, this property is not included when serializing to JSON. To serialize it, specify the argument keyArgs.omitProps.selectionFilter of toSpec to false.

When set to a filter specification, pentaho.data.filter.spec.IAbstract, it is converted into a filter object. Any standard filter can be safely loaded synchronously.

ATTENTION: The current implementation only supports filters that can be converted to DNF in a reasonable amount of time.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 289

Inherited From: pentaho.visual.AbstractModel#selectionFilter

width: number

Gets or sets the width that the container application has allocated to display the visualization without horizontal or vertical scrolling, in pixels.

This property is required and non-browsable.

Source: javascript/web/pentaho/visual/Model.js, line 607

Default Value: 300

See also: pentaho.visual.Model#height

Methods Details

_compare(other) : number
Protected

Compares this element to a distinct, non-equal element of the same type according to its relative order.

The default implementation does a lexicographical comparison of the elements' keys.

Source: javascript/web/pentaho/type/Element.js, line 105

Inherited From: pentaho.type.Element#_compare

Parameters:
Name Default Value Summary
other : pentaho.type.Element

The other element value.

Returns:
Name Description
number

-1 if this value is before other; 1 if this value is after other; 0, otherwise.

See also: pentaho.type.Element#compare , pentaho.type.Value#equals

_configure(config)
Protected

Configures this value with a given distinct and non-Nully configuration.

This method can only be called when there is an ambient transaction.

The default implementation throws an error if this value's type is read-only.

Source: javascript/web/pentaho/type/Value.js, line 264

Inherited From: pentaho.type.Value#_configure

Parameters:
Name Default Value Summary
config : *

The distinct, non-Nully configuration.

Throws:
Name Description
TypeError

When the value would be changed and its type is read-only.

See also: pentaho.type.Value#configure , pentaho.type.Complex#_configure , pentaho.type.List#_configure

_configureOrCreate(config) : pentaho.type.Element
Protected

Configures this value with a given distinct and non-Nully configuration, if it is possible. Otherwise creates and returns a new value based on this one, but with the configuration applied.

This method can only be called when there is an ambient transaction.

Source: javascript/web/pentaho/type/Element.js, line 175

Inherited From: pentaho.type.Element#_configureOrCreate

Parameters:
Name Default Value Summary
config : *

The non-Nully configuration. Assumed distinct from this.

Returns:
Name Description
pentaho.type.Element

this, already configured, or a new value.

See also: pentaho.type.Element#configureOrCreate , pentaho.type.Value#configure

_configureProperty(propType, valueConfig)
Protected

Configures a property with a given value specification.

Execution proceeds as follows:

  1. If the property is a list property:

  2. If the config value is null, the list is cleared by calling the List#clear method;

  3. Otherwise, if the config value is distinct from the current list value, execution is delegated to the List.configure method;

  4. If the property is an element property:

  5. If either the current value or the config value are null, then the config value replaces the current value;

  6. Otherwise, execution is delegated to the Element#configureOrCreate method; if it returns an element distinct from the current value, then that value replaces the current value.

If in any of the described steps, an error is thrown if a change would result to the property's value and the property is read-only. Also, an error is thrown if the value itself would have to be mutated and its type is read-only.

Source: javascript/web/pentaho/type/Complex.js, line 483

Inherited From: pentaho.type.Complex#_configureProperty

Parameters:
Name Default Value Summary
propType : pentaho.type.PropertyType

The property to configure.

valueConfig : *

A value specification. Not undefined.

Throws:
Name Description
TypeError

When the property value would be replaced or, in case of list properties, its elements would be added, moved or removed and the property is read-only.

TypeError

When the property's current value would be mutated and its type is read-only.

_createActionExecution(action) : pentaho.action.Execution
Protected

Creates an action execution for a given action.

Source: javascript/web/pentaho/action/impl/Target.js, line 196

Overrides: pentaho.action.impl.Target#_createActionExecution

Parameters:
Name Default Value Summary
action : pentaho.action.Base

The action which will be executed.

Returns:
Name Description
pentaho.action.Execution

The action execution.

See also: pentaho.action.ITarget#act

_createChangeset(transaction) : pentaho.type.action.Changeset
Protected

Creates a changeset with this container as target and returns it.

Source: javascript/web/pentaho/type/mixins/Container.js, line 248

Inherited From: pentaho.type.mixins.Container#_createChangeset

Parameters:
Name Default Value Summary
transaction : pentaho.type.action.Transaction

The transaction that owns this changeset.

Returns:
Name Description
pentaho.type.action.Changeset

A changeset of the appropriate type.

_emit(event) : pentaho.lang.Event
Protected

Emits an unstructured event and returns it, unless it was canceled.

When this method is called, the listeners of existing registrations are notified synchronously, by priority order and then registration order, until either the event is canceled or all of the listeners have been notified.

It is safe to register or unregister to/from an event type while it is being emitted. However, changes are only taken into account in subsequent emissions.

If a listener function throws an error, the event processing is interrupted. No more registrations are processed and the error is passed to the caller.

Source: javascript/web/pentaho/lang/EventSource.js, line 269

Overrides: pentaho.action.impl.Target#_emit

Parameters:
Name Default Value Summary
event : pentaho.lang.Event

The event object.

Returns:
Name Description
pentaho.lang.Event | null

The given event object or null, when canceled.

See also: pentaho.lang.EventSource#_emitSafe , pentaho.lang.EventSource#_emitGeneric

_emitActionPhaseDoEvent(actionExecution) : Promise
Protected

Emits the do phase event of an action execution.

The default implementation delegates to _emitGenericAllAsync, when the action is asynchronous. Delegates to _emitGeneric, otherwise.

Source: javascript/web/pentaho/action/impl/Target.js, line 254

Inherited From: pentaho.action.impl.Target#_emitActionPhaseDoEvent

Parameters:
Name Default Value Summary
actionExecution : pentaho.action.Execution

The action execution.

Returns:
Name Description
Promise | null

A promise to the completion of the asynchronous do listener, of an asynchronous action, or null.

_emitActionPhaseFinallyEvent(actionExecution)
Protected

Emits the finally phase event of an action execution.

The default implementation delegates to _emitGeneric.

Source: javascript/web/pentaho/action/impl/Target.js, line 279

Inherited From: pentaho.action.impl.Target#_emitActionPhaseFinallyEvent

Parameters:
Name Default Value Summary
actionExecution : pentaho.action.Execution

The action execution.

_emitActionPhaseInitEvent(actionExecution)
Protected

Emits the init phase event of an action execution.

The default implementation delegates to _emitGeneric.

Source: javascript/web/pentaho/action/impl/Target.js, line 212

Inherited From: pentaho.action.impl.Target#_emitActionPhaseInitEvent

Parameters:
Name Default Value Summary
actionExecution : pentaho.action.Execution

The action execution.

_emitActionPhaseWillEvent(actionExecution)
Protected

Emits the will phase event of an action execution.

The default implementation delegates to _emitGeneric.

Source: javascript/web/pentaho/action/impl/Target.js, line 230

Inherited From: pentaho.action.impl.Target#_emitActionPhaseWillEvent

Parameters:
Name Default Value Summary
actionExecution : pentaho.action.Execution

The action execution.

_emitGeneric(source, eventArgs, type, phase, keyArgs) : boolean
Protected

Emits an event given an arbitrary payload object, its type and phase. Returns the event payload object, unless the event is canceled.

Source: javascript/web/pentaho/lang/EventSource.js, line 325

Overrides: pentaho.action.impl.Target#_emitGeneric

Parameters:
Name Default Value Summary
source : object

The this value of listener functions.

eventArgs : Array

The arguments of listener functions.

type : nonEmptyString

The type of the event.

phase : nonEmptyString
Optional

The phase of the event. For unstructured events don't specify this argument (or specify a Nully value).

keyArgs : object
Optional

The keyword arguments' object.

Parameters:
Name Default Value Summary
isCanceled : function
Optional

A predicate that indicates if the given event arguments are in a canceled state. Its this value is the value of source.

errorHandler : function
Optional

When specified with a null value, no error handling is performed and errors thrown by listeners are thrown back to this method's caller. When unspecified or specified as undefined, defaults to a function that simply logs the listener errors, and lets execution continue to the following listeners. The function arguments are: the error, the eventArgs, the event type and the event phase. Its this value is the value of source.

interceptor : function
Optional
null

A function which is called for each event listener function, with the arguments listener, source, eventArgs and the index of the listener.

Returns:
Name Description
boolean

false when the event is canceled; true, otherwise.

_emitGenericAllAsync(source, eventArgs, type, phase, keyArgs) : Promise.<object>
Protected

Emits an event asynchronously, given an arbitrary payload object, its type and phase, and succeeding if every listener succeeds.

Listeners are called in parallel.

Returns a promise that is fulfilled or rejected with the event payload object. If any listener throws or rejects, the returned promise is rejected as well.

Source: javascript/web/pentaho/lang/EventSource.js, line 454

Overrides: pentaho.action.impl.Target#_emitGenericAllAsync

Parameters:
Name Default Value Summary
source : object

The this value of listener functions.

eventArgs : Array

The arguments of listener functions.

type : nonEmptyString

The type of the event.

phase : nonEmptyString
Optional

The phase of the event. For unstructured events don't specify this argument (or specify a Nully value).

keyArgs : object
Optional

The keyword arguments' object.

Parameters:
Name Default Value Summary
isCanceled : function
Optional

A predicate that indicates if the given event arguments are in a canceled state. Its this value is the value of source.

getCancellationReason : function
Optional

A function that given the event arguments returns its a cancellation reason, usually an Error. Its this value is the value of source.

errorHandler : function
Optional

When specified with a null value, no error handling is performed. Errors thrown by, or promises rejected by, any listeners cause the whole event to be rejected.

When unspecified or specified as undefined, defaults to a function that simply logs any listener errors, yet always succeeding.

The function arguments are: the error, the event, the event type and the event phase.

Returns:
Name Description
Promise.<object>

A promise. When fulfilled, it is with the value undefined. When rejected due to a thrown error, the rejection reason is that error. When explicitly rejected by the error handler, the given rejection reason is preserved. When rejected due to a cancellation, the rejection reason is the cancellation reason, if any.

_emitSafe(event) : pentaho.lang.Event
Protected

Variation of the _emit method in which errors thrown by event listeners are caught and logged.

If an event listener throws an error, the following event listeners are still processed.

Source: javascript/web/pentaho/lang/EventSource.js, line 291

Overrides: pentaho.action.impl.Target#_emitSafe

Parameters:
Name Default Value Summary
event : pentaho.lang.Event

The event object.

Returns:
Name Description
pentaho.lang.Event | null

The given event object or null, when canceled.

See also: pentaho.lang.EventSource#_emit , pentaho.lang.EventSource#_emitGeneric

_equals(other) : boolean
Protected

Gets a value that indicates if a given distinct, non-null value of the same type represents the same entity.

The default implementation considers two values equal if they have the equal keys.

Source: javascript/web/pentaho/type/Value.js, line 135

Inherited From: pentaho.type.Value#_equals

Parameters:
Name Default Value Summary
other : pentaho.type.Value

A distinct value to test for equality.

Returns:
Name Description
boolean

true if the given value is equal to this one; false, otherwise.

See also: pentaho.type.Value#equals , pentaho.type.Value#$key

_hasListeners(type, phase) : boolean
Protected

Determines if there are any registrations for a given event type and, optionally, phase.

This method can be used to avoid creating expensive event objects for an event type and, optionally, phase, that don't have registrations.

Source: javascript/web/pentaho/lang/EventSource.js, line 218

Overrides: pentaho.action.impl.Target#_hasListeners

Parameters:
Name Default Value Summary
type : nonEmptyString

The type of the event.

phase : nonEmptyString
Optional

The phase of a structured event. For unstructured events don't specify this argument. For structured events, if this argument is not specified, the result will be true if there are any listeners, for any of the phases.

Returns:
Name Description
boolean

true if the event has any listeners for the given event type and phase; false, otherwise.

Examples

if(this._hasListeners("click")) {

 var event = new Event("click", this, true);

 if(this._emit(event)) {
 // ...
 }
}
if(this._hasListeners("select")) {

 var event = new Event("select");

 if(this._emitGeneric(this, [event], "select", "will")) {

 // Select ...

 this._emitGeneric(this, [event], "select", "finally");
 }
}
_init(modelSpec)
Protected

Called when the model is constructed.

Override this method, from a subclass or configuration mixin class, to perform the initialization of a model instance. In principle, you should call the base implementation before settings any properties in this.

Source: javascript/web/pentaho/visual/Model.js, line 160

Parameters:
Name Default Value Summary
modelSpec : pentaho.visual.spec.IModel

The model specification provided at construction time, if any.

_initClone(clone)
Protected

Initializes a shallow clone of this container.

The default implementation calls pentaho.type.mixins.Container#_initContainer.

Source: javascript/web/pentaho/type/mixins/Container.js, line 140

Inherited From: pentaho.type.mixins.Container#_initClone

Parameters:
Name Default Value Summary
clone : pentaho.type.mixins.Container

The cloned container to initialize.

_initContainer()
Protected

Initializes a container instance.

Source: javascript/web/pentaho/type/mixins/Container.js, line 74

Inherited From: pentaho.type.mixins.Container#_initContainer

_initProperties(spec)
Protected

Initializes the properties of the complex instance from a the given specification.

Source: javascript/web/pentaho/type/Complex.js, line 120

Inherited From: pentaho.type.Complex#_initProperties

Parameters:
Name Default Value Summary
spec : pentaho.type.spec.Complex
Optional

A complex specification.

_onAutoUpdate()
Protected

Called when a change is made and isAutoUpdate is true.

The default implementation calls the update method, taking care to log a warning, when it is rejected.

Source: javascript/web/pentaho/visual/Model.js, line 329

See also: pentaho.visual.Model#_onChangeFinally

_onChangeFinally(transaction)
Protected

Emits the finally phase event of a change action execution.

The default implementation proceeds like:

  1. When the change action is successful the change is acknowledged, by affecting the isDirty.
  2. When the change action is successful and isAutoUpdate is true, calls the _onAutoUpdate method.
  3. Delegates to the base implementation, which handles emitting the finally phase event.

Source: javascript/web/pentaho/visual/Model.js, line 302

Overrides: pentaho.visual.AbstractModel#_onChangeFinally

Parameters:
Name Default Value Summary
transaction : pentaho.type.action.Transaction

The action execution.

_onChangeInit(actionExecution, keyArgs)
Protected

Emits the init phase event of a change action execution.

The default implementation delegates to _emitGeneric.

Source: javascript/web/pentaho/type/mixins/Container.js, line 274

Inherited From: pentaho.type.mixins.Container#_onChangeInit

Parameters:
Name Default Value Summary
actionExecution : pentaho.type.action.Transaction

The action execution.

keyArgs : object
Optional

The keyword arguments' object.

_onChangeWill(actionExecution)
Protected

Emits the will phase event of a change action execution.

The default implementation delegates to _emitGeneric.

Source: javascript/web/pentaho/type/mixins/Container.js, line 297

Inherited From: pentaho.type.mixins.Container#_onChangeWill

Parameters:
Name Default Value Summary
actionExecution : pentaho.type.action.Transaction

The action execution.

_onDataOrMappingsChanged()
Protected

Called when the data property or any of the visual role properties has changed, but before notifying any change:finally phase listeners of a change action.

The default implementation calls the _onDataOrMappingChanged method of child visual role mappings.

Source: javascript/web/pentaho/visual/AbstractModel.js, line 132

Inherited From: pentaho.visual.AbstractModel#_onDataOrMappingsChanged

Implements:
act(action) : pentaho.action.Execution

Executes or starts execution of a given action in this target and returns the corresponding action execution instance.

This method can be given synchronous or asynchronous actions. To wait for the result of an asynchronous action, obtain the promise property of the returned action execution instance.

Source: doc-js/pentaho/action/ITarget.jsdoc, line 37

Inherited From: pentaho.action.impl.Target#act

Parameters:
Name Default Value Summary
action : pentaho.action.Base | pentaho.action.spec.IBase

The action or action specification to execute.

Returns:
Name Description
pentaho.action.Execution

The resulting action execution.

assertValid()

Ensures that the value is valid, and throws the first validation error if it is not.

This method calls the validate method.

Source: javascript/web/pentaho/type/Value.js, line 202

Inherited From: pentaho.type.Value#assertValid

Throws:
Name Description
pentaho.type.ValidationError

When the value is not valid, the first error returned by the validate method.

clone() : pentaho.type.Value
Abstract

Creates a shallow clone of this value.

Source: javascript/web/pentaho/type/Value.js, line 93

Inherited From: pentaho.type.Value#clone

Returns:
Name Description
pentaho.type.Value

The value clone.

compare(other) : number

Compares this element to another according to its relative order.

Execution proceeds as follows:

  1. If other is Nully, it is considered to occur before this one;
  2. If other is identical to this one, as per JavaScript's === operator, it has the same order;
  3. If other does not have the same constructor as this one, it has the same order;
  4. If other is _equals to this one, it has the same order;
  5. Otherwise, the operation is delegated to the first value's _compare method.

Source: javascript/web/pentaho/type/Element.js, line 76

Inherited From: pentaho.type.Element#compare

Parameters:
Name Default Value Summary
other : pentaho.type.Element | undefined

The other element value.

Returns:
Name Description
number

-1 if this value is before other; 1 if this value is after other; 0, otherwise.

See also: pentaho.type.Element#_compare , pentaho.type.Value#equals

Implements:
configure(config)

Configures this value with a given configuration.

This method ensures a transaction exists and then delegates to _configure.

For more information on the semantics of configuration, see Complex#_configure and List#_configure.

Source: javascript/web/pentaho/type/Value.js, line 232

Inherited From: pentaho.type.Value#configure

Parameters:
Name Default Value Summary
config : *

The value configuration.

Throws:
Name Description
TypeError

When the value would be changed and its type is read-only.

See also: pentaho.type.Element#configureOrCreate , pentaho.type.Complex#_configure , pentaho.type.List#_configure

configureOrCreate(config) : pentaho.type.Element

Configures this value with a given configuration, if it is possible. Otherwise creates and returns a new value based on this one, but with the configuration applied.

If the given configuration is Nully or identical to this, then this is immediately returned. Otherwise, this method ensures that a transaction exists and delegates to the _configureOrCreate method.

This method considers configuration to not be possible in the following situations:

  1. this instance is of a read-only type;
  2. config is of an isEntity type and is not equals to this value;
  3. config is not an instance of an isEntity type but is an instance of Value and its constructor is not the same as this;
  4. config is not an instance of Value - it is a specification and: 4.1. it contains an inline type property, _, identifying a different type than that of this instance; 4.2. this instance is of an isEntity type and config contains key properties that reference another entity.

If configuration is considered possible, the actual configuration is delegated to the configure method.

Source: javascript/web/pentaho/type/Element.js, line 141

Inherited From: pentaho.type.Element#configureOrCreate

Parameters:
Name Default Value Summary
config : *

The value configuration.

Returns:
Name Description
pentaho.type.Element

this value, if the configuration could be applied to it; a new, configured value, if not.

countOf(name, sloppy) : number

Gets the number of values of a given property.

When the specified property is a list property, its count is returned.

When the specified property is not a list property, 0 is returned if it is null; 1, otherwise.

Source: javascript/web/pentaho/type/Complex.js, line 524

Inherited From: pentaho.type.Complex#countOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or type object.

sloppy : boolean
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
number

The number of values.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

countRangeOf(name) : pentaho.IRange

Gets the current valid count range of values of a given property.

Source: javascript/web/pentaho/type/Complex.js, line 574

Inherited From: pentaho.type.Complex#countRangeOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or type object.

Returns:
Name Description
pentaho.IRange

The range of the property.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

domainOf(name) : Array.<pentaho.type.Element>

Gets the current list of valid values of a given property.

Source: javascript/web/pentaho/type/Complex.js, line 607

Inherited From: pentaho.type.Complex#domainOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType
Optional

The property name or type object.

Returns:
Name Description
Array.<pentaho.type.Element>

An array of elements if the property is constrained; null otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

equals(other) : boolean

Determines if a given value represents the same entity.

This method checks if the given value is identical to this one. Otherwise, if not Nully and has the same constructor, execution is delegated to this value's _equals method.

Source: javascript/web/pentaho/type/Value.js, line 116

Inherited From: pentaho.type.Value#equals

Parameters:
Name Default Value Summary
other : pentaho.type.Value

A value to test for equality.

Returns:
Name Description
boolean

true if the given value is equal to this one; or, false, otherwise.

See also: pentaho.type.Value#_equals

execute(actionOrSpec) : pentaho.action.Execution

Performs an execute action, given its specification.

An execute action can only be performed if the model is not dirty.

Source: javascript/web/pentaho/visual/Model.js, line 597

Parameters:
Name Default Value Summary
actionOrSpec : pentaho.visual.action.Execute | pentaho.visual.action.spec.IExecute
Optional

The execute action or its specification.

Returns:
Name Description
pentaho.action.Execution

The action execution.

See also: pentaho.visual.action.Execute

extend(source, keyArgs) : object

Extend an object with the properties of another.

Methods that are overridden are accessible through this.base.

This object is extended, but its class doesn't change.

Source: javascript/web/pentaho/lang/Base.js, line 1040

Inherited From: pentaho.lang.Base#extend

Parameters:
Name Default Value Summary
source : object

The instance specification.

keyArgs : object
Optional

The keyword arguments.

Parameters:
Name Default Value Summary
exclude : object
Optional

A map of property names to exclude from source.

Returns:
Name Description
object

This object.

get(name, sloppy) : pentaho.type.Value | Nully

Gets the value of a property.

If the specified property is not defined and sloppy is true, undefined is returned.

A list property always has a non-null value, possibly an empty list, but never null. An element property can have a null value.

Source: javascript/web/pentaho/type/Complex.js, line 248

Inherited From: pentaho.type.Complex#get

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType
Optional

The property name or type object.

sloppy : boolean
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
pentaho.type.Value | Nully

The value of the property, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also: pentaho.type.Complex#getv , pentaho.type.Complex#getf

getf(name, sloppy) : string

Gets the string representation of the value of a property.

This method reads the value of the property by calling Complex#get.

When the latter returns a Nully value, "" is returned. Otherwise, the result of the value's toString() method is returned.

For a Simple type, this corresponds to returning its formatted attribute, when it is not null. For Complex and List types, varies with the implementation.

Source: javascript/web/pentaho/type/Complex.js, line 339

Inherited From: pentaho.type.Complex#getf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or type object.

sloppy : boolean
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
string

The string representation of the value, or "".

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also: pentaho.type.Complex#get , pentaho.type.Complex#getv

getv(name, sloppy) : * | pentaho.type.Complex | pentaho.type.List | Nully

Gets the primitive value of the value of a property.

This method reads the value of the property by calling Complex#get.

When the latter does not return a Nully value, the result of the value's valueOf() method is returned.

For a Simple type, this corresponds to returning its value attribute. For Complex and List types, this corresponds to the value itself.

Source: javascript/web/pentaho/type/Complex.js, line 310

Inherited From: pentaho.type.Complex#getv

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or type object.

sloppy : boolean
Optional
false

Indicates if an error is thrown if the specified property is not defined.

Returns:
Name Description
* | pentaho.type.Complex | pentaho.type.List | Nully

The primitive value of a Simple, the Complex or List value itself, or a Nully value.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When sloppy is false and a property with name name is not defined.

See also: pentaho.type.Complex#get , pentaho.type.Complex#getf

isApplicableOf(name) : boolean

Gets a value that indicates if a given property is currently applicable.

Source: javascript/web/pentaho/type/Complex.js, line 544

Inherited From: pentaho.type.Complex#isApplicableOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or type object.

Returns:
Name Description
boolean

true if the property is applicable; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

isDefaultedOf(name) : boolean

Gets a value that indicates if a given property has assumed a default value.

Source: javascript/web/pentaho/type/Complex.js, line 259

Inherited From: pentaho.type.Complex#isDefaultedOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType
Optional

The property name or type object.

Returns:
Name Description
boolean

Returns true if the property has been defaulted; false, otherwise.

isEnabledOf(name) : boolean

Gets a value that indicates if a given property is currently enabled.

Source: javascript/web/pentaho/type/Complex.js, line 559

Inherited From: pentaho.type.Complex#isEnabledOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType

The property name or property type object.

Returns:
Name Description
boolean

Returns true if the property is enabled; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

isRequiredOf(name) : boolean

Gets a value that indicates if a given property is currently required.

A property is currently required if its current pentaho.type.Complex#countRangeOf minimum is at least 1.

Source: javascript/web/pentaho/type/Complex.js, line 592

Inherited From: pentaho.type.Complex#isRequiredOf

Parameters:
Name Default Value Summary
name : string | pentaho.type.PropertyType
Optional

The property name or type object.

Returns:
Name Description
boolean

true if the property is required; false, otherwise.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

Implements:
off(typeOrHandle, observer)

Removes one registration given its handle, or all registrations of a given event type (or types) and observer (or listener function).

To remove an event registration, it is sufficient to call the dispose method of the registration handle returned by on, upon registration. Alternatively, as a convenience syntax, the registration handle can be passed as the single argument to this method.

It is safe to unregister from an event type while it is being emitted. However, any registrations removed during the current emission will still execute.

Specifying an event registration handle that has already been disposed of has no effect. Specifying an event type and observer (or listener function) that have no registrations has no effect.

Source: doc-js/pentaho/lang/IEventSource.jsdoc, line 131

Overrides: pentaho.action.impl.Target#off

Parameters:
Name Default Value Summary
typeOrHandle : nonEmptyString | Array.<nonEmptyString> | pentaho.lang.IEventRegistrationHandle

The type or types of events, or an event registration handle to dispose of. When a string, it can be a comma-separated list of event types.

observer : pentaho.lang.IEventObserver | pentaho.lang.EventListener | pentaho.lang.EventListenerAsync

The event observer (or listener function). Required when typeOrHandle is not an event registration handle; ignored, otherwise.

See also: pentaho.lang.IEventSource#on

Implements:
on(type, observer, keyArgs) : pentaho.lang.IEventRegistrationHandle

Registers an observer (or listener function) for an event(s) of a given type(s).

Optionally, a listening priority may be specified to adjust the order by which an observer is notified, relative to other listeners.

Note that if an observer is registered more than once to the same event type, a new registration is created each time and its listeners will be called once per registration.

It is safe to register for an event type while it is being emitted. However, new registrations are only taken into account in subsequent emissions.

When type represents multiple event types, the returned event registration handle is a composite registration for all of the event types.

This method is compatible with the dojo/on API.

Source: doc-js/pentaho/lang/IEventSource.jsdoc, line 90

Overrides: pentaho.action.impl.Target#on

Parameters:
Name Default Value Summary
type : nonEmptyString | Array.<nonEmptyString>

The type or types of events. When a string, it can be a comma-separated list of event types.

observer : pentaho.lang.IEventObserver | pentaho.lang.EventListener | pentaho.lang.EventListenerAsync

The event observer (or listener function).

keyArgs : object
Optional

Keyword arguments.

Parameters:
Name Default Value Summary
priority : number
Optional
0

The listening priority. Higher priority observers are notified of an event before any lower priority observers. The priority can be set to -Infinity or Infinity. In case two observers are assigned the same priority, the registration order determines which is notified first.

Returns:
Name Description
pentaho.lang.IEventRegistrationHandle

An event registration handle that can be used for later removal.

See also: pentaho.lang.IEventSource#off

select(actionOrSpec) : pentaho.action.Execution

Performs a select action, given its specification.

A select action can only be performed if the model is not dirty.

Source: javascript/web/pentaho/visual/Model.js, line 580

Parameters:
Name Default Value Summary
actionOrSpec : pentaho.visual.action.Select | pentaho.visual.action.spec.ISelect
Optional

The select action or its specification.

Returns:
Name Description
pentaho.action.Execution

The action execution.

See also: pentaho.visual.action.Select

set(name, valueSpec)

Sets the value of a property.

The value of List properties is automatically created, when complex instance is constructed, and is never replaced by another list value. However, its contents can be modified. On the other hand, for element properties, their value can be replaced.

Execution proceeds as follows:

  1. If the property is a list property:

  2. If value is Nully, the list is cleared by calling the List#clear method; however, if the property is read-only and the list has any elements, an error is thrown instead;

  3. Otherwise, if value is distinct from the current list value, an elements list is extracted from the given value (see ListType#_normalizeInstanceSpec) and execution is delegated to the List#set method; likewise, if changes to the list would result and the property is read-only, an error is thrown;

  4. If the property is an element property:

  5. If value is Nully, the property's default value, if any, is evaluated and value is set to it; the property's new defaulted status will be true.

  6. Otherwise, if the specified value is not Nully, the property's new defaulted status will be false.

  7. If value is not equal to the current value and/or the property's defaulted status changes:

    1. If the property is read-only, an error is thrown.
    2. Otherwise, the current value and the defaulted status are replaced by the new ones.
    3. A change action is executed, resulting in the change phase events init, will and finally being emitted.
  8. Otherwise, if value and the defaulted status do not change, nothing is done.

In both cases, of element and list properties, when the given value(s) is a specification, it is first constructed, before any comparison with the current value(s) is performed.

Contrast this behavior with that of the configure method, in which specifications aren't considered to have an identity, a priori. Only if these explicitly identify an entity or value which is incompatible with the current value are they assumed to represent a new value that needs to be constructed.

For element properties, specifications are constructed having as default type the valueType of the property.

For list properties, each element's specification is constructed having as default type the elementType of the property's valueType.

Source: javascript/web/pentaho/type/Complex.js, line 413

Inherited From: pentaho.type.Complex#set

Parameters:
Name Default Value Summary
name : nonEmptyString | pentaho.type.PropertyType

The property name or type object.

valueSpec : *
Optional
null

A value specification.

Throws:
Name Description
pentaho.lang.ArgumentInvalidError

When a property with name name is not defined.

TypeError

When the property is read-only and its value would change.

See also: pentaho.type.Value#configure , pentaho.type.Value#isReadOnly , pentaho.action.Execution

toJSON() : JsonValue

Creates a top-level JSON specification that describes this instance.

Attributes which do not have a JSON-compatible specification are omitted. Specifically, for inline types, attributes with a function value are not supported.

This method simply calls pentaho.type.Instance#toSpec with argument keyArgs.isJson as true and exists for seamless integration with JavaScript's JSON.stringify method.

Source: javascript/web/pentaho/type/Instance.js, line 198

Inherited From: pentaho.type.Instance#toJSON

Returns:
Name Description
JsonValue | null

A JSON-compatible specification.

See also: pentaho.type.Instance#toSpec

Implements:
toSpec(keyArgs) : pentaho.type.spec.Instance

Creates a specification that describes this value.

If an ambient specification context, currently exists, it is used to manage the serialization process. Otherwise, one is created and set as current. Then, the actual work is delegated to pentaho.type.Instance#toSpecInContext.

Source: javascript/web/pentaho/type/Value.js, line 272

Inherited From: pentaho.type.Value#toSpec

Parameters:
Name Default Value Summary
keyArgs : object
Optional

The keyword arguments object. Passed to every value and type serialized within this scope.

Please see the documentation of value subclasses for information on additional, supported keyword arguments.

Parameters:
Name Default Value Summary
isJson : boolean
Optional
false

Generates a JSON-compatible specification. Attributes which do not have a JSON-compatible specification are omitted.

declaredType : pentaho.type.Type
Optional

The base type of this value's storage location. If the value does not have this exact type, its inline type property must be included in the specification. Otherwise, it can be omitted. When unspecified, the inline type property is only included if forceType is true.

forceType : boolean
Optional
false

Forces inclusion of the inline type property, _, in the specification.

omitFormatted : boolean
Optional
false

Omits the formatted value on Simple values' specifications.

preferPropertyArray : boolean
Optional
false

Indicates that, if possible, array form is used for Complex values' specifications.

The array form of a complex value cannot be used when its type must be inlined.

includeDefaults : boolean
Optional
false

When true, all of the properties of Complex values are serialized. When false, the default, only properties whose value is different from their default value are serialized.

Only applies to complex values that are serialized in object form. In array form, all of the properties of complex values are serialized independently of their value.

omitProps : object
Optional

An object whose own property names with a truthy value are the names of the properties of the current complex type to omit from the serialization.

Only applies when a complex is output in object form. In array form, all properties are output whatever their value.

This argument only applies to complex values and is not passed through to the values of their properties.

Returns:
Name Description
pentaho.type.spec.Instance | null

A specification of this value.

toSpecInContext(keyArgs) : *

Creates a specification that describes this instance.

Source: javascript/web/pentaho/type/Instance.js, line 178

Inherited From: pentaho.type.Instance#toSpecInContext

Parameters:
Name Default Value Summary
keyArgs : object
Optional

The keyword arguments' object. Passed to every instance and type serialized within this scope.

Please see the documentation of subclasses for information on additional, supported keyword arguments.

Returns:
Name Description
*

A specification of this instance.

See also: pentaho.type.Instance#toSpec

update() : Promise

Updates the model to match the latest changes.

Models are created in a dirty state. An initial call to this method is necessary to update any views for the first time.

However, when isAutoUpdate is true, any changes to the model cause this method to be called automatically.

The update action is asynchronous. This is true even if all listeners handle the update synchronously. Action completion is only ever advertised asynchronously, through the emission of the action execution's finally phase event and then by the resolution of the returned promise.

When this method is called, the model may be in four different states, depending on the current values of the properties isDirtyNew and isUpdating:

  1. The model is not dirty and is not updating: a resolved promise is returned.
  2. The model is not dirty, yet is still updating: a promise for the completion of the current update is returned.
  3. The model is dirty and is not updating: an Update action is created and its execution started; a promise for its completion is returned.
  4. The model is dirty again and is still updating: an update execution for previous changes is still underway; a following update execution is scheduled to start upon the completion of the current execution, independently of its outcome, and which will consider any changes which are registered until it starts; a promise for the completion of this following update execution is returned; if a following update execution had already been scheduled, it is reused.

The isUpdating property is true during all of the phases of the update execution: init, will, do and finally.

Listeners of the Update action receive an action execution of type UpdateExecution. This class exposes the assertModelUnchanged method, which is useful for asynchronous update executions to check if the model has changed since their start.

Some well-known causes for an update action to be rejected are standardized and included in the WellKnownErrorNames enumeration.

Source: javascript/web/pentaho/visual/Model.js, line 410

Fires: event:pentaho/visual/action/Update:{init} , event:pentaho/visual/action/Update:{will} , event:pentaho/visual/action/Update:{do} , event:pentaho/visual/action/Update:{finally}

Returns:
Name Description
Promise

A promise for the completion of an update execution which includes the current changes, if any.

See also: pentaho.visual.action.Update , pentaho.visual.action.UpdateExecution , pentaho.visual.Model#isAutoUpdate , pentaho.visual.Model#isDirtyNew , pentaho.visual.Model#isDirty , pentaho.visual.Model#isUpdating , pentaho.visual.action.WellKnownErrorNames