From c3922bbe9d33933bcbd558617f4efe099fa9232c Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Wed, 31 Aug 2011 11:48:16 +0530 Subject: [PATCH 01/96] [IMP] Improved the code to use css direct from lib on xml by data-role. bzr revid: jra@tinyerp.com-20110831061816-xqgbt9uo601o5yx1 --- .../web_mobile/static/src/js/chrome_mobile.js | 53 ++++--- .../web_mobile/static/src/js/form_mobile.js | 3 +- .../web_mobile/static/src/js/list_mobile.js | 45 +----- .../web_mobile/static/src/xml/web_mobile.xml | 142 ++++++++---------- 4 files changed, 104 insertions(+), 139 deletions(-) diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index 551856e01fb..5305b6bc67b 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -20,7 +20,7 @@ openerp.web_mobile.MobileWebClient = openerp.base.Widget.extend({ this.$element.html(QWeb.render("WebClient", {})); this.session = new openerp.base.Session("oe_errors"); this.crashmanager = new openerp.base.CrashManager(this); - this.login = new openerp.web_mobile.Login(this, "oe_app"); + this.login = new openerp.web_mobile.Login(this, "oe_login"); // this.session.on_session_invalid.add(this.login.do_ask_login); }, start: function() { @@ -74,7 +74,7 @@ openerp.web_mobile.Login = openerp.base.Widget.extend({ .removeClass("login_invalid") .addClass("login_valid"); //.hide(); - this.homepage = new openerp.web_mobile.HomePage(this, "oe_app"); + this.homepage = new openerp.web_mobile.HomePage(this, "oe_home"); this.homepage.start(); }, do_ask_login: function(continuation) { @@ -97,12 +97,14 @@ openerp.web_mobile.HomePage = openerp.base.Widget.extend({ this.shortcuts = new openerp.web_mobile.Shortcuts(this, "oe_shortcuts"); this.menu = new openerp.web_mobile.Menu(this, "oe_menu", "oe_secondary_menu"); this.options = new openerp.web_mobile.Options(this, "oe_options"); + this.footer = new openerp.web_mobile.Footer(this, "oe_footer"); this.header.start(); this.shortcuts.start(); this.menu.start(); this.options.start(); - jQuery("#oe_header").find("h1").html('Home'); + this.footer.start(); this.$element.find("a").click(this.on_clicked); + $.mobile.changePage($("#oe_home"), "slide", true, true); } }); @@ -113,15 +115,16 @@ openerp.web_mobile.Header = openerp.base.Widget.extend({ start: function() { var self = this; self.$element.html(QWeb.render("Header", this)); - self.$element.find("a").click(this.on_clicked); + } +}); + +openerp.web_mobile.Footer = openerp.base.Widget.extend({ + init: function(session, element_id) { + this._super(session, element_id); }, - on_clicked: function(ev) { - $opt = $(ev.currentTarget); - current_id = $opt.attr('id'); - if (current_id == 'home') { - this.homepage = new openerp.web_mobile.HomePage(this, "oe_app"); - this.homepage.start(); - } + start: function() { + var self = this; + self.$element.html(QWeb.render("Footer", this)); } }); @@ -140,9 +143,11 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({ $shortcut = $(ev.currentTarget); id = $shortcut.data('menu'); res_id = $shortcut.data('res'); - jQuery("#oe_header").find("h1").html($shortcut.data('name')); - this.listview = new openerp.web_mobile.ListView(this, "oe_app", res_id); + this.header = new openerp.web_mobile.Header(this, "oe_header"); + this.listview = new openerp.web_mobile.ListView(this, "oe_list", res_id); + this.header.start(); this.listview.start(); + jQuery("#oe_header").find("h1").html($shortcut.data('name')); } }); @@ -169,13 +174,15 @@ openerp.web_mobile.Menu = openerp.base.Widget.extend({ this.children = this.data.data.children[i]; } } - jQuery("#oe_header").find("h1").html($menu.data('name')); this.$element .removeClass("login_valid") .addClass("secondary_menu"); //.hide(); - this.secondary = new openerp.web_mobile.Secondary(this, "oe_app", this.children); + this.header = new openerp.web_mobile.Header(this, "oe_header"); + this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu", this.children); + this.header.start(); this.secondary.start(); + jQuery("#oe_header").find("h1").html($menu.data('name')); } }); @@ -188,6 +195,7 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({ var v = { menu : this.data }; this.$element.html(QWeb.render("Menu.secondary", v)); this.$element.add(this.$secondary_menu).find("a").click(this.on_menu_click); + $.mobile.changePage($("#oe_sec_menu"), "slide", true, true); }, on_menu_click: function(ev, id) { $menu = $(ev.currentTarget); @@ -197,22 +205,25 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({ this.children = this.data.children[i]; } } - jQuery("#oe_header").find("h1").html($menu.data('name')); var child_len = this.children.children.length; if (child_len > 0) { this.$element .removeClass("secondary_menu") .addClass("content_menu"); //.hide(); - this.secondary = new openerp.web_mobile.Secondary(this, "oe_app", this.children); + this.header = new openerp.web_mobile.Header(this, "oe_header"); + this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu_new", this.children); + this.header.start(); this.secondary.start(); + $.mobile.changePage($("#oe_sec_menu_new"), "slide", true, true); } else { if (id) { - this.listview = new openerp.web_mobile.ListView(this, "oe_app", id); + this.listview = new openerp.web_mobile.ListView(this, "oe_list", id); this.listview.start(); } } + jQuery("#oe_header").find("h1").html($menu.data('name')); } }); @@ -223,12 +234,6 @@ openerp.web_mobile.Options = openerp.base.Widget.extend({ start: function() { var self = this; this.$element.html(QWeb.render("Options", this)); - self.$element.find("#logout").click(self.on_logout); - }, - on_logout: function(ev) { - this.session.logout(); -// this.login = new openerp.web_mobile.Login(this, "oe_app"); -// this.login.start(); } }); diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js index 4a3e2167c02..40e897299c3 100644 --- a/addons/web_mobile/static/src/js/form_mobile.js +++ b/addons/web_mobile/static/src/js/form_mobile.js @@ -38,7 +38,6 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ var notebooks = view_fields[j]; } } - $("#oe_header").find("h1").html(result.fields_view.arch.attrs.string); self.$element.html(QWeb.render("FormView", {'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : data })); self.$element.find('select').change(function(ev){ selection.on_select_option(ev); @@ -101,6 +100,8 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ }); }); }); + $.mobile.changePage($("#oe_form"), "slide", true, true); + $("#oe_header").find("h1").html(result.fields_view.arch.attrs.string); }); }, get_fields: function(view_fields, fields) { diff --git a/addons/web_mobile/static/src/js/list_mobile.js b/addons/web_mobile/static/src/js/list_mobile.js index b4ba5e08cc3..081bcaa1328 100644 --- a/addons/web_mobile/static/src/js/list_mobile.js +++ b/addons/web_mobile/static/src/js/list_mobile.js @@ -17,56 +17,25 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({ var self = this; if (data.action.length) { this.action = data.action[0][2]; - this.on_search_data(''); + this.on_search_data(); } }, - on_search_data: function(request){ - if(request){ - if(request.term){ - var search_val = request.term; - }else{ - if(request.which==27 || request.which==13 || request.which==9){ - var search_val = ''; - }else if(request.which==38 || request.which==40 || request.which==39 || request.which==37){ - return; - }else if($("#searchid").val()==""){ - var search_val = ''; - }else{ - return; - } - } - } - else{ - var search_val = ''; - } + on_search_data: function(ev){ var self = this; - var dataset = new openerp.base.DataSetStatic(this, this.action.res_model, this.action.context); - dataset.domain=[['name','ilike',search_val]]; - dataset.name_search(search_val, dataset.domain, 'ilike',false ,function(result){ + dataset.name_search('', [], 'ilike',false ,function(result){ self.$element.html(QWeb.render("ListView", {'records' : result})); - self.$element.find("#searchid").focus(); - if(request.term){ - self.$element.find("#searchid").val(request.term); - } - self.$element.find("#searchid").autocomplete({ - source: function(req) { self.on_search_data(req); }, - focus: function(e, ui) { - e.preventDefault(); - }, - html: true, - minLength: 0, - delay: 0 - }); - self.$element.find("#searchid").keyup(self.on_search_data); self.$element.find("a#list-id").click(self.on_list_click); + $.mobile.changePage($("#oe_list"), "slide", true, true); }); }, on_list_click: function(ev) { $record = $(ev.currentTarget); var self = this; id = $record.data('id'); - this.formview = new openerp.web_mobile.FormView(this, "oe_app", id, this.action); + this.header = new openerp.web_mobile.Header(this, "oe_header"); + this.formview = new openerp.web_mobile.FormView(this, "oe_form", id, this.action); + this.header.start(); this.formview.start(); } }); diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml index a3af2e39b90..aca6ed04c9e 100644 --- a/addons/web_mobile/static/src/xml/web_mobile.xml +++ b/addons/web_mobile/static/src/xml/web_mobile.xml @@ -4,10 +4,12 @@ -
-
-
-
+
+
+
+
+
+
@@ -39,29 +41,32 @@ -
-
- -
+
+
+
+
+
+ - - From d7ed83bd7cdd63b671f9ec3fd50552e85ba906d4 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Wed, 31 Aug 2011 12:06:08 +0530 Subject: [PATCH 02/96] [IMP] Improved the code to fixed position of header and footer. bzr revid: jra@tinyerp.com-20110831063608-fvxutezjxt7sjcyf --- .../web_mobile/static/src/js/chrome_mobile.js | 20 ++++++++--------- .../web_mobile/static/src/xml/web_mobile.xml | 22 ++++++++++++++----- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index 5305b6bc67b..15680eebfab 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -93,16 +93,16 @@ openerp.web_mobile.HomePage = openerp.base.Widget.extend({ }, start: function() { this.$element.html(QWeb.render("HomePage", {})); - this.header = new openerp.web_mobile.Header(this, "oe_header"); +// this.header = new openerp.web_mobile.Header(this, "oe_header"); this.shortcuts = new openerp.web_mobile.Shortcuts(this, "oe_shortcuts"); this.menu = new openerp.web_mobile.Menu(this, "oe_menu", "oe_secondary_menu"); this.options = new openerp.web_mobile.Options(this, "oe_options"); - this.footer = new openerp.web_mobile.Footer(this, "oe_footer"); - this.header.start(); +// this.footer = new openerp.web_mobile.Footer(this, "oe_footer"); +// this.header.start(); this.shortcuts.start(); this.menu.start(); this.options.start(); - this.footer.start(); +// this.footer.start(); this.$element.find("a").click(this.on_clicked); $.mobile.changePage($("#oe_home"), "slide", true, true); } @@ -143,9 +143,9 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({ $shortcut = $(ev.currentTarget); id = $shortcut.data('menu'); res_id = $shortcut.data('res'); - this.header = new openerp.web_mobile.Header(this, "oe_header"); +// this.header = new openerp.web_mobile.Header(this, "oe_header"); this.listview = new openerp.web_mobile.ListView(this, "oe_list", res_id); - this.header.start(); +// this.header.start(); this.listview.start(); jQuery("#oe_header").find("h1").html($shortcut.data('name')); } @@ -178,9 +178,9 @@ openerp.web_mobile.Menu = openerp.base.Widget.extend({ .removeClass("login_valid") .addClass("secondary_menu"); //.hide(); - this.header = new openerp.web_mobile.Header(this, "oe_header"); +// this.header = new openerp.web_mobile.Header(this, "oe_header"); this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu", this.children); - this.header.start(); +// this.header.start(); this.secondary.start(); jQuery("#oe_header").find("h1").html($menu.data('name')); } @@ -211,9 +211,9 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({ .removeClass("secondary_menu") .addClass("content_menu"); //.hide(); - this.header = new openerp.web_mobile.Header(this, "oe_header"); +// this.header = new openerp.web_mobile.Header(this, "oe_header"); this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu_new", this.children); - this.header.start(); +// this.header.start(); this.secondary.start(); $.mobile.changePage($("#oe_sec_menu_new"), "slide", true, true); } diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml index aca6ed04c9e..59e54e66e37 100644 --- a/addons/web_mobile/static/src/xml/web_mobile.xml +++ b/addons/web_mobile/static/src/xml/web_mobile.xml @@ -41,24 +41,29 @@ -
+
+

OpenERP

+ +
- +
+

Footer

+
-
+

OpenERP

-
+

Footer

@@ -100,8 +105,7 @@ -
-
+

OpenERP

@@ -114,6 +118,9 @@
+
+

Footer

+
@@ -144,6 +151,9 @@
+
+

Footer

+
From 5f930a857e3db025e53a3b737a127d78d5c5be3a Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Wed, 31 Aug 2011 12:21:06 +0530 Subject: [PATCH 03/96] [FIX] Minor change to close header on formview bzr revid: jra@tinyerp.com-20110831065106-2c6t2daixcqmweni --- addons/web_mobile/static/src/js/list_mobile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_mobile/static/src/js/list_mobile.js b/addons/web_mobile/static/src/js/list_mobile.js index 081bcaa1328..bf93cdef08d 100644 --- a/addons/web_mobile/static/src/js/list_mobile.js +++ b/addons/web_mobile/static/src/js/list_mobile.js @@ -33,9 +33,9 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({ $record = $(ev.currentTarget); var self = this; id = $record.data('id'); - this.header = new openerp.web_mobile.Header(this, "oe_header"); +// this.header = new openerp.web_mobile.Header(this, "oe_header"); this.formview = new openerp.web_mobile.FormView(this, "oe_form", id, this.action); - this.header.start(); +// this.header.start(); this.formview.start(); } }); From 7d8809d3a8360dab1cc7ee83d9fd11fe4ec80fa8 Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 6 Sep 2011 17:01:11 +0530 Subject: [PATCH 04/96] [IMP] Implement footer functionality,on click of menu displayed all sub menus & Relational Fields. bzr revid: bth@tinyerp.com-20110906113111-47qh4pwms82ktfnl --- .../web_mobile/static/src/js/chrome_mobile.js | 92 +++++------- .../web_mobile/static/src/js/form_mobile.js | 53 +++++-- .../web_mobile/static/src/js/list_mobile.js | 11 ++ .../web_mobile/static/src/xml/web_mobile.xml | 140 +++++++++++------- 4 files changed, 177 insertions(+), 119 deletions(-) diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index 15680eebfab..b3246024afc 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -74,8 +74,9 @@ openerp.web_mobile.Login = openerp.base.Widget.extend({ .removeClass("login_invalid") .addClass("login_valid"); //.hide(); - this.homepage = new openerp.web_mobile.HomePage(this, "oe_home"); - this.homepage.start(); + + this.menu = new openerp.web_mobile.Menu(this, "oe_menu", "oe_secondary_menu"); + this.menu.start(); }, do_ask_login: function(continuation) { this.on_login_invalid(); @@ -87,27 +88,6 @@ openerp.web_mobile.Login = openerp.base.Widget.extend({ } }); -openerp.web_mobile.HomePage = openerp.base.Widget.extend({ - init: function(session, element_id) { - this._super(session, element_id); - }, - start: function() { - this.$element.html(QWeb.render("HomePage", {})); -// this.header = new openerp.web_mobile.Header(this, "oe_header"); - this.shortcuts = new openerp.web_mobile.Shortcuts(this, "oe_shortcuts"); - this.menu = new openerp.web_mobile.Menu(this, "oe_menu", "oe_secondary_menu"); - this.options = new openerp.web_mobile.Options(this, "oe_options"); -// this.footer = new openerp.web_mobile.Footer(this, "oe_footer"); -// this.header.start(); - this.shortcuts.start(); - this.menu.start(); - this.options.start(); -// this.footer.start(); - this.$element.find("a").click(this.on_clicked); - $.mobile.changePage($("#oe_home"), "slide", true, true); - } -}); - openerp.web_mobile.Header = openerp.base.Widget.extend({ init: function(session, element_id) { this._super(session, element_id); @@ -136,8 +116,13 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({ var self = this; this.rpc('/base/session/sc_list',{} ,function(res){ self.$element.html(QWeb.render("Shortcuts", {'sc' : res})) - self.$element.find("a").click(self.on_clicked); - }) + self.$element.find('#content').find("a").click(self.on_clicked); + self.$element.find("#footer").find('#preference').click(function(){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + }); + $.mobile.changePage($("#oe_shortcuts"), "slide", true, true); + }); }, on_clicked: function(ev) { $shortcut = $(ev.currentTarget); @@ -162,9 +147,20 @@ openerp.web_mobile.Menu = openerp.base.Widget.extend({ this.rpc("/base/menu/load", {}, this.on_loaded); }, on_loaded: function(data) { + var self = this; this.data = data; this.$element.html(QWeb.render("Menu", this.data)); - this.$element.add(this.$secondary_menu).find("a").click(this.on_menu_click); + + this.$element.find("#footer").find('#shrotcuts').click(function(){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + }); + this.$element.find("#footer").find('#preference').click(function(){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + }); + this.$element.add(this.$secondary_menu).find("#content").find('a').click(this.on_menu_click); + $.mobile.changePage($("#oe_menu"), "slide", true, true); }, on_menu_click: function(ev, id) { $menu = $(ev.currentTarget); @@ -182,46 +178,35 @@ openerp.web_mobile.Menu = openerp.base.Widget.extend({ this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu", this.children); // this.header.start(); this.secondary.start(); - jQuery("#oe_header").find("h1").html($menu.data('name')); } }); - openerp.web_mobile.Secondary = openerp.base.Widget.extend({ init: function(session, element_id, secondary_menu_id) { this._super(session, element_id); this.data = secondary_menu_id; }, start: function(ev, id) { + var self = this; var v = { menu : this.data }; this.$element.html(QWeb.render("Menu.secondary", v)); - this.$element.add(this.$secondary_menu).find("a").click(this.on_menu_click); + this.$element.find("#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("#footer").find('#shrotcuts').click(function(){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + }); + this.$element.find("#footer").find('#preference').click(function(){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + }); $.mobile.changePage($("#oe_sec_menu"), "slide", true, true); }, on_menu_click: function(ev, id) { $menu = $(ev.currentTarget); id = $menu.data('menu'); - for (var i = 0; i < this.data.children.length; i++) { - if (this.data.children[i].id == id) { - this.children = this.data.children[i]; - } - } - var child_len = this.children.children.length; - if (child_len > 0) { - this.$element - .removeClass("secondary_menu") - .addClass("content_menu"); - //.hide(); -// this.header = new openerp.web_mobile.Header(this, "oe_header"); - this.secondary = new openerp.web_mobile.Secondary(this, "oe_sec_menu_new", this.children); -// this.header.start(); - this.secondary.start(); - $.mobile.changePage($("#oe_sec_menu_new"), "slide", true, true); - } - else { - if (id) { - this.listview = new openerp.web_mobile.ListView(this, "oe_list", id); - this.listview.start(); - } + if (id) { + this.listview = new openerp.web_mobile.ListView(this, "oe_list", id); + this.listview.start(); } jQuery("#oe_header").find("h1").html($menu.data('name')); } @@ -234,6 +219,11 @@ openerp.web_mobile.Options = openerp.base.Widget.extend({ start: function() { var self = this; this.$element.html(QWeb.render("Options", this)); + this.$element.find("#footer").find('#shrotcuts').click(function(){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + }); + $.mobile.changePage($("#oe_options"), "slide", true, true); } }); diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js index 40e897299c3..7c66182263a 100644 --- a/addons/web_mobile/static/src/js/form_mobile.js +++ b/addons/web_mobile/static/src/js/form_mobile.js @@ -39,6 +39,8 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ } } self.$element.html(QWeb.render("FormView", {'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : data })); + + self.$element.find("#header").find('h1').html(self.action.name); self.$element.find('select').change(function(ev){ selection.on_select_option(ev); }); @@ -68,9 +70,12 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ if (!next.find('.detail').html().length) { for (var i = 0; i < get_fields.length; i++) { if (fields[get_fields[i].attrs.name].type == 'one2many'){ - var get_fields_test = self.get_fields(fields[get_fields[i].attrs.name].views.form.arch.children); - var fields_test = fields[get_fields[i].attrs.name]['views'].form.fields; - var notebook=fields[get_fields[i].attrs.name].views.form.arch; + if(fields[get_fields[i].attrs.name].views.form){ + var get_fields_test = self.get_fields(fields[get_fields[i].attrs.name].views.form.arch.children); + var fields_test = fields[get_fields[i].attrs.name]['views'].form.fields; + var notebook=fields[get_fields[i].attrs.name].views.form.arch; + } + var relational = get_fields[i].attrs.name; } } if(notebook){ @@ -79,18 +84,34 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ next.find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields_view.fields, 'values' : data })); } } - next.find('.detail').find('a').click(function(){ - if(next.find('.detail').find('a').next().find('.detail').html().length){ - if (next.find('.detail').find('a').next().hasClass(self.content_collapsed_class)) { - self.collapsed(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon')); - } - else if (next.find('.detail').find('a').next().hasClass(self.content_expanded_class)) { - self.expanded(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon')); - } - } - if(!next.find('.detail').find('a').next().find('.detail').html().length){ - next.find('.detail').find('a').next().find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields_test,'fields' : fields_test, 'values' : data })); - self.collapsed(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon')); + + //$.mobile.changePage($("#oe_form"), "slide", true, true); + next.find('.detail').find('li').click(function(){ + if(data[relational]){ + var dataset = new openerp.base.DataSetStatic(self, result.fields_view.fields[relational].relation, result.fields_view.fields[relational].context); + dataset.domain=[['id', 'in', data[relational]]]; + dataset.name_search('', dataset.domain, 'in',false ,function(res){ + for(var i=0;i
+
+
+
@@ -41,17 +44,16 @@ -
+
-
-
-
+
-
-

Footer

+ @@ -69,61 +71,86 @@ -
+
+
-
-

OpenERP

+ +
+ +
    + +
  • + +
  • + +
  • + + + +
  • +
    +
    +
+
+ + + +
- -
-
-

Footer

-
-
- - +
+
-
-

OpenERP

- +
    @@ -151,13 +181,19 @@
-
-

Footer

+ -
+ +
From de35e4c811388d8d15b87b1a1d7522b4a3198571 Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Tue, 6 Sep 2011 17:46:29 +0530 Subject: [PATCH 05/96] [FIX] Hide Relational Fields. bzr revid: bth@tinyerp.com-20110906121629-4ca0s7nes8r9cbjx --- .../web_mobile/static/src/js/form_mobile.js | 4 +-- .../web_mobile/static/src/xml/web_mobile.xml | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js index 7c66182263a..02ae5b12722 100644 --- a/addons/web_mobile/static/src/js/form_mobile.js +++ b/addons/web_mobile/static/src/js/form_mobile.js @@ -86,7 +86,7 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ } //$.mobile.changePage($("#oe_form"), "slide", true, true); - next.find('.detail').find('li').click(function(){ + /*next.find('.detail').find('li').click(function(){ if(data[relational]){ var dataset = new openerp.base.DataSetStatic(self, result.fields_view.fields[relational].relation, result.fields_view.fields[relational].context); dataset.domain=[['id', 'in', data[relational]]]; @@ -113,7 +113,7 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({ }); }); } - }); + });*/ } } self.$element.find('select').change(function(ev){ diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml index aa2b7dfd737..5f5fe6daf6b 100644 --- a/addons/web_mobile/static/src/xml/web_mobile.xml +++ b/addons/web_mobile/static/src/xml/web_mobile.xml @@ -333,6 +333,30 @@ + + + +
+
From 280f720f32280bc6158ad131164d1d8fcc96d4f0 Mon Sep 17 00:00:00 2001 From: "Bhumi Thakkar (Open ERP)" Date: Wed, 7 Sep 2011 14:54:02 +0530 Subject: [PATCH 06/96] [IMP] On Page call back theme not changed. bzr revid: bth@tinyerp.com-20110907092402-vl0gzhu7fcekvizb --- .../web_mobile/static/src/js/chrome_mobile.js | 55 +++++++++++++++---- 1 file changed, 43 insertions(+), 12 deletions(-) diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index b3246024afc..4160ad57f1c 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -53,6 +53,7 @@ openerp.web_mobile.Login = openerp.base.Widget.extend({ var db = $e.find("div select[name=database]").val(); var login = $e.find("div input[name=login]").val(); var password = $e.find("div input[name=password]").val(); + //$e.hide(); // Should hide then call callback this.session.session_login(db, login, password, function() { @@ -118,8 +119,13 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({ self.$element.html(QWeb.render("Shortcuts", {'sc' : res})) self.$element.find('#content').find("a").click(self.on_clicked); self.$element.find("#footer").find('#preference').click(function(){ - this.options = new openerp.web_mobile.Options(self, "oe_options"); - this.options.start(); + if(!$('#oe_options').html().length){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + } + else{ + self.$element.find("#footer").find('#preference').attr('href','#oe_options'); + } }); $.mobile.changePage($("#oe_shortcuts"), "slide", true, true); }); @@ -152,12 +158,22 @@ openerp.web_mobile.Menu = openerp.base.Widget.extend({ this.$element.html(QWeb.render("Menu", this.data)); this.$element.find("#footer").find('#shrotcuts').click(function(){ - this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); - this.shortcuts.start(); + if(!$('#oe_shortcuts').html().length){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + } + else{ + self.$element.find("#footer").find('#shrotcuts').attr('href','#oe_shortcuts'); + } }); this.$element.find("#footer").find('#preference').click(function(){ - this.options = new openerp.web_mobile.Options(self, "oe_options"); - this.options.start(); + if(!$('#oe_options').html().length){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + } + else{ + self.$element.find("#footer").find('#preference').attr('href','#oe_options'); + } }); this.$element.add(this.$secondary_menu).find("#content").find('a').click(this.on_menu_click); $.mobile.changePage($("#oe_menu"), "slide", true, true); @@ -192,12 +208,22 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({ this.$element.find("#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("#footer").find('#shrotcuts').click(function(){ - this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); - this.shortcuts.start(); + if(!$('#oe_shortcuts').html().length){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + } + else{ + self.$element.find("#footer").find('#shrotcuts').attr('href','#oe_shortcuts'); + } }); this.$element.find("#footer").find('#preference').click(function(){ - this.options = new openerp.web_mobile.Options(self, "oe_options"); - this.options.start(); + if(!$('#oe_options').html().length){ + this.options = new openerp.web_mobile.Options(self, "oe_options"); + this.options.start(); + } + else{ + self.$element.find("#footer").find('#preference').attr('href','#oe_options'); + } }); $.mobile.changePage($("#oe_sec_menu"), "slide", true, true); }, @@ -220,8 +246,13 @@ openerp.web_mobile.Options = openerp.base.Widget.extend({ var self = this; this.$element.html(QWeb.render("Options", this)); this.$element.find("#footer").find('#shrotcuts').click(function(){ - this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); - this.shortcuts.start(); + if(!$('#oe_shortcuts').html().length){ + this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); + this.shortcuts.start(); + } + else{ + self.$element.find("#footer").find('#shrotcuts').attr('href','#oe_shortcuts'); + } }); $.mobile.changePage($("#oe_options"), "slide", true, true); } From d874c29edda752b0a207c84ccea3b564820e8b44 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Wed, 7 Sep 2011 16:42:25 +0530 Subject: [PATCH 07/96] [IMP] Improved style on xml for pages. bzr revid: jra@tinyerp.com-20110907111225-cnu0kynz3ygfki4r --- .../web_mobile/static/src/js/chrome_mobile.js | 27 ++++ .../web_mobile/static/src/js/list_mobile.js | 11 +- .../web_mobile/static/src/xml/web_mobile.xml | 147 +++++++----------- 3 files changed, 96 insertions(+), 89 deletions(-) diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js index 4160ad57f1c..be15d107668 100644 --- a/addons/web_mobile/static/src/js/chrome_mobile.js +++ b/addons/web_mobile/static/src/js/chrome_mobile.js @@ -118,6 +118,15 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({ this.rpc('/base/session/sc_list',{} ,function(res){ self.$element.html(QWeb.render("Shortcuts", {'sc' : res})) self.$element.find('#content').find("a").click(self.on_clicked); + self.$element.find("#header").find('#application').click(function(){ + if(!$('#oe_menu').html().length){ + this.menu = new openerp.web_mobile.Menu(self, "oe_menu"); + this.menu.start(); + } + else{ + self.$element.find("#header").find('#application').attr('href','#oe_menu'); + } + }); self.$element.find("#footer").find('#preference').click(function(){ if(!$('#oe_options').html().length){ this.options = new openerp.web_mobile.Options(self, "oe_options"); @@ -207,6 +216,15 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({ this.$element.html(QWeb.render("Menu.secondary", v)); this.$element.find("#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("#header").find('#application').click(function(){ + if(!$('#oe_menu').html().length){ + this.menu = new openerp.web_mobile.Menu(self, "oe_menu"); + this.menu.start(); + } + else{ + self.$element.find("#header").find('#application').attr('href','#oe_menu'); + } + }); this.$element.find("#footer").find('#shrotcuts').click(function(){ if(!$('#oe_shortcuts').html().length){ this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); @@ -245,6 +263,15 @@ openerp.web_mobile.Options = openerp.base.Widget.extend({ start: function() { var self = this; this.$element.html(QWeb.render("Options", this)); + this.$element.find("#header").find('#application').click(function(){ + if(!$('#oe_menu').html().length){ + this.menu = new openerp.web_mobile.Menu(self, "oe_menu"); + this.menu.start(); + } + else{ + self.$element.find("#header").find('#application').attr('href','#oe_menu'); + } + }); this.$element.find("#footer").find('#shrotcuts').click(function(){ if(!$('#oe_shortcuts').html().length){ this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); diff --git a/addons/web_mobile/static/src/js/list_mobile.js b/addons/web_mobile/static/src/js/list_mobile.js index 9bb630d6a79..65e96be77a8 100644 --- a/addons/web_mobile/static/src/js/list_mobile.js +++ b/addons/web_mobile/static/src/js/list_mobile.js @@ -22,12 +22,20 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({ }, on_search_data: function(ev){ var self = this; - var dataset = new openerp.base.DataSetStatic(this, this.action.res_model, this.action.context); dataset.name_search('', [], 'ilike',false ,function(result){ self.$element.html(QWeb.render("ListView", {'records' : result})); self.$element.find("#header").find('h1').html(self.action.name); self.$element.find("a#list-id").click(self.on_list_click); + self.$element.find("#header").find('#application').click(function(){ + if(!$('#oe_menu').html().length){ + this.menu = new openerp.web_mobile.Menu(self, "oe_menu"); + this.menu.start(); + } + else{ + self.$element.find("#header").find('#application').attr('href','#oe_menu'); + } + }); self.$element.find("#footer").find('#shrotcuts').click(function(){ this.shortcuts = new openerp.web_mobile.Shortcuts(self, "oe_shortcuts"); this.shortcuts.start(); @@ -36,7 +44,6 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({ this.options = new openerp.web_mobile.Options(self, "oe_options"); this.options.start(); }); - $.mobile.changePage($("#oe_list"), "slide", true, true); }); }, diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml index 5f5fe6daf6b..a9b606f1f84 100644 --- a/addons/web_mobile/static/src/xml/web_mobile.xml +++ b/addons/web_mobile/static/src/xml/web_mobile.xml @@ -5,7 +5,6 @@
-
@@ -43,134 +42,105 @@
- - -
- -
- - -

OpenERP

- +
-

Footer

+

-
-

OpenERP

- +
-
    -
  • - Shortcuts -
  • -
  • - - - -
  • -
+
-

OpenERP

- +

Applications

- +
-