Represents a data model
Extends
MetaData
Index
Constructors
Public Properties
Protected Properties
Public Methods
- addDefaultValueEditors
- addOrUpdateOperator
- addOrUpdateValueEditor
- buildQueryPath
- checkAttrProperty
- clear
- createEntity
- createEntityAttr
- createQuery
- createValueEditor
- findAggrFunctionById
- findLink
- findOperatorById
- getAggrFunctionCaption
- getAggrFunctionFormat
- getAggrFunctions
- getAllDateMacros
- getAllTimeMacros
- getAttributeById
- getAttributeText
- getDateMacroValue
- getDateOrMacroValue
- getDefaultOperatorForAttr
- getDefaultOperatorIdForAttr
- getEditorById
- getEntitiesInQuery
- getEntitiesTree
- getEntitiesTreeWithFilter
- getEntityAttrById
- getEntityPathByAttr
- getFirstAttributeByFilter
- getFirstUICAttr
- getFullEntityPathByAttr
- getId
- getLinksByEntity
- getMainEntity
- getName
- getObject
- getOperand
- getOperatorById
- getOperatorIdsByDataType
- getRootEntity
- getTimeMacroValue
- getTimeOrMacroValue
- isDateMacro
- isEmpty
- isTimeMacro
- loadFromData
- loadFromJSON
- removeOperator
- runThroughEntities
- setData
Constructors
constructor
The default constructor. ⊕ new DataModel(): DataModel
Public Properties
aggrFunctions
The list of aggregate functions.
● aggrFunctions: AggrFunction[]
editors
The list of value editors.
● editors: EqValueEditor[]
id
The ID of the data mode.
● id: string
links
The list of links. It is used in odata broker.
● links: Link[]
name
The name of the data model.
● name: string
operators
The list of operators.
● operators: Operator[]
rootEntity
The root entity.
● rootEntity: Entity
version
The version of the data model.
● version: string
Protected Properties
mainEntity
● mainEntity: Entity | null
= null
Public Methods
addDefaultValueEditors
Add default value editors.
▸ addDefaultValueEditors(): void
Returns void
addOrUpdateOperator
Add or update an operator.
▸ addOrUpdateOperator(desc: OperatorDescriptor): Operator
Parameters:
- desc: OperatorDescriptor - The operator descriptor.
Returns Operator - The operator.
addOrUpdateValueEditor
Add or update a value editor.
▸ addOrUpdateValueEditor(id: string
,tag: EditorTag
,resType: DataType
): ValueEditor
Parameters:
- id:
string
- The id. - tag:
EditorTag
- The tag. - resType:
DataType
- The result type.
Returns ValueEditor
- The value editor.
buildQueryPath
Builds entities tree used in query.
▸ buildQueryPath(query: Query): Tree<Entity>
Parameters:
- query: Query - The query.
checkAttrProperty
Checks wether attribute contains such property.
▸ checkAttrProperty(attrId: string
,propName: string
): boolean
Parameters:
- attrId:
string
- The attribute ID. - propName:
string
- The property name.
Returns boolean
- true
if the attribute contains the property, otherwise false
.
clear
Clears data model.
▸ clear(): void
Returns void
createEntity
Creates entity.
▸ createEntity(parent?: Entity): Entity
Parameters:
- parent: Entity, Optional - The parent entity.
Returns Entity - The Entity.
createEntityAttr
Creates entity attribute.
▸ createEntityAttr(parent?: Entity): EntityAttr
Parameters:
- parent: Entity, Optional - The parent entity.
Returns EntityAttr - The entity attribute.
createQuery
Creates query.
▸ createQuery(): Query
Returns Query - The Query.
createValueEditor
▸ createValueEditor(): ValueEditor
Returns ValueEditor
findAggrFunctionById
▸ findAggrFunctionById(funcId: string
): AggrFunction | null
Parameters:
- funcId:
string
Returns AggrFunction | null
findLink
Finds link between two entities.
▸ findLink(entityFrom: Entity,entityTo: Entity): Link | null
Parameters:
Returns Link | null
- The link.
findOperatorById
Finds operator in model by its ID. This function runs through all operators inside specified model and returns the one with specified ID.
▸ findOperatorById(operatorId: string
): Operator | null
Parameters:
- operatorId:
string
- An operator ID.
Returns Operator | null
- The operator or null
.
getAggrFunctionCaption
Gets caption of the aggregate function.
▸ getAggrFunctionCaption(funcId: string
): string
Parameters:
- funcId:
string
- The function id.
Returns string
- The caption.
getAggrFunctionFormat
Gets format of the aggregate function.
▸ getAggrFunctionFormat(funcId: string
): string
Parameters:
- funcId:
string
- The function id.
Returns string
- The caption.
getAggrFunctions
Gets the list of aggegate functions.
▸ getAggrFunctions(): AggrFunction[]
Returns AggrFunction[] - AN array of aggregate functions.
getAllDateMacros
Gets all date marcos.
▸ getAllDateMacros(): string
[]
Returns string
[] - The array of marcos
getAllTimeMacros
Gets all time marcos.
▸ getAllTimeMacros(): string
[]
Returns string
[] - The array of marcos
getAttributeById
Gets entity attribute by its ID. This function runs through all attributes inside specified model (it's root entity and all its sub-entities).
▸ getAttributeById(attrId: string
): EntityAttr | null
Parameters:
- attrId:
string
- The attribute ID.
Returns EntityAttr | null
- The attribute or null
.
getAttributeText
Gets the attribute text.
▸ getAttributeText(attr: EntityAttr,format: string
): string
Parameters:
- attr: EntityAttr - The attribute.
- format:
string
- The format.
Returns string
- Formatted text.
getDateMacroValue
Gets date by its macro value.
▸ getDateMacroValue(macro: string
): Date
| null
Parameters:
- macro:
string
- The macro value.
Returns Date
| null
- The date or null
getDateOrMacroValue
Gets date or macro by macro value.
▸ getDateOrMacroValue(macroValue: string
): string
| Date
Parameters:
- macroValue:
string
- The macro value.
Returns string
| Date
- The date or macro valu.
getDefaultOperatorForAttr
Gets default operator for an attribute.
▸ getDefaultOperatorForAttr(attr: EntityAttr): Operator
Parameters:
- attr: EntityAttr - The attribute.
Returns Operator - The operator.
getDefaultOperatorIdForAttr
▸ getDefaultOperatorIdForAttr(attr: EntityAttr): string
Parameters:
- attr: EntityAttr
Returns string
getEditorById
Finds editor by its ID.
▸ getEditorById(editorId: string
): EqValueEditor | null
Parameters:
- editorId:
string
- The editor ID.
Returns EqValueEditor | null
- The value editor or null
.
getEntitiesInQuery
Get Entities used in query.
▸ getEntitiesInQuery(query: Query): Entity[]
Parameters:
- query: Query - The query.
Returns Entity[]
getEntitiesTree
Gets entities tree.
▸ getEntitiesTree(opts: any
,filterFunc?: (ent: Entity, attr: EntityAttr) => boolean
): any
Parameters:
- opts:
any
- The options. - filterFunc: (ent: Entity, attr: EntityAttr) =>
boolean
, Optional - The filter function. Takes two parameters, Entity and EntityAttr (second parameter will be null for entities), and returns boolean (true if the corresponding entity or attribute).
Returns any
- The tree of the entities and their attributes according to options and the filter function
getEntitiesTreeWithFilter
Gets entities tree due to filter.
▸ getEntitiesTreeWithFilter(filterFunc: any
): Entity[]
Parameters:
- filterFunc:
any
- The filter function. Takes two parameters, Entity and EntityAttr (second parameter will be null for entities), and returns boolean (true if the corresponding entity or attribute).
Returns Entity[] - The tree of the entities and their attributes according to the filter function
getEntityAttrById
Gets entity attribute by its ID. This function runs through all attributes inside specified entity and all its sub-entities.
▸ getEntityAttrById(entity: Entity,attrId: string
): EntityAttr | null
Parameters:
- entity: Entity
- attrId:
string
Returns EntityAttr | null
- The attribute or null
.
getEntityPathByAttr
Finds entity path by attribute
▸ getEntityPathByAttr(entity: Entity,attrId: string
,sep: string
,root: boolean
): string
Parameters:
- entity: Entity - The entity.
- attrId:
string
- The attribute id. - sep:
string
- The separator. - root:
boolean
- The root option.
Returns string
- The path.
getFirstAttributeByFilter
Finds first attribute by filter.
▸ getFirstAttributeByFilter(filterFunc: (attr: EntityAttr) => boolean
): EntityAttr
Parameters:
- filterFunc: (attr: EntityAttr) =>
boolean
- The filter function. Takes EntityAttr object in parameter and returns boolean
Returns EntityAttr
getFirstUICAttr
▸ getFirstUICAttr(): EntityAttr
Returns EntityAttr
getFullEntityPathByAttr
Finds full entity path by attribute
▸ getFullEntityPathByAttr(attrId: string
,sep: string
): string
Parameters:
- attrId:
string
- The attribute id. - sep:
string
- The separator.
Returns string
- The path.
getId
Gets ID of the data model.
▸ getId(): string
Returns string
- The ID.
getLinksByEntity
Get links with the entity.
▸ getLinksByEntity(entity: Entity): Link[]
Parameters:
- entity: Entity - The entity.
Returns Link[] - The link.
getMainEntity
Gets the main entity of model
▸ getMainEntity(): Entity
Returns Entity - The main entity.
getName
Gets name of the data model.
▸ getName(): string
Returns string
- The name.
getObject
Gets the data model object.
▸ getObject(): DataModel
Returns DataModel - Tha data model.
getOperand
Gets operand.
▸ getOperand(attr: EntityAttr,operator: Operator,index: number
): Operand
Parameters:
- attr: EntityAttr - The attribute.
- operator: Operator - The operator.
- index:
number
- The index.
Returns Operand - The operand.
getOperatorById
Finds operator in model by its ID. his function runs through all operators inside specified model and returns the one with specified ID.
▸ getOperatorById(operatorId: string
): Operator
Parameters:
- operatorId:
string
- Operator ID.
Returns Operator - The operator or special NullOperator
object if operator is not found.
getOperatorIdsByDataType
Get operators for data type.
▸ getOperatorIdsByDataType(type: DataType
): string
[]
Parameters:
- type:
DataType
- The data type
Returns string
[] - The array of operator ids.
getRootEntity
Gets root entity of the data model.
▸ getRootEntity(): Entity
Returns Entity - The root entity.
getTimeMacroValue
Gets time by its macro value.
▸ getTimeMacroValue(macro: string
): Date
| null
Parameters:
- macro:
string
- The macro value.
Returns Date
| null
- The date or null
.
getTimeOrMacroValue
Gets time or macro by macro value.
▸ getTimeOrMacroValue(time: string
): string
| Date
Parameters:
- time:
string
Returns string
| Date
- The time or macro valu.
isDateMacro
Checks wether macro value is date.
▸ isDateMacro(macro: string
): boolean
Parameters:
- macro:
string
- The macro value.
Returns boolean
isEmpty
Checks wether the data model is empty.
▸ isEmpty(): boolean
Returns boolean
- true
if the data model is empty, otherwise false
.
isTimeMacro
Checks wether macro value is time.
▸ isTimeMacro(macro: string
): boolean
Parameters:
- macro:
string
- The macro value.
Returns boolean
loadFromData
Loads data model from its JSON representation object.
▸ loadFromData(data: ModelPlainData): void
Parameters:
- data: ModelPlainData - The JSON representation object.
Returns void
loadFromJSON
Loads data model from JSON.
▸ loadFromJSON(stringJson: string
): void
Parameters:
- stringJson:
string
- The JSON string.
Returns void
removeOperator
Removes an operator.
▸ removeOperator(id: string
,soft?: boolean
): void
Parameters:
- id:
string
- The id. - soft:
boolean
, Default value =false
- Iffalse
- removes operators from model and attributes. Otherwise only from attributes.
Returns void
runThroughEntities
Scans model's entity tree and calls the callback functions for each attribute and entity.
▸ runThroughEntities(processAttribute?: (attr: EntityAttr, opts: any
) => void
,processEntity?: (entity: Entity, opts: any
) => void
): void
Parameters:
- processAttribute: (attr: EntityAttr, opts:
any
) =>void
, Optional - The callback function which is called for each attribute in model's entity tree. The processed attribute is passed in the first function parameter. - processEntity: (entity: Entity, opts:
any
) =>void
, Optional - The callback function which is called for each entity in tree. The processed entity is passed in the first function parameter.
Returns void
setData
Sets data to data model.
▸ setData(model: ModelPlainData | string
): void
Parameters:
- model: ModelPlainData |
string
- Its JSON representation object or JSON string.
Returns void