[IMP] web_dialog_size: Select default dialog size by config

* [IMP] web_dialog_size: Put dialog size expanded by default

* [REM] web_popup_large: By duplication of the functionality

* [IMP] web_dialog_size: README and contributors

* [ADD] configuration parameter for default behavior

[FIX] return super's promise
[IMP] use fontawesome icons for buttons
This commit is contained in:
Pedro M. Baeza
2016-04-06 20:33:56 +02:00
committed by Mantux11
parent 2c1216c791
commit ef9887775a
5 changed files with 77 additions and 48 deletions

View File

@@ -1,34 +1,58 @@
openerp.web_dialog_size= function (instance) {
instance.web.Dialog = instance.web.Dialog.extend({
init_dialog: function () {
var self = this;
this._super();
self.$dialog_box.find('.dialog_button_restore').addClass('dialog_button_hide');
if (this.dialog_options.size !== 'large'){
self.$dialog_box.find('.dialog_button_extend').addClass('dialog_button_hide');
}
else{
self.$dialog_box.find('.dialog_button_extend').on('click', self._extending);
self.$dialog_box.find('.dialog_button_restore').on('click', self._restore);
var self = this,
result = this._super();
self.$dialog_box.find('.dialog_button_extend')
.on('click', self.proxy('_extending'));
self.$dialog_box.find('.dialog_button_restore')
.on('click', self.proxy('_restore'));
if(this.dialog_options.size == 'large')
{
self._extending();
return result;
}
return jQuery.when(result).then(function()
{
var deferred = null;
if(openerp.web_dialog_size.default_maximize === undefined)
{
deferred = (new openerp.web.Model('ir.config_parameter'))
.call('get_param',
['web_dialog_size.default_maximize'])
.then(function(default_maximize)
{
openerp.web_dialog_size.default_maximize =
default_maximize;
});
}
return jQuery.when(deferred).then(function()
{
if(openerp.web_dialog_size.default_maximize)
{
self._extending();
}
else
{
self._restore();
}
});
});
},
_extending: function() {
var self = this;
$(this).parents('.modal-dialog').addClass('dialog_full_screen');
$(this).addClass('dialog_button_hide');
$(this).parents('.modal-dialog').find('.dialog_button_restore').removeClass('dialog_button_hide')
_extending: function(e) {
var dialog = this.$el.parents('.modal-dialog');
dialog.addClass('dialog_full_screen');
dialog.find('.dialog_button_extend').hide();
dialog.find('.dialog_button_restore').show();
},
_restore: function() {
var self = this;
$(this).parents('.modal-dialog').removeClass('dialog_full_screen');
$(this).addClass('dialog_button_hide');
$(this).parents('.modal-dialog').find('.dialog_button_extend').removeClass('dialog_button_hide')
_restore: function(e) {
var dialog = this.$el.parents('.modal-dialog');
dialog.removeClass('dialog_full_screen');
dialog.find('.dialog_button_restore').hide();
dialog.find('.dialog_button_extend').show();
},
});