summaryrefslogtreecommitdiff
path: root/addons/web_mobile/static/src/js
diff options
context:
space:
mode:
authorJiten (OpenERP) <jra@tinyerp.com>2011-08-31 11:48:16 +0530
committerJiten (OpenERP) <jra@tinyerp.com>2011-08-31 11:48:16 +0530
commitc3922bbe9d33933bcbd558617f4efe099fa9232c (patch)
tree56235a77fc3d4972665287b231e12677079ff77d /addons/web_mobile/static/src/js
parent458dacea36f1696f6a23cd713b96aa994cef9595 (diff)
[IMP] Improved the code to use css direct from lib on xml by data-role.
bzr revid: jra@tinyerp.com-20110831061816-xqgbt9uo601o5yx1
Diffstat (limited to 'addons/web_mobile/static/src/js')
-rw-r--r--addons/web_mobile/static/src/js/chrome_mobile.js53
-rw-r--r--addons/web_mobile/static/src/js/form_mobile.js3
-rw-r--r--addons/web_mobile/static/src/js/list_mobile.js45
3 files changed, 38 insertions, 63 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();
}
});