Cumulocity - 自定义小部件配置
Cumulocity - Custom widget configuration
我正在 cumulocity 平台上编写图表小部件。
在平台自带的widget中,
在 select 设备之后,我可以 select 数据点:
但是我写的widget只能select设备,没有数据点选项让我select:
我知道 c8yComponentsProvider
可以让我选择 select 是否需要设备目标。有没有办法让我选择我想要的数据点?
您可以在 c8yComponentsProvider
的选项中禁用设备选择器:
options: {
noDeviceTarget: true
}
然后在您的小部件配置中使用以下指令 html:
<c8y-data-point-list datapoints="data.datapoints"></c8y-data-point-list>
您需要在小部件配置控制器的 data.datapoints
对象中设置要选择的数据点。因此,您可以使用 c8y_DataPoint
.
片段搜索托管对象
文档中有一个示例,说明如何使用 c8yInventory 服务:
var filters = {fragmentType: 'c8y_DataPoint', withParents: true};
$scope.data = {};
c8yInventory.list(filters).then(function (devices) {
$scope.data.datapoints = [];
_.forEach(devices, function(dp) {
$scope.data.datapoints.push(dp);
});
});
请注意,c8y-data-point-list
是非官方指令。如果您遇到任何问题或想要特定的外观,您可以通过编写自己的指令来更快。
从angular2开始就得这样了
在我的自定义小部件项目中,我添加到 app.module.ts
的 usedValue 部分如下。
useValue: {
id: 'acme.text.widget', // 3.
label: 'Text widget',
description: 'Can display a text',
component: WidgetDemo, // 4.
configComponent: WidgetConfigDemo,
data: {
ng1: {
options: {
noDeviceTarget: true
}
}
}
}
我正在 cumulocity 平台上编写图表小部件。
在平台自带的widget中,
在 select 设备之后,我可以 select 数据点:
但是我写的widget只能select设备,没有数据点选项让我select:
我知道 c8yComponentsProvider
可以让我选择 select 是否需要设备目标。有没有办法让我选择我想要的数据点?
您可以在 c8yComponentsProvider
的选项中禁用设备选择器:
options: {
noDeviceTarget: true
}
然后在您的小部件配置中使用以下指令 html:
<c8y-data-point-list datapoints="data.datapoints"></c8y-data-point-list>
您需要在小部件配置控制器的 data.datapoints
对象中设置要选择的数据点。因此,您可以使用 c8y_DataPoint
.
文档中有一个示例,说明如何使用 c8yInventory 服务:
var filters = {fragmentType: 'c8y_DataPoint', withParents: true};
$scope.data = {};
c8yInventory.list(filters).then(function (devices) {
$scope.data.datapoints = [];
_.forEach(devices, function(dp) {
$scope.data.datapoints.push(dp);
});
});
请注意,c8y-data-point-list
是非官方指令。如果您遇到任何问题或想要特定的外观,您可以通过编写自己的指令来更快。
从angular2开始就得这样了
在我的自定义小部件项目中,我添加到 app.module.ts
的 usedValue 部分如下。
useValue: {
id: 'acme.text.widget', // 3.
label: 'Text widget',
description: 'Can display a text',
component: WidgetDemo, // 4.
configComponent: WidgetConfigDemo,
data: {
ng1: {
options: {
noDeviceTarget: true
}
}
}
}