ผลต่างระหว่างรุ่นของ "Openerp/histest3"
ไปยังการนำทาง
ไปยังการค้นหา
' + results[i].first_name + '
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
| แถว 15: | แถว 15: | ||
'instance.histest.indexAction'); | 'instance.histest.indexAction'); | ||
| + | }; | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === histest_message.js === | ||
| + | |||
| + | <syntaxhighlight lang="javascript"> | ||
| + | openerp.histest.message = function(instance) { | ||
| + | |||
| + | instance.histest.MsgManagerWidget = instance.web.Widget.extend({ | ||
| + | |||
| + | start: function() { | ||
| + | var self = this; | ||
| + | console.log("MsgMan started..."); | ||
| + | setInterval(function() { | ||
| + | self.popup(); | ||
| + | },5000); | ||
| + | this.shownMsgId = 0; | ||
| + | }, | ||
| + | |||
| + | popup: function() { | ||
| + | var model = new instance.web.Model('histest.message'); | ||
| + | var self = this; | ||
| + | model.query().filter([['id','>',this.shownMsgId]]).all().done(function(results){ | ||
| + | if (results.length > 0) { | ||
| + | msgId = results[results.length-1].id; | ||
| + | self.do_action({ | ||
| + | type: 'ir.actions.act_window', | ||
| + | res_model: "histest.message", | ||
| + | res_id: msgId, | ||
| + | views: [[false, 'form']], | ||
| + | target: 'new', | ||
| + | context: {}, | ||
| + | }); | ||
| + | self.shownMsgId = msgId; | ||
| + | } | ||
| + | }); | ||
| + | } | ||
| + | }); | ||
| + | }; | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | === histest_patient.hs === | ||
| + | <syntaxhighligh lang="javascript"> | ||
| + | openerp.histest.patient = function(instance) { | ||
| + | |||
| + | instance.histest.indexAction = instance.web.Widget.extend({ | ||
| + | template: 'histest.index', | ||
| + | events: { | ||
| + | 'click .oe_histest_patient_new_link': 'linkClick', | ||
| + | 'click .oe_histest_patient_query_link': 'patientQuery', | ||
| + | }, | ||
| + | |||
| + | start: function() { | ||
| + | var msgManager = new instance.histest.MsgManagerWidget(this); | ||
| + | msgManager.appendTo('.oe_application'); | ||
| + | }, | ||
| + | |||
| + | patientQuery: function() { | ||
| + | var model = new instance.web.Model('histest.patient'); | ||
| + | var self = this; | ||
| + | self.$(".oe_histest_patient_results").html(""); | ||
| + | model.query().all().done(function(results) { | ||
| + | for(var i=0; i < results.length; i++) { | ||
| + | self.$(".oe_histest_patient_results") | ||
| + | .append('<li>' + results[i].first_name + '</li>'); | ||
| + | } | ||
| + | }); | ||
| + | }, | ||
| + | |||
| + | linkClick: function() { | ||
| + | this.do_action({ | ||
| + | type: 'ir.actions.act_window', | ||
| + | res_model: 'histest.patient', | ||
| + | views: [[false,'form']], | ||
| + | target: 'current', | ||
| + | context: {}, | ||
| + | }); | ||
| + | } | ||
| + | }); | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
รุ่นแก้ไขเมื่อ 02:52, 3 เมษายน 2557
หน้านี้รวมข้อมูลสำหรับการทดสอบการพัฒนาระบบด้วย OpenERP
เนื้อหา
การแยกโค้ด javascript เป็นส่วน
ก่อนเริ่ม: ดาวน์โหลดโค้ด histest.zip จากครั้งก่อน
histest.js
openerp.histest = function(instance) {
openerp.histest.message(instance);
openerp.histest.patient(instance);
instance.web.client_actions.add('histest.indexAction',
'instance.histest.indexAction');
};
histest_message.js
openerp.histest.message = function(instance) {
instance.histest.MsgManagerWidget = instance.web.Widget.extend({
start: function() {
var self = this;
console.log("MsgMan started...");
setInterval(function() {
self.popup();
},5000);
this.shownMsgId = 0;
},
popup: function() {
var model = new instance.web.Model('histest.message');
var self = this;
model.query().filter([['id','>',this.shownMsgId]]).all().done(function(results){
if (results.length > 0) {
msgId = results[results.length-1].id;
self.do_action({
type: 'ir.actions.act_window',
res_model: "histest.message",
res_id: msgId,
views: [[false, 'form']],
target: 'new',
context: {},
});
self.shownMsgId = msgId;
}
});
}
});
};
histest_patient.hs
<syntaxhighligh lang="javascript"> openerp.histest.patient = function(instance) {
instance.histest.indexAction = instance.web.Widget.extend({
template: 'histest.index',
events: {
'click .oe_histest_patient_new_link': 'linkClick',
'click .oe_histest_patient_query_link': 'patientQuery',
},
start: function() {
var msgManager = new instance.histest.MsgManagerWidget(this);
msgManager.appendTo('.oe_application');
},
patientQuery: function() {
var model = new instance.web.Model('histest.patient');
var self = this;
self.$(".oe_histest_patient_results").html("");
model.query().all().done(function(results) {
for(var i=0; i < results.length; i++) {
self.$(".oe_histest_patient_results")
.append('
'); } }); }, linkClick: function() { this.do_action({ type: 'ir.actions.act_window', res_model: 'histest.patient', views: false,'form', target: 'current', context: {}, }); } }); }; </syntaxhighlight>
Responsive CSS
เนื้อหาช่วงบ่าย
เอกสารครั้งก่อน ๆ
- โค้ดสำหรับการทดสอบครั้งที่ 1 วันที่ 27 มี.ค. 2557 - เกี่ยวกับ web module และการเรียก message