fineui是帆软报表和BI产品线所使用的前端框架。
 
 
 

286 lines
8.4 KiB

TmpView = BI.inherit(BI.View, {
_defaultConfig: function () {
return BI.extend(TmpView.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-tmp"
});
},
_init: function () {
TmpView.superclass._init.apply(this, arguments);
},
change: function (changed) {
if(changed.data1) {
this._showModelData();
}
},
_showModelData: function () {
this.text.setText("父级Model层数据为:" + JSON.stringify(this.model.toJSON()));
},
_createMain: function () {
var self = this;
return BI.createWidget({
type: "bi.border",
items: {
west: {
el: {
type: "bi.vertical",
vgap: 10,
items: [{
el: (this.text = BI.createWidget({
type: "bi.label",
whiteSpace: "normal"
}))
}, {
el: {
type: "bi.text_button",
cls: "tmp-button mvc-button",
text: "点击触发事件tmp('data1', {child: {type: {value: \"临时数据\"}}})",
height: 30,
handler: function () {
self.model.tmp("data1", {
child: {
type: {
value: "临时数据"
}
}
});
}
}
}, {
el: {
type: "bi.text_button",
cls: "tmp-button mvc-button",
text: "点击触发事件submit",
height: 30,
handler: function () {
self.model.submit();
}
}
}, {
el: {
type: "bi.text_button",
cls: "tmp-button mvc-button",
text: "点击跳转到右方",
height: 30,
handler: function () {
self.addSubVessel("test", self.center).skipTo("child", "test", "data1");
}
}
}]
},
width: 200
},
center: {
el: (this.center = BI.createWidget())
}
}
});
},
render: function (vessel) {
BI.createWidget({
type: "bi.center",
element: vessel,
items: [{
el: this._createMain()
}],
hgap: 50,
vgap: 100
});
},
refresh: function () {
this._showModelData();
}
});
TmpModel = BI.inherit(BI.Model, {
_defaultConfig: function () {
return BI.extend(TmpModel.superclass._defaultConfig.apply(this, arguments), {
data1: {
child: {
type: {
value: "这是一个测试数据"
}
}
},
data2: "test"
});
},
_init: function () {
TmpModel.superclass._init.apply(this, arguments);
}
});
TmpChildView = BI.inherit(BI.View, {
_defaultConfig: function () {
return BI.extend(TmpChildView.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-tmp-child"
});
},
_init: function () {
TmpChildView.superclass._init.apply(this, arguments);
},
change: function (changed) {
if(changed.child) {
this._showModelData();
}
},
_showModelData: function () {
this.text.setText("子级Model层数据为:" + JSON.stringify(this.model.toJSON()));
},
_createMain: function () {
var self = this;
return BI.createWidget({
type: "bi.border",
items: {
west: {
el: {
type: "bi.vertical",
vgap: 10,
items: [{
el: (this.text = BI.createWidget({
type: "bi.label",
whiteSpace: "normal"
}))
}, {
el: {
type: "bi.text_button",
cls: "tmp-button mvc-button",
text: "点击触发事件set",
height: 30,
handler: function () {
self.set("child", {
type: {
value: "值改变了"
}
});
}
}
}, {
el: {
type: "bi.text_button",
cls: "tmp-button mvc-button",
text: "点击跳转到右方",
height: 30,
handler: function () {
self.addSubVessel("test", self.center).skipTo("child", "test", "child");
}
}
}]
},
width: 200
},
center: {
el: (this.center = BI.createWidget())
}
}
});
},
render: function (vessel) {
BI.createWidget({
type: "bi.center",
element: vessel,
items: [{
el: this._createMain()
}],
hgap: 50
});
},
refresh: function () {
this._showModelData();
}
});
TmpChildModel = BI.inherit(BI.Model, {
_defaultConfig: function () {
return BI.extend(TmpChildModel.superclass._defaultConfig.apply(this, arguments), {
});
},
_init: function () {
TmpChildModel.superclass._init.apply(this, arguments);
}
});
TmpChildChildView = BI.inherit(BI.View, {
_defaultConfig: function () {
return BI.extend(TmpChildChildView.superclass._defaultConfig.apply(this, arguments), {
baseCls: "bi-tmp-child-child"
});
},
_init: function () {
TmpChildChildView.superclass._init.apply(this, arguments);
},
change: function (changed) {
if(changed.type) {
this._showModelData();
}
},
_showModelData: function () {
this.text.setText("叶节点数据为:" + JSON.stringify(this.model.toJSON()));
},
_createMain: function () {
return (this.text = BI.createWidget({
type: "bi.label",
whiteSpace: "normal"
}));
},
render: function (vessel) {
BI.createWidget({
type: "bi.center",
element: vessel,
items: [{
el: this._createMain()
}],
hgap: 50
});
},
refresh: function () {
this._showModelData();
}
});
TmpChildChildModel = BI.inherit(BI.Model, {
_defaultConfig: function () {
return BI.extend(TmpChildChildModel.superclass._defaultConfig.apply(this, arguments), {
});
},
_init: function () {
TmpChildChildModel.superclass._init.apply(this, arguments);
}
});
Demo.Func = BI.inherit(BI.Widget, {
render: function () {
var view = BI.View.createView("/tmp", {}, {
element: this
});
view.populate();
},
mounted: function () {
}
});
BI.shortcut("demo.tmp", Demo.Func);