mirror of
https://github.com/OCA/web.git
synced 2025-02-22 13:21:25 +02:00
Merge pull request #356 from bud-e/9.0-web_dialog_size
[MIG] web_dialog_size: Migrate to v9.0
This commit is contained in:
@@ -1,19 +1,15 @@
|
||||
Expand Dialog
|
||||
=============
|
||||
|
||||
A module that lets the user expand a dialog box to the full screen width.
|
||||
A module that lets the user expand/restore the dialog box size through a button
|
||||
in the upper right corner (mimicking most windows managers).
|
||||
|
||||
It is named web_dialog_size as it could be extended to propose other dialog size management feature.
|
||||
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
|
||||
`here <https://github.com/OCA/web/issues/new?body=module:%20web_dialog_size%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
Configuration
|
||||
=============
|
||||
|
||||
By default, the module respects the caller's `dialog_size` option. If you want
|
||||
to override this and have all dialogs maximized by default, set the configuration
|
||||
parameter `web_dialog_size.default_maximize` to `1`.
|
||||
|
||||
Credits
|
||||
=======
|
||||
@@ -23,6 +19,9 @@ Contributors
|
||||
|
||||
* Anthony Muschang <anthony.muschang@acsone.eu>
|
||||
* Stéphane Bidoul <stephane.bidoul@acsone.eu>
|
||||
* Pedro M. Baeza <pedro.baeza@serviciosbaeza.com>
|
||||
* Holger Brunn <hbrunn@therp.nl>
|
||||
* Siddharth Bhalgami <siddharth.bhalgami@gmail.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
@@ -33,6 +32,8 @@ Maintainer
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
|
||||
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.
|
||||
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
||||
To contribute to this module, please visit http://odoo-community.org.
|
||||
|
||||
@@ -28,11 +28,15 @@
|
||||
A module that lets the user expand a
|
||||
dialog box to the full screen width.""",
|
||||
|
||||
'author': "ACSONE SA/NV,Odoo Community Association (OCA)",
|
||||
'website': "http://acsone.eu",
|
||||
'author': "ACSONE SA/NV, "
|
||||
"Serv. Tecnol. Avanzados - Pedro M. Baeza, "
|
||||
"Therp BV, "
|
||||
"Odoo Community Association (OCA), "
|
||||
"Siddharth Bhalgami",
|
||||
|
||||
'website': "http://acsone.eu",
|
||||
'category': 'web',
|
||||
'version': '8.0.0.1.0',
|
||||
'version': '9.0.1.0.0',
|
||||
'license': 'AGPL-3',
|
||||
|
||||
'depends': [
|
||||
@@ -44,5 +48,5 @@
|
||||
'data': [
|
||||
'view/qweb.xml',
|
||||
],
|
||||
'installable': False,
|
||||
'installable': True,
|
||||
}
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
.modal .modal-header button.dialog_button_extend {
|
||||
padding-top: 0px;
|
||||
padding-right: 3px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.modal .modal-header button.dialog_button_restore {
|
||||
padding-top: 1px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.modal .modal-header .dialog_button_hide {
|
||||
display: none;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.dialog_full_screen {
|
||||
width: calc(100% - 50px);
|
||||
}
|
||||
}
|
||||
|
||||
.modal .modal-header button.close {
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
@@ -1,37 +1,41 @@
|
||||
openerp.web_dialog_size= function (instance) {
|
||||
odoo.define('web_dialog_size.web_dialog_size', function (require) {
|
||||
'use strict';
|
||||
|
||||
instance.web.Dialog = instance.web.Dialog.extend({
|
||||
var Model = require('web.DataModel');
|
||||
var Dialog = require('web.Dialog');
|
||||
|
||||
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');
|
||||
Dialog.include({
|
||||
|
||||
init: function (parent, options) {
|
||||
var self = this;
|
||||
this._super.apply(this, arguments);
|
||||
self.$modal.find('.dialog_button_extend').on('click', self.proxy('_extending'));
|
||||
self.$modal.find('.dialog_button_restore').on('click', self.proxy('_restore'));
|
||||
|
||||
new Model('ir.config_parameter').query(['key', 'value']).
|
||||
filter([['key', '=', 'web_dialog_size.default_maximize']]).all().then(function(default_maximize) {
|
||||
if (default_maximize.length && default_maximize[0]['value'] == 1) {
|
||||
self._extending();
|
||||
} else {
|
||||
self._restore();
|
||||
}
|
||||
else{
|
||||
self.$dialog_box.find('.dialog_button_extend').on('click', self._extending);
|
||||
self.$dialog_box.find('.dialog_button_restore').on('click', self._restore);
|
||||
}
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
_extending: function() {
|
||||
var self = this;
|
||||
$(this).parents('.modal-dialog').addClass('dialog_full_screen');
|
||||
$(this).addClass('dialog_button_hide');
|
||||
_extending: function() {
|
||||
var dialog = this.$el.parents('.modal-dialog');
|
||||
dialog.addClass('dialog_full_screen');
|
||||
dialog.find('.dialog_button_extend').hide();
|
||||
dialog.find('.dialog_button_restore').show();
|
||||
},
|
||||
|
||||
$(this).parents('.modal-dialog').find('.dialog_button_restore').removeClass('dialog_button_hide')
|
||||
},
|
||||
_restore: function() {
|
||||
var dialog = this.$el.parents('.modal-dialog');
|
||||
dialog.removeClass('dialog_full_screen');
|
||||
dialog.find('.dialog_button_restore').hide();
|
||||
dialog.find('.dialog_button_extend').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')
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<templates id="template" xml:space="preserve">
|
||||
<t t-extend="Dialog">
|
||||
<t t-jquery="button" t-operation="after">
|
||||
<button type="button" class="dialog_button_extend close">o</button>
|
||||
<button type="button" class="dialog_button_restore close">-</button>
|
||||
<t t-jquery="button.close" t-operation="inner">
|
||||
<i class="fa fa-close" />
|
||||
</t>
|
||||
<t t-jquery="button.close" t-operation="after">
|
||||
<button type="button" class="dialog_button_extend close"><i class="fa fa-expand" /></button>
|
||||
<button type="button" class="dialog_button_restore close"><i class="fa fa-compress" /></button>
|
||||
</t>
|
||||
</t>
|
||||
</templates>
|
||||
</templates>
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="assets_backend" name="web_dialog_size assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/web_dialog_size/static/src/css/web_dialog_size.css"/>
|
||||
<script type="text/javascript" src="/web_dialog_size/static/src/js/web_dialog_size.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<template id="assets_backend" name="web_dialog_size assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/web_dialog_size/static/src/css/web_dialog_size.css"/>
|
||||
<script type="text/javascript" src="/web_dialog_size/static/src/js/web_dialog_size.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user