You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.8 KiB
66 lines
1.8 KiB
odoo.define('web_dialog_size.web_dialog_size', function (require) {
|
|
'use strict';
|
|
|
|
var rpc = require('web.rpc');
|
|
var Dialog = require('web.Dialog');
|
|
|
|
var config = rpc.query({
|
|
model: 'ir.config_parameter',
|
|
method: 'get_web_dialog_size_config',
|
|
});
|
|
|
|
Dialog.include({
|
|
|
|
willStart: function () {
|
|
var self = this;
|
|
return this._super.apply(this, arguments).then(function () {
|
|
self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending'));
|
|
self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore'));
|
|
return config.done(function(default_maximize) {
|
|
if (default_maximize) {
|
|
self._extending();
|
|
} else {
|
|
self._restore();
|
|
}
|
|
});
|
|
});
|
|
},
|
|
|
|
open: function() {
|
|
this._super.apply(this, arguments);
|
|
if (this.$modal) {
|
|
this.$modal.draggable({
|
|
handle: '.modal-header',
|
|
helper: false
|
|
});
|
|
}
|
|
return this;
|
|
},
|
|
|
|
close: function() {
|
|
if (this.$modal) {
|
|
var draggable = this.$modal.draggable("instance");
|
|
if (draggable) {
|
|
this.$modal.draggable("destroy");
|
|
}
|
|
}
|
|
return this._super.apply(this, arguments);
|
|
},
|
|
|
|
_extending: function() {
|
|
var dialog = this.$modal.find('.modal-dialog');
|
|
dialog.addClass('dialog_full_screen');
|
|
dialog.find('.dialog_button_extend').hide();
|
|
dialog.find('.dialog_button_restore').show();
|
|
},
|
|
|
|
_restore: function() {
|
|
var dialog = this.$modal.find('.modal-dialog');
|
|
dialog.removeClass('dialog_full_screen');
|
|
dialog.find('.dialog_button_restore').hide();
|
|
dialog.find('.dialog_button_extend').show();
|
|
},
|
|
|
|
});
|
|
|
|
});
|