Skip to content

MindSphere Web Components
Aspect Variable 选择器

Aspect Variable 选择器允许用户针对一个或多个 assets 选择一个或多个 variables 或 aspects。

您可以将其配置为仅显示动态或静态 aspects,或特定数据类型的 variables。

示例

AspectVariableSelector

接口

### 选择器

<mdsp-aspect-variable-selector></mdsp-aspect-variable-selector>

属性

名称 类型 相应的属性 默认 描述 允许的值
category string category Dynamic 配置将显示的 aspect 的某个类别。 - Dynamic
- Static
- All
context string context 配置组件的上下文。同样参考这里
dataTypes string data-types 配置将显示的 variable 的数据类型。

数据类型列表的列表用逗号分隔。例如:data-types = "INT,LONG,DOUBLE"
- BOOLEAN
- INT
- LONG
- DOUBLE
- STRING
- BIG_STRING
- TIMESTAMP
errorNotification boolean error-notification 如果有错误抛出,启用错误控件。这可以用于调试目的。

对于在生产环境中使用,应在应用中捕获并处理错误事件。同样参见这里
locale string locale 指定显示组件的时间区域
默认提供时间区域 ende
同样参见这里
localeManager LocaleManager 返回 LocaleManager 对象。

它可用于添加时间区域或者时间区域的设置。
同样参见这里
selectedAssetIds string 使用 asset ID 字符串数组配置显示 assets 的 aspects 和 variables。
view IViewModel 返回用于视图处理的对象,请参考 IViewModel 模型。
viewMode string view-mode Aspects 配置视图模式。 - All
- Aspects
- Variables
- AspectsAsDropDown
- VariablesAsDropDown
- AllAsDropDown

事件

名称 类型 描述
selectedAspectsAndVariablesChanged EventEmitter<IAspectVariablesSelection[]> 当选择的 aspect 或者 variable 改变时触发。

event.detail 属性包含 Asset 对象的数组,请参考 Asset 模型。每个 Asset 对象都声明 asset ID 和列出所选 aspects/variables 的 asset.aspectDefinition 属性。
connected EventEmitter<any> 在组件被创建、初始化并附加到 DOM 树后触发。
error EventEmitter<MdspUiError> 当组件或正在访问 API 发生错误时触发。同样参见这里

模型

IAspectVariablesSelection
interface IAspectVariablesSelection {
    assets: Asset[];
}
Asset
class Asset implements IAsset {
    public assetId: string;
    public tenantId: string;
    public name: string;
    public etag: number;
    public externalId: string;
    public t2Tenant: string;
    public description: string;
    public parentId: string;
    public typeId: string;
    public location: ILocation;
    public variables: any[];
    public aspects: any[];
    public deleted: string;
    public _links: any;
    public aspectsDefinition: IAspect[];
}
IAspect
interface IAspect {
    name: string;
    holderAssetId: string;
    aspectTypeId: string;
    aspectTypeName: string;
    category: AspectCategory;
    description: string;
    variables: IVariable[];
}
IVariable
interface IVariable {
    name: string;
    dataType: VariableDataType;
    unit: string | null;
    searchable: boolean;
    length: number | null;
    qualityCode: boolean;
}
IDataModel
interface IDataModel {
  // forces reload of data // forces reload of data, e.g. re-loading the aspects / variables
  refresh(): void;
}
IViewModel
interface IViewModel {
  refresh(): void;
}

备注

  • Aspect Variable 选择器目前支持最多5个 assets,每个 sset 最多有10个 aspects,其中每个 aspect 最多有10个 variables。

角色

  • mdsp:core.AssetManagement.xxx (使用 Asset Management API)

代码段

在平面列表中显示 Aspects

<mdsp-aspect-variable-selector view-mode="Aspects"></mdsp-aspect-variable-selector>

平面面列表中的 aspects

在平面列表中显示 variables

<mdsp-aspect-variable-selector view-mode="Variables"></mdsp-aspect-variable-selector>

平面列表中的 variables

在平面列表中显示 aspects 和它们的 variables

<mdsp-aspect-variable-selector view-mode="All"></mdsp-aspect-variable-selector>

平面列表中的 aspects 和它们的 variables

在下拉列表中显示 aspects

<mdsp-aspect-variable-selector view-mode="AspectsAsDropDown"></mdsp-aspect-variable-selector>

下拉列表中的 aspects

在下拉列表中显示 variables

<mdsp-aspect-variable-selector view-mode="VariablesAsDropDown"></mdsp-aspect-variable-selector>

下拉列表中的 variables

在下拉列表中显示 aspects 和它们的 variables

<mdsp-aspect-variable-selector view-mode="AllAsDropDown"></mdsp-aspect-variable-selector>

下拉列表中的 aspects 和它们的 variables

用选择的 variables 更新总表

当选择的 variable 要显示在总表中时,建议使用以下属性:

  • category="Dynamic": 仅显示动态 aspects
  • data-types="INT,LONG,DOUBLE": 仅列出由总表支持的数据类型
<mdsp-aspect-variable-selector category="Dynamic" data-types="INT,LONG,DOUBLE" view-mode="All"></mdsp-aspect-variable-selector>

当用户更改选择时,将触发一个事件。使用此事件的 detail 属性更新总表的 variablePaths 参数:

 aspectVariableSelectorComp.addEventListener('selectedAspectsAndVariablesChanged', function (eventParams) {
            timeseriesAggregateComp.variablePaths = eventParams.detail;
        });

还有问题?

向社区提问


除非另行声明,该网站内容遵循MindSphere开发许可协议.


Last update: November 16, 2021