[IMP] made a whole-application replace of $element by $el

bzr revid: nicolas.vanhoren@openerp.com-20120824182707-vt91ef40ieeudwyw
This commit is contained in:
niv-openerp 2012-08-24 20:27:07 +02:00
parent 9818cf073f
commit 5e338c591a
23 changed files with 663 additions and 663 deletions

View File

@ -13,7 +13,7 @@ instance.web.Notification = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.notify({
this.$el.notify({
speed: 500,
expires: 2500
});
@ -24,7 +24,7 @@ instance.web.Notification = instance.web.Widget.extend({
if (sticky) {
opts.expires = false;
}
this.$element.notify('create', {
this.$el.notify('create', {
title: title,
text: text
}, opts);
@ -35,7 +35,7 @@ instance.web.Notification = instance.web.Widget.extend({
if (sticky) {
opts.expires = false;
}
this.$element.notify('create', 'oe_notification_alert', {
this.$el.notify('create', 'oe_notification_alert', {
title: title,
text: text
}, opts);
@ -123,22 +123,22 @@ instance.web.Dialog = instance.web.Widget.extend({
if (! this.dialog_inited)
this.init_dialog();
var o = this.get_options(options);
instance.web.dialog(this.$element, o).dialog('open');
instance.web.dialog(this.$el, o).dialog('open');
if (o.height === 'auto' && o.max_height) {
this.$element.css({ 'max-height': o.max_height, 'overflow-y': 'auto' });
this.$el.css({ 'max-height': o.max_height, 'overflow-y': 'auto' });
}
return this;
},
init_dialog: function(options) {
this.renderElement();
var o = this.get_options(options);
instance.web.dialog(this.$element, o);
instance.web.dialog(this.$el, o);
var res = this.start();
this.dialog_inited = true;
return res;
},
close: function() {
this.$element.dialog('close');
this.$el.dialog('close');
},
on_close: function() {
if (this.__tmp_dialog_destroying)
@ -161,7 +161,7 @@ instance.web.Dialog = instance.web.Widget.extend({
this.__tmp_dialog_destroying = undefined;
}
if (! this.isDestroyed()) {
this.$element.dialog('destroy');
this.$el.dialog('destroy');
}
this._super();
}
@ -224,7 +224,7 @@ instance.web.CrashManager = instance.web.CallbackEnabled.extend({
min_height: '600px',
buttons: buttons
}).open();
dialog.$element.html(QWeb.render('CrashManager.error', {session: instance.session, error: error}));
dialog.$el.html(QWeb.render('CrashManager.error', {session: instance.session, error: error}));
},
on_javascript_exception: function(exception) {
this.on_traceback({
@ -270,12 +270,12 @@ instance.web.Loading = instance.web.Widget.extend({
this.count += increment;
if (this.count > 0) {
if (instance.session.debug) {
this.$element.text(_.str.sprintf( _t("Loading (%d)"), this.count));
this.$el.text(_.str.sprintf( _t("Loading (%d)"), this.count));
} else {
this.$element.text(_t("Loading"));
this.$el.text(_t("Loading"));
}
this.$element.show();
this.getParent().$element.addClass('oe_wait');
this.$el.show();
this.getParent().$el.addClass('oe_wait');
} else {
this.count = 0;
clearTimeout(this.long_running_timer);
@ -284,8 +284,8 @@ instance.web.Loading = instance.web.Widget.extend({
this.blocked_ui = false;
instance.web.unblockUI();
}
this.$element.fadeOut();
this.getParent().$element.removeClass('oe_wait');
this.$el.fadeOut();
this.getParent().$el.removeClass('oe_wait');
}
}
});
@ -317,7 +317,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
do_render: function() {
var self = this;
instance.webclient.toggle_bars(true);
self.$element.html(QWeb.render("DatabaseManager", { widget : self }));
self.$el.html(QWeb.render("DatabaseManager", { widget : self }));
$('.oe_user_menu_placeholder').append(QWeb.render("DatabaseManager.user_menu",{ widget : self }));
$('.oe_secondary_menus_container').append(QWeb.render("DatabaseManager.menu",{ widget : self }));
$('ul.oe_secondary_submenu > li:first').addClass('oe_active')
@ -329,14 +329,14 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
event.preventDefault();
});
$('#back-to-login').click(self.do_exit);
self.$element.find("td").addClass("oe_form_group_cell");
self.$element.find("tr td:first-child").addClass("oe_form_group_cell_label");
self.$element.find("label").addClass("oe_form_label");
self.$element.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
self.$element.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
self.$element.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
self.$element.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
self.$element.find("form[name=change_pwd_form]").validate({
self.$el.find("td").addClass("oe_form_group_cell");
self.$el.find("tr td:first-child").addClass("oe_form_group_cell_label");
self.$el.find("label").addClass("oe_form_label");
self.$el.find("form[name=create_db_form]").validate({ submitHandler: self.do_create });
self.$el.find("form[name=drop_db_form]").validate({ submitHandler: self.do_drop });
self.$el.find("form[name=backup_db_form]").validate({ submitHandler: self.do_backup });
self.$el.find("form[name=restore_db_form]").validate({ submitHandler: self.do_restore });
self.$el.find("form[name=change_pwd_form]").validate({
messages: {
old_pwd: "Please enter your previous password",
new_pwd: "Please enter your new password",
@ -349,7 +349,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
});
},
destroy: function () {
this.$element.find('#db-create, #db-drop, #db-backup, #db-restore, #db-change-password, #back-to-login').unbind('click').end().empty();
this.$el.find('#db-create, #db-drop, #db-backup, #db-restore, #db-change-password, #back-to-login').unbind('click').end().empty();
this._super();
},
/**
@ -500,7 +500,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({
});
},
do_exit: function () {
this.$element.remove();
this.$el.remove();
instance.webclient.toggle_bars(false);
this.do_action('login');
}
@ -533,8 +533,8 @@ instance.web.Login = instance.web.Widget.extend({
},
start: function() {
var self = this;
self.$element.find("form").submit(self.on_submit);
self.$element.find('.oe_login_manage_db').click(function() {
self.$el.find("form").submit(self.on_submit);
self.$el.find('.oe_login_manage_db').click(function() {
self.do_action("database_manager");
});
var d;
@ -584,7 +584,7 @@ instance.web.Login = instance.web.Widget.extend({
*/
do_login: function (db, login, password) {
var self = this;
this.$element.removeClass('oe_login_invalid');
this.$el.removeClass('oe_login_invalid');
self.$(".oe_login_pane").fadeOut("slow");
return this.session.session_authenticate(db, login, password).pipe(function() {
if (self.has_local_storage) {
@ -603,7 +603,7 @@ instance.web.Login = instance.web.Widget.extend({
self.trigger('login_successful');
},function () {
self.$(".oe_login_pane").fadeIn("fast", function() {
self.$element.addClass("oe_login_invalid");
self.$el.addClass("oe_login_invalid");
});
});
},
@ -663,7 +663,7 @@ instance.web.ChangePassword = instance.web.Widget.extend({
template: "ChangePassword",
start: function() {
var self = this;
self.$element.validate({
self.$el.validate({
submitHandler: function (form) {
self.rpc("/web/session/change_password",{
'fields': $(form).serializeArray()
@ -700,7 +700,7 @@ instance.web.Menu = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$secondary_menus = this.getParent().$element.find('.oe_secondary_menus_container');
this.$secondary_menus = this.getParent().$el.find('.oe_secondary_menus_container');
this.$secondary_menus.on('click', 'a[data-menu]', this.on_menu_click);
return this.do_reload();
},
@ -718,7 +718,7 @@ instance.web.Menu = instance.web.Widget.extend({
$toplevel.hide();
}
this.$secondary_menus.html(QWeb.render("Menu.secondary", { widget : this }));
this.$element.on('click', 'a[data-menu]', this.on_menu_click);
this.$el.on('click', 'a[data-menu]', this.on_menu_click);
// Hide second level submenus
this.$secondary_menus.find('.oe_menu_toggler').siblings('.oe_secondary_submenu').hide();
if (self.current_menu) {
@ -733,7 +733,7 @@ instance.web.Menu = instance.web.Widget.extend({
}
if (maximum_visible_links < this.data.data.children.length) {
var $more = $(QWeb.render('Menu.more')),
$index = this.$element.find('li').eq(maximum_visible_links - 1);
$index = this.$el.find('li').eq(maximum_visible_links - 1);
$index.after($more);
//$('.oe_topbar').append($more);
$more.find('.oe_menu_more').append($index.next().nextAll());
@ -752,19 +752,19 @@ instance.web.Menu = instance.web.Widget.extend({
*/
open_menu: function (id) {
var $clicked_menu, $sub_menu, $main_menu;
$clicked_menu = this.$element.add(this.$secondary_menus).find('a[data-menu=' + id + ']');
$clicked_menu = this.$el.add(this.$secondary_menus).find('a[data-menu=' + id + ']');
this.trigger('open_menu', id, $clicked_menu);
if (this.$secondary_menus.has($clicked_menu).length) {
$sub_menu = $clicked_menu.parents('.oe_secondary_menu');
$main_menu = this.$element.find('a[data-menu=' + $sub_menu.data('menu-parent') + ']');
$main_menu = this.$el.find('a[data-menu=' + $sub_menu.data('menu-parent') + ']');
} else {
$sub_menu = this.$secondary_menus.find('.oe_secondary_menu[data-menu-parent=' + $clicked_menu.attr('data-menu') + ']');
$main_menu = $clicked_menu;
}
// Activate current main menu
this.$element.find('.oe_active').removeClass('oe_active');
this.$el.find('.oe_active').removeClass('oe_active');
$main_menu.addClass('oe_active');
// Show current sub menu
@ -791,7 +791,7 @@ instance.web.Menu = instance.web.Widget.extend({
* @param {Number} id the action_id to match
*/
open_action: function (id) {
var $menu = this.$element.add(this.$secondary_menus).find('a[data-action-id="' + id + '"]');
var $menu = this.$el.add(this.$secondary_menus).find('a[data-action-id="' + id + '"]');
var menu_id = $menu.data('menu');
if (menu_id) {
this.open_menu(menu_id);
@ -807,14 +807,14 @@ instance.web.Menu = instance.web.Widget.extend({
if (!id) { return; }
// find back the menuitem in dom to get the action
var $item = this.$element.find('a[data-menu=' + id + ']');
var $item = this.$el.find('a[data-menu=' + id + ']');
if (!$item.length) {
$item = this.$secondary_menus.find('a[data-menu=' + id + ']');
}
var action_id = $item.data('action-id');
// If first level menu doesnt have action trigger first leaf
if (!action_id) {
if(this.$element.has($item).length) {
if(this.$el.has($item).length) {
var $sub_menu = this.$secondary_menus.find('.oe_secondary_menu[data-menu-parent=' + id + ']');
var $items = $sub_menu.find('a[data-action-id]').filter('[data-action-id!=""]');
if($items.length) {
@ -855,7 +855,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
start: function() {
var self = this;
this._super.apply(this, arguments);
this.$element.on('click', '.oe_dropdown_menu li a[data-menu]', function(ev) {
this.$el.on('click', '.oe_dropdown_menu li a[data-menu]', function(ev) {
ev.preventDefault();
var f = self['on_menu_' + $(this).data('menu')];
if (f) {
@ -866,7 +866,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
do_update: function () {
var self = this;
var fct = function() {
var $avatar = self.$element.find('.oe_topbar_avatar');
var $avatar = self.$el.find('.oe_topbar_avatar');
$avatar.attr('src', $avatar.data('default-src'));
if (!self.session.uid)
return;
@ -877,7 +877,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db);
if(res.company_id[0] > 1)
topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]);
self.$element.find('.oe_topbar_name').text(topbar_name);
self.$el.find('.oe_topbar_name').text(topbar_name);
var avatar_src = _.str.sprintf('%s/web/binary/image?session_id=%s&model=res.users&field=image_small&id=%s', self.session.prefix, self.session.session_id, self.session.uid);
$avatar.attr('src', avatar_src);
});
@ -927,10 +927,10 @@ instance.web.Client = instance.web.Widget.extend({
},
bind_events: function() {
var self = this;
this.$element.on('mouseenter', '.oe_systray > div:not([data-tipsy=true])', function() {
this.$el.on('mouseenter', '.oe_systray > div:not([data-tipsy=true])', function() {
$(this).attr('data-tipsy', 'true').tipsy().trigger('mouseenter');
});
this.$element.on('click', '.oe_dropdown_toggle', function(ev) {
this.$el.on('click', '.oe_dropdown_toggle', function(ev) {
ev.preventDefault();
var $toggle = $(this);
var $menu = $toggle.siblings('.oe_dropdown_menu');
@ -954,7 +954,7 @@ instance.web.Client = instance.web.Widget.extend({
instance.web.bus.on('click', this, function(ev) {
$.fn.tipsy.clear();
if (!$(ev.target).is('input[type=file]')) {
self.$element.find('.oe_dropdown_menu.oe_opened, .oe_dropdown_toggle.oe_opened').removeClass('oe_opened');
self.$el.find('.oe_dropdown_menu.oe_opened, .oe_dropdown_toggle.oe_opened').removeClass('oe_opened');
}
});
},
@ -963,9 +963,9 @@ instance.web.Client = instance.web.Widget.extend({
this.crashmanager = new instance.web.CrashManager();
instance.session.on_rpc_error.add(this.crashmanager.on_rpc_error);
self.notification = new instance.web.Notification(this);
self.notification.appendTo(self.$element);
self.notification.appendTo(self.$el);
self.loading = new instance.web.Loading(self);
self.loading.appendTo(self.$element);
self.loading.appendTo(self.$el);
self.action_manager = new instance.web.ActionManager(self);
self.action_manager.appendTo(self.$('.oe_application'));
},
@ -1035,17 +1035,17 @@ instance.web.WebClient = instance.web.Client.extend({
var self = this;
self.toggle_bars(true);
self.menu = new instance.web.Menu(self);
self.menu.replace(this.$element.find('.oe_menu_placeholder'));
self.menu.replace(this.$el.find('.oe_menu_placeholder'));
self.menu.on('menu_click', this, this.on_menu_action);
self.user_menu = new instance.web.UserMenu(self);
self.user_menu.replace(this.$element.find('.oe_user_menu_placeholder'));
self.user_menu.replace(this.$el.find('.oe_user_menu_placeholder'));
self.user_menu.on_menu_logout.add(this.proxy('on_logout'));
self.user_menu.on_action.add(this.proxy('on_menu_action'));
self.user_menu.do_update();
self.bind_hashchange();
if (!self.session.openerp_entreprise) {
var version_label = _t("OpenERP - Unsupported/Community Version");
self.$element.find('.oe_footer_powered').append(_.str.sprintf('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">%s</a></span>', version_label));
self.$el.find('.oe_footer_powered').append(_.str.sprintf('<span> - <a href="http://www.openerp.com/support-or-publisher-warranty-contract" target="_blank">%s</a></span>', version_label));
}
self.set_title();
},
@ -1053,7 +1053,7 @@ instance.web.WebClient = instance.web.Client.extend({
_.each(_.clone(this.getChildren()), function(el) {
el.destroy();
});
this.$element.children().remove();
this.$el.children().remove();
},
do_reload: function() {
var self = this;
@ -1085,7 +1085,7 @@ instance.web.WebClient = instance.web.Client.extend({
var state = $.bbq.getState(true);
if (_.isEmpty(state) || state.action == "login") {
self.menu.has_been_loaded.then(function() {
var first_menu_id = self.menu.$element.find("a:first").data("menu");
var first_menu_id = self.menu.$el.find("a:first").data("menu");
if(first_menu_id) {
self.menu.menu_click(first_menu_id);
}
@ -1140,10 +1140,10 @@ instance.web.WebClient = instance.web.Client.extend({
},
set_content_full_screen: function(fullscreen) {
if (fullscreen) {
$(".oe_webclient", this.$element).addClass("oe_content_full_screen");
$(".oe_webclient", this.$el).addClass("oe_content_full_screen");
$("body").css({'overflow-y':'hidden'});
} else {
$(".oe_webclient", this.$element).removeClass("oe_content_full_screen");
$(".oe_webclient", this.$el).removeClass("oe_content_full_screen");
$("body").css({'overflow-y':'scroll'});
}
}

View File

@ -525,8 +525,8 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
_.each(this.getChildren(), function(el) {
el.destroy();
});
if(this.$element) {
this.$element.remove();
if(this.$el) {
this.$el.remove();
}
instance.web.PropertiesMixin.destroy.call(this);
},
@ -538,7 +538,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
appendTo: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.appendTo(t);
self.$el.appendTo(t);
}, target);
},
/**
@ -549,7 +549,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
prependTo: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.prependTo(t);
self.$el.prependTo(t);
}, target);
},
/**
@ -560,7 +560,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
insertAfter: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.insertAfter(t);
self.$el.insertAfter(t);
}, target);
},
/**
@ -571,7 +571,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
insertBefore: function(target) {
var self = this;
return this.__widgetRenderAndInsert(function(t) {
self.$element.insertBefore(t);
self.$el.insertBefore(t);
}, target);
},
/**
@ -581,7 +581,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, {
*/
replace: function(target) {
return this.__widgetRenderAndInsert(_.bind(function(t) {
this.$element.replaceAll(t);
this.$el.replaceAll(t);
}, this), target);
},
__widgetRenderAndInsert: function(insertion, target) {
@ -640,8 +640,8 @@ instance.web.CallbackEnabled = instance.web.Class.extend(instance.web.CallbackEn
* // stuff that you want to init before the rendering
* },
* start: function() {
* // stuff you want to make after the rendering, `this.$element` holds a correct value
* this.$element.find(".my_button").click(/* an example of event binding * /);
* // stuff you want to make after the rendering, `this.$el` holds a correct value
* this.$el.find(".my_button").click(/* an example of event binding * /);
*
* // if you have some asynchronous operations, it's a good idea to return
* // a promise in start()
@ -718,15 +718,15 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* @returns {*} this
*/
replaceElement: function ($el) {
var $oldel = this.$element;
var $oldel = this.$el;
this.setElement($el);
if ($oldel && !$oldel.is(this.$element)) {
$oldel.replaceWith(this.$element);
if ($oldel && !$oldel.is(this.$el)) {
$oldel.replaceWith(this.$el);
}
return this;
},
/**
* Re-sets the widget's root element (el/$el/$element).
* Re-sets the widget's root element (el/$el/$el).
*
* Includes:
* * re-delegating events
@ -738,14 +738,14 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
* @return {*} this
*/
setElement: function (element) {
// NB: completely useless, as WidgetMixin#init creates a $element
// NB: completely useless, as WidgetMixin#init creates a $el
// always
if (this.$element) {
if (this.$el) {
this.undelegateEvents();
}
this.$element = (element instanceof $) ? element : $(element);
this.el = this.$element[0];
this.$el = (element instanceof $) ? element : $(element);
this.el = this.$el[0];
this.delegateEvents();
@ -797,23 +797,23 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, {
event += '.widget_events';
if (!selector) {
this.$element.on(event, method);
this.$el.on(event, method);
} else {
this.$element.on(event, selector, method);
this.$el.on(event, selector, method);
}
}
},
undelegateEvents: function () {
this.$element.off('.widget_events');
this.$el.off('.widget_events');
},
/**
* Shortcut for ``this.$element.find(selector)``
* Shortcut for ``this.$el.find(selector)``
*
* @param {String} selector CSS selector, rooted in $el
* @returns {jQuery} selector match
*/
$: function(selector) {
return this.$element.find(selector);
return this.$el.find(selector);
},
/**
* Informs the action manager to do an action. This supposes that

View File

@ -642,7 +642,7 @@ instance.web.Throbber = instance.web.Widget.extend({
top: 'auto', // Top position relative to parent in px
left: 'auto' // Left position relative to parent in px
};
this.spin = new Spinner(opts).spin(this.$element[0]);
this.spin = new Spinner(opts).spin(this.$el[0]);
this.start_time = new Date().getTime();
this.act_message();
},

View File

@ -21,31 +21,31 @@ instance.web.DataExport = instance.web.Dialog.extend({
],
close: function(event, ui){ self.close();}
});
self.$element.removeClass('ui-dialog-content ui-widget-content');
self.$element.find('#add_field').click(function() {
self.$el.removeClass('ui-dialog-content ui-widget-content');
self.$el.find('#add_field').click(function() {
if ($('#field-tree-structure tr.ui-selected')) {
var fld = self.$element.find('#field-tree-structure tr.ui-selected').find('a');
var fld = self.$el.find('#field-tree-structure tr.ui-selected').find('a');
for (var i = 0; i < fld.length; i++) {
var id = $(fld[i]).attr('id').split('-')[1];
var string = $(fld[i]).attr('string');
self.add_field(id, string);
}
self.$element.find('#field-tree-structure tr').removeClass('ui-selected');
self.$el.find('#field-tree-structure tr').removeClass('ui-selected');
}
});
self.$element.find('#remove_field').click(function() {
self.$element.find('#fields_list option:selected').remove();
self.$el.find('#remove_field').click(function() {
self.$el.find('#fields_list option:selected').remove();
});
self.$element.find('#remove_all_field').click(function() {
self.$element.find('#fields_list').empty();
self.$el.find('#remove_all_field').click(function() {
self.$el.find('#fields_list').empty();
});
this.$element.find('#export_new_list').click(this.on_show_save_list);
this.$el.find('#export_new_list').click(this.on_show_save_list);
var got_fields = new $.Deferred();
this.$element.find('#import_compat').change(function() {
self.$element.find('#fields_list').empty();
self.$element.find('#field-tree-structure').remove();
var import_comp = self.$element.find("#import_compat").val();
this.$el.find('#import_compat').change(function() {
self.$el.find('#fields_list').empty();
self.$el.find('#field-tree-structure').remove();
var import_comp = self.$el.find("#import_compat").val();
self.rpc("/web/export/get_fields", {
model: self.dataset.model,
import_compat: Boolean(import_comp)
@ -61,7 +61,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
this.show_exports_list());
},
do_setup_export_formats: function (formats) {
var $fmts = this.$element.find('#export_format');
var $fmts = this.$el.find('#export_format');
_(formats).each(function (format) {
var opt = new Option(format.label, format.tag);
if (format.error) {
@ -76,8 +76,8 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
show_exports_list: function() {
var self = this;
if (self.$element.find('#saved_export_list').is(':hidden')) {
self.$element.find('#ExistsExportList').show();
if (self.$el.find('#saved_export_list').is(':hidden')) {
self.$el.find('#ExistsExportList').show();
return;
}
return this.exports.read_slice(['name'], {
@ -86,35 +86,35 @@ instance.web.DataExport = instance.web.Dialog.extend({
if (!export_list.length) {
return;
}
self.$element.find('#ExistsExportList').append(QWeb.render('Exists.ExportList', {'existing_exports': export_list}));
self.$element.find('#saved_export_list').change(function() {
self.$element.find('#fields_list option').remove();
var export_id = self.$element.find('#saved_export_list option:selected').val();
self.$el.find('#ExistsExportList').append(QWeb.render('Exists.ExportList', {'existing_exports': export_list}));
self.$el.find('#saved_export_list').change(function() {
self.$el.find('#fields_list option').remove();
var export_id = self.$el.find('#saved_export_list option:selected').val();
if (export_id) {
self.rpc('/web/export/namelist', {'model': self.dataset.model, export_id: parseInt(export_id)}, self.do_load_export_field);
}
});
self.$element.find('#delete_export_list').click(function() {
var select_exp = self.$element.find('#saved_export_list option:selected');
self.$el.find('#delete_export_list').click(function() {
var select_exp = self.$el.find('#saved_export_list option:selected');
if (select_exp.val()) {
self.exports.unlink([parseInt(select_exp.val(), 10)]);
select_exp.remove();
if (self.$element.find('#saved_export_list option').length <= 1) {
self.$element.find('#ExistsExportList').hide();
if (self.$el.find('#saved_export_list option').length <= 1) {
self.$el.find('#ExistsExportList').hide();
}
}
});
});
},
do_load_export_field: function(field_list) {
var export_node = this.$element.find("#fields_list");
var export_node = this.$el.find("#fields_list");
_(field_list).each(function (field) {
export_node.append(new Option(field.label, field.name));
});
},
on_show_save_list: function() {
var self = this;
var current_node = self.$element.find("#savenewlist");
var current_node = self.$el.find("#savenewlist");
if (!(current_node.find("label")).length) {
current_node.append(QWeb.render('ExportNewList'));
current_node.find("#add_export_list").click(function() {
@ -150,14 +150,14 @@ instance.web.DataExport = instance.web.Dialog.extend({
if (!export_list_id.result) {
return;
}
self.$element.find("#saved_export_list").append(
self.$el.find("#saved_export_list").append(
new Option(value, export_list_id.result));
if (self.$element.find("#saved_export_list").is(":hidden")) {
if (self.$el.find("#saved_export_list").is(":hidden")) {
self.show_exports_list();
}
});
this.on_show_save_list();
this.$element.find("#fields_list option").remove();
this.$el.find("#fields_list option").remove();
},
on_click: function(id, record) {
var self = this;
@ -173,7 +173,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
if (!record.loaded) {
var import_comp = self.$element.find("#import_compat").val();
var import_comp = self.$el.find("#import_compat").val();
self.rpc("/web/export/get_fields", {
model: model,
prefix: prefix,
@ -191,44 +191,44 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
on_show_data: function(result, after) {
var self = this;
var imp_cmpt = Boolean(self.$element.find("#import_compat").val());
var imp_cmpt = Boolean(self.$el.find("#import_compat").val());
if (after) {
var current_tr = self.$element.find("tr[id='treerow-" + after + "']");
var current_tr = self.$el.find("tr[id='treerow-" + after + "']");
current_tr.addClass('open');
current_tr.find('img').attr('src','/web/static/src/img/collapse.gif');
current_tr.after(QWeb.render('ExportTreeView-Secondary.children', {'fields': result}));
} else {
self.$element.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
self.$el.find('#left_field_panel').append(QWeb.render('ExportTreeView-Secondary', {'fields': result}));
}
_.each(result, function(record) {
self.records[record.id] = record.value;
if (record.required) {
var required_fld = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
var required_fld = self.$el.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
required_fld.addClass("oe_export_requiredfield");
}
self.$element.find("img[id='parentimg-" + record.id +"']").click(function() {
self.$el.find("img[id='parentimg-" + record.id +"']").click(function() {
self.on_click(this.id, record);
});
self.$element.find("tr[id='treerow-" + record.id + "']").click(function(e) {
self.$el.find("tr[id='treerow-" + record.id + "']").click(function(e) {
if (e.shiftKey) {
var frst_click, scnd_click = '';
if (self.row_index == 0) {
self.row_index = this.rowIndex;
frst_click = self.$element.find("tr[id^='treerow-']")[self.row_index-1];
frst_click = self.$el.find("tr[id^='treerow-']")[self.row_index-1];
$(frst_click).addClass("ui-selected");
} else {
if (this.rowIndex >=self.row_index) {
for (var i = (self.row_index-1); i < this.rowIndex; i++) {
scnd_click = self.$element.find("tr[id^='treerow-']")[i];
scnd_click = self.$el.find("tr[id^='treerow-']")[i];
if (!$(scnd_click).find('#tree-column').hasClass("oe_export_readonlyfield")) {
$(scnd_click).addClass("ui-selected");
}
}
} else {
for (var i = (self.row_index-1); i >= (this.rowIndex-1); i--) {
scnd_click = self.$element.find("tr[id^='treerow-']")[i];
scnd_click = self.$el.find("tr[id^='treerow-']")[i];
if (!$(scnd_click).find('#tree-column').hasClass("oe_export_readonlyfield")) {
$(scnd_click).addClass("ui-selected");
}
@ -238,10 +238,10 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
self.row_index = this.rowIndex;
self.$element.find("tr[id='treerow-" + record.id + "']").keyup(function() {
self.$el.find("tr[id='treerow-" + record.id + "']").keyup(function() {
self.row_index = 0;
});
var o2m_selection = self.$element.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
var o2m_selection = self.$el.find("tr[id='treerow-" + record.id + "']").find('#tree-column');
if ($(o2m_selection).hasClass("oe_export_readonlyfield")) {
return false;
}
@ -252,14 +252,14 @@ instance.web.DataExport = instance.web.Dialog.extend({
$(this).addClass('ui-selected').find('a').focus();
}
} else if (!e.shiftKey) {
self.$element.find("tr.ui-selected")
self.$el.find("tr.ui-selected")
.removeClass("ui-selected").find('a').blur();
$(this).addClass("ui-selected").find('a').focus();
}
return false;
});
self.$element.find("tr[id='treerow-" + record.id + "']").keydown(function(e) {
self.$el.find("tr[id='treerow-" + record.id + "']").keydown(function(e) {
var keyCode = e.keyCode || e.which;
var arrow = {left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
@ -297,19 +297,19 @@ instance.web.DataExport = instance.web.Dialog.extend({
break;
}
});
self.$element.find("tr[id='treerow-" + record.id + "']").dblclick(function() {
var $o2m_selection = self.$element.find("tr[id^='treerow-" + record.id + "']").find('#tree-column');
self.$el.find("tr[id='treerow-" + record.id + "']").dblclick(function() {
var $o2m_selection = self.$el.find("tr[id^='treerow-" + record.id + "']").find('#tree-column');
if (!$o2m_selection.hasClass("oe_export_readonlyfield")) {
self.add_field(record.id, $(this).find("a").attr("string"));
}
});
});
self.$element.find('#fields_list').mouseover(function(event) {
self.$el.find('#fields_list').mouseover(function(event) {
if (event.relatedTarget) {
if (event.relatedTarget.attributes['id'] && event.relatedTarget.attributes['string']) {
var field_id = event.relatedTarget.attributes["id"]["value"];
if (field_id && field_id.split("-")[0] === 'export') {
if (!self.$element.find("tr[id='treerow-" + field_id.split("-")[1] + "']").find('#tree-column').hasClass("oe_export_readonlyfield")) {
if (!self.$el.find("tr[id='treerow-" + field_id.split("-")[1] + "']").find('#tree-column').hasClass("oe_export_readonlyfield")) {
self.add_field(field_id.split("-")[1], event.relatedTarget.attributes["string"]["value"]);
}
}
@ -319,7 +319,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
showcontent: function(id) {
// show & hide the contents
var $this = this.$element.find("tr[id='treerow-" + id + "']");
var $this = this.$el.find("tr[id='treerow-" + id + "']");
var is_open = $this.hasClass('open');
$this.toggleClass('open');
@ -329,7 +329,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
} else {
first_child.attr('src', '/web/static/src/img/collapse.gif');
}
var child_field = this.$element.find("tr[id^='treerow-" + id +"/']");
var child_field = this.$el.find("tr[id^='treerow-" + id +"/']");
var child_len = (id.split("/")).length + 1;
for (var i = 0; i < child_field.length; i++) {
var $child = $(child_field[i]);
@ -345,15 +345,15 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
},
add_field: function(field_id, string) {
var field_list = this.$element.find('#fields_list');
if (this.$element.find("#fields_list option[value='" + field_id + "']")
&& !this.$element.find("#fields_list option[value='" + field_id + "']").length) {
var field_list = this.$el.find('#fields_list');
if (this.$el.find("#fields_list option[value='" + field_id + "']")
&& !this.$el.find("#fields_list option[value='" + field_id + "']").length) {
field_list.append(new Option(string, field_id));
}
},
get_fields: function() {
var export_field = [];
this.$element.find("#fields_list option").each(function() {
this.$el.find("#fields_list option").each(function() {
export_field.push($(this).val());
});
if (!export_field.length) {
@ -363,7 +363,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
},
on_click_export_data: function() {
var self = this;
var exported_fields = this.$element.find('#fields_list option').map(function () {
var exported_fields = this.$el.find('#fields_list option').map(function () {
// DOM property is textContent, but IE8 only knows innerText
return {name: self.records[this.value] || this.value,
label: this.textContent || this.innerText};
@ -375,7 +375,7 @@ instance.web.DataExport = instance.web.Dialog.extend({
}
exported_fields.unshift({name: 'id', label: 'External ID'});
var export_format = this.$element.find("#export_format").val();
var export_format = this.$el.find("#export_format").val();
instance.web.blockUI();
this.session.get_file({
url: '/web/export/' + export_format,
@ -385,13 +385,13 @@ instance.web.DataExport = instance.web.Dialog.extend({
ids: this.dataset.ids,
domain: this.dataset.domain,
import_compat: Boolean(
this.$element.find("#import_compat").val())
this.$el.find("#import_compat").val())
})},
complete: instance.web.unblockUI
});
},
close: function() {
this.$element.remove();
this.$el.remove();
this._super();
}
});

View File

@ -75,9 +75,9 @@ instance.web.DataImport = instance.web.Dialog.extend({
}
});
this.toggle_import_button(false);
this.$element.find('#csvfile').change(this.on_autodetect_data);
this.$element.find('fieldset').change(this.on_autodetect_data);
this.$element.delegate('fieldset legend', 'click', function() {
this.$el.find('#csvfile').change(this.on_autodetect_data);
this.$el.find('fieldset').change(this.on_autodetect_data);
this.$el.delegate('fieldset legend', 'click', function() {
$(this).parent().toggleClass('oe_closed');
});
this.ready.push(new instance.web.DataSet(this, this.model).call(
@ -156,19 +156,19 @@ instance.web.DataImport = instance.web.Dialog.extend({
});
},
toggle_import_button: function (newstate) {
instance.web.dialog(this.$element, 'widget')
instance.web.dialog(this.$el, 'widget')
.find('.oe_import_dialog_button')
.button('option', 'disabled', !newstate);
},
do_import: function() {
if(!this.$element.find('#csvfile').val()) { return; }
var lines_to_skip = parseInt(this.$element.find('#csv_skip').val(), 10);
var with_headers = this.$element.find('#file_has_headers').prop('checked');
if(!this.$el.find('#csvfile').val()) { return; }
var lines_to_skip = parseInt(this.$el.find('#csv_skip').val(), 10);
var with_headers = this.$el.find('#file_has_headers').prop('checked');
if (!lines_to_skip && with_headers) {
lines_to_skip = 1;
}
var indices = [], fields = [];
this.$element.find(".sel_fields").each(function(index, element) {
this.$el.find(".sel_fields").each(function(index, element) {
var val = element.value;
if (!val) {
return;
@ -177,7 +177,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
fields.push(val);
});
jsonp(this.$element.find('#import_data'), {
jsonp(this.$el.find('#import_data'), {
url: '/web/import/import_data',
data: {
model: this.model,
@ -190,19 +190,19 @@ instance.web.DataImport = instance.web.Dialog.extend({
}, this.on_import_results);
},
on_autodetect_data: function() {
if(!this.$element.find('#csvfile').val()) { return; }
jsonp(this.$element.find('#import_data'), {
if(!this.$el.find('#csvfile').val()) { return; }
jsonp(this.$el.find('#import_data'), {
url: '/web/import/detect_data'
}, this.on_import_results);
},
on_import_results: function(results) {
this.$element.find('#result').empty();
var headers, result_node = this.$element.find("#result");
this.$el.find('#result').empty();
var headers, result_node = this.$el.find("#result");
if (results['error']) {
result_node.append(QWeb.render('ImportView.error', {
'error': results['error']}));
this.$element.find('fieldset').removeClass('oe_closed');
this.$el.find('fieldset').removeClass('oe_closed');
return;
}
if (results['success']) {
@ -214,8 +214,8 @@ instance.web.DataImport = instance.web.Dialog.extend({
}
if (results['records']) {
var lines_to_skip = parseInt(this.$element.find('#csv_skip').val(), 10),
with_headers = this.$element.find('#file_has_headers').prop('checked');
var lines_to_skip = parseInt(this.$el.find('#csv_skip').val(), 10),
with_headers = this.$el.find('#file_has_headers').prop('checked');
headers = with_headers ? results.records[0] : null;
result_node.append(QWeb.render('ImportView.result', {
@ -224,17 +224,17 @@ instance.web.DataImport = instance.web.Dialog.extend({
: with_headers ? results.records.slice(1)
: results.records
}));
this.$element.find('fieldset').addClass('oe_closed');
this.$el.find('fieldset').addClass('oe_closed');
}
this.$element.find('form').removeClass('oe_import_no_result');
this.$el.find('form').removeClass('oe_import_no_result');
this.$element.delegate('.oe_m2o_drop_down_button', 'click', function () {
this.$el.delegate('.oe_m2o_drop_down_button', 'click', function () {
$(this).prev('input').focus();
});
var self = this;
this.ready.then(function () {
var $fields = self.$element.find('.sel_fields').bind('blur', function () {
var $fields = self.$el.find('.sel_fields').bind('blur', function () {
if (this.value && !_(self.all_fields).contains(this.value)) {
this.value = '';
}
@ -315,9 +315,9 @@ instance.web.DataImport = instance.web.Dialog.extend({
find_duplicate_fields: function() {
// Maps values to DOM nodes, in order to discover duplicates
var values = {}, duplicates = {};
this.$element.find(".sel_fields").each(function(index, element) {
this.$el.find(".sel_fields").each(function(index, element) {
var value = element.value;
var $element = $(element).removeClass('duplicate_fld');
var $el = $(element).removeClass('duplicate_fld');
if (!value) { return; }
if (!(value in values)) {
@ -329,13 +329,13 @@ instance.web.DataImport = instance.web.Dialog.extend({
} else {
duplicates[value] = [same_valued_field, element];
}
$element.add(same_valued_field).addClass('duplicate_fld');
$el.add(same_valued_field).addClass('duplicate_fld');
}
});
return duplicates;
},
on_check_field_values: function () {
this.$element.find("#message, #msg").remove();
this.$el.find("#message, #msg").remove();
var required_valid = this.check_required();
@ -343,7 +343,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
if (_.isEmpty(duplicates)) {
this.toggle_import_button(required_valid);
} else {
var $err = $('<div id="msg" style="color: red;">'+_t("Destination fields should only be selected once, some fields are selected more than once:")+'</div>').insertBefore(this.$element.find('#result'));
var $err = $('<div id="msg" style="color: red;">'+_t("Destination fields should only be selected once, some fields are selected more than once:")+'</div>').insertBefore(this.$el.find('#result'));
var $dupes = $('<dl>').appendTo($err);
_(duplicates).each(function(elements, value) {
$('<dt>').text(value).appendTo($dupes);
@ -372,7 +372,7 @@ instance.web.DataImport = instance.web.Dialog.extend({
return f.id;
};
var selected_fields = _(this.$element.find('.sel_fields').get()).chain()
var selected_fields = _(this.$el.find('.sel_fields').get()).chain()
.pluck('value')
.compact()
.map(resolve_field_id)
@ -380,13 +380,13 @@ instance.web.DataImport = instance.web.Dialog.extend({
var missing_fields = _.difference(this.required_fields, selected_fields);
if (missing_fields.length) {
this.$element.find("#result").before('<div id="message" style="color:red">' + _t("*Required Fields are not selected :") + missing_fields + '.</div>');
this.$el.find("#result").before('<div id="message" style="color:red">' + _t("*Required Fields are not selected :") + missing_fields + '.</div>');
return false;
}
return true;
},
destroy: function() {
this.$element.remove();
this.$el.remove();
this._super();
}
});

View File

@ -126,21 +126,21 @@ my.InputView = instance.web.Widget.extend({
template: 'SearchView.InputView',
start: function () {
var p = this._super.apply(this, arguments);
this.$element.on('focus', this.proxy('onFocus'));
this.$element.on('blur', this.proxy('onBlur'));
this.$element.on('keydown', this.proxy('onKeydown'));
this.$el.on('focus', this.proxy('onFocus'));
this.$el.on('blur', this.proxy('onBlur'));
this.$el.on('keydown', this.proxy('onKeydown'));
return p;
},
onFocus: function () {
this.trigger('focused', this);
},
onBlur: function () {
this.$element.text('');
this.$el.text('');
this.trigger('blurred', this);
},
getSelection: function () {
// get Text node
var root = this.$element[0].childNodes[0];
var root = this.$el[0].childNodes[0];
if (!root || !root.textContent) {
// if input does not have a child node, or the child node is an
// empty string, then the selection can only be (0, 0)
@ -202,7 +202,7 @@ my.InputView = instance.web.Widget.extend({
break;
case $.ui.keyCode.RIGHT:
sel = this.getSelection();
var len = this.$element.text().length;
var len = this.$el.text().length;
if (sel.start !== len || sel.start !== sel.end) {
e.stopPropagation();
}
@ -223,17 +223,17 @@ my.FacetView = instance.web.Widget.extend({
},
start: function () {
var self = this;
this.$element.on('focus', function () { self.trigger('focused', self); });
this.$element.on('blur', function () { self.trigger('blurred', self); });
this.$element.on('click', function (e) {
this.$el.on('focus', function () { self.trigger('focused', self); });
this.$el.on('blur', function () { self.trigger('blurred', self); });
this.$el.on('click', function (e) {
if ($(e.target).is('.oe_facet_remove')) {
self.model.destroy();
return false;
}
self.$element.focus();
self.$el.focus();
e.stopPropagation();
});
this.$element.on('keydown', function (e) {
this.$el.on('keydown', function (e) {
var keys = $.ui.keyCode;
switch (e.which) {
case keys.BACKSPACE:
@ -242,7 +242,7 @@ my.FacetView = instance.web.Widget.extend({
return false;
}
});
var $e = self.$element.find('> span:last-child');
var $e = self.$el.find('> span:last-child');
var q = $.when(this._super());
return q.pipe(function () {
var values = self.model.values.map(function (value) {
@ -253,7 +253,7 @@ my.FacetView = instance.web.Widget.extend({
});
},
model_changed: function () {
this.$element.text(this.$element.text() + '*');
this.$el.text(this.$el.text() + '*');
}
});
my.FacetValueView = instance.web.Widget.extend({
@ -268,7 +268,7 @@ my.FacetValueView = instance.web.Widget.extend({
this._super();
},
model_changed: function () {
this.$element.text(this.$element.text() + '*');
this.$el.text(this.$el.text() + '*');
}
});
@ -313,7 +313,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
.on('add change reset remove', this.proxy('renderFacets'));
if (this.hidden) {
this.$element.hide();
this.$el.hide();
}
if (this.headless) {
this.ready.resolve();
@ -331,12 +331,12 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
}
// Launch a search on clicking the oe_searchview_search button
this.$element.on('click', 'button.oe_searchview_search', function (e) {
this.$el.on('click', 'button.oe_searchview_search', function (e) {
e.stopImmediatePropagation();
self.do_search();
});
this.$element.on('keydown',
this.$el.on('keydown',
'.oe_searchview_input, .oe_searchview_facet', function (e) {
switch(e.which) {
case $.ui.keyCode.LEFT:
@ -350,31 +350,31 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
}
});
this.$element.on('click', '.oe_searchview_clear', function (e) {
this.$el.on('click', '.oe_searchview_clear', function (e) {
e.stopImmediatePropagation();
self.query.reset();
});
this.$element.on('click', '.oe_searchview_unfold_drawer', function (e) {
this.$el.on('click', '.oe_searchview_unfold_drawer', function (e) {
e.stopImmediatePropagation();
self.$element.toggleClass('oe_searchview_open_drawer');
self.$el.toggleClass('oe_searchview_open_drawer');
});
instance.web.bus.on('click', this, function(ev) {
if ($(ev.target).parents('.oe_searchview').length === 0) {
self.$element.removeClass('oe_searchview_open_drawer');
self.$el.removeClass('oe_searchview_open_drawer');
}
});
// Focus last input if the view itself is clicked (empty section of
// facets element)
this.$element.on('click', function (e) {
if (e.target === self.$element.find('.oe_searchview_facets')[0]) {
self.$element.find('.oe_searchview_input:last').focus();
this.$el.on('click', function (e) {
if (e.target === self.$el.find('.oe_searchview_facets')[0]) {
self.$el.find('.oe_searchview_input:last').focus();
}
});
// when the completion list opens/refreshes, automatically select the
// first completion item so if the user just hits [RETURN] or [TAB] it
// automatically selects it
this.$element.on('autocompleteopen', function () {
var menu = self.$element.data('autocomplete').menu;
this.$el.on('autocompleteopen', function () {
var menu = self.$el.data('autocomplete').menu;
menu.activate(
$.Event({ type: "mouseenter" }),
menu.element.children().first());
@ -383,15 +383,15 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
return $.when(p, this.ready);
},
show: function () {
this.$element.show();
this.$el.show();
},
hide: function () {
this.$element.hide();
this.$el.hide();
},
subviewForRoot: function (subview_root) {
return _(this.input_subviews).detect(function (subview) {
return subview.$element[0] === subview_root;
return subview.$el[0] === subview_root;
});
},
siblingSubview: function (subview, direction, wrap_around) {
@ -406,12 +406,12 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
focusPreceding: function (subview_root) {
return this.siblingSubview(
this.subviewForRoot(subview_root), -1, true)
.$element.focus();
.$el.focus();
},
focusFollowing: function (subview_root) {
return this.siblingSubview(
this.subviewForRoot(subview_root), +1, true)
.$element.focus();
.$el.focus();
},
/**
@ -430,19 +430,19 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// autocomplete only correctly handles being initialized on the actual
// editable element (and only an element with a @value in 1.8 e.g.
// input or textarea), cheat by setting val() on $element
this.$element.on('keydown', function () {
// input or textarea), cheat by setting val() on $el
this.$el.on('keydown', function () {
// keydown is triggered *before* the element's value is set, so
// delay this. Pray that setTimeout are executed in FIFO (if they
// have the same delay) as autocomplete uses the exact same trick.
// FIXME: brittle as fuck
setTimeout(function () {
self.$element.val(self.currentInputValue());
self.$el.val(self.currentInputValue());
}, 0);
});
this.$element.autocomplete({
this.$el.autocomplete({
source: this.proxy('complete_global_search'),
select: this.proxy('select_completion'),
focus: function (e) { e.preventDefault(); },
@ -479,7 +479,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
* div[contenteditable].oe_searchview_input)
*/
currentInputValue: function () {
return this.$element.find('div.oe_searchview_input:focus').text();
return this.$el.find('div.oe_searchview_input:focus').text();
},
/**
* Provide auto-completion result for req.term (an array to `resp`)
@ -509,22 +509,22 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
var input_index = _(this.input_subviews).indexOf(
this.subviewForRoot(
this.$element.find('div.oe_searchview_input:focus')[0]));
this.$el.find('div.oe_searchview_input:focus')[0]));
this.query.add(ui.item.facet, {at: input_index / 2});
},
childFocused: function () {
this.$element.addClass('oe_focused');
this.$el.addClass('oe_focused');
},
childBlurred: function () {
var val = this.$element.val();
this.$element.val('');
var complete = this.$element.data('autocomplete');
var val = this.$el.val();
this.$el.val('');
var complete = this.$el.data('autocomplete');
if ((val && complete.term === undefined) || complete.previous !== undefined) {
throw new Error("new jquery.ui version altering implementation" +
" details relied on");
}
delete complete.term;
this.$element.removeClass('oe_focused')
this.$el.removeClass('oe_focused')
.trigger('blur');
},
/**
@ -538,7 +538,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// _2: undefined if event=change, otherwise model
var self = this;
var started = [];
var $e = this.$element.find('div.oe_searchview_facets');
var $e = this.$el.find('div.oe_searchview_facets');
_.invoke(this.input_subviews, 'destroy');
this.input_subviews = [];
@ -569,7 +569,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
input_to_focus = self.input_subviews[(options.at + 1) * 2];
}
input_to_focus.$element.focus();
input_to_focus.$el.focus();
});
},
@ -664,7 +664,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
// build drawer
var drawer_started = $.when.apply(
null, _(this.select_for_drawer()).invoke(
'appendTo', this.$element.find('.oe_searchview_drawer')));
'appendTo', this.$el.find('.oe_searchview_drawer')));
// load defaults
var defaults_fetched = $.when.apply(null, _(this.inputs).invoke(
@ -680,7 +680,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
*/
on_filters_management: function(e) {
var self = this;
var select = this.$element.find(".oe_search-view-filters-management");
var select = this.$el.find(".oe_search-view-filters-management");
var val = select.val();
switch(val) {
case 'advanced_filter':
@ -989,7 +989,7 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
this.view.query.on('add remove change reset', this.proxy('search_change'));
},
start: function () {
this.$element.on('click', 'li', this.proxy('toggle_filter'));
this.$el.on('click', 'li', this.proxy('toggle_filter'));
return $.when(null);
},
/**
@ -998,7 +998,7 @@ instance.web.search.FilterGroup = instance.web.search.Input.extend(/** @lends in
*/
search_change: function () {
var self = this;
var $filters = this.$element.find('> li').removeClass('oe_selected');
var $filters = this.$el.find('> li').removeClass('oe_selected');
var facet = this.view.query.find(_.bind(this.match_facet, this));
if (!facet) { return; }
facet.values.each(function (v) {
@ -1299,17 +1299,17 @@ instance.web.search.CharField = instance.web.search.Field.extend( /** @lends ins
});
instance.web.search.NumberField = instance.web.search.Field.extend(/** @lends instance.web.search.NumberField# */{
value_from: function () {
if (!this.$element.val()) {
if (!this.$el.val()) {
return null;
}
var val = this.parse(this.$element.val()),
check = Number(this.$element.val());
var val = this.parse(this.$el.val()),
check = Number(this.$el.val());
if (isNaN(val) || val !== check) {
this.$element.addClass('error');
this.$el.addClass('error');
throw new instance.web.search.Invalid(
this.attrs.name, this.$element.val(), this.error_message);
this.attrs.name, this.$el.val(), this.error_message);
}
this.$element.removeClass('error');
this.$el.removeClass('error');
return val;
}
});
@ -1542,9 +1542,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
self.clear_selection();
})
.on('reset', this.proxy('clear_selection'));
this.$element.on('submit', 'form', this.proxy('save_current'));
this.$element.on('click', 'h4', function () {
self.$element.toggleClass('oe_opened');
this.$el.on('submit', 'form', this.proxy('save_current'));
this.$el.on('click', 'h4', function () {
self.$el.toggleClass('oe_opened');
});
// FIXME: local eval of domain and context to get rid of special endpoint
return this.rpc('/web/searchview/get_filters', {
@ -1552,7 +1552,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
}).pipe(this.proxy('set_filters'));
},
clear_selection: function () {
this.$element.find('li.oe_selected').removeClass('oe_selected');
this.$el.find('li.oe_selected').removeClass('oe_selected');
},
append_filter: function (filter) {
var self = this;
@ -1564,7 +1564,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
} else {
var id = filter.id;
$filter = this.filters[key] = $('<li></li>')
.appendTo(this.$element.find('.oe_searchview_custom_list'))
.appendTo(this.$el.find('.oe_searchview_custom_list'))
.addClass(filter.user_id ? 'oe_searchview_custom_private'
: 'oe_searchview_custom_public')
.text(filter.name);
@ -1599,8 +1599,8 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
},
save_current: function () {
var self = this;
var $name = this.$element.find('input:first');
var private_filter = !this.$element.find('input:last').prop('checked');
var $name = this.$el.find('input:first');
var private_filter = !this.$el.find('input:last').prop('checked');
var search = this.view.build_search_data();
this.rpc('/web/session/eval_domain_and_context', {
@ -1622,7 +1622,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({
return self.model.call('create_or_replace', [filter]).then(function (id) {
filter.id = id;
self.append_filter(filter);
self.$element
self.$el
.removeClass('oe_opened')
.find('form')[0].reset();
});
@ -1667,8 +1667,8 @@ instance.web.search.Filters = instance.web.search.Input.extend({
}
return $.when(
this.render_column(col1, $('<div>').appendTo(this.$element)),
this.render_column(col2, $('<div>').appendTo(this.$element)));
this.render_column(col1, $('<div>').appendTo(this.$el)),
this.render_column(col2, $('<div>').appendTo(this.$el)));
},
render_column: function (column, $el) {
return $.when.apply(null, _(column).map(function (group) {
@ -1684,10 +1684,10 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
_in_drawer: true,
start: function () {
var self = this;
this.$element
this.$el
.on('keypress keydown keyup', function (e) { e.stopPropagation(); })
.on('click', 'h4', function () {
self.$element.toggleClass('oe_opened');
self.$el.toggleClass('oe_opened');
}).on('click', 'button.oe_add_condition', function () {
self.append_proposition();
}).on('submit', 'form', function (e) {
@ -1706,7 +1706,7 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
},
append_proposition: function () {
return (new instance.web.search.ExtendedSearchProposition(this, this.fields))
.appendTo(this.$element.find('ul'));
.appendTo(this.$el.find('ul'));
},
commit_search: function () {
var self = this;
@ -1733,7 +1733,7 @@ instance.web.search.Advanced = instance.web.search.Input.extend({
// add new empty proposition
this.append_proposition();
// TODO: API on searchview
this.view.$element.removeClass('oe_searchview_open_drawer');
this.view.$el.removeClass('oe_searchview_open_drawer');
}
});
@ -1757,16 +1757,16 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
},
start: function () {
var _this = this;
this.$element.find(".searchview_extended_prop_field").change(function() {
this.$el.find(".searchview_extended_prop_field").change(function() {
_this.changed();
});
this.$element.find('.searchview_extended_delete_prop').click(function () {
this.$el.find('.searchview_extended_delete_prop').click(function () {
_this.destroy();
});
this.changed();
},
changed: function() {
var nval = this.$element.find(".searchview_extended_prop_field").val();
var nval = this.$el.find(".searchview_extended_prop_field").val();
if(this.attrs.selected == null || nval != this.attrs.selected.name) {
this.select_field(_.detect(this.fields, function(x) {return x.name == nval;}));
}
@ -1781,7 +1781,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
if(this.attrs.selected != null) {
this.value.destroy();
this.value = null;
this.$element.find('.searchview_extended_prop_op').html('');
this.$el.find('.searchview_extended_prop_op').html('');
}
this.attrs.selected = field;
if(field == null) {
@ -1797,9 +1797,9 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
_.each(this.value.operators, function(operator) {
$('<option>', {value: operator.value})
.text(String(operator.text))
.appendTo(self.$element.find('.searchview_extended_prop_op'));
.appendTo(self.$el.find('.searchview_extended_prop_op'));
});
var $value_loc = this.$element.find('.searchview_extended_prop_value').empty();
var $value_loc = this.$el.find('.searchview_extended_prop_value').empty();
this.value.appendTo($value_loc);
},
@ -1807,7 +1807,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @
if ( this.attrs.selected == null)
return null;
var field = this.attrs.selected;
var op = this.$element.find('.searchview_extended_prop_op')[0];
var op = this.$el.find('.searchview_extended_prop_op')[0];
var operator = op.options[op.selectedIndex];
return {
label: _.str.sprintf(_t('%(field)s %(operator)s "%(value)s"'), {
@ -1851,7 +1851,7 @@ instance.web.search.ExtendedSearchProposition.Char = instance.web.search.Extende
{value: "!=", text: _lt("is not equal to")}
],
get_value: function() {
return this.$element.val();
return this.$el.val();
}
});
instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.ExtendedSearchProposition.Field.extend({
@ -1875,7 +1875,7 @@ instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.Ext
start: function() {
var ready = this._super();
this.datewidget = new (this.widget())(this);
this.datewidget.appendTo(this.$element);
this.datewidget.appendTo(this.$el);
return ready;
}
});
@ -1893,11 +1893,11 @@ instance.web.search.ExtendedSearchProposition.Integer = instance.web.search.Exte
{value: "<=", text: _lt("less or equal than")}
],
toString: function () {
return this.$element.val();
return this.$el.val();
},
get_value: function() {
try {
return instance.web.parse_value(this.$element.val(), {'widget': 'integer'});
return instance.web.parse_value(this.$el.val(), {'widget': 'integer'});
} catch (e) {
return "";
}
@ -1917,11 +1917,11 @@ instance.web.search.ExtendedSearchProposition.Float = instance.web.search.Extend
{value: "<=", text: _lt("less or equal than")}
],
toString: function () {
return this.$element.val();
return this.$el.val();
},
get_value: function() {
try {
return instance.web.parse_value(this.$element.val(), {'widget': 'float'});
return instance.web.parse_value(this.$el.val(), {'widget': 'float'});
} catch (e) {
return "";
}
@ -1934,12 +1934,12 @@ instance.web.search.ExtendedSearchProposition.Selection = instance.web.search.Ex
{value: "!=", text: _lt("is not")}
],
toString: function () {
var select = this.$element[0];
var select = this.$el[0];
var option = select.options[select.selectedIndex];
return option.label || option.text;
},
get_value: function() {
return this.$element.val();
return this.$el.val();
}
});
instance.web.search.ExtendedSearchProposition.Boolean = instance.web.search.ExtendedSearchProposition.Field.extend({

View File

@ -102,8 +102,8 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
w.off('focused blurred');
w.destroy();
});
if (this.$element) {
this.$element.off('.formBlur');
if (this.$el) {
this.$el.off('.formBlur');
}
this._super();
},
@ -122,11 +122,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.rendering_engine.set_tags_registry(this.tags_registry);
if (!this.extract_qweb_template(data)) {
this.rendering_engine.set_fields_view(data);
var $dest = this.$element.hasClass("oe_form_container") ? this.$element : this.$element.find('.oe_form_container');
var $dest = this.$el.hasClass("oe_form_container") ? this.$el : this.$el.find('.oe_form_container');
this.rendering_engine.render_to($dest);
}
this.$element.on('mousedown.formBlur', function () {
this.$el.on('mousedown.formBlur', function () {
self.__clicked_inside = true;
});
@ -134,14 +134,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$element.find('.oe_form_buttons').replaceWith(this.$buttons);
this.$el.find('.oe_form_buttons').replaceWith(this.$buttons);
}
this.$buttons.on('click','.oe_form_button_create',this.on_button_create);
this.$buttons.on('click','.oe_form_button_edit',this.on_button_edit);
this.$buttons.on('click','.oe_form_button_save',this.on_button_save);
this.$buttons.on('click','.oe_form_button_cancel',this.on_button_cancel);
this.$sidebar = this.options.$sidebar || this.$element.find('.oe_form_sidebar');
this.$sidebar = this.options.$sidebar || this.$el.find('.oe_form_sidebar');
if (!this.sidebar && this.options.$sidebar) {
this.sidebar = new instance.web.Sidebar(this);
this.sidebar.appendTo(this.$sidebar);
@ -158,7 +158,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.has_been_loaded.resolve();
// Add bounce effect on button 'Edit' when click on readonly page view.
this.$element.find(".oe_form_field,label").on('click', function (e) {
this.$el.find(".oe_form_field,label").on('click', function (e) {
if(self.get("actual_mode") == "view") {
var $button = self.options.$buttons.find(".oe_form_button_edit");
$button.effect('bounce', {distance: 18, times: 5}, 150)
@ -215,7 +215,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.default_focus_field = null;
this.default_focus_button = null;
this.translatable_fields = [];
this.$element.find('.oe_form_container').empty();
this.$el.find('.oe_form_container').empty();
},
widgetFocused: function() {
@ -263,7 +263,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
var self = this;
options = options || {};
if (this.sidebar) {
this.sidebar.$element.show();
this.sidebar.$el.show();
}
if (this.$buttons) {
this.$buttons.show();
@ -271,11 +271,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (this.$pager) {
this.$pager.show();
}
this.$element.show().css({
this.$el.show().css({
opacity: '0',
filter: 'alpha(opacity = 0)'
});
this.$element.add(this.$buttons).removeClass('oe_form_dirty');
this.$el.add(this.$buttons).removeClass('oe_form_dirty');
var shown = this.has_been_loaded;
if (options.reload !== false) {
@ -293,7 +293,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}
return shown.pipe(function() {
self._actualize_mode(options.mode || self.options.initial_mode);
self.$element.css({
self.$el.css({
opacity: '1',
filter: 'alpha(opacity = 100)'
});
@ -301,7 +301,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
},
do_hide: function () {
if (this.sidebar) {
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
if (this.$buttons) {
this.$buttons.hide();
@ -325,7 +325,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (this.qweb) {
this.kill_current_form();
this.rendering_engine.set_fields_view(this.get_fvg_from_qweb(record));
var $dest = this.$element.hasClass("oe_form_container") ? this.$element : this.$element.find('.oe_form_container');
var $dest = this.$el.hasClass("oe_form_container") ? this.$el : this.$el.find('.oe_form_container');
this.rendering_engine.render_to($dest);
}
@ -357,7 +357,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
} else {
self.do_push_state({});
}
self.$element.add(self.$buttons).removeClass('oe_form_dirty');
self.$el.add(self.$buttons).removeClass('oe_form_dirty');
self.autofocus();
});
},
@ -379,7 +379,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.trigger("view_content_has_changed");
},
do_notify_change: function() {
this.$element.add(this.$buttons).addClass('oe_form_dirty');
this.$el.add(this.$buttons).addClass('oe_form_dirty');
},
on_pager_action: function(action) {
if (this.can_be_discarded()) {
@ -410,7 +410,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (this.options.$pager) {
this.$pager.appendTo(this.options.$pager);
} else {
this.$element.find('.oe_form_pager').replaceWith(this.$pager);
this.$el.find('.oe_form_pager').replaceWith(this.$pager);
}
this.$pager.on('click','a[data-pager-action]',function() {
var action = $(this).data('pager-action');
@ -653,7 +653,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
check_actual_mode: function(source, options) {
var self = this;
if(this.get("actual_mode") === "view") {
self.$element.removeClass('oe_form_editable').addClass('oe_form_readonly');
self.$el.removeClass('oe_form_editable').addClass('oe_form_readonly');
self.$buttons.find('.oe_form_buttons_edit').hide();
self.$buttons.find('.oe_form_buttons_view').show();
self.$sidebar.show();
@ -661,7 +661,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
field.set({"force_readonly": true});
});
} else {
self.$element.removeClass('oe_form_readonly').addClass('oe_form_editable');
self.$el.removeClass('oe_form_readonly').addClass('oe_form_editable');
self.$buttons.find('.oe_form_buttons_edit').show();
self.$buttons.find('.oe_form_buttons_view').hide();
self.$sidebar.hide();
@ -752,7 +752,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
return def.promise();
},
can_be_discarded: function() {
return !this.$element.is('.oe_form_dirty') || confirm(_t("Warning, the record has been modified, your changes will be discarded."));
return !this.$el.is('.oe_form_dirty') || confirm(_t("Warning, the record has been modified, your changes will be discarded."));
},
/**
* Triggers saving the form's record. Chooses between creating a new
@ -993,14 +993,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
buttons: [
{text: _t("Close"), click: function () { d.close(); }},
{text: _t("Save default"), click: function () {
var $defaults = d.$element.find('#formview_default_fields');
var $defaults = d.$el.find('#formview_default_fields');
var field_to_set = $defaults.val();
if (!field_to_set) {
$defaults.parent().addClass('oe_form_invalid');
return;
}
var condition = d.$element.find('#formview_default_conditions').val(),
all_users = d.$element.find('#formview_default_all').is(':checked');
var condition = d.$el.find('#formview_default_conditions').val(),
all_users = d.$el.find('#formview_default_all').is(':checked');
new instance.web.DataSet(self, 'ir.values').call(
'set_default', [
self.dataset.model,
@ -1054,7 +1054,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
instance.web.form.FormRenderingEngineInterface = instance.web.Class.extend({
set_fields_view: function(fields_view) {},
set_fields_registry: function(fields_registry) {},
render_to: function($element) {},
render_to: function($el) {},
});
/**
@ -1459,7 +1459,7 @@ instance.web.form.FormDialog = instance.web.Dialog.extend({
this.form = new instance.web.FormView(this, this.dataset, this.view_id, {
pager: false
});
this.form.appendTo(this.$element);
this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
return this;
@ -1551,7 +1551,7 @@ instance.web.form.compute_domain = function(expr, fields) {
/**
* Must be applied over an class already possessing the PropertiesMixin.
*
* Apply the result of the "invisible" domain to this.$element.
* Apply the result of the "invisible" domain to this.$el.
*/
instance.web.form.InvisibilityChangerMixin = {
init: function(field_manager, invisible_domain) {
@ -1582,16 +1582,16 @@ instance.web.form.InvisibilityChangerMixin = {
this._check_visibility();
},
_check_visibility: function() {
this.$element.toggleClass('oe_form_invisible', this.get("effective_invisible"));
this.$el.toggleClass('oe_form_invisible', this.get("effective_invisible"));
},
};
instance.web.form.InvisibilityChanger = instance.web.Class.extend(instance.web.PropertiesMixin, instance.web.form.InvisibilityChangerMixin, {
init: function(parent, field_manager, invisible_domain, $element) {
init: function(parent, field_manager, invisible_domain, $el) {
this.setParent(parent);
instance.web.PropertiesMixin.init.call(this);
instance.web.form.InvisibilityChangerMixin.init.call(this, field_manager, invisible_domain);
this.$element = $element;
this.$el = $el;
this.start();
},
});
@ -1615,7 +1615,7 @@ instance.web.form.FormWidget = instance.web.Widget.extend(instance.web.form.Invi
},
renderElement: function() {
this._super();
this.$element.addClass(this.node.attrs["class"] || "");
this.$el.addClass(this.node.attrs["class"] || "");
},
destroy: function() {
$.fn.tipsy.clear();
@ -1649,7 +1649,7 @@ instance.web.form.FormWidget = instance.web.Widget.extend(instance.web.form.Invi
},
do_attach_tooltip: function(widget, trigger, options) {
widget = widget || this;
trigger = trigger || this.$element;
trigger = trigger || this.$el;
options = _.extend({
delayIn: 500,
delayOut: 0,
@ -1736,11 +1736,11 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.click(this.on_click);
this.$el.click(this.on_click);
if (this.node.attrs.help || instance.session.debug) {
this.do_attach_tooltip();
}
this.setupFocus(this.$element);
this.setupFocus(this.$el);
},
on_click: function() {
var self = this;
@ -1799,8 +1799,8 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({
},
check_disable: function() {
var disabled = (this.force_disabled || !this.view.is_interactible_record());
this.$element.prop('disabled', disabled);
this.$element.css('color', disabled ? 'grey' : '');
this.$el.prop('disabled', disabled);
this.$el.css('color', disabled ? 'grey' : '');
}
});
@ -1929,14 +1929,14 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
var self = this;
this._super();
if (this.field.translate) {
this.$element.addClass('oe_form_field_translatable');
this.$element.find('.oe_field_translate').click(_.bind(function() {
this.$el.addClass('oe_form_field_translatable');
this.$el.find('.oe_field_translate').click(_.bind(function() {
this.field_manager.open_translate_dialog(this);
}, this));
}
this.$label = this.view.$element.find('label[for=' + this.id_for_label + ']');
this.$label = this.view.$el.find('label[for=' + this.id_for_label + ']');
if (instance.session.debug) {
this.do_attach_tooltip(this, this.$label[0] || this.$element);
this.do_attach_tooltip(this, this.$label[0] || this.$el);
this.$label.off('dblclick').on('dblclick', function() {
console.log("Field '%s' of type '%s' in View: %o", self.name, (self.node.attrs.widget || self.field.type), self.view);
window.w = self;
@ -1955,7 +1955,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
* Private. Do not use.
*/
_set_required: function() {
this.$element.toggleClass('oe_form_required', this.get("required"));
this.$el.toggleClass('oe_form_required', this.get("required"));
},
set_value: function(value_) {
this._inhibit_on_change = true;
@ -1980,11 +1980,11 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
},
_check_css_flags: function() {
if (this.field.translate) {
this.$element.find('.oe_field_translate').toggle(!this.field_manager.is_create_mode());
this.$el.find('.oe_field_translate').toggle(!this.field_manager.is_create_mode());
}
if (!this.disable_utility_classes) {
if (this.field_manager.get('display_invalid_fields')) {
this.$element.toggleClass('oe_form_invalid', !this.is_valid());
this.$el.toggleClass('oe_form_invalid', !this.is_valid());
}
}
},
@ -2042,7 +2042,7 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
},
initialize_content: function() {
var self = this;
var $input = this.$element.find('input');
var $input = this.$el.find('input');
$input.change(function() {
self.set({'value': instance.web.parse_value($input.val(), self)});
});
@ -2055,18 +2055,18 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
render_value: function() {
var show_value = instance.web.format_value(this.get('value'), this, '');
if (!this.get("effective_readonly")) {
this.$element.find('input').val(show_value);
this.$el.find('input').val(show_value);
} else {
if (this.password) {
show_value = new Array(show_value.length + 1).join('*');
}
this.$element.text(show_value);
this.$el.text(show_value);
}
},
is_syntax_valid: function() {
if (!this.get("effective_readonly")) {
try {
var value_ = instance.web.parse_value(this.$element.find('input').val(), this, '');
var value_ = instance.web.parse_value(this.$el.find('input').val(), this, '');
return true;
} catch(e) {
return false;
@ -2090,7 +2090,7 @@ instance.web.form.FieldEmail = instance.web.form.FieldChar.extend({
template: 'FieldEmail',
initialize_content: function() {
this._super();
var $button = this.$element.find('button');
var $button = this.$el.find('button');
$button.click(this.on_button_clicked);
this.setupFocus($button);
},
@ -2098,7 +2098,7 @@ instance.web.form.FieldEmail = instance.web.form.FieldChar.extend({
if (!this.get("effective_readonly")) {
this._super();
} else {
this.$element.find('a')
this.$el.find('a')
.attr('href', 'mailto:' + this.get('value'))
.text(this.get('value') || '');
}
@ -2116,7 +2116,7 @@ instance.web.form.FieldUrl = instance.web.form.FieldChar.extend({
template: 'FieldUrl',
initialize_content: function() {
this._super();
var $button = this.$element.find('button');
var $button = this.$el.find('button');
$button.click(this.on_button_clicked);
this.setupFocus($button);
},
@ -2129,7 +2129,7 @@ instance.web.form.FieldUrl = instance.web.form.FieldChar.extend({
if (!s) {
tmp = "http://" + this.get('value');
}
this.$element.find('a').attr('href', tmp).text(this.get('value') ? tmp : '');
this.$el.find('a').attr('href', tmp).text(this.get('value') ? tmp : '');
}
},
on_button_clicked: function() {
@ -2178,8 +2178,8 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
},
start: function() {
var self = this;
this.$input = this.$element.find('input.oe_datepicker_master');
this.$input_picker = this.$element.find('input.oe_datepicker_container');
this.$input = this.$el.find('input.oe_datepicker_master');
this.$input_picker = this.$el.find('input.oe_datepicker_container');
this.$input.change(this.on_change);
this.picker({
onClose: this.on_picker_select,
@ -2189,7 +2189,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
showWeek: true,
showButtonPanel: true
});
this.$element.find('img.oe_datepicker_trigger').click(function() {
this.$el.find('img.oe_datepicker_trigger').click(function() {
if (self.get("effective_readonly") || self.picker('widget').is(':visible')) {
self.$input.focus();
return;
@ -2226,7 +2226,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
set_readonly: function(readonly) {
this.readonly = readonly;
this.$input.prop('readonly', this.readonly);
this.$element.find('img.oe_datepicker_trigger').toggleClass('oe_input_icon_disabled', readonly);
this.$el.find('img.oe_datepicker_trigger').toggleClass('oe_input_icon_disabled', readonly);
},
is_valid_: function() {
var value_ = this.$input.val();
@ -2276,7 +2276,7 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc
this.datewidget.on_change.add_last(_.bind(function() {
this.set({'value': this.datewidget.get_value()});
}, this));
this.datewidget.appendTo(this.$element);
this.datewidget.appendTo(this.$el);
this.setupFocus(this.datewidget.$input);
}
},
@ -2288,7 +2288,7 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc
if (!this.get("effective_readonly")) {
this.datewidget.set_value(this.get('value'));
} else {
this.$element.text(instance.web.format_value(this.get('value'), this, ''));
this.$el.text(instance.web.format_value(this.get('value'), this, ''));
}
},
is_syntax_valid: function() {
@ -2317,7 +2317,7 @@ instance.web.form.FieldDate = instance.web.form.FieldDatetime.extend({
instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, {
template: 'FieldText',
initialize_content: function() {
this.$textarea = this.$element.find('textarea');
this.$textarea = this.$el.find('textarea');
if (!this.get("effective_readonly")) {
this.$textarea.change(_.bind(function() {
this.set({'value': instance.web.parse_value(this.$textarea.val(), this)});
@ -2325,7 +2325,7 @@ instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.we
} else {
this.$textarea.attr('disabled', 'disabled');
}
this.$element.keyup(function (e) {
this.$el.keyup(function (e) {
if (e.which === $.ui.keyCode.ENTER) {
e.stopPropagation();
}
@ -2357,7 +2357,7 @@ instance.web.form.FieldText = instance.web.form.AbstractField.extend(instance.we
is_false: function() {
return this.get('value') === '' || this._super();
},
focus: function($element) {
focus: function($el) {
this.$textarea.focus();
},
do_resize: function(max_height) {
@ -2402,7 +2402,7 @@ instance.web.form.FieldTextHtml = instance.web.form.AbstractField.extend(instanc
var self = this;
if (! this.get("effective_readonly")) {
self._updating_editor = false;
this.$textarea = this.$element.find('textarea');
this.$textarea = this.$el.find('textarea');
var width = ((this.node.attrs || {}).editor_width || 468);
var height = ((this.node.attrs || {}).editor_height || 100);
this.$textarea.cleditor({
@ -2435,7 +2435,7 @@ instance.web.form.FieldTextHtml = instance.web.form.AbstractField.extend(instanc
this.$cleditor.updateFrame();
this._updating_editor = false;
} else {
this.$element.html(this.get('value'));
this.$el.html(this.get('value'));
}
},
});
@ -2445,9 +2445,9 @@ instance.web.form.FieldBoolean = instance.web.form.AbstractField.extend({
start: function() {
var self = this;
this._super.apply(this, arguments);
this.$checkbox = $("input", this.$element);
this.$checkbox = $("input", this.$el);
this.setupFocus(this.$checkbox);
this.$element.click(_.bind(function() {
this.$el.click(_.bind(function() {
this.set({'value': this.$checkbox.is(':checked')});
}, this));
var check_readonly = function() {
@ -2469,7 +2469,7 @@ instance.web.form.FieldProgressBar = instance.web.form.AbstractField.extend({
template: 'FieldProgressBar',
start: function() {
this._super.apply(this, arguments);
this.$element.progressbar({
this.$el.progressbar({
value: this.get('value'),
disabled: this.get("effective_readonly")
});
@ -2481,7 +2481,7 @@ instance.web.form.FieldProgressBar = instance.web.form.AbstractField.extend({
show_value = 0;
}
var formatted_value = instance.web.format_value(show_value, { type : 'float' }, '0');
this.$element.progressbar('option', 'value', show_value).find('span').html(formatted_value + '%');
this.$el.progressbar('option', 'value', show_value).find('span').html(formatted_value + '%');
}
});
@ -2512,9 +2512,9 @@ instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instan
// changing the selected value), takes the action as validating the
// row
var ischanging = false;
var $select = this.$element.find('select')
var $select = this.$el.find('select')
.change(_.bind(function() {
this.set({'value': this.values[this.$element.find('select')[0].selectedIndex][0]});
this.set({'value': this.values[this.$el.find('select')[0].selectedIndex][0]});
}, this))
.change(function () { ischanging = true; })
.click(function () { ischanging = false; })
@ -2537,23 +2537,23 @@ instance.web.form.FieldSelection = instance.web.form.AbstractField.extend(instan
for (var i = 0, ii = this.values.length; i < ii; i++) {
if (this.values[i][0] === this.get('value')) index = i;
}
this.$element.find('select')[0].selectedIndex = index;
this.$el.find('select')[0].selectedIndex = index;
} else {
var self = this;
var option = _(this.values)
.detect(function (record) { return record[0] === self.get('value'); });
this.$element.text(option ? option[1] : this.values[0][1]);
this.$el.text(option ? option[1] : this.values[0][1]);
}
},
is_syntax_valid: function() {
if (this.get("effective_readonly")) {
return true;
}
var value_ = this.values[this.$element.find('select')[0].selectedIndex];
var value_ = this.values[this.$el.find('select')[0].selectedIndex];
return !! value_;
},
focus: function() {
this.$element.find('select:first').focus();
this.$el.find('select:first').focus();
}
});
@ -2731,7 +2731,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
},
render_editable: function() {
var self = this;
this.$input = this.$element.find("input");
this.$input = this.$el.find("input");
self.$input.tipsy({
title: function() {
@ -2751,8 +2751,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
self.$input.tipsy("hide");
});
this.$drop_down = this.$element.find(".oe_m2o_drop_down_button");
this.$follow_button = $(".oe_m2o_cm_button", this.$element);
this.$drop_down = this.$el.find(".oe_m2o_drop_down_button");
this.$follow_button = $(".oe_m2o_cm_button", this.$el);
this.$follow_button.click(function() {
if (!self.get('value')) {
@ -2926,7 +2926,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
if (follow)
link += "<br />";
}
var $link = this.$element.find('.oe_form_uri')
var $link = this.$el.find('.oe_form_uri')
.unbind('click')
.html(link);
if (! this.options.no_open)
@ -2941,7 +2941,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
});
return false;
});
$(".oe_form_m2o_follow", this.$element).html(follow);
$(".oe_form_m2o_follow", this.$el).html(follow);
}
},
set_value: function(value_) {
@ -3042,7 +3042,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.addClass('oe_form_field oe_form_field_one2many');
this.$el.addClass('oe_form_field oe_form_field_one2many');
var self = this;
@ -3152,7 +3152,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
}
} else if (view_type === "form") {
if (self.get("effective_readonly")) {
$(".oe_form_buttons", controller.$element).children().remove();
$(".oe_form_buttons", controller.$el).children().remove();
}
controller.on_record_loaded.add_last(function() {
once.resolve();
@ -3173,7 +3173,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
});
this.is_setted.then(function() {
$.async_when().then(function () {
self.viewmanager.appendTo(self.$element);
self.viewmanager.appendTo(self.$el);
});
});
return def;
@ -3394,7 +3394,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
},
start: function () {
var ret = this._super();
this.$element
this.$el
.off('mousedown.handleButtons')
.on('mousedown.handleButtons', 'table button', this.proxy('_button_down'));
return ret;
@ -3408,7 +3408,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
// If the form has not been modified, the view can only be valid
// NB: is_dirty will also be set on defaults/onchanges/whatever?
// oe_form_dirty seems to only be set on actual user actions
if (!form.$element.is('.oe_form_dirty')) {
if (!form.$el.is('.oe_form_dirty')) {
return true;
}
this.o2m._dirty_flag = true;
@ -3522,7 +3522,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
return;
}
// FIXME: why isn't there an API for this?
if (this.editor.form.$element.hasClass('oe_form_dirty')) {
if (this.editor.form.$el.hasClass('oe_form_dirty')) {
this.save_edition();
return;
}
@ -3650,7 +3650,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
if (this.get("effective_readonly"))
return;
var self = this;
self.$text = $("textarea", this.$element);
self.$text = $("textarea", this.$el);
self.$text.textext({
plugins : 'tags arrow autocomplete',
autocomplete: {
@ -3708,7 +3708,7 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
self._drop_shown = true;
});
self.tags = self.$text.textext()[0].tags();
$("textarea", this.$element).focusout(function() {
$("textarea", this.$el).focusout(function() {
self.$text.trigger("setInputData", "");
}).keydown(function(e) {
if (e.which === $.ui.keyCode.TAB && self._drop_shown) {
@ -3742,10 +3742,10 @@ instance.web.form.FieldMany2ManyTags = instance.web.form.AbstractField.extend(in
data = _.map(values, function(el) { return indexed[el]; });
if (! self.get("effective_readonly")) {
self.tags.containerElement().children().remove();
$("textarea", self.$element).css("padding-left", "3px");
$("textarea", self.$el).css("padding-left", "3px");
self.tags.addTags(_.map(data, function(el) {return {name: el[1], id:el[0]};}));
} else {
self.$element.html(QWeb.render("FieldMany2ManyTag", {elements: data}));
self.$el.html(QWeb.render("FieldMany2ManyTag", {elements: data}));
}
};
if (! values || values.length > 0) {
@ -3773,7 +3773,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.addClass('oe_form_field oe_form_field_many2many');
this.$el.addClass('oe_form_field oe_form_field_many2many');
var self = this;
@ -3836,7 +3836,7 @@ instance.web.form.FieldMany2Many = instance.web.form.AbstractField.extend({
loaded.resolve();
});
$.async_when().then(function () {
self.list_view.appendTo(self.$element);
self.list_view.appendTo(self.$el);
});
return loaded;
},
@ -3964,7 +3964,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
});
this.kanban_view.do_switch_view.add_last(_.bind(this.open_popup, this));
$.async_when().then(function () {
self.kanban_view.appendTo(self.$element);
self.kanban_view.appendTo(self.$el);
});
return loaded;
},
@ -4048,7 +4048,7 @@ instance.web.form.Many2ManyQuickCreate = instance.web.Widget.extend({
},
start: function () {
var self = this;
self.$text = this.$element.find('input').css("width", "200px");
self.$text = this.$el.find('input').css("width", "200px");
self.$text.textext({
plugins : 'arrow autocomplete',
autocomplete: {
@ -4156,8 +4156,8 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
},
title: this.options.title || "",
buttons: [{text:"tmp"}],
}, this.$element).open();
this.$buttonpane = dialog.$element.dialog("widget").find(".ui-dialog-buttonpane").html("");
}, this.$el).open();
this.$buttonpane = dialog.$el.dialog("widget").find(".ui-dialog-buttonpane").html("");
this.start();
},
on_write_completed: function() {},
@ -4180,7 +4180,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
if (this.options.alternative_form_view) {
this.view_form.set_embedded_view(this.options.alternative_form_view);
}
this.view_form.appendTo(this.$element.find(".oe_popup_form"));
this.view_form.appendTo(this.$el.find(".oe_popup_form"));
this.view_form.on_loaded.add_last(function() {
var multi_select = self.row_id === null && ! self.options.disable_multiple_selection;
self.$buttonpane.html(QWeb.render("AbstractFormPopup.buttons", {
@ -4220,7 +4220,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({
this.destroy();
},
destroy: function () {
this.$element.dialog('close');
this.$el.dialog('close');
this._super();
},
});
@ -4312,7 +4312,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
e.cancel = true;
});
self.view_list.popup = self;
self.view_list.appendTo($(".oe_popup_list", self.$element)).pipe(function() {
self.view_list.appendTo($(".oe_popup_list", self.$el)).pipe(function() {
self.view_list.do_show();
}).pipe(function() {
self.searchview.do_search();
@ -4330,7 +4330,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
});
});
});
this.searchview.appendTo($(".oe_popup_list", self.$element));
this.searchview.appendTo($(".oe_popup_list", self.$el));
},
do_search: function(domains, contexts, groupbys) {
var self = this;
@ -4356,7 +4356,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
this.searchview.hide();
}
if (this.view_list) {
this.view_list.$element.hide();
this.view_list.$el.hide();
}
this.setup_form_view();
},
@ -4389,7 +4389,7 @@ instance.web.form.FieldReference = instance.web.form.AbstractField.extend(instan
var sel = this.selection.get_value();
this.m2o.field.relation = sel;
this.m2o.set_value(false);
this.m2o.$element.toggle(sel !== false);
this.m2o.$el.toggle(sel !== false);
}
},
destroy_content: function() {
@ -4493,9 +4493,9 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.
this._super.apply(this, arguments);
},
initialize_content: function() {
this.$element.find('input.oe_form_binary_file').change(this.on_file_change);
this.$element.find('button.oe_form_binary_file_save').click(this.on_save_as);
this.$element.find('.oe_form_binary_file_clear').click(this.on_clear);
this.$el.find('input.oe_form_binary_file').change(this.on_file_change);
this.$el.find('button.oe_form_binary_file_save').click(this.on_save_as);
this.$el.find('.oe_form_binary_file_clear').click(this.on_clear);
},
human_filesize : function(size) {
var units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
@ -4512,10 +4512,10 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.
// http://deepliquid.com/projects/Jcrop/demos.php?demo=handler
if ($(e.target).val() !== '') {
this.$element.find('form.oe_form_binary_form input[name=session_id]').val(this.session.session_id);
this.$element.find('form.oe_form_binary_form').submit();
this.$element.find('.oe_form_binary_progress').show();
this.$element.find('.oe_form_binary').hide();
this.$el.find('form.oe_form_binary_form input[name=session_id]').val(this.session.session_id);
this.$el.find('form.oe_form_binary_form').submit();
this.$el.find('.oe_form_binary_progress').show();
this.$el.find('.oe_form_binary').hide();
}
},
on_file_uploaded: function(size, name, content_type, file_base64) {
@ -4527,8 +4527,8 @@ instance.web.form.FieldBinary = instance.web.form.AbstractField.extend(instance.
this.filename = name;
this.on_file_uploaded_and_valid.apply(this, arguments);
}
this.$element.find('.oe_form_binary_progress').hide();
this.$element.find('.oe_form_binary').show();
this.$el.find('.oe_form_binary_progress').hide();
this.$el.find('.oe_form_binary').show();
},
on_file_uploaded_and_valid: function(size, name, content_type, file_base64) {
},
@ -4582,7 +4582,7 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
this._super();
if (this.get("effective_readonly")) {
var self = this;
this.$element.find('a').click(function() {
this.$el.find('a').click(function() {
if (self.get('value')) {
self.on_save_as();
}
@ -4602,12 +4602,12 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
} else {
show_value = (this.get('value') != null && this.get('value') !== false) ? this.get('value') : '';
}
this.$element.find('input').eq(0).val(show_value);
this.$el.find('input').eq(0).val(show_value);
} else {
this.$element.find('a').show(!!this.get('value'));
this.$el.find('a').show(!!this.get('value'));
if (this.get('value')) {
var show_value = _t("Download") + " " + (this.view.datarecord[this.node.attrs.filename] || '');
this.$element.find('a').text(show_value);
this.$el.find('a').text(show_value);
}
}
},
@ -4615,7 +4615,7 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
this.binary_value = true;
this.set({'value': file_base64});
var show_value = name + " (" + this.human_filesize(size) + ")";
this.$element.find('input').eq(0).val(show_value);
this.$el.find('input').eq(0).val(show_value);
this.set_filename(name);
},
set_filename: function(value_) {
@ -4626,7 +4626,7 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({
},
on_clear: function() {
this._super.apply(this, arguments);
this.$element.find('input').eq(0).val('');
this.$el.find('input').eq(0).val('');
this.set_filename('');
}
});
@ -4653,8 +4653,8 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
url = "/web/static/src/img/placeholder.png";
}
var $img = $(QWeb.render("FieldBinaryImage-img", { widget: this, url: url }));
this.$element.find('> img').remove();
this.$element.prepend($img);
this.$el.find('> img').remove();
this.$el.prepend($img);
$img.load(function() {
if (! self.options.size)
return;
@ -4692,11 +4692,11 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
// backward compatibility
this.loaded = new $.Deferred();
if (this.options.clickable) {
this.$element.on('click','li',this.on_click_stage);
this.$el.on('click','li',this.on_click_stage);
}
// TODO move the following into css :after
if (this.$element.parent().is('header')) {
this.$element.after('<div class="oe_clear"/>');
if (this.$el.parent().is('header')) {
this.$el.after('<div class="oe_clear"/>');
}
},
set_value: function(value_) {
@ -4757,7 +4757,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
render_elements: function () {
var self = this;
var content = instance.web.qweb.render("FieldStatus.content", {widget: this});
this.$element.html(content);
this.$el.html(content);
var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}");
var color = colors[this.selected_value];
if (color) {

View File

@ -145,7 +145,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* @returns {$.Deferred} loading promise
*/
start: function() {
this.$element.addClass('oe_list');
this.$el.addClass('oe_list');
return this.reload_view(null, null, true);
},
/**
@ -248,20 +248,20 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.setup_columns(this.fields_view.fields, grouped);
this.$element.html(QWeb.render(this._template, this));
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.html(QWeb.render(this._template, this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
// Head hook
// Selecting records
this.$element.find('.oe_list_record_selector').click(function(){
self.$element.find('.oe_list_record_selector input').prop('checked',
self.$element.find('.oe_list_record_selector').prop('checked') || false);
this.$el.find('.oe_list_record_selector').click(function(){
self.$el.find('.oe_list_record_selector input').prop('checked',
self.$el.find('.oe_list_record_selector').prop('checked') || false);
var selection = self.groups.get_selection();
$(self.groups).trigger(
'selected', [selection.ids, selection.records]);
});
// Sorting columns
this.$element.find('thead').delegate('th.oe_sortable[data-id]', 'click', function (e) {
this.$el.find('thead').delegate('th.oe_sortable[data-id]', 'click', function (e) {
e.stopPropagation();
var $this = $(this);
self.dataset.sort($this.data('id'));
@ -281,7 +281,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$element.find('.oe_list_buttons').replaceWith(this.$buttons);
this.$el.find('.oe_list_buttons').replaceWith(this.$buttons);
}
this.$buttons.find('.oe_list_add')
.click(this.proxy('do_add_record'))
@ -298,7 +298,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (this.options.$buttons) {
this.$pager.appendTo(this.options.$pager);
} else {
this.$element.find('.oe_list_pager').replaceWith(this.$pager);
this.$el.find('.oe_list_pager').replaceWith(this.$pager);
}
this.$pager
@ -357,7 +357,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
{ label: _t('Delete'), callback: this.do_delete_selected }
]);
this.sidebar.add_toolbar(this.fields_view.toolbar);
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
},
/**
@ -450,7 +450,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
},
do_hide: function () {
if (this.sidebar) {
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
if (this.$buttons) {
this.$buttons.hide();
@ -490,10 +490,10 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
*/
reload_content: function () {
var self = this;
self.$element.find('.oe_list_record_selector').prop('checked', false);
self.$el.find('.oe_list_record_selector').prop('checked', false);
this.records.reset();
var reloaded = $.Deferred();
this.$element.find('.oe_list_content').append(
this.$el.find('.oe_list_content').append(
this.groups.render(function () {
if (self.dataset.index == null) {
var has_one = false;
@ -595,7 +595,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (!ids.length) {
this.dataset.index = 0;
if (this.sidebar) {
this.sidebar.$element.hide();
this.sidebar.$el.hide();
}
this.compute_aggregates();
return;
@ -603,7 +603,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
this.dataset.index = _(this.dataset.ids).indexOf(ids[0]);
if (this.sidebar) {
this.sidebar.$element.show();
this.sidebar.$el.show();
}
this.compute_aggregates(_(records).map(function (record) {
@ -763,7 +763,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
},
display_aggregates: function (aggregation) {
var self = this;
var $footer_cells = this.$element.find('.oe_list_footer');
var $footer_cells = this.$el.find('.oe_list_footer');
_(this.aggregate_columns).each(function (column) {
if (!column['function']) {
return;
@ -789,7 +789,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
pad_columns: function (count, options) {
options = options || {};
// padding for action/pager header
var $first_header = this.$element.find('thead tr:first th');
var $first_header = this.$el.find('thead tr:first th');
var colspan = $first_header.attr('colspan');
if (colspan) {
if (!this.previous_colspan) {
@ -798,7 +798,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
$first_header.attr('colspan', parseInt(colspan, 10) + count);
}
// Padding for column titles, footer and data rows
var $rows = this.$element
var $rows = this.$el
.find('.oe_list_header_columns, tr:not(thead tr)')
.not(options['except']);
var newcols = new Array(count+1).join('<td class="oe_list_padding"></td>');
@ -812,23 +812,23 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
* Removes all padding columns of the table
*/
unpad_columns: function () {
this.$element.find('.oe_list_padding').remove();
this.$el.find('.oe_list_padding').remove();
if (this.previous_colspan) {
this.$element
this.$el
.find('thead tr:first th')
.attr('colspan', this.previous_colspan);
this.previous_colspan = null;
}
},
no_result: function () {
this.$element.find('.oe_view_nocontent').remove();
this.$el.find('.oe_view_nocontent').remove();
if (this.groups.group_by
|| !this.options.action
|| !this.options.action.help) {
return;
}
this.$element.find('table:first').hide();
this.$element.prepend(
this.$el.find('table:first').hide();
this.$el.prepend(
$('<div class="oe_view_nocontent">').html(this.options.action.help)
);
}
@ -1478,27 +1478,27 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we
},
render: function (post_render) {
var self = this;
var $element = $('<tbody>');
this.elements = [$element[0]];
var $el = $('<tbody>');
this.elements = [$el[0]];
this.datagroup.list(
_(this.view.visible_columns).chain()
.filter(function (column) { return column.tag === 'field' })
.pluck('name').value(),
function (groups) {
$element[0].appendChild(
$el[0].appendChild(
self.render_groups(groups));
if (post_render) { post_render(); }
}, function (dataset) {
self.render_dataset(dataset).then(function (list) {
self.children[null] = list;
self.elements =
[list.$current.replaceAll($element)[0]];
[list.$current.replaceAll($el)[0]];
self.setup_resequence_rows(list, dataset);
if (post_render) { post_render(); }
});
});
return $element;
return $el;
},
/**
* Returns the ids of all selected records for this group, and the records

View File

@ -45,10 +45,10 @@ openerp.web.list_editable = function (instance) {
}
});
this.on('edit:after', this, function () {
self.$element.add(self.$buttons).addClass('oe_editing');
self.$el.add(self.$buttons).addClass('oe_editing');
});
this.on('save:after cancel:after', this, function () {
self.$element.add(self.$buttons).removeClass('oe_editing');
self.$el.add(self.$buttons).removeClass('oe_editing');
});
},
destroy: function () {
@ -87,8 +87,8 @@ openerp.web.list_editable = function (instance) {
*/
do_add_record: function () {
if (this.editable()) {
this.$element.find('table:first').show();
this.$element.find('.oe_view_nocontent').remove();
this.$el.find('table:first').show();
this.$el.find('.oe_view_nocontent').remove();
this.start_edition();
} else {
this._super();
@ -99,7 +99,7 @@ openerp.web.list_editable = function (instance) {
// tree/@editable takes priority on everything else if present.
var result = this._super(data, grouped);
if (this.editable()) {
this.$element.addClass('oe_list_editable');
this.$el.addClass('oe_list_editable');
// FIXME: any hook available to ensure this is only done once?
this.$buttons
.off('click', '.oe_list_save')
@ -109,7 +109,7 @@ openerp.web.list_editable = function (instance) {
e.preventDefault();
self.cancel_edition();
});
this.$element
this.$el
.off('click', 'tbody td:not(.oe_list_field_cell)')
.on('click', 'tbody td:not(.oe_list_field_cell)', function () {
if (!self.editor.is_editing()) {
@ -120,12 +120,12 @@ openerp.web.list_editable = function (instance) {
// Editor is not restartable due to formview not being
// restartable
this.editor = this.make_editor();
var editor_ready = this.editor.prependTo(this.$element)
var editor_ready = this.editor.prependTo(this.$el)
.then(this.proxy('setup_events'));
return $.when(result, editor_ready);
} else {
this.$element.removeClass('oe_list_editable');
this.$el.removeClass('oe_list_editable');
}
return result;
@ -203,7 +203,7 @@ openerp.web.list_editable = function (instance) {
}
// FIXME: need better way to get the field back from bubbling (delegated) DOM events somehow
field.$element.attr('data-fieldname', field_name);
field.$el.attr('data-fieldname', field_name);
self.fields_for_resize.push({field: field, cell: cell});
}, options).pipe(function () {
$recordRow.addClass('oe_edition');
@ -249,8 +249,8 @@ openerp.web.list_editable = function (instance) {
var position = $cell.position();
// jquery does not understand !important
field.$element.attr('style', 'width: '+$cell.outerWidth()+'px !important')
field.$element.css({
field.$el.attr('style', 'width: '+$cell.outerWidth()+'px !important')
field.$el.css({
top: position.top,
left: position.left,
minHeight: $cell.outerHeight()
@ -391,7 +391,7 @@ openerp.web.list_editable = function (instance) {
},
setup_events: function () {
var self = this;
this.editor.$element.on('keyup keydown', function (e) {
this.editor.$el.on('keyup keydown', function (e) {
if (!self.editor.is_editing()) { return; }
var key = _($.ui.keyCode).chain()
.map(function (v, k) { return {name: k, code: v}; })
@ -540,7 +540,7 @@ openerp.web.list_editable = function (instance) {
if (--field_index < 0) { return $.when(); }
field = fields[fields_order[field_index]];
} while (!field.$element.is(':visible'));
} while (!field.$el.is(':visible'));
// and focus it
field.focus();
@ -563,7 +563,7 @@ openerp.web.list_editable = function (instance) {
if (++field_index >= fields_order.length) { return $.when(); }
field = fields[fields_order[field_index]];
} while (!field.$element.is(':visible'));
} while (!field.$el.is(':visible'));
field.focus();
return $.when();
@ -572,11 +572,11 @@ openerp.web.list_editable = function (instance) {
var form = this.editor.form;
var last_field = _(form.fields_order).chain()
.map(function (name) { return form.fields[name]; })
.filter(function (field) { return field.$element.is(':visible'); })
.filter(function (field) { return field.$el.is(':visible'); })
.last()
.value();
// tabbed from last field in form
if (last_field && last_field.$element.has(e.target).length) {
if (last_field && last_field.$el.has(e.target).length) {
e.preventDefault();
return this._next();
}
@ -620,7 +620,7 @@ openerp.web.list_editable = function (instance) {
var _super = this._super();
this.form.embedded_view = this._validate_view(
this.delegate.edition_view(this));
var form_ready = this.form.appendTo(this.$element).then(
var form_ready = this.form.appendTo(this.$el).then(
self.form.proxy('do_hide'));
return $.when(_super, form_ready);
},
@ -678,7 +678,7 @@ openerp.web.list_editable = function (instance) {
// Is actually in the form
&& (field = form.fields[focus_field])
// And is visible
&& field.$element.is(':visible')) {
&& field.$el.is(':visible')) {
// focus it
field.focus();
return;
@ -687,7 +687,7 @@ openerp.web.list_editable = function (instance) {
_(form.fields_order).detect(function (name) {
// look for first visible field in fields_order, focus it
var field = form.fields[name];
if (!field.$element.is(':visible')) {
if (!field.$el.is(':visible')) {
return false;
}
// Stop as soon as a field got focused

View File

@ -84,13 +84,13 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
});
this.fields = fields_view.fields;
this.hook_row_click();
this.$element.html(QWeb.render('TreeView', {
this.$el.html(QWeb.render('TreeView', {
'title': this.fields_view.arch.attrs.string,
'fields_view': this.fields_view.arch.children,
'fields': this.fields,
'toolbar': has_toolbar
}));
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
this.dataset.read_slice(this.fields_list()).then(function(records) {
self.store_record(records);
@ -102,7 +102,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
return;
}
var $select = self.$element.find('select')
var $select = self.$el.find('select')
.change(function () {
var $option = $(this).find(':selected');
self.getdata($option.val());
@ -120,10 +120,10 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
$select.change();
}
});
this.$element.find("#tree_view_expand").click(function(){
this.$el.find("#tree_view_expand").click(function(){
self.expand_all();
});
this.$element.find("#tree_view_collapse").click(function(){
this.$el.find("#tree_view_collapse").click(function(){
self.collpase_all();
});
// TODO store open nodes in url ?...
@ -143,14 +143,14 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
},
expand_all: function(){
var self = this;
var tr = this.$element.find(".oe-treeview-table tbody tr[id^='treerow_']");
var tr = this.$el.find(".oe-treeview-table tbody tr[id^='treerow_']");
_.each(tr,function(rec){
self.showcontent($(rec).attr('data-id'),true);
});
},
collpase_all: function(){
var self = this;
var root_tr = this.$element.find(".oe-treeview-table tbody tr[data-level='"+1+"']");
var root_tr = this.$el.find(".oe-treeview-table tbody tr[data-level='"+1+"']");
_.each(root_tr,function(rec){
if($(rec).hasClass('oe_open')){
self.showcontent($(rec).attr('data-id'),false);
@ -187,12 +187,12 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
*/
hook_row_click: function () {
var self = this;
this.$element.delegate('.treeview-td span, .treeview-tr span', 'click', function (e) {
this.$el.delegate('.treeview-td span, .treeview-tr span', 'click', function (e) {
e.stopImmediatePropagation();
self.activate($(this).closest('tr').data('id'));
});
this.$element.delegate('.treeview-tr', 'click', function () {
this.$el.delegate('.treeview-tr', 'click', function () {
var $this = $(this),
record_id = $this.data('id'),
bool = $this.parent().hasClass('oe_open');
@ -220,7 +220,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
render_data: function(groupby){
var self = this;
_.each(_.keys(groupby),function(key){
var $curr_node = self.$element.find('#treerow_' + key);
var $curr_node = self.$el.find('#treerow_' + key);
var record = groupby[key];
var children_rows = QWeb.render('TreeView.rows', {
'records': record,
@ -235,7 +235,7 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
$curr_node.addClass('oe_open');
$curr_node.after(children_rows);
} else {
self.$element.find('tbody').html(children_rows);
self.$el.find('tbody').html(children_rows);
}
});
self.collpase_all();
@ -272,11 +272,11 @@ instance.web.TreeView = instance.web.View.extend(/** @lends instance.web.TreeVie
// show & hide the contents
showcontent: function (record_id, show) {
this.$element.find('#treerow_' + record_id)
this.$el.find('#treerow_' + record_id)
.toggleClass('oe_open', show);
_(this.records[record_id][this.children_field]).each(function (child_id) {
var $child_row = this.$element.find('#treerow_' + child_id);
var $child_row = this.$el.find('#treerow_' + child_id);
if ($child_row.hasClass('oe_open')) {
this.showcontent(child_id, false);
}

View File

@ -20,7 +20,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
this.$element.on('click', '.oe_breadcrumb_item', this.on_breadcrumb_clicked);
this.$el.on('click', '.oe_breadcrumb_item', this.on_breadcrumb_clicked);
},
dialog_stop: function () {
if (this.dialog) {
@ -53,10 +53,10 @@ instance.web.ActionManager = instance.web.Widget.extend({
}
var item = _.extend({
show: function(index) {
this.widget.$element.show();
this.widget.$el.show();
},
hide: function() {
this.widget.$element.hide();
this.widget.$el.hide();
},
destroy: function() {
this.widget.destroy();
@ -277,14 +277,14 @@ instance.web.ActionManager = instance.web.Widget.extend({
}
this.dialog.dialog_title = action.name;
this.dialog_widget = widget;
this.dialog_widget.appendTo(this.dialog.$element);
this.dialog_widget.appendTo(this.dialog.$el);
this.dialog.open();
} else {
this.dialog_stop();
this.inner_action = action;
this.inner_widget = widget;
post_process();
this.inner_widget.appendTo(this.$element);
this.inner_widget.appendTo(this.$el);
}
},
ir_actions_act_window: function (action, on_close) {
@ -376,7 +376,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
start: function() {
this._super();
var self = this;
this.$element.find('.oe_view_manager_switch a').click(function() {
this.$el.find('.oe_view_manager_switch a').click(function() {
self.on_mode_switch($(this).data('view-type'));
}).tipsy();
var views_ids = {};
@ -385,9 +385,9 @@ instance.web.ViewManager = instance.web.Widget.extend({
deferred : $.Deferred(),
controller : null,
options : _.extend({
$buttons : self.$element.find('.oe_view_manager_buttons'),
$sidebar : self.flags.sidebar ? self.$element.find('.oe_view_manager_sidebar') : undefined,
$pager : self.$element.find('.oe_view_manager_pager'),
$buttons : self.$el.find('.oe_view_manager_buttons'),
$sidebar : self.flags.sidebar ? self.$el.find('.oe_view_manager_sidebar') : undefined,
$pager : self.$el.find('.oe_view_manager_pager'),
action : self.action,
action_views_ids : views_ids
}, self.flags, self.flags[view.view_type] || {}, view.options || {})
@ -395,7 +395,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
views_ids[view.view_type] = view.view_id;
});
if (this.flags.views_switcher === false) {
this.$element.find('.oe_view_manager_switch').hide();
this.$el.find('.oe_view_manager_switch').hide();
}
// If no default view defined, switch to the first one in sequence
var default_view = this.flags.default_view || this.views_src[0].view_type;
@ -432,9 +432,9 @@ instance.web.ViewManager = instance.web.Widget.extend({
this.searchview[(view.controller.searchable === false || this.searchview.hidden) ? 'hide' : 'show']();
}
this.$element
this.$el
.find('.oe_view_manager_switch a').parent().removeClass('active');
this.$element
this.$el
.find('.oe_view_manager_switch a').filter('[data-view-type="' + view_type + '"]')
.parent().addClass('active');
@ -442,7 +442,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
_.each(_.keys(self.views), function(view_name) {
var controller = self.views[view_name].controller;
if (controller) {
var container = self.$element.find(".oe_view_manager_view_" + view_name + ":first");
var container = self.$el.find(".oe_view_manager_view_" + view_name + ":first");
if (view_name === view_type) {
container.show();
controller.do_show(view_options || {});
@ -451,10 +451,10 @@ instance.web.ViewManager = instance.web.Widget.extend({
controller.do_hide();
}
// put the <footer> in the dialog's buttonpane
if (self.$element.parent('.ui-dialog-content') && self.$element.find('footer')) {
self.$element.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonset').hide()
self.$element.find('footer').appendTo(
self.$element.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonpane')
if (self.$el.parent('.ui-dialog-content') && self.$el.find('footer')) {
self.$el.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonset').hide()
self.$el.find('footer').appendTo(
self.$el.parent('.ui-dialog-content').parent().find('div.ui-dialog-buttonpane')
);
}
}
@ -491,7 +491,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
controller.do_switch_view.add_last(_.bind(this.switch_view, this));
controller.do_prev_view.add_last(this.on_prev_view);
var container = this.$element.find(".oe_view_manager_view_" + view_type);
var container = this.$el.find(".oe_view_manager_view_" + view_type);
var view_promise = controller.appendTo(container);
this.views[view_type].controller = controller;
this.views[view_type].deferred.resolve(view_type);
@ -505,7 +505,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
});
},
set_title: function(title) {
this.$element.find('.oe_view_title_text:first').text(title);
this.$el.find('.oe_view_title_text:first').text(title);
},
add_breadcrumb: function() {
var self = this;
@ -524,7 +524,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
action: this.action,
show: function(index) {
var view_to_select = views[index];
self.$element.show();
self.$el.show();
if (self.active_view !== view_to_select) {
self.on_mode_switch(view_to_select);
}
@ -600,7 +600,7 @@ instance.web.ViewManager = instance.web.Widget.extend({
this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, this.flags.search_view === false);
this.searchview.on_search.add(this.do_searchview_search);
return this.searchview.appendTo(this.$element.find(".oe_view_manager_view_search"));
return this.searchview.appendTo(this.$el.find(".oe_view_manager_view_search"));
},
do_searchview_search: function(domains, contexts, groupbys) {
var self = this,
@ -717,8 +717,8 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var manager_ready = $.when(searchview_loaded, main_view_loaded);
this.$element.find('.oe_debug_view').change(this.on_debug_changed);
this.$element.addClass("oe_view_manager_" + (this.action.target || 'current'));
this.$el.find('.oe_debug_view').change(this.on_debug_changed);
this.$el.addClass("oe_view_manager_" + (this.action.target || 'current'));
return manager_ready;
},
on_debug_changed: function (evt) {
@ -730,7 +730,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
switch (val) {
case 'fvg':
var dialog = new instance.web.Dialog(this, { title: _t("Fields View Get"), width: '95%' }).open();
$('<pre>').text(instance.web.json_node_to_xml(current_view.fields_view.arch, true)).appendTo(dialog.$element);
$('<pre>').text(instance.web.json_node_to_xml(current_view.fields_view.arch, true)).appendTo(dialog.$el);
break;
case 'perm_read':
var ids = current_view.get_selected_ids();
@ -828,7 +828,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
var controller = self.views[self.active_view].controller,
fvg = controller.fields_view,
view_id = (fvg && fvg.view_id) || '--';
self.$element.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
self.$el.find('.oe_debug_view').html(QWeb.render('ViewManagerDebug', {
view: controller,
view_manager: self
}));
@ -842,7 +842,7 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
return r;
},
set_title: function(title) {
this.$element.find('.oe_breadcrumb_title:first').html(this.getParent().get_title());
this.$el.find('.oe_breadcrumb_title:first').html(this.getParent().get_title());
},
do_push_state: function(state) {
if (this.getParent() && this.getParent().do_push_state) {
@ -901,7 +901,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
var self = this;
this._super(this);
this.redraw();
this.$element.on('click','.oe_dropdown_menu li a', function(event) {
this.$el.on('click','.oe_dropdown_menu li a', function(event) {
var section = $(this).data('section');
var index = $(this).data('index');
var item = self.items[section][index];
@ -917,7 +917,7 @@ instance.web.Sidebar = instance.web.Widget.extend({
},
redraw: function() {
var self = this;
self.$element.html(QWeb.render('Sidebar', {widget: self}));
self.$el.html(QWeb.render('Sidebar', {widget: self}));
// Hides Sidebar sections when item list is empty
this.$('.oe_form_dropdown_section').each(function() {
@ -1024,12 +1024,12 @@ instance.web.Sidebar = instance.web.Widget.extend({
self.items['files'] = attachments;
self.redraw();
this.$('.oe_sidebar_add_attachment .oe_form_binary_file').change(this.on_attachment_changed);
this.$element.find('.oe_sidebar_delete_item').click(this.on_attachment_delete);
this.$el.find('.oe_sidebar_delete_item').click(this.on_attachment_delete);
},
on_attachment_changed: function(e) {
var $e = $(e.target);
if ($e.val() !== '') {
this.$element.find('form.oe_form_binary_form').submit();
this.$el.find('form.oe_form_binary_form').submit();
$e.parent().find('input[type=file]').prop('disabled', true);
$e.parent().find('button').prop('disabled', true).find('img, span').toggle();
this.$('.oe_sidebar_add_attachment span').text(_t('Uploading...'));
@ -1078,8 +1078,8 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
var self = this;
this._super();
$.when(this.languages_loaded).then(function() {
self.$element.html(instance.web.qweb.render('TranslateDialog', { widget: self }));
self.$fields_form = self.$element.find('.oe_translation_form');
self.$el.html(instance.web.qweb.render('TranslateDialog', { widget: self }));
self.$fields_form = self.$el.find('.oe_translation_form');
self.$fields_form.find('.oe_trad_field').change(function() {
$(this).toggleClass('touched', ($(this).val() != $(this).attr('data-value')));
});
@ -1125,8 +1125,8 @@ instance.web.TranslateDialog = instance.web.Dialog.extend({
if (self.view.translatable_fields && self.view.translatable_fields.length) {
self.do_load_fields_values(function() {
if (field) {
var $field_input = self.$element.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child');
self.$element.scrollTo($field_input);
var $field_input = self.$el.find('tr[data-field="' + field.name + '"] td:nth-child(2) *:first-child');
self.$el.scrollTo($field_input);
$field_input.focus();
}
});
@ -1302,10 +1302,10 @@ instance.web.View = instance.web.Widget.extend({
this.embedded_view = embedded_view;
},
do_show: function () {
this.$element.show();
this.$el.show();
},
do_hide: function () {
this.$element.hide();
this.$el.hide();
},
do_push_state: function(state) {
if (this.getParent() && this.getParent().do_push_state) {

View File

@ -86,17 +86,17 @@ $(document).ready(function () {
test('no template, default', function () {
var w = new (instance.web.Widget.extend({ }));
var $original = w.$element;
var $original = w.$el;
ok($original, "should initially have a root element");
w.renderElement();
ok(w.$element, "should have generated a root element");
ok($original !== w.$element, "should have generated a new root element");
strictEqual(w.$element, w.$element, "should provide $element alias");
ok(w.$element.is(w.el), "should provide raw DOM alias");
ok(w.$el, "should have generated a root element");
ok($original !== w.$el, "should have generated a new root element");
strictEqual(w.$el, w.$el, "should provide $el alias");
ok(w.$el.is(w.el), "should provide raw DOM alias");
equal(w.el.nodeName, 'DIV', "should have generated the default element");
equal(w.el.attributes.length, 0, "should not have generated any attribute");
ok(_.isEmpty(w.$element.html(), "should not have generated any content"));
ok(_.isEmpty(w.$el.html(), "should not have generated any content"));
});
test('no template, custom tag', function () {
var w = new (instance.web.Widget.extend({
@ -113,7 +113,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.attributes.length, 1, "should have one attribute");
equal(w.$element.attr('id'), 'foo', "should have generated the id attribute");
equal(w.$el.attr('id'), 'foo', "should have generated the id attribute");
equal(w.el.id, 'foo', "should also be available via property");
});
test('no template, @className', function () {
@ -123,7 +123,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.className, 'oe_some_class', "should have the right property");
equal(w.$element.attr('class'), 'oe_some_class', "should have the right attribute");
equal(w.$el.attr('class'), 'oe_some_class', "should have the right attribute");
});
test('no template, bunch of attributes', function () {
var w = new (instance.web.Widget.extend({
@ -140,16 +140,16 @@ $(document).ready(function () {
equal(w.el.attributes.length, 5, "should have all the specified attributes");
equal(w.el.id, 'some_id');
equal(w.$element.attr('id'), 'some_id');
equal(w.$el.attr('id'), 'some_id');
equal(w.el.className, 'some_class');
equal(w.$element.attr('class'), 'some_class');
equal(w.$el.attr('class'), 'some_class');
equal(w.$element.attr('data-foo'), 'data attribute');
equal(w.$element.data('foo'), 'data attribute');
equal(w.$el.attr('data-foo'), 'data attribute');
equal(w.$el.data('foo'), 'data attribute');
equal(w.$element.attr('clark'), 'gable');
equal(w.$element.attr('spoiler'), 'snape kills dumbledore');
equal(w.$el.attr('clark'), 'gable');
equal(w.$el.attr('spoiler'), 'snape kills dumbledore');
});
test('template', function () {
@ -159,7 +159,7 @@ $(document).ready(function () {
w.renderElement();
equal(w.el.nodeName, 'OL');
equal(w.$element.children().length, 5);
equal(w.$el.children().length, 5);
equal(w.el.textContent, '01234');
});
@ -170,7 +170,7 @@ $(document).ready(function () {
}));
w.renderElement();
ok(w.$('li:eq(3)').is(w.$element.find('li:eq(3)')),
ok(w.$('li:eq(3)').is(w.$el.find('li:eq(3)')),
"should do the same thing as calling find on the widget root");
});
@ -191,7 +191,7 @@ $(document).ready(function () {
}));
w.renderElement();
w.$element.click();
w.$el.click();
w.$('li:eq(3)').click();
w.$('input:last').val('foo').change();
@ -206,7 +206,7 @@ $(document).ready(function () {
events: { 'click li': function () { clicked = true; } }
}));
w.renderElement();
w.$element.on('click', 'li', function () { newclicked = true });
w.$el.on('click', 'li', function () { newclicked = true });
w.$('li').click();
ok(clicked, "should trigger bound events");
@ -229,11 +229,11 @@ $(document).ready(function () {
.always(start)
.done(function () {
equal($fix.find('p').text(), '42', "DOM fixture should contain initial value");
equal(w.$element.text(), '42', "should set initial value");
equal(w.$el.text(), '42', "should set initial value");
w.value = 36;
w.renderElement();
equal($fix.find('p').text(), '36', "DOM fixture should use new value");
equal(w.$element.text(), '36', "should set new value");
equal(w.$el.text(), '36', "should set new value");
});
});
});

View File

@ -49,7 +49,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
},
on_loaded: function(data) {
this.fields_view = data;
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
this.calendar_fields = {};
this.ids = this.dataset.ids;
this.color_values = [];
@ -104,7 +104,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
if (!this.sidebar && this.options.$sidebar) {
this.sidebar = new instance.web_calendar.Sidebar(this);
this.has_been_loaded.pipe(this.sidebar.appendTo(this.$element.find('.oe_calendar_sidebar_container')));
this.has_been_loaded.pipe(this.sidebar.appendTo(this.$el.find('.oe_calendar_sidebar_container')));
}
return this.has_been_loaded.resolve();
@ -170,10 +170,10 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
}
};
scheduler.init(this.$element.find('.oe_calendar')[0], null, this.mode || 'month');
scheduler.init(this.$el.find('.oe_calendar')[0], null, this.mode || 'month');
// Remove hard coded style attributes from dhtmlx scheduler
this.$element.find(".dhx_cal_navline div").removeAttr('style');
this.$el.find(".dhx_cal_navline div").removeAttr('style');
scheduler.detachAllEvents();
scheduler.attachEvent('onEventAdded', this.do_create_event);
@ -186,7 +186,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
this.refresh_scheduler();
},
on_view_changed: function(mode, date) {
this.$element.find('.oe_calendar').removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode);
this.$el.find('.oe_calendar').removeClass('oe_cal_day oe_cal_week oe_cal_month').addClass('oe_cal_' + mode);
if (!date.between(this.range_start, this.range_stop)) {
this.update_range_dates(date);
this.do_ranged_search();
@ -429,7 +429,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
do_show: function () {
var self = this;
$.when(this.has_been_loaded).then(function() {
self.$element.show();
self.$el.show();
self.do_push_state({});
});
},
@ -452,7 +452,7 @@ instance.web_calendar.CalendarFormDialog = instance.web.Dialog.extend({
this.form = new instance.web.FormView(this, this.dataset, this.view_id, {
pager: false
});
var def = this.form.appendTo(this.$element);
var def = this.form.appendTo(this.$el);
this.form.on_created.add_last(this.on_form_dialog_saved);
this.form.on_saved.add_last(this.on_form_dialog_saved);
this.form.on_button_cancel = function() {
@ -482,7 +482,7 @@ instance.web_calendar.Sidebar = instance.web.Widget.extend({
start: function() {
this._super();
this.mini_calendar = scheduler.renderCalendar({
container: this.$element.find('.oe_calendar_mini')[0],
container: this.$el.find('.oe_calendar_mini')[0],
navigation: true,
date: scheduler._date,
handler: function(date, calendar) {
@ -490,7 +490,7 @@ instance.web_calendar.Sidebar = instance.web.Widget.extend({
}
});
this.filter = new instance.web_calendar.SidebarFilter(this, this.getParent());
this.filter.appendTo(this.$element.find('.oe_calendar_filter'));
this.filter.appendTo(this.$el.find('.oe_calendar_filter'));
}
});
instance.web_calendar.SidebarFilter = instance.web.Widget.extend({
@ -503,7 +503,7 @@ instance.web_calendar.SidebarFilter = instance.web.Widget.extend({
},
on_events_loaded: function(filters) {
var selected_filters = this.view.selected_filters.slice(0);
this.$element.html(QWeb.render('CalendarView.sidebar.responsible', { filters: filters }));
this.$el.html(QWeb.render('CalendarView.sidebar.responsible', { filters: filters }));
this.$('div.oe_calendar_responsible input').each(function() {
if (_.indexOf(selected_filters, $(this).val()) > -1) {
$(this).click();

View File

@ -47,15 +47,15 @@ instance.web.DiagramView = instance.web.View.extend({
return label.tag == "label";
});
this.$element.html(QWeb.render("DiagramView", this));
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.html(QWeb.render("DiagramView", this));
this.$el.addClass(this.fields_view.arch.attrs['class']);
_.each(self.labels,function(label){
html_label = '<p style="padding: 4px;">' + label.attrs.string + "</p>";
self.$element.find('.oe_diagram_header').append(html_label);
self.$el.find('.oe_diagram_header').append(html_label);
})
this.$element.find('div.oe_diagram_pager button[data-pager-action]').click(function() {
this.$el.find('div.oe_diagram_pager button[data-pager-action]').click(function() {
var action = $(this).data('pager-action');
self.on_pager_action(action);
});
@ -63,7 +63,7 @@ instance.web.DiagramView = instance.web.View.extend({
this.do_update_pager();
// New Node,Edge
this.$element.find('#new_node.oe_diagram_button_new').click(function(){self.add_node();});
this.$el.find('#new_node.oe_diagram_button_new').click(function(){self.add_node();});
if(this.id) {
self.get_diagram_info();
@ -126,7 +126,7 @@ instance.web.DiagramView = instance.web.View.extend({
var res_nodes = result['nodes'];
var res_edges = result['conn'];
this.parent_field = result.parent_field;
this.$element.find('h3.oe_diagram_title').text(result.name);
this.$el.find('h3.oe_diagram_title').text(result.name);
var id_to_node = {};
@ -161,7 +161,7 @@ instance.web.DiagramView = instance.web.View.extend({
};
// remove previous diagram
var canvas = self.$element.find('div.oe_diagram_diagram')
var canvas = self.$el.find('div.oe_diagram_diagram')
.empty().get(0);
var r = new Raphael(canvas, '100%','100%');
@ -332,7 +332,7 @@ instance.web.DiagramView = instance.web.View.extend({
});
// We want to destroy the dummy edge after a creation cancel. This destroys it even if we save the changes.
// This is not a problem since the diagram is completely redrawn on saved changes.
pop.$element.bind("dialogbeforeclose",function(){
pop.$el.bind("dialogbeforeclose",function(){
if(dummy_cuteedge){
dummy_cuteedge.remove();
}
@ -370,7 +370,7 @@ instance.web.DiagramView = instance.web.View.extend({
},
do_update_pager: function(hide_index) {
var $pager = this.$element.find('div.oe_diagram_pager');
var $pager = this.$el.find('div.oe_diagram_pager');
var index = hide_index ? '-' : this.dataset.index + 1;
if(!this.dataset.count) {
this.dataset.count = this.dataset.ids.length;

View File

@ -19,7 +19,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
on_loaded: function(fields_view_get, fields_get) {
var self = this;
this.fields_view = fields_view_get;
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
return this.rpc("/web/searchview/fields_get", {"model": this.dataset.model}).pipe(function(fields_get) {
self.fields = fields_get.fields;
self.has_been_loaded.resolve();
@ -69,7 +69,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
},
on_data_loaded_2: function(tasks, group_bys) {
var self = this;
$(".oe_gantt", this.$element).html("");
$(".oe_gantt", this.$el).html("");
//prevent more that 1 group by
if (group_bys.length > 0) {
@ -177,7 +177,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({
gantt.create(this.chart_id);
// bind event to display task when we click the item in the tree
$(".taskNameItem", self.$element).click(function(event) {
$(".taskNameItem", self.$el).click(function(event) {
var task_info = task_ids[event.target.id];
if (task_info) {
self.on_task_display(task_info.internal_task);
@ -185,10 +185,10 @@ instance.web_gantt.GanttView = instance.web.View.extend({
});
// insertion of create button
var td = $($("table td", self.$element)[0]);
var td = $($("table td", self.$el)[0]);
var rendered = QWeb.render("GanttView-create-button");
$(rendered).prependTo(td);
$(".oe_gantt_button_create", this.$element).click(this.on_task_create);
$(".oe_gantt_button_create", this.$el).click(this.on_task_create);
},
on_task_changed: function(task_obj) {
var self = this;

View File

@ -53,20 +53,20 @@ instance.web_graph.GraphView = instance.web.View.extend({
// TODO: move to load_view and document
var self = this;
this.fields_view = fields_view_get;
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
this.mode = this.fields_view.arch.attrs.type || 'bar';
this.orientation = this.fields_view.arch.attrs.orientation == 'horizontal';
var width = this.$element.parent().width();
this.$element.css("width", width);
this.container = this.$element.find("#editor-render-body").css({
var width = this.$el.parent().width();
this.$el.css("width", width);
this.container = this.$el.find("#editor-render-body").css({
width: width,
height: Math.min(500, width * 0.8)
})[0];
var graph_render = this.proxy('graph_render');
this.$element.on('click', '.oe_graph_options a', function (evt) {
this.$el.on('click', '.oe_graph_options a', function (evt) {
var $el = $(evt.target);
self.graph_render({data: filter_values({
@ -77,18 +77,18 @@ instance.web_graph.GraphView = instance.web.View.extend({
})});
});
this.$element.find("#graph_show_data").click(function () {
this.$el.find("#graph_show_data").click(function () {
self.spreadsheet = ! self.spreadsheet;
self.graph_render();
});
this.$element.find("#graph_switch").click(function () {
this.$el.find("#graph_switch").click(function () {
if (self.mode != 'radar') {
self.orientation = ! self.orientation;
}
self.graph_render();
});
this.$element.find("#graph_download").click(function () {
this.$el.find("#graph_download").click(function () {
if (self.legend == "top") { self.legend = "inside"; }
self.forcehtml = true;
@ -110,7 +110,7 @@ instance.web_graph.GraphView = instance.web.View.extend({
switch (this.legend) {
case 'top':
legend.noColumns = 4;
legend.container = this.$element.find("div.graph_header_legend")[0];
legend.container = this.$el.find("div.graph_header_legend")[0];
break;
case 'inside':
legend.position = 'nw';
@ -257,24 +257,24 @@ instance.web_graph.GraphView = instance.web.View.extend({
}
// Render the graph
this.$element.find(".graph_header_legend").children().remove();
this.$el.find(".graph_header_legend").children().remove();
this.graph = this.make_graph(this.mode, this.container, data);
// Update styles of menus
this.$element.find("a").removeClass("active");
this.$el.find("a").removeClass("active");
var $active = this.$element.find('a[data-mode=' + this.mode + ']');
var $active = this.$el.find('a[data-mode=' + this.mode + ']');
if ($active.length > 1) {
$active = $active.filter('[data-stacked=' + this.stacked + ']');
}
$active = $active.add(
this.$element.find('a:not([data-mode])[data-legend=' + this.legend + ']'));
this.$el.find('a:not([data-mode])[data-legend=' + this.legend + ']'));
$active.addClass('active');
if (this.spreadsheet) {
this.$element.find("#graph_show_data").addClass("active");
this.$el.find("#graph_show_data").addClass("active");
}
return this.graph;
},

View File

@ -48,17 +48,17 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
},
on_loaded: function(data) {
this.fields_view = data;
this.$element.addClass(this.fields_view.arch.attrs['class']);
this.$el.addClass(this.fields_view.arch.attrs['class']);
this.$buttons = $(QWeb.render("KanbanView.buttons", {'widget': this}));
if (this.options.$buttons) {
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$element.find('.oe_kanban_buttons').replaceWith(this.$buttons);
this.$el.find('.oe_kanban_buttons').replaceWith(this.$buttons);
}
this.$buttons
.on('click', 'button.oe_kanban_button_new', this.do_add_record)
.on('click', '.oe_kanban_add_column', this.do_add_group);
this.$groups = this.$element.find('.oe_kanban_groups tr');
this.$groups = this.$el.find('.oe_kanban_groups tr');
this.fields_keys = _.keys(this.fields_view.fields);
this.add_qweb_template();
this.has_been_loaded.resolve();
@ -188,14 +188,14 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
};
var new_group = new instance.web_kanban.KanbanGroup(self, [], datagroup, dataset);
self.do_add_groups([new_group]).then(function() {
$(window).scrollTo(self.groups.slice(-1)[0].$element, { axis: 'x' });
$(window).scrollTo(self.groups.slice(-1)[0].$el, { axis: 'x' });
});
});
});
},
do_search: function(domain, context, group_by) {
var self = this;
this.$element.find('.oe_view_nocontent').remove();
this.$el.find('.oe_view_nocontent').remove();
this.search_domain = domain;
this.search_context = context;
this.search_group_by = group_by;
@ -204,14 +204,14 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
self.group_by_field = self.fields_view.fields[self.group_by] || {};
self.grouped_by_m2o = (self.group_by_field.type === 'many2one');
self.$buttons.find('.oe_alternative').toggle(self.grouped_by_m2o);
self.$element.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o);
self.$el.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o);
self.datagroup = new instance.web.DataGroup(self, self.dataset.model, domain, context, self.group_by ? [self.group_by] : []);
self.datagroup.list(self.fields_keys, self.do_process_groups, self.do_process_dataset);
});
},
do_process_groups: function(groups) {
var self = this;
this.$element.remove('oe_kanban_ungrouped').addClass('oe_kanban_grouped');
this.$el.remove('oe_kanban_ungrouped').addClass('oe_kanban_grouped');
this.add_group_mutex.exec(function() {
self.do_clear_groups();
self.dataset.ids = [];
@ -234,7 +234,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
},
do_process_dataset: function(dataset) {
var self = this;
this.$element.remove('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
this.$el.remove('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
this.add_group_mutex.exec(function() {
var def = $.Deferred();
self.do_clear_groups();
@ -268,7 +268,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
});
var groups_started = _.map(this.groups, function(group) {
if (!group.is_started) {
return group.insertBefore(self.$element.find('.oe_kanban_groups_headers td:last'));
return group.insertBefore(self.$el.find('.oe_kanban_groups_headers td:last'));
}
});
return $.when.apply(null, groups_started).then(function () {
@ -280,7 +280,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
this.compute_groups_width();
if (this.group_by) {
// Kanban cards drag'n'drop
this.$element.find('.oe_kanban_column').sortable({
this.$el.find('.oe_kanban_column').sortable({
connectWith: '.oe_kanban_column',
handle : '.oe_kanban_draghandle',
start: function(event, ui) {
@ -333,13 +333,13 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
});
}
} else {
this.$element.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle');
this.$el.find('.oe_kanban_draghandle').removeClass('oe_kanban_draghandle');
}
},
on_record_moved : function(record, old_group, old_index, new_group, new_index) {
var self = this;
$.fn.tipsy.clear();
$(old_group.$element).add(new_group.$element).find('.oe_kanban_aggregates, .oe_kanban_group_length').hide();
$(old_group.$el).add(new_group.$el).find('.oe_kanban_aggregates, .oe_kanban_group_length').hide();
if (old_group === new_group) {
new_group.records.splice(old_index, 1);
new_group.records.splice(new_index, 0, record);
@ -365,18 +365,18 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
var self = this;
_.each(this.groups, function(group) {
unfolded += group.state.folded ? 0 : 1;
group.$element.children(':first').css('width', '');
group.$el.children(':first').css('width', '');
});
_.each(this.groups, function(group) {
if (!group.state.folded) {
if (182*unfolded>=self.$element.width()) {
group.$element.children(':first').css('width', "170px");
} else if (262*unfolded<self.$element.width()) {
group.$element.children(':first').css('width', "250px");
if (182*unfolded>=self.$el.width()) {
group.$el.children(':first').css('width', "170px");
} else if (262*unfolded<self.$el.width()) {
group.$el.children(':first').css('width', "250px");
} else {
// -12 because of padding 6 between cards
// -1 because of the border of the latest dummy column
group.$element.children(':first').css('width', Math.floor((self.$element.width()-1)/unfolded)-12 + 'px');
group.$el.children(':first').css('width', Math.floor((self.$el.width()-1)/unfolded)-12 + 'px');
}
}
});
@ -408,8 +408,8 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|| !this.options.action.help) {
return;
}
this.$element.find('.oe_view_nocontent').remove();
this.$element.prepend(
this.$el.find('.oe_view_nocontent').remove();
this.$el.prepend(
$('<div class="oe_view_nocontent">').html(this.options.action.help)
);
}
@ -471,22 +471,22 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
var self = this,
def = this._super();
if (! self.view.group_by) {
self.$element.addClass("oe_kanban_no_group");
self.$el.addClass("oe_kanban_no_group");
self.quick = new (get_class(self.view.quick_create_class))(this, self.dataset, {}, false)
.on('added', self, self.proxy('quick_created'));
self.quick.replace($(".oe_kanban_no_group_qc_placeholder"));
}
this.$records = $(QWeb.render('KanbanView.group_records_container', { widget : this}));
this.$records.insertBefore(this.view.$element.find('.oe_kanban_groups_records td:last'));
this.$records.insertBefore(this.view.$el.find('.oe_kanban_groups_records td:last'));
this.$element.on('click', '.oe_kanban_group_dropdown li a', function(ev) {
this.$el.on('click', '.oe_kanban_group_dropdown li a', function(ev) {
var fn = 'do_action_' + $(ev.target).data().action;
if (typeof(self[fn]) === 'function') {
self[fn]($(ev.target));
}
});
this.$element.find('.oe_kanban_add').click(function () {
this.$el.find('.oe_kanban_add').click(function () {
if (self.quick) { return; }
var ctx = {};
ctx['default_' + self.view.group_by] = self.value;
@ -500,12 +500,12 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
self.quick.focus();
});
// Add bounce effect on image '+' of kanban header when click on empty space of kanban grouped column.
var add_btn = this.$element.find('.oe_kanban_add');
var add_btn = this.$el.find('.oe_kanban_add');
this.$records.find('.oe_kanban_show_more').click(this.do_show_more);
if (this.state.folded) {
this.do_toggle_fold();
}
this.$element.data('widget', this);
this.$el.data('widget', this);
this.$records.data('widget', this);
this.$has_been_started.resolve();
this.compute_cards_auto_height();
@ -525,7 +525,7 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
var min_height = 0;
var els = [];
_.each(this.records, function(r) {
var $e = r.$element.children(':first:not(.oe_kanban_no_auto_height)').css('min-height', 0);
var $e = r.$el.children(':first:not(.oe_kanban_no_auto_height)').css('min-height', 0);
if ($e.length) {
els.push($e[0]);
min_height = Math.max(min_height, $e.outerHeight());
@ -571,8 +571,8 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
}
},
do_toggle_fold: function(compute_width) {
this.$element.add(this.$records).toggleClass('oe_kanban_group_folded');
this.state.folded = this.$element.is('.oe_kanban_group_folded');
this.$el.add(this.$records).toggleClass('oe_kanban_group_folded');
this.state.folded = this.$el.is('.oe_kanban_group_folded');
this.$("ul.oe_kanban_group_dropdown li a[data-action=toggle_fold]").text((this.state.folded) ? _t("Unfold") : _t("Fold"));
},
do_action_toggle_fold: function() {
@ -658,7 +658,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
},
start: function() {
this._super();
this.$element.data('widget', this);
this.$el.data('widget', this);
this.bind_events();
},
transform_record: function(record) {
@ -696,14 +696,14 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
bind_events: function() {
var self = this;
this.setup_color_picker();
var $show_on_click = self.$element.find('.oe_kanban_box_show_onclick');
var $show_on_click = self.$el.find('.oe_kanban_box_show_onclick');
$show_on_click.toggle(this.state.folded);
this.$element.find('.oe_kanban_box_show_onclick_trigger').click(function() {
this.$el.find('.oe_kanban_box_show_onclick_trigger').click(function() {
$show_on_click.toggle();
self.state.folded = !self.state.folded;
});
this.$element.find('[tooltip]').tipsy({
this.$el.find('[tooltip]').tipsy({
delayIn: 500,
delayOut: 0,
fade: true,
@ -721,11 +721,11 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
});
// If no draghandle is found, make the whole card as draghandle
if (!this.$element.find('.oe_kanban_draghandle').length) {
this.$element.children(':first').addClass('oe_kanban_draghandle');
if (!this.$el.find('.oe_kanban_draghandle').length) {
this.$el.children(':first').addClass('oe_kanban_draghandle');
}
this.$element.find('.oe_kanban_action').click(function() {
this.$el.find('.oe_kanban_action').click(function() {
var $action = $(this),
type = $action.data('type') || 'button',
method = 'do_action_' + (type === 'action' ? 'object' : type);
@ -738,8 +738,8 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
}
});
if (this.$element.find('.oe_kanban_global_click').length) {
this.$element.on('click', function(ev) {
if (this.$el.find('.oe_kanban_global_click').length) {
this.$el.on('click', function(ev) {
if (!ev.isTrigger && !$(ev.target).data('events')) {
var trigger = true;
var elem = ev.target;
@ -784,7 +784,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
},
setup_color_picker: function() {
var self = this;
var $el = this.$element.find('ul.oe_kanban_colorpicker');
var $el = this.$el.find('ul.oe_kanban_colorpicker');
if ($el.length) {
$el.html(QWeb.render('KanbanColorPicker', {
widget: this
@ -829,7 +829,7 @@ instance.web_kanban.KanbanRecord = instance.web.Widget.extend({
if (records.length) {
self.set_record(records[0]);
self.renderElement();
self.$element.data('widget', self);
self.$el.data('widget', self);
self.bind_events();
self.group.compute_cards_auto_height();
} else {
@ -923,16 +923,16 @@ instance.web_kanban.QuickCreate = instance.web.Widget.extend({
},
start: function () {
var self = this;
self.$input = this.$element.find('input');
self.$input = this.$el.find('input');
self.$input.keyup(function(event){
if(event.keyCode == 13){
self.quick_add();
}
});
$(".oe_kanban_quick_create_add", this.$element).click(function () {
$(".oe_kanban_quick_create_add", this.$el).click(function () {
self.quick_add();
});
$(".oe_kanban_quick_create_close", this.$element).click(function () {
$(".oe_kanban_quick_create_close", this.$el).click(function () {
self.trigger('close');
});
self.$input.keyup(function(e) {
@ -942,7 +942,7 @@ instance.web_kanban.QuickCreate = instance.web.Widget.extend({
});
},
focus: function() {
this.$element.find('input').focus();
this.$el.find('input').focus();
},
/**
* Handles user event from nested quick creation view

View File

@ -51,7 +51,7 @@ instance.web_mobile.MobileWebClient = instance.web_mobile.MobileWidget.extend({
var self = this;
this.session.bind_session().then(function() {
instance.web.qweb.add_template("xml/web_mobile.xml");
self.$element.html(self.render());
self.$el.html(self.render());
self.login.start();
});
}
@ -76,18 +76,18 @@ instance.web_mobile.Login = instance.web_mobile.MobileWidget.extend({
self.db_list = result.db_list;
this.setElement($('#'+self.element_id).html(self.render(self)));
if(self.session.db!=""){
self.$element.find("#database").val(self.session.db);
self.$el.find("#database").val(self.session.db);
}
self.$element.find("#login_btn").click(self.on_login);
self.$el.find("#login_btn").click(self.on_login);
$.mobile.initializePage();
});
this.$element
this.$el
.removeClass("login_invalid");
},
on_login: function(ev) {
ev.preventDefault();
var self = this;
var $e = this.$element;
var $e = this.$el;
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();
@ -117,13 +117,13 @@ instance.web_mobile.Login = instance.web_mobile.MobileWidget.extend({
});
},
on_login_invalid: function() {
this.$element
this.$el
.removeClass("login_valid")
.addClass("login_invalid")
.show();
},
on_login_valid: function() {
this.$element
this.$el
.removeClass("login_invalid")
.addClass("login_valid");
//.hide();
@ -152,7 +152,7 @@ instance.web_mobile.Header = instance.web_mobile.MobileWidget.extend({
this._super(session, element_id);
},
start: function() {
this.$element.html(this.render(this));
this.$el.html(this.render(this));
}
});
@ -164,7 +164,7 @@ instance.web_mobile.Footer = instance.web_mobile.MobileWidget.extend({
this._super(session, element_id);
},
start: function() {
this.$element.html(this.render(this));
this.$el.html(this.render(this));
}
});
@ -178,12 +178,12 @@ instance.web_mobile.Shortcuts = instance.web_mobile.MobileWidget.extend({
start: function() {
var self = this;
this.rpc('/web/session/sc_list',{} ,function(res){
self.$element.html(self.render({'sc': res}));
self.$element.find("[data-role=header]").find('h1').html('Favourite');
self.$element.find("[data-role=header]").find('#home').click(function(){
self.$el.html(self.render({'sc': res}));
self.$el.find("[data-role=header]").find('h1').html('Favourite');
self.$el.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
});
self.$element.find('#content').find("a").click(self.on_clicked);
self.$el.find('#content').find("a").click(self.on_clicked);
$.mobile.changePage("#oe_shortcuts", "slide", false, true);
});
},
@ -228,10 +228,10 @@ instance.web_mobile.Menu = instance.web_mobile.MobileWidget.extend({
this.header.start();
this.footer = new instance.web_mobile.Footer(this, "oe_footer");
this.footer.start();
this.$element.html(this.render(this.data));
this.$element.find("[data-role=header]").find('h1').html('Applications');
this.$element.find("[data-role=header]").find('#home').hide();
this.$element.find("[data-role=footer]").find('#shrotcuts').click(function(){
this.$el.html(this.render(this.data));
this.$el.find("[data-role=header]").find('h1').html('Applications');
this.$el.find("[data-role=header]").find('#home').hide();
this.$el.find("[data-role=footer]").find('#shrotcuts').click(function(){
if(!$('#oe_shortcuts').html().length){
this.shortcuts = new instance.web_mobile.Shortcuts(self, "oe_shortcuts");
this.shortcuts.start();
@ -239,7 +239,7 @@ instance.web_mobile.Menu = instance.web_mobile.MobileWidget.extend({
$.mobile.changePage($("#oe_shortcuts"), "slide", false, true);
}
});
this.$element.find("[data-role=footer]").find('#preference').click(function(){
this.$el.find("[data-role=footer]").find('#preference').click(function(){
if(!$('#oe_options').html().length){
this.options = new instance.web_mobile.Options(self, "oe_options");
this.options.start();
@ -247,7 +247,7 @@ instance.web_mobile.Menu = instance.web_mobile.MobileWidget.extend({
$.mobile.changePage("#oe_options", "slide", false, true);
}
});
this.$element.add(this.$secondary_menu).find("#content").find('a').click(this.on_menu_click);
this.$el.add(this.$secondary_menu).find("#content").find('a').click(this.on_menu_click);
$.mobile.changePage("#oe_menu", "slide", false, true);
},
on_menu_click: function(ev, id) {
@ -260,7 +260,7 @@ instance.web_mobile.Menu = instance.web_mobile.MobileWidget.extend({
this.children = this.data.data.children[i];
}
}
this.$element
this.$el
.removeClass("login_valid")
.addClass("secondary_menu");
if(!$('[id^="oe_sec_menu_'+id+'"]').html()){
@ -284,10 +284,10 @@ instance.web_mobile.Secondary = instance.web_mobile.MobileWidget.extend({
start: function(ev, id) {
var self = this;
var v = { menu : this.data };
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=header]").find('#home').click(function(){
this.$el.html(this.render(v));
this.$el.find("[data-role=header]").find("h1").html(this.data.name);
this.$el.add(this.$secondary_menu).find('#content').find("a").click(this.on_menu_click);
this.$el.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
});
$.mobile.changePage("#"+this.element_id, "slide", false, true);
@ -308,7 +308,7 @@ instance.web_mobile.Secondary = instance.web_mobile.MobileWidget.extend({
}
}
if (child_len > 0) {
this.$element
this.$el
.addClass("secondary_menu");
if(!$('[id^="oe_sec_menu_'+id+'"]').html()){
$('<div id="oe_sec_menu_'+id+'" data-role="page" data-url="oe_sec_menu_'+id+'"> </div>').appendTo('#moe');
@ -336,12 +336,12 @@ instance.web_mobile.Options = instance.web_mobile.MobileWidget.extend({
start: function() {
var self = this;
this.$element.html(this.render(this));
this.$element.find("[data-role=header]").find('h1').html('Preference');
this.$element.find("[data-role=header]").find('#home').click(function(){
this.$el.html(this.render(this));
this.$el.find("[data-role=header]").find('h1').html('Preference');
this.$el.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
});
this.$element.find("[data-role=content]").find('a').click(function(){
this.$el.find("[data-role=content]").find('a').click(function(){
$('#oe_login').empty();
window.location.replace('/mobile');
});

View File

@ -48,12 +48,12 @@ instance.web_mobile.FormView = instance.web_mobile.MobileWidget.extend({
}
}
self.hidden_fields(get_fields,fields);
self.$element.html(self.render({'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : values ,'temp_flag':'1'}));
self.$element.find("[data-role=header]").find('h1').html(self.head_title);
self.$element.find("[data-role=header]").find('#home').click(function(){
self.$el.html(self.render({'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : values ,'temp_flag':'1'}));
self.$el.find("[data-role=header]").find('h1').html(self.head_title);
self.$el.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
});
self.$element.find('[data-role=collapsible-set]').find('[data-role=collapsible]').each(function(i){
self.$el.find('[data-role=collapsible-set]').find('[data-role=collapsible]').each(function(i){
for (var k = 0; k < notebooks.children.length; k++) {
if (notebooks.children[k].attrs.string == $(this).attr('id')) {
get_fields_notebook = self.get_fields(notebooks.children[k].children);
@ -62,7 +62,7 @@ instance.web_mobile.FormView = instance.web_mobile.MobileWidget.extend({
}
}
});
self.$element.find('#o2m_m2m').click(function(ev) {
self.$el.find('#o2m_m2m').click(function(ev) {
ev.preventDefault();
ev.stopPropagation();
var relational = $(this).attr('for');
@ -113,7 +113,7 @@ instance.web_mobile.FormView = instance.web_mobile.MobileWidget.extend({
});
}
});
self.$element.find('#m2o_btn').click(this.open_m2o_form);
self.$el.find('#m2o_btn').click(this.open_m2o_form);
$.mobile.changePage("#"+self.element_id, "slide", false, true);
self.formatdata('', '', '', '',self.element_id,'slider');
},

View File

@ -44,14 +44,14 @@ instance.web_mobile.ListView = instance.web_mobile.MobileWidget.extend({
if(res['html_name_get']){
additional = res['display'];
}
self.$element.html(self.render({'records': res, 'data': additional }));
self.$element.find("[data-role=header]").find('h1').html(self.action.name);
self.$element.find("[data-role=header]").find('#home').click(function(){
self.$el.html(self.render({'records': res, 'data': additional }));
self.$el.find("[data-role=header]").find('h1').html(self.action.name);
self.$el.find("[data-role=header]").find('#home').click(function(){
$.mobile.changePage("#oe_menu", "slide", false, true);
});
self.$element.find("a#list-id").click(self.on_list_click);
self.$el.find("a#list-id").click(self.on_list_click);
$.mobile.changePage("#"+self.element_id, "slide", false, true);
self.$element.find("a#list-id").find('span').addClass('desc');
self.$el.find("a#list-id").find('span').addClass('desc');
});
});
},

View File

@ -15,7 +15,7 @@ openerp.web_process = function (instance) {
var self = this,
grandparent = this.getParent() && this.getParent().getParent(),
view = this.views[this.views_src[0].view_type],
$process_view = this.$element.find('.oe_process');
$process_view = this.$el.find('.oe_process');
if (!(grandparent instanceof instance.web.WebClient) ||
!(view.view_type === this.views_src[0].view_type
&& view.view_id === this.views_src[0].view_id)) {
@ -124,12 +124,12 @@ openerp.web_process = function (instance) {
return def.promise();
},
render_process_view : function() {
this.$element.html(QWeb.render("ProcessView", this));
this.$el.html(QWeb.render("ProcessView", this));
var self = this;
this.$element.find('#edit_process').click(function() {
this.$el.find('#edit_process').click(function() {
self.edit_process_view();
});
var $parent = this.getParent().$element;
var $parent = this.getParent().$el;
$parent.find('#change_process').click(function() {
self.process_selection = false,
self.process_id = $parent.find('#select_process').val(),
@ -137,7 +137,7 @@ openerp.web_process = function (instance) {
self.initialize_process_view();
});
this.$element.find(".process_subflow").click(function() {
this.$el.find(".process_subflow").click(function() {
self.process_id = this.id;
self.initialize_process_view();
});
@ -248,7 +248,7 @@ openerp.web_process = function (instance) {
context: dataset.context
}, function(result) {
var action_manager = new instance.web.ActionManager(self);
action_manager.replace(self.$element);
action_manager.replace(self.$el);
action_manager.do_action(result.result);
});
});
@ -271,7 +271,7 @@ openerp.web_process = function (instance) {
]
}).open();
action_manager.appendTo(dialog.$element);
action_manager.appendTo(dialog.$el);
action_manager.do_action({
res_model : 'process.process',
res_id: self.process_id,

View File

@ -18,7 +18,7 @@ openerp.web_tests = function (instance) {
start: function () {
$.when(
this.dataset.read_slice(),
this.form.appendTo(this.$element)).then(this.on_everything_loaded);
this.form.appendTo(this.$el)).then(this.on_everything_loaded);
},
on_everything_loaded: function (slice) {
var records = slice[0].records;
@ -29,7 +29,7 @@ openerp.web_tests = function (instance) {
this.form.on_record_loaded(records[0]);
_(records.slice(1)).each(function (record, index) {
this.dataset.index = index+1;
this.form.reposition($('<div>').appendTo(this.$element));
this.form.reposition($('<div>').appendTo(this.$el));
this.form.on_record_loaded(record);
}, this);
}

View File

@ -7,7 +7,7 @@ instance.web.ViewManagerAction.include({
current_view = this.views[this.active_view].controller;
if(val === "manage_views"){
if (current_view.fields_view && current_view.fields_view.arch) {
var view_editor = new instance.web_view_editor.ViewEditor(current_view, current_view.$element, this.dataset, current_view.fields_view.arch);
var view_editor = new instance.web_view_editor.ViewEditor(current_view, current_view.$el, this.dataset, current_view.fields_view.arch);
view_editor.start();
} else {
this.do_warn(_t("Manage Views"),
@ -70,7 +70,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
this.view_edit_dialog.on_close.add_last(function(){window.location.reload();});
this.main_view_id = this.parent.fields_view.view_id;
this.action_manager = new instance.web.ActionManager(this);
this.action_manager.appendTo(this.view_edit_dialog.$element);
this.action_manager.appendTo(this.view_edit_dialog.$el);
$.when(this.action_manager.do_action(action)).then(function() {
var viewmanager = self.action_manager.inner_widget;
var controller = viewmanager.views[viewmanager.active_view].controller;
@ -116,11 +116,11 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
var view_widget = [{'name': 'view_name', 'string':'View Name', 'type': 'char', 'required': true, 'value' : this.model + '.custom_' + Math.round(Math.random() * 1000)},
{'name': 'view_type', 'string': 'View Type', 'type': 'selection', 'required': true, 'value': 'Form', 'selection': [['',''],['tree', 'Tree'],['form', 'Form'],['graph', 'Graph'],['calendar', 'Calender']]},
{'name': 'proirity', 'string': 'Priority', 'type': 'float', 'required': true, 'value':'16'}];
this.create_view_dialog.$element.append('<table id="create_view" style="width:400px" class="oe_form"></table>');
this.create_view_dialog.$el.append('<table id="create_view" style="width:400px" class="oe_form"></table>');
this.create_view_widget = [];
_.each(view_widget, function(widget) {
var type_widget = new (self.property.get_any([widget.type])) (self.create_view_dialog, widget);
self.create_view_dialog.$element.find('table[id=create_view]').append('<tr><td width="100px" align="right">' + widget.string + ':</td>' + type_widget.render()+'</tr>');
self.create_view_dialog.$el.find('table[id=create_view]').append('<tr><td width="100px" align="right">' + widget.string + ':</td>' + type_widget.render()+'</tr>');
var value = null;
if (widget.value) {
value = widget.value;
@ -363,8 +363,8 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
});
},
do_select_row: function(row_id) {
this.edit_xml_dialog.$element.find("tr[id^='viewedit-']").removeClass('ui-selected');
this.edit_xml_dialog.$element.find("tr[id=viewedit-" + row_id + "]").addClass('ui-selected');
this.edit_xml_dialog.$el.find("tr[id^='viewedit-']").removeClass('ui-selected');
this.edit_xml_dialog.$el.find("tr[id=viewedit-" + row_id + "]").addClass('ui-selected');
},
do_parent_img_hide_show: function(img) {
if (_.str.include($(img).attr('src'), '/web/static/src/img/collapse.gif')) {
@ -383,7 +383,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
height: '90%',
buttons: [
{text: _t("Inherited View"), click: function(){
var selected_row = self.edit_xml_dialog.$element.find('.ui-selected');
var selected_row = self.edit_xml_dialog.$el.find('.ui-selected');
if (selected_row.length) {
if(selected_row.find('a').text().search("field") != -1){
if (confirm(_t("Do you really wants to create an inherited view here?"))) {
@ -423,14 +423,14 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
_.each(_PROPERTIES, function(val, key) {
if (! val.length) no_property_att.push(key);
});
this.edit_xml_dialog.$element.html(QWeb.render('view_editor', {'data': one_object['main_object'], 'no_properties': no_property_att}));
this.edit_xml_dialog.$element.find("tr[id^='viewedit-']").click(function() {
this.edit_xml_dialog.$el.html(QWeb.render('view_editor', {'data': one_object['main_object'], 'no_properties': no_property_att}));
this.edit_xml_dialog.$el.find("tr[id^='viewedit-']").click(function() {
self.do_select_row(this.id.split('-')[1]);
});
this.edit_xml_dialog.$element.find("img[id^='parentimg-']").click(function() {
this.edit_xml_dialog.$el.find("img[id^='parentimg-']").click(function() {
self.do_parent_img_hide_show(this);
});
this.edit_xml_dialog.$element.find("img[id^='side-']").click(function() {
this.edit_xml_dialog.$el.find("img[id^='side-']").click(function() {
self.on_select_img(this);
});
},
@ -445,7 +445,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
while (1) {
view_find = view_find.prev();
if (view_find.length == 0 ||
self.edit_xml_dialog.$element.find(view_find).find('a').text().search("view_id") != -1 &&
self.edit_xml_dialog.$el.find(view_find).find('a').text().search("view_id") != -1 &&
parseInt(view_find.attr('level')) < min_level ) {
view_id = parseInt($(view_find).find('a').text().replace(/[^0-9]+/g, ''));
break;
@ -477,7 +477,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
self.do_parent_img_hide_show(this);
}));
}
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-"+row_id+"']").after(clone.removeClass('ui-selected'));
_.each(obj.child_id,function(obj){self.render_inherited_view(clone,obj);});
},
@ -499,7 +499,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
while (1) {
view_find = view_find.prev();
if (view_find.length == 0 ||
(self.edit_xml_dialog.$element.find(view_find).find('a').text()).search("view_id") != -1
(self.edit_xml_dialog.$el.find(view_find).find('a').text()).search("view_id") != -1
&& parseInt(view_find.attr('level')) < min_level ) {
view_id = parseInt(($(view_find).find('a').text()).replace(/[^0-9]+/g, ''));
view_xml_id = parseInt((view_find.attr('id')).split('-')[1]);
@ -572,14 +572,14 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
} else {
last_tr = cur_tr.next();
}
if ((self.edit_xml_dialog.$element.find(last_tr).find('a').text()).search("view_id") != -1) {
if ((self.edit_xml_dialog.$el.find(last_tr).find('a').text()).search("view_id") != -1) {
return false;
}
if (last_tr.length != 0 && parseInt(last_tr.attr('level')) == this.one_object.clicked_tr_level) {
var last_tr_id = (last_tr.attr('id')).split('-')[1];
img = last_tr.find("img[id='parentimg-" + last_tr_id + "']").attr('src');
if (img) {
self.edit_xml_dialog.$element.find("img[id='parentimg-" + last_tr_id + "']").
self.edit_xml_dialog.$el.find("img[id='parentimg-" + last_tr_id + "']").
attr('src', '/web/static/src/img/expand.gif');
while (1) {
var next_tr = last_tr.next();
@ -607,7 +607,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
cur_tr = prev_tr;
}
if (img) {
self.edit_xml_dialog.$element.find("img[id='parentimg-" + this.one_object.clicked_tr_id + "']").
self.edit_xml_dialog.$el.find("img[id='parentimg-" + this.one_object.clicked_tr_id + "']").
attr('src', '/web/static/src/img/expand.gif');
while (1) {
next_tr = side.next();
@ -621,7 +621,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
}
}
if (last_tr.length != 0 && parseInt(last_tr.attr('level')) == this.one_object.clicked_tr_level &&
(self.edit_xml_dialog.$element.find(last_tr).find('a').text()).search("view_id") == -1) {
(self.edit_xml_dialog.$el.find(last_tr).find('a').text()).search("view_id") == -1) {
_.each(tr_to_move, function(rec) {
$(last_tr).before(rec);
});
@ -702,13 +702,13 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
});
var new_obj = self.create_View_Node(arch1);
new_obj.id = obj.id,new_obj.child_id = obj.child_id;
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-"+this.one_object.clicked_tr_id+"']").
find('a').text(new_obj.name);
child_list.splice(index, 1, new_obj);
parent = $(arch1).parents();
} else if(move_direct == "add_node") {
var tr_click = self.edit_xml_dialog.$element.find("tr[id='viewedit-"+self.one_object.clicked_tr_id+"']"),
var tr_click = self.edit_xml_dialog.$el.find("tr[id='viewedit-"+self.one_object.clicked_tr_id+"']"),
temp_xml = QWeb.load_xml(update_values[0]),
object_xml = self.create_View_Node(temp_xml.childNodes[0]);
(update_values[1] == "Inside")? object_xml.level = obj.level + 1:object_xml.level = obj.level;
@ -719,7 +719,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
after_append = (after_append)?_.last(after_append.value):self.one_object.clicked_tr_id;
switch (update_values[1]) {
case "After":
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-"+after_append+"']").after(clone);
$(arch1).after($(update_values[0]));
child_list.splice(index + 1, 0, object_xml);
@ -738,12 +738,12 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
}));
}
$(arch1).append($(update_values[0]));
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-"+after_append+"']").after(clone);
obj.child_id.push(object_xml);
break;
}
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-" + object_xml.id + "']").removeClass('ui-selected');
parent = $(arch1).parents();
} else if (move_direct == "remove_node") {
@ -755,7 +755,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
}
$(arch1).remove();
child_list.splice(index,1);
var cur_tr = self.edit_xml_dialog.$element.
var cur_tr = self.edit_xml_dialog.$el.
find("tr[id='viewedit-" + self.one_object.clicked_tr_id + "']");
_.each(self.get_list_tr(cur_tr,self.one_object.clicked_tr_level), function(tr_element){
tr_element.remove();
@ -765,7 +765,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
return _.include(element.value, self.one_object.clicked_tr_id);
});
if(parent_img.value.length == 1){
self.edit_xml_dialog.$element.
self.edit_xml_dialog.$el.
find("tr[id='viewedit-"+parent_img.key+"']").
find("img[id^='parentimg-']").remove();
}
@ -817,7 +817,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
return res.key == id;
});
_.each(datas.value, function (rec) {
var tr = self.edit_xml_dialog.$element.find("tr[id='viewedit-" + rec + "']");
var tr = self.edit_xml_dialog.$el.find("tr[id='viewedit-" + rec + "']");
tr.find("img[id='parentimg-" + rec + "']").attr('src', '/web/static/src/img/expand.gif');
tr.show();
});
@ -891,7 +891,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
'fonts' : {'name':'fonts', 'string': 'fonts', 'type': 'char'},
};
var arch_val = self.get_object_by_id(this.one_object.clicked_tr_id,this.one_object['main_object'], []);
this.edit_node_dialog.$element.append('<table id="rec_table" style="width:400px" class="oe_form"></table>');
this.edit_node_dialog.$el.append('<table id="rec_table" style="width:400px" class="oe_form"></table>');
this.edit_widget = [];
self.ready = $.when(self.on_groups(properties)).then(function () {
_PROPERTIES_ATTRIBUTES['groups']['selection'] = self.groups;
@ -907,7 +907,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
});
value = value instanceof Array ? value[1] : value;
self.edit_node_dialog.$element.find('table[id=rec_table]').append('<tr><td align="right">' + widget.string + ':</td>' + type_widget.render() + '</tr>');
self.edit_node_dialog.$el.find('table[id=rec_table]').append('<tr><td align="right">' + widget.string + ':</td>' + type_widget.render() + '</tr>');
type_widget.start();
type_widget.set_value(value);
self.edit_widget.push(type_widget);
@ -977,8 +977,8 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
{text: _t("Cancel"), click: function() { self.add_node_dialog.close(); }}
]
}).open();
this.add_node_dialog.$element.append('<table id="rec_table" style="width:420px" class="oe_form"><tbody><tr></tbody></table>');
var table_selector = self.add_node_dialog.$element.find('table[id=rec_table] tbody');
this.add_node_dialog.$el.append('<table id="rec_table" style="width:420px" class="oe_form"><tbody><tr></tbody></table>');
var table_selector = self.add_node_dialog.$el.find('table[id=rec_table] tbody');
_.each(render_list, function(node) {
type_widget = new (self.property.get_any([node.type])) (self.add_node_dialog, node);
if (node.name == "position") {
@ -994,7 +994,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
self.add_widget.push(type_widget);
});
table_selector.find("td[id^=]").attr("width","100px");
self.add_node_dialog.$element.find('#new_field').click(function() {
self.add_node_dialog.$el.find('#new_field').click(function() {
model_data = new instance.web.DataSetSearch(self,'ir.model', null, null);
model_data.read_slice([], {domain: [['model','=', self.model]]}).then(function(result) {
self.render_new_field(result[0]);
@ -1022,7 +1022,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
controller.do_save.add_last(function(){
action_manager.destroy();
var value =controller.fields.name.get('value');
self.add_node_dialog.$element.find('select[id=field_value]').append($("<option selected></option>").attr("value",value).text(value));
self.add_node_dialog.$el.find('select[id=field_value]').append($("<option selected></option>").attr("value",value).text(value));
_.detect(self.add_widget,function(widget){
widget.name == "field_value"? widget.selection.push(value): false;
});
@ -1032,7 +1032,7 @@ instance.web_view_editor.ViewEditor = instance.web.Widget.extend({
});
instance.web_view_editor.ViewEditor.Field = instance.web.Class.extend({
init: function(view, widget) {
this.$element = view.$element;
this.$el = view.$el;
this.dirty = false;
this.name = widget.name;
this.selection = widget.selection || [];
@ -1045,8 +1045,8 @@ instance.web_view_editor.ViewEditor.Field = instance.web.Class.extend({
this.update_dom();
},
update_dom: function() {
this.$element.find("td[id=" + this.name + "]").toggleClass('invalid', this.is_invalid);
this.$element.find("td[id=" + this.name + "]").toggleClass('required', this.required);
this.$el.find("td[id=" + this.name + "]").toggleClass('invalid', this.is_invalid);
this.$el.find("td[id=" + this.name + "]").toggleClass('required', this.required);
},
on_ui_change: function() {
this.validate();
@ -1071,17 +1071,17 @@ instance.web_view_editor.ViewEditor.FieldBoolean = instance.web_view_editor.View
start: function() {
var self = this;
this._super();
this.$element.find("input[id="+ self.name+"]").change(function() {
this.$el.find("input[id="+ self.name+"]").change(function() {
self.on_ui_change();
});
},
set_value: function(value) {
if (value) {
this.$element.find("input[id=" + this.name+ "]").attr('checked', true);
this.$el.find("input[id=" + this.name+ "]").attr('checked', true);
}
},
get_value: function() {
return this.$element.find("input[id=" + this.name + "]").is(':checked')? "1" : null;
return this.$el.find("input[id=" + this.name + "]").is(':checked')? "1" : null;
}
});
instance.web_view_editor.ViewEditor.FieldChar = instance.web_view_editor.ViewEditor.Field.extend({
@ -1089,15 +1089,15 @@ instance.web_view_editor.ViewEditor.FieldChar = instance.web_view_editor.ViewEdi
start: function () {
var self = this;
this._super();
this.$element.find("input[id="+ this.name+"]").css('width','100%').change(function() {
this.$el.find("input[id="+ this.name+"]").css('width','100%').change(function() {
self.on_ui_change();
});
},
set_value: function(value) {
this.$element.find("input[id=" + this.name + "]").val(value);
this.$el.find("input[id=" + this.name + "]").val(value);
},
get_value: function() {
return this.$element.find("input[id=" + this.name + "]").val();
return this.$el.find("input[id=" + this.name + "]").val();
}
});
instance.web_view_editor.ViewEditor.FieldSelect = instance.web_view_editor.ViewEditor.Field.extend({
@ -1105,15 +1105,15 @@ instance.web_view_editor.ViewEditor.FieldSelect = instance.web_view_editor.ViewE
start: function () {
var self = this;
this._super();
this.$element.find("select[id=" + this.name + "]").css('width', '100%').change(function() {
this.$el.find("select[id=" + this.name + "]").css('width', '100%').change(function() {
self.on_ui_change();
if (self.name == "node_type") {
if (self.get_value() == "field") {
self.$element.find('#new_field').show();
self.$element.find("select[id=field_value]").show();
self.$el.find('#new_field').show();
self.$el.find("select[id=field_value]").show();
} else {
self.$element.find('#new_field').hide();
self.$element.find("select[id=field_value]").hide();
self.$el.find('#new_field').hide();
self.$el.find("select[id=field_value]").hide();
}
}
});
@ -1124,24 +1124,24 @@ instance.web_view_editor.ViewEditor.FieldSelect = instance.web_view_editor.ViewE
for (var i = 0, ii = this.selection.length; i < ii; i++) {
if ((this.selection[i] instanceof Array && this.selection[i][0] === value) || this.selection[i] === value) index = i;
}
this.$element.find("select[id=" + this.name + "]")[0].selectedIndex = index;
this.$el.find("select[id=" + this.name + "]")[0].selectedIndex = index;
},
get_value: function() {
return this.$element.find("select[id=" + this.name + "]").val();
return this.$el.find("select[id=" + this.name + "]").val();
}
});
instance.web_view_editor.ViewEditor.FieldSelectMulti = instance.web_view_editor.ViewEditor.FieldSelect.extend({
start: function () {
this._super();
this.$element.find("select[id=" + this.name + "]").css('height', '100px').attr("multiple", true);
this.$el.find("select[id=" + this.name + "]").css('height', '100px').attr("multiple", true);
},
set_value: function(value) {
var self = this;
self.$element.find("#groups option").attr("selected",false);
self.$el.find("#groups option").attr("selected",false);
if (!value) return false;
_.each(this.selection, function(item) {
if (_.include(value.split(','), item[0])) {
self.$element.find("select[id="+self.name+"] option[value='" + item[0] +"']").attr("selected",1)
self.$el.find("select[id="+self.name+"] option[value='" + item[0] +"']").attr("selected",1)
}
});
}