48 lines
4.8 KiB
QML
48 lines
4.8 KiB
QML
import QtQuick
|
|
|
|
Rectangle {
|
|
id: root
|
|
color: "#f0f0f0"
|
|
property var itemList : []
|
|
property var aJsText: "aW1wb3J0IHRpbWUNCmZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lDQoNCnJlY3ZEYXRhID0gYnl0ZWFycmF5KCkgI+aOpeaUtueahOaVsOaNruWtmOaUvuatpOaVsOe7hA0Kc3RhcnRUaW1lID0gdGltZS50aW1lKCkgDQoNCiMg5bCGYnl0ZWFycmF55Lul5a2X5Li65Y2V5L2N6L2s5o2i5oiQMTbov5vliLblrZfnrKbkuLLvvIzmlrnkvr/mmL7npLoNCmRlZiB3b3JkRGF0YTJIZXhTdHIoZGF0YSk6DQogICAgcmV0ID0gJyAnLmpvaW4oZGF0YVtpOmkrMl0uaGV4KCkgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKGRhdGEpLCAyKSkNCiAgICByZXR1cm4gcmV0LnVwcGVyKCkNCg0KIyDojrflj5blvZPliY3ml7bpl7TlrZfnrKbkuLINCmRlZiBub3dTdHIoKToNCiAgICBub3cgPSBkYXRldGltZS5ub3coKQ0KICAgIHJldCA9IG5vdy5zdHJmdGltZSgnJUg6JU06JVMuJykgKyBmIntub3cubWljcm9zZWNvbmQgLy8gMTAwMDowM2R9Ig0KICAgIHJldHVybiByZXQNCiAgICANCmRlZiBjaGVja1ZhbHVlKGRhdGE6IGJ5dGVzKSAtPiBpbnQ6DQogICAgIyDliJ3lp4vljJZjcmPkuLoweEZGRkYNCiAgICBjcmMgPSAweEZGRkYNCg0KICAgIGxlbmd0aCA9IGxlbihkYXRhKQ0KICAgIGlmIGxlbmd0aCAlIDIgIT0gMDoNCiAgICAgICAgcmV0dXJuIDANCiAgICANCiAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW5ndGgsIDIpOg0KICAgICAgICB2YWwgPSBkYXRhW2ldICogMjU2ICsgZGF0YVtpICsgMV0NCiAgICAgICAgY3JjID0gY3JjIF4gdmFsDQoNCiAgICAjIOi/lOWbnuacgOe7iOeahGNyY+WAvA0KICAgIHJldHVybiBjcmMNCg0KIyDlkK/liqjlh73mlbDvvIzlkb3ku6TlvIDlp4vkvJrosIPnlKjmraTlh73mlbANCmRlZiBzdGFydCgpOg0KDQogICAgbG9nX2koJy0tLS0tLS0tLS0tLS0tLS0tICcgKyBjbWRJbmZvWyduYW1lJ10gKyAnIC0tLS0tLS0tLS0tLS0tLS0nKQ0KICAgICNsb2coZiJbe2RldkluZm9bJ25hbWUnXX1de2NtZEluZm9bJ25hbWUnXX0iKQ0KICAgIA0KICAgIHN0YXJ0VGltZSA9IHRpbWUudGltZSgpICPorrDlvZXlkK/liqjml7bpl7QNCiAgICANCiAgICByZWN2RGF0YSA9IGJ5dGVhcnJheSgpICPmuIXnqbrmjqXmlLbmlbDnu4QNCg0KICAgIGF0dHIgPSBjbWRJbmZvWydhdHRyJ10NCiAgICBjbWRTdHIgPSBhdHRyWydjbWQnXSArIGF0dHJbJ2RhdGEnXSAj57uE5ZCI6KaB5Y+R6YCB55qE5oql5paH77yM5Y2B5YWt6L+b5Yi25a2X56ym5LiyDQogICAgICAgICAgICANCiAgICBkYXRhID0gYnl0ZWFycmF5KCkuZnJvbWhleChjbWRTdHIpICPlsIbljYHlha3ov5vliLblrZfnrKbkuLLovazmiJDlrZfoioLmlbDmja7lj5HpgIENCiAgICANCiAgICBpZiBhdHRyWydyZXFfaXNfY2hlY2snXSA9PSBUcnVlOg0KICAgICAgICBjcmMgPSBjaGVja1ZhbHVlKGRhdGEpDQogICAgICAgIGRhdGEgPSBkYXRhICsgYnl0ZWFycmF5KGNyYy50b19ieXRlcygyLCAnYmlnJykpDQogICAgc2VuZChkYXRhKQ0KDQogICAgbG9nX2QoZiJbe25vd1N0cigpfV0gU2VudDp7d29yZERhdGEySGV4U3RyKGRhdGEpfSIpDQogICAgICAgIA0KICAgIHJldHVybiBUcnVlDQoNCiMg5o6l5pS25pWw5o2u5aSE55CG5Ye95pWw77yM5b2T5pS25Yiw5pWw5o2u5Lya6LCD55So5q2k5Ye95pWwDQpkZWYgcmVjdkRhdGFIYW5kbGVyKGRhdGEpOg0KICAgIGdsb2JhbCByZWN2RGF0YQ0KICAgIHJlY3ZEYXRhID0gcmVjdkRhdGEgKyBkYXRhDQogICAgYXR0ciA9IGNtZEluZm9bJ2F0dHInXQ0KICAgIHJzcF9sZW4gPSBpbnQoYXR0clsncnNwX2xlbiddKSAqIDINCiAgICBpZiBsZW4ocmVjdkRhdGEpID49IHJzcF9sZW46ICNUQlVT5oyH5LukcnNwX2xlbuS7peWtl+S4uuWNleS9jSAgICAgICAgDQogICAgICAgIGxvZ19kKGYiW3tub3dTdHIoKX1dIEVjaG86e3dvcmREYXRhMkhleFN0cihyZWN2RGF0YSl9IikNCiAgICAgICAgaWYgYXR0clsncnNwX2lzX2NoZWNrJ10gPT0gVHJ1ZToNCiAgICAgICAgICAgICMg5qCh6aqM5pWw5o2u5q2j56Gu5oCnDQogICAgICAgICAgICBjcmMgPSBpbnQuZnJvbV9ieXRlcyhyZWN2RGF0YVtyc3BfbGVuIC0gMjpyc3BfbGVuXSwgYnl0ZW9yZGVyPSdiaWcnKQ0KICAgICAgICAgICAgY2FsY192YWx1ZSA9IGNoZWNrVmFsdWUocmVjdkRhdGFbMDpyc3BfbGVuIC0gMl0pDQogICAgICAgICAgICBpZiBjcmMgIT0gY2FsY192YWx1ZToNCiAgICAgICAgICAgICAgICBsb2dfdygiQ1JDIGVycm9yOiIgKw0KICAgICAgICAgICAgICAgICAgICAic2hvdWxkIGJlICIgKyAnezowNFh9Jy5mb3JtYXQoY2FsY192YWx1ZSkgKyANCiAgICAgICAgICAgICAgICAgICAgIixnb3QgIiArICd7OjA0WH0nLmZvcm1hdChjcmMpKQ0KICAgICAgICAgICAgICAgIGZpbmlzaCgpDQogICAgICAgICAgICAgICAgcmV0dXJuDQogICAgICAgIGxvZ19pKCJzdWNjZXNzIikgICAgDQogICAgICAgIGZpbmlzaCgpDQogICAgICAgIA0KIyDmraTlh73mlbDkvJrooqvph43lpI3osIPnlKjvvIzpl7TpmpQxMOavq+enku+8jOebtOWIsGZpbmlzaCgpICAgICAgICANCmRlZiBsb29wKCk6DQogICAgZ2xvYmFsIHJlY3ZEYXRhDQogICAgaWYgdGltZS50aW1lKCkgPiBzdGFydFRpbWUgKyBpbnQoY21kSW5mb1snYXR0ciddWydyc3BfdGltZW91dCddKSAvIDEwMDAuMDoNCiAgICAgICAgaWYgbGVuKHJlY3ZEYXRhKSA+IDA6DQogICAgICAgICAgICBsb2dfdyhmIlt7bm93U3RyKCl9XVJYIHRpbWVvdXQ6e3dvcmREYXRhMkhleFN0cihyZWN2RGF0YSl9IikNCiAgICAgICAgZWxzZToNCiAgICAgICAgICAgIGxvZ193KGYiW3tub3dTdHIoKX1dUlggdGltZW91dCIpDQogICAgICAgIGxvZ19lKGYiW3tkZXZJbmZvWyduYW1lJ119XXtjbWRJbmZvWyduYW1lJ119IGZhaWwuIikNCiAgICAgICAgZmluaXNoKCkNCg=="
|
|
// 添加组件
|
|
function appendItem(item)
|
|
{
|
|
itemList.push(item)
|
|
}
|
|
// 属性设置
|
|
function attrChange(attr)
|
|
{
|
|
for(var i=0;i<itemList.length;i++)
|
|
{
|
|
if('key' in itemList[i] && itemList[i].key in attr) {
|
|
itemList[i].setValue( attr[itemList[i].key] )
|
|
}
|
|
}
|
|
}
|
|
// 创建指令
|
|
function create(devModelId, name)
|
|
{
|
|
var attr = {}
|
|
for(var i=0;i<itemList.length;i++)
|
|
{
|
|
attr[itemList[i].key] = itemList[i].value
|
|
}
|
|
instructionManager.create(devModelId, name, typeName, attr)
|
|
}
|
|
|
|
// 更新指令
|
|
function update(instructionId, name)
|
|
{
|
|
var attr = {}
|
|
for(var i=0;i<itemList.length;i++)
|
|
{
|
|
attr[itemList[i].key] = itemList[i].value
|
|
}
|
|
var param = {
|
|
"name": name,
|
|
"attr": attr
|
|
}
|
|
instructionManager.update(instructionId, param)
|
|
}
|
|
} |