[IMP] Some changes from Vaab(community) to Improved code to use widget render.

bzr revid: jra@tinyerp.com-20110929093155-fazv4pdq21h5uzkp
This commit is contained in:
Jiten (OpenERP) 2011-09-29 15:01:55 +05:30
commit 7f30804c9b
3 changed files with 44 additions and 15 deletions

View File

@ -12,14 +12,17 @@ openerp.web_mobile.mobilewebclient = function(element_id) {
};
openerp.web_mobile.MobileWebClient = openerp.web.Widget.extend({
template: "WebClient",
init: function(element_id) {
this._super(null, element_id);
if(document.URL.length>59){
window.location.replace('/mobile');
}
QWeb.add_template("xml/web_mobile.xml");
openerp.web.qweb.add_template("xml/web_mobile.xml");
var params = {};
this.$element.html(QWeb.render("WebClient", {}));
this.$element.html(this.render());
this.session = new openerp.web.Session("oe_errors");
this.crashmanager = new openerp.web.CrashManager(this);
this.login = new openerp.web_mobile.Login(this, "oe_login");
@ -32,6 +35,9 @@ openerp.web_mobile.MobileWebClient = openerp.web.Widget.extend({
});
openerp.web_mobile.Login = openerp.web.Widget.extend({
template: "Login",
start: function() {
this.has_local_storage = typeof(localStorage) != 'undefined';
this.remember_creditentials = true;
@ -45,7 +51,7 @@ openerp.web_mobile.Login = openerp.web.Widget.extend({
jQuery("#oe_header").children().remove();
this.rpc("/web/database/get_list", {}, function(result) {
self.db_list = result.db_list;
self.$element.html(QWeb.render("Login", self));
self.$element.html(self.render(self));
if(self.session.db!=""){
self.$element.find("#database").val(self.session.db);
}
@ -113,31 +119,39 @@ openerp.web_mobile.Login = openerp.web.Widget.extend({
});
openerp.web_mobile.Header = openerp.web.Widget.extend({
template: "Header",
init: function(session, element_id) {
this._super(session, element_id);
},
start: function() {
this.$element.html(QWeb.render("Header", this));
this.$element.html(this.render(this));
}
});
openerp.web_mobile.Footer = openerp.web.Widget.extend({
template: "Footer",
init: function(session, element_id) {
this._super(session, element_id);
},
start: function() {
this.$element.html(QWeb.render("Footer", this));
this.$element.html(this.render(this));
}
});
openerp.web_mobile.Shortcuts = openerp.web.Widget.extend({
template: "Shortcuts",
init: function(session, element_id) {
this._super(session, element_id);
},
start: function() {
var self = this;
this.rpc('/web/session/sc_list',{} ,function(res){
self.$element.html(QWeb.render("Shortcuts", {'sc' : res}))
self.$element.html(this.render({'sc' : res}))
self.$element.find("[data-role=header]").find('h1').html('Favourite');
self.$element.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
@ -176,6 +190,9 @@ openerp.web_mobile.Shortcuts = openerp.web.Widget.extend({
});
openerp.web_mobile.Menu = openerp.web.Widget.extend({
template: "Menu",
init: function(session, element_id, secondary_menu_id) {
this._super(session, element_id);
this.secondary_menu_id = secondary_menu_id;
@ -192,7 +209,7 @@ openerp.web_mobile.Menu = openerp.web.Widget.extend({
this.header.start();
this.footer = new openerp.web_mobile.Footer(this, "oe_footer");
this.footer.start();
this.$element.html(QWeb.render("Menu", this.data));
this.$element.html(this.render(this.data));
this.$element.find("[data-role=header]").find('h1').html('Application');
this.$element.find("[data-role=footer]").find('#shrotcuts').click(function(){
if(!$('#oe_shortcuts').html().length){
@ -239,6 +256,9 @@ openerp.web_mobile.Menu = openerp.web.Widget.extend({
});
openerp.web_mobile.Secondary = openerp.web.Widget.extend({
template: "Menu.secondary",
init: function(session, element_id, secondary_menu_id) {
this._super(session, element_id);
this.data = secondary_menu_id;
@ -246,7 +266,7 @@ openerp.web_mobile.Secondary = openerp.web.Widget.extend({
start: function(ev, id) {
var self = this;
var v = { menu : this.data };
this.$element.html(QWeb.render("Menu.secondary", v));
this.$element.html(this.render(v));
this.$element.find("[data-role=header]").find("h1").html(this.data.name);
this.$element.add(this.$secondary_menu).find('#content').find("a").click(this.on_menu_click);
this.$element.find("[data-role=footer]").find('#shrotcuts').click(function(){
@ -312,9 +332,12 @@ openerp.web_mobile.Secondary = openerp.web.Widget.extend({
});
openerp.web_mobile.Options = openerp.web.Widget.extend({
template: "Options",
start: function() {
var self = this;
this.$element.html(QWeb.render("Options", this));
this.$element.html(this.render(this));
this.$element.find("[data-role=header]").find('h1').html('Preference');
this.$element.find("[data-role=footer]").find('#shrotcuts').click(function(){
if(!$('#oe_shortcuts').html().length){

View File

@ -5,6 +5,9 @@
openerp.web_mobile.form_mobile = function (openerp) {
openerp.web_mobile.FormView = openerp.web.Widget.extend({
template: 'FormView',
init: function(session, element_id, list_id, action, head_title, resmodel, viewid) {
this._super(session, element_id);
this.list_id = list_id;
@ -44,7 +47,7 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
var notebooks = view_fields[j];
}
}
self.$element.html(QWeb.render("FormView", {'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : self.datarecord ,'temp_flag':'1'}));
self.$element.html(self.render({'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : self.datarecord ,'temp_flag':'1'}));
for(var i=0;i<get_fields.length;i++) {
if (get_fields[i].attrs.widget=="progressbar") {
$("#progress").progressbar({value:self.datarecord[get_fields[i].attrs.name]})
@ -100,9 +103,9 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
}
if(notebook){
$(this).find('div#page_content').html(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields, 'values' : self.datarecord,'til': notebook.attrs.string }));
$(this).find('div#page_content').html(self.render({'get_fields': get_fields,'fields' : result.fields, 'values' : self.datarecord,'til': notebook.attrs.string }));
}else{
$(this).find('div#page_content').html(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields, 'values' : self.datarecord}));
$(this).find('div#page_content').html(self.render({'get_fields': get_fields,'fields' : result.fields, 'values' : self.datarecord}));
}
$(this).find('div#page_content').find('#formbutton').click(function(){
var head = $(this).prev().find('select').find("option:selected").text();
@ -144,7 +147,7 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
if(!$('[id^="oe_list_'+relational+'_'+self.element_id+'"]').html()){
$('<div id="oe_list_'+relational+'_'+self.element_id+'" data-role="page" data-url="oe_list_'+relational+'_'+self.element_id+'"> </div>').appendTo('#moe');
$('[id^="oe_list_'+relational+'_'+self.element_id+'"]').html(QWeb.render("ListView", {'records' : res}));
$('[id^="oe_list_'+relational+'_'+self.element_id+'"]').html(openerp.web.qweb.render("ListView", {'records' : res}));
$('[id^="oe_list_'+relational+'_'+self.element_id+'"]').find("[data-role=header]").find('h1').html(head);
$('[id^="oe_list_'+relational+'_'+self.element_id+'"]').find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
@ -194,7 +197,7 @@ openerp.web_mobile.FormView = openerp.web.Widget.extend({
}
}
}
$('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').html(QWeb.render("FormView", {'get_fields': get_fields_test, 'notebooks': false, 'fields' : fields_test, 'values' : data_relational, 'temp_flag':'1' }));
$('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').html(self.render({'get_fields': get_fields_test, 'notebooks': false, 'fields' : fields_test, 'values' : data_relational, 'temp_flag':'1' }));
$('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find("[data-role=header]").find('h1').html(head_title);
$('[id^="oe_form_'+listid+result.fields[relational].relation+'"]').find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);

View File

@ -5,6 +5,9 @@
openerp.web_mobile.list_mobile = function (openerp) {
openerp.web_mobile.ListView = openerp.web.Widget.extend({
template: 'ListView',
init: function(session, element_id, list_id) {
this._super(session, element_id);
this.list_id = list_id;
@ -23,7 +26,7 @@ openerp.web_mobile.ListView = openerp.web.Widget.extend({
var self = this;
var dataset = new openerp.web.DataSetStatic(this, this.action.res_model, this.action.context);
dataset.name_search('', this.action.domain, 'ilike', false, function(result){
self.$element.html(QWeb.render("ListView", {'records' : result}));
self.$element.html(self.render({'records' : result}));
self.$element.find("[data-role=header]").find('h1').html(self.action.name);
self.$element.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);