Browse Source

Merge pull request #356 from bud-e/9.0-web_dialog_size

[MIG] web_dialog_size: Migrate to v9.0
pull/386/head
Pedro M. Baeza 8 years ago
committed by GitHub
parent
commit
4d47ccbeb4
  1. 25
      web_dialog_size/README.rst
  2. 12
      web_dialog_size/__openerp__.py
  3. 12
      web_dialog_size/static/src/css/web_dialog_size.css
  4. 52
      web_dialog_size/static/src/js/web_dialog_size.js
  5. 9
      web_dialog_size/static/src/xml/web_dialog_size.xml
  6. 7
      web_dialog_size/view/qweb.xml

25
web_dialog_size/README.rst

@ -1,19 +1,15 @@
Expand Dialog 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 Credits
======= =======
@ -23,6 +19,9 @@ Contributors
* Anthony Muschang <anthony.muschang@acsone.eu> * Anthony Muschang <anthony.muschang@acsone.eu>
* Stéphane Bidoul <stephane.bidoul@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 Maintainer
---------- ----------
@ -33,6 +32,8 @@ Maintainer
This module is maintained by the OCA. 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.

12
web_dialog_size/__openerp__.py

@ -28,11 +28,15 @@
A module that lets the user expand a A module that lets the user expand a
dialog box to the full screen width.""", 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', 'category': 'web',
'version': '8.0.0.1.0',
'version': '9.0.1.0.0',
'license': 'AGPL-3', 'license': 'AGPL-3',
'depends': [ 'depends': [
@ -44,5 +48,5 @@
'data': [ 'data': [
'view/qweb.xml', 'view/qweb.xml',
], ],
'installable': False,
'installable': True,
} }

12
web_dialog_size/static/src/css/web_dialog_size.css

@ -1,17 +1,15 @@
.modal .modal-header button.dialog_button_extend { .modal .modal-header button.dialog_button_extend {
padding-top: 0px;
padding-right: 3px;
padding-right: 5px;
} }
.modal .modal-header button.dialog_button_restore { .modal .modal-header button.dialog_button_restore {
padding-top: 1px;
padding-right: 5px; padding-right: 5px;
} }
.modal .modal-header .dialog_button_hide {
display: none;
}
.dialog_full_screen { .dialog_full_screen {
width: calc(100% - 50px); width: calc(100% - 50px);
} }
.modal .modal-header button.close {
font-size: 18px;
}

52
web_dialog_size/static/src/js/web_dialog_size.js

@ -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 () {
Dialog.include({
init: function (parent, options) {
var self = this; 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);
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();
} }
});
}, },
_extending: function() { _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')
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() { _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')
var dialog = this.$el.parents('.modal-dialog');
dialog.removeClass('dialog_full_screen');
dialog.find('.dialog_button_restore').hide();
dialog.find('.dialog_button_extend').show();
}, },
});
};
});
});

9
web_dialog_size/static/src/xml/web_dialog_size.xml

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve"> <templates id="template" xml:space="preserve">
<t t-extend="Dialog"> <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>
</t> </t>
</templates> </templates>

7
web_dialog_size/view/qweb.xml

@ -1,10 +1,9 @@
<openerp>
<data>
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<template id="assets_backend" name="web_dialog_size assets" inherit_id="web.assets_backend"> <template id="assets_backend" name="web_dialog_size assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside"> <xpath expr="." position="inside">
<link rel="stylesheet" href="/web_dialog_size/static/src/css/web_dialog_size.css"/> <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> <script type="text/javascript" src="/web_dialog_size/static/src/js/web_dialog_size.js"></script>
</xpath> </xpath>
</template> </template>
</data>
</openerp>
</odoo>
Loading…
Cancel
Save