Skip to main content
Version: Next

UIBrick

Deprecated

use VisualBrick instead

Extends

Constructors

new UIBrick()

new UIBrick(): UIBrick

Returns

UIBrick

Inherited from

VisualBrick.constructor

Methods

clear()

clear($): void

Called every time the context is cleared.

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Inherited from

VisualBrick.clear


destroy()

destroy($): void

Called when the brick ends its lifecycle and gets destroyed.

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Inherited from

VisualBrick.destroy


draw()

draw($, domElement): any

Called when the DOM Element associated to that brick has been added to the document and is ready to be drawn.

Parameters

ParameterTypeDescription
$BrickContextthe brick context
domElementElementthe associated DOM Element

Returns

any

Deprecated

override VisualBrick.render and VisualBrick.updateParent instead.

Inherited from

VisualBrick.draw


equals()

equals(object): boolean

Compare this CloudObject and the given one and return whether they are identical or not.

Parameters

ParameterTypeDescription
objectanythe object to compare

Returns

boolean

true if the specified object is the same CloudObject

Inherited from

VisualBrick.equals


follow()

follow<D>(relation): Query<D, never>

Start a query from this instance and follow the relation given as argument. The query starts from this single instance, and follows a relation to an arbitrary number of destination instances. See Query.follow(relation)

The following are equivalent:

myCloudObject.follow(relation);
myCloudObject.query().follow(relation);

Type Parameters

Type Parameter
D extends CloudObject

Parameters

ParameterTypeDescription
relationRelation<UIBrick, D>the relation to follow from the starting instance (this)

Returns

Query<D, never>

query starting from this and following the relation relation as first step of the query

Inherited from

VisualBrick.follow


followSingle()

followSingle<D>(relation): QuerySingle<D>

Start a querySingle from this instance that follows 0..1 relations

The query starts from this instance, and follow the relation to a single destination instance. It is equivalent to QuerySingle.from(this).follow(relation).

Type Parameters

Type Parameter
D extends CloudObject

Parameters

ParameterTypeDescription
relationRelation<UIBrick, D>to follow from this starting instance

Returns

QuerySingle<D>

a query following 0-1 relations

Inherited from

VisualBrick.followSingle


get()

get<T>(property): T

Get the current value of the specified property for this CloudObject instance

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
propertyInstanceOrTag | Property<T>property or property's tag

Returns

T

property value

Inherited from

VisualBrick.get


getInputs()

getInputs(): string[]

Return the list of inputs tags as an ordered array.

Returns

string[]

Const

Inherited from

VisualBrick.getInputs


getModel()

getModel(): CloudObject

Every CloudObject has a model which defines relations and properties its instances may have.

Returns

CloudObject

the model of this CloudObject instance as a CloudObject instance

Inherited from

VisualBrick.getModel


getModelTag()

getModelTag(): string

Every CloudObject has a model which defines relations and properties its instances may have.

Returns

string

the tag of the model of this CloudObject instance

Inherited from

VisualBrick.getModelTag


getOutputs()

getOutputs(): string[]

Return the list of outputs tags as an ordered array

Returns

string[]

Const

Inherited from

VisualBrick.getOutputs


getSource()

getSource(): string

Return the source id that owns this cloud object.

Returns

string

Inherited from

VisualBrick.getSource


getTag()

getTag(): string

Every CloudObject has a unique tag.

Returns

string

tag of the CloudObject

Inherited from

VisualBrick.getTag


init()

init($): void

Called when the brick starts its lifecycle and gets initialized.

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Inherited from

VisualBrick.init


isPersisted()

isPersisted(): boolean

Return the persistence state of this instance.

CloudObjects can either be volatile, and only live in the local cache. In this case, the CloudObject instance is not persisted. If a CloudObjectis persisted, it is stored in an external data store. This means that the instance can be accessible through other Olympe VMs in the same environment.

Returns

boolean

a boolean indicating if this object is persisted in a non-volatile way.

Inherited from

VisualBrick.isPersisted


name()

name(): string

Every CloudObject can define a value for its nameProperty. This method returns the current value of that property for this instance.

Returns

string

the value of the name property of this

Inherited from

VisualBrick.name


observe()

observe<T>(context, property, waitForValue?): Observable<T>

Get an observable to the current value of the specified property for this CloudObject instance.

The observable gets the new value each time the property gets updated in the datacloud. The observable gets completed automatically once the specified context is cleared. If waitForValue is set to FALSE (TRUE by default), the first value received by the observable is null if there is no value at call time.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
contextContextcontext to which the Observable is attached
propertyInstanceOrTag | Property<T>property or property's tag to observe
waitForValue?booleanwhether the observable wait for a first value to get a value. (Default = true)

Returns

Observable<T>

Observable of property values

Inherited from

VisualBrick.observe


observeProperties()

observeProperties<T>(context): Observable<[Property<T>, T]>

Get an observable to pair [property, value] for this CloudObject instance.

The observable gets the new value each time any property gets updated in the datacloud. The observable gets completed automatically once the specified context is cleared.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
contextContextContext to which the Observable will be attached

Returns

Observable<[Property<T>, T]>

Observable of property values

Inherited from

VisualBrick.observeProperties


onDestroy()

onDestroy($): void

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Deprecated

use Brick.destroy instead

Inherited from

VisualBrick.onDestroy


onInit()

onInit($): void

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Deprecated

use Brick.init instead

Inherited from

VisualBrick.onInit


onUpdate()

onUpdate($, inputs, outputs): void

Parameters

ParameterTypeDescription
$BrickContextthe brick context
inputsany[]array of input values
outputs(value) => void[]array of output setter functions.

Returns

void

Deprecated

use Brick.update instead

Inherited from

VisualBrick.onUpdate


query()

query(): Query<UIBrick, never>

Create and return a query starting from this instance

Returns

Query<UIBrick, never>

a query starting at this CloudObject instance

Inherited from

VisualBrick.query


render()

render($, properties): Element

Render an element for the given context. Can return null if no element is rendered.

Parameters

ParameterTypeDescription
$BrickContextthe brick context
propertiesany[]property values that have been s

Returns

Element

the rendered element

Inherited from

VisualBrick.render


run()

run($): void

Run the brick itself using the specified context.

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

void

Inherited from

VisualBrick.run


setupExecution()

setupExecution($): Observable<any>

Observe the context to define when the brick update method should be called.

Parameters

ParameterTypeDescription
$BrickContextthe brick context

Returns

Observable<any>

an observable that emit a value anytime the brick update method should be called.

Inherited from

VisualBrick.setupExecution


toJSON()

toJSON(): Object

Create a Javascript object from this CloudObject current state, including its tag and property values. It provides the same result as toObject called with nameAsKey = true and inheritedProperties = false.

Returns

Object

Inherited from

VisualBrick.toJSON


toObject()

toObject(namesAsKey?, inheritedProperties?): Object

Create a Javascript object from this CloudObject current state.

Parameters

ParameterTypeDescription
namesAsKey?booleanIf true, use the property name instead of the property tag as keys of the generated object.
inheritedProperties?booleanIf false, do not including inherited property. By default, it includes them.

Returns

Object

Inherited from

VisualBrick.toObject


update()

update($, inputs, outputs): void | Promise<void>

Called whenever the conditions to update the brick are satisfied (as defined by method configCoreUpdate). By default, a function updates whenever an input gets a new value, but only if all inputs have a value.

Parameters

ParameterTypeDescription
$BrickContextthe brick context
inputsany[]array of input values
outputs(any) => void[]array of output setter functions. A setter updates a specific output value of the brick.

Returns

void | Promise<void>

Inherited from

VisualBrick.update


updateParent()

updateParent(parent, element): () => void

Attach the element rendered by render() to its parent (in the DOM). Must return the function to clear the parent from that element. That function is called just before the next call to updateParent.

If the render() method returns null, only the clear function of previous call to updateParent() will be called.

Parameters

ParameterTypeDescription
parentElementthe parent element
elementElementthe element to attach

Returns

Function

the function to clear the element from its parent.

Returns

void

Inherited from

VisualBrick.updateParent


asInstance()

static asInstance<T>(this): T

Get this CloudObject class as a CloudObject instance.

Type Parameters

Type Parameter
T

Parameters

ParameterType
thisClass<T>

Returns

T

the current data type class as a CloudObject instance.

Inherited from

VisualBrick.asInstance


createWith()

static createWith<T>(this, properties, model?, source?): T

Create an instance of the specified data type (or model) in the local datacloud (not persisted) with the specified property values.

If the model is not specified, it uses this DataType.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
thisClass<T>-
propertiesMap<InstanceOrTag, any>mappings of (propertyTag -> propertyValue)
model?InstanceOrTagtag of the model of the CloudObject you want to create.
source?string

Returns

T

newly created CloudObject

Inherited from

VisualBrick.createWith


exists()

static exists(tag): boolean

Checks whether a CloudObject exists or not.

Parameters

ParameterTypeDescription
tagInstanceOrTagtag of the CloudObject

Returns

boolean

true if tag is valid and references a CloudObject.

Static

Inherited from

VisualBrick.exists


get()

static get<T>(tag): T

Get the CloudObject whose tag is specified.

This only works if the CloudObject is already present in the local datacloud cache. (NB: you can use a Query to retrieve a distant CloudObject)

Type Parameters

Type Parameter
T extends CloudObject

Parameters

ParameterTypeDescription
tagInstanceOrTagtag of the CloudObject

Returns

T

CloudObject specified by the tag

Static

Inherited from

VisualBrick.get


getProperties()

static getProperties(): Property<any>[]

The attributes of a CloudObject are called properties. Properties can be of different types, e.g. Property<string>, Property<number>, Property<Date>.

If a Person CloudObject has an age property, all the instances of Person can access the age property using the same tag, the tag of the age property. This method returns all properties defined by the Data Type associated to this class.

Returns

Property<any>[]

All properties defined for a data type

Inherited from

VisualBrick.getProperties


getRelations()

static getRelations<O, D>(this): (Relation<O, D> | Relation<D, O>)[]

Return all the relations whose origin OR destination is the CloudObject associated to this class.

Type Parameters

Type Parameter
O extends CloudObject
D extends CloudObject

Parameters

ParameterType
thisClass<O>

Returns

(Relation<O, D> | Relation<D, O>)[]

All relations defined on the current data type. It can be the destination or the origin of the relations.

Inherited from

VisualBrick.getRelations


instancesOf()

static instancesOf<T>(model): Query<T, never>

Return a query starting from all instances of this Data Type.

Type Parameters

Type Parameter
T extends CloudObject

Parameters

ParameterTypeDescription
modelInstanceOrTag | Class<T>data type to get instances of

Returns

Query<T, never>

A query starting from the instances of the specified model.

Inherited from

VisualBrick.instancesOf

Properties

getProperties()

readonly getProperties: () => string[]

Return the list of properties tags as an ordered array

Returns

string[]

Inherited from

VisualBrick.getProperties


containsRel

static containsRel: Relation<CloudObject, CloudObject>

Relation between a container (a CloudObject) that has children (other CloudObjects)

For example, from a folder to the contained elements or from a function to the elements needed for that function to run.

Inherited from

VisualBrick.containsRel


extendedByRel

static extendedByRel: Relation<CloudObject, CloudObject>

Inverse relation of extendRel

Inherited from

VisualBrick.extendedByRel


extendRel

static extendRel: Relation<CloudObject, CloudObject>

Model CloudObjects can inherit relations and properties from another CloudObject model to mimic their behaviour.

Relation from a model to the CloudObject model it extends. A --extendRel-> B A inherits B's properties and relations.

Inherited from

VisualBrick.extendRel


instancesRel

static instancesRel: Relation<CloudObject, CloudObject>

Inverse relation of modelRel between a model and its instances Equivalent to modelRel.getInverse()

Inherited from

VisualBrick.instancesRel


modelRel

static modelRel: Relation<CloudObject, CloudObject>

Relation between a CloudObjectand its model instance --modelRel-> model

Inherited from

VisualBrick.modelRel


nameProp

static nameProp: Property<string>

Name property for all CloudObjects

Inherited from

VisualBrick.nameProp


propertyRel

static propertyRel: Relation<CloudObject, PropertyModel>

Relation between a model and the properties it defines.

Inherited from

VisualBrick.propertyRel