mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
[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:
@@ -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();
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user