|
|
|
// local函数
|
|
|
|
LocalView = BI.inherit(BI.View, {
|
|
|
|
_defaultConfig: function () {
|
|
|
|
return BI.extend(LocalView.superclass._defaultConfig.apply(this, arguments), {
|
|
|
|
baseCls: "bi-local"
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
_init: function () {
|
|
|
|
LocalView.superclass._init.apply(this, arguments);
|
|
|
|
this.buttons = {};
|
|
|
|
},
|
|
|
|
|
|
|
|
_addElement2Vessel: function (id) {
|
|
|
|
var self = this;
|
|
|
|
this.buttons[id] = this.elementVessel.addItem({
|
|
|
|
type: "bi.text_button",
|
|
|
|
text: "Button:" + id,
|
|
|
|
width: 180,
|
|
|
|
height: 22,
|
|
|
|
cls: "delete-button button",
|
|
|
|
handler: function () {
|
|
|
|
self.set("delete", id);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
_deleteElement: function (id) {
|
|
|
|
this.buttons[id] && this.buttons[id].destroy();
|
|
|
|
delete this.buttons[id];
|
|
|
|
},
|
|
|
|
|
|
|
|
_createTop: function () {
|
|
|
|
var self = this;
|
|
|
|
this.elementVessel = BI.createWidget({
|
|
|
|
type: "bi.left",
|
|
|
|
height: 200,
|
|
|
|
cls: "vessel-border",
|
|
|
|
scrollable: true,
|
|
|
|
vgap: 10,
|
|
|
|
hgap: 10
|
|
|
|
});
|
|
|
|
|
|
|
|
return BI.createWidget({
|
|
|
|
type: "bi.vertical",
|
|
|
|
items: [
|
|
|
|
{
|
|
|
|
el: {
|
|
|
|
type: "bi.text_button",
|
|
|
|
text: "点击添加元素",
|
|
|
|
cls: "top-button",
|
|
|
|
handler: function () {
|
|
|
|
self.model.set("add", true);
|
|
|
|
},
|
|
|
|
height: 30
|
|
|
|
}
|
|
|
|
},
|
|
|
|
this.elementVessel
|
|
|
|
]
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
_showModelData: function () {
|
|
|
|
this.text.setText(JSON.stringify(this.model.toJSON()));
|
|
|
|
},
|
|
|
|
|
|
|
|
_createCenter: function () {
|
|
|
|
var modelData = BI.createWidget({
|
|
|
|
type: "bi.center",
|
|
|
|
vgap: 10,
|
|
|
|
hgap: 10,
|
|
|
|
cls: "vessel-border",
|
|
|
|
height: 200,
|
|
|
|
items: [{
|
|
|
|
el: this.text = BI.createWidget({
|
|
|
|
type: "bi.label",
|
|
|
|
hgap: 30,
|
|
|
|
textHeight: 30,
|
|
|
|
whiteSpace: "normal"
|
|
|
|
})
|
|
|
|
}]
|
|
|
|
});
|
|
|
|
|
|
|
|
return BI.createWidget({
|
|
|
|
type: "bi.vertical",
|
|
|
|
items: [
|
|
|
|
{
|
|
|
|
el: {
|
|
|
|
type: "bi.label",
|
|
|
|
cls: "bottom-label",
|
|
|
|
text: "Model层数据",
|
|
|
|
height: 30
|
|
|
|
}
|
|
|
|
},
|
|
|
|
modelData
|
|
|
|
]
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
render: function (vessel) {
|
|
|
|
BI.createWidget({
|
|
|
|
type: "bi.vertical",
|
|
|
|
element: vessel,
|
|
|
|
items: [{
|
|
|
|
el: this._createTop()
|
|
|
|
}, {
|
|
|
|
el: this._createCenter()
|
|
|
|
}],
|
|
|
|
hgap: 50,
|
|
|
|
vgap: 20
|
|
|
|
});
|
|
|
|
|
|
|
|
this._showModelData();
|
|
|
|
},
|
|
|
|
|
|
|
|
local: function () {
|
|
|
|
if(this.model.has("add")) {
|
|
|
|
var add = this.model.get("add");
|
|
|
|
this._addElement2Vessel(this.model.getEditing());
|
|
|
|
this._showModelData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if(this.model.has("delete")) {
|
|
|
|
var id = this.model.get("delete");
|
|
|
|
this._deleteElement(id);
|
|
|
|
this._showModelData();
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
LocalModel = BI.inherit(BI.Model, {
|
|
|
|
_defaultConfig: function () {
|
|
|
|
return BI.extend(LocalModel.superclass._defaultConfig.apply(this, arguments), {
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
|
|
|
|
_init: function () {
|
|
|
|
LocalModel.superclass._init.apply(this, arguments);
|
|
|
|
},
|
|
|
|
|
|
|
|
local: function () {
|
|
|
|
if(this.has("add")) {
|
|
|
|
this.get("add");
|
|
|
|
var id = BI.UUID();
|
|
|
|
this.set(id, "这是新增的属性:" + id);
|
|
|
|
this.setEditing(id);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
if(this.has("delete")) {
|
|
|
|
var id = this.get("delete");
|
|
|
|
this.unset(id);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
Demo.Func = BI.inherit(BI.Widget, {
|
|
|
|
render: function () {
|
|
|
|
var view = BI.View.createView("/local", {}, {
|
|
|
|
element: this
|
|
|
|
});
|
|
|
|
view.populate();
|
|
|
|
},
|
|
|
|
|
|
|
|
mounted: function () {
|
|
|
|
}
|
|
|
|
});
|
|
|
|
BI.shortcut("demo.local", Demo.Func);
|