summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.editor.js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2013-10-11 15:56:16 +0200
committerXavier Morel <xmo@openerp.com>2013-10-11 15:56:16 +0200
commit8a10e6a688219534d07beadc30cd51e6cbef3020 (patch)
tree31409f30c3eba4da0bf3232b59f476ff15dd703d /addons/website/static/src/js/website.editor.js
parent1ad6132624a876d077ead02f86169811d88a2b8d (diff)
[IMP] add a cke widget for monetary fields to make the currency symbol non-editable
bzr revid: xmo@openerp.com-20131011135616-3zfvuhoxjzoce78q
Diffstat (limited to 'addons/website/static/src/js/website.editor.js')
-rw-r--r--addons/website/static/src/js/website.editor.js19
1 files changed, 16 insertions, 3 deletions
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index 217d7fd24ee..30514b25780 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -162,9 +162,17 @@
editables: { text: '*' },
upcast: function (el) {
- return el.attributes['data-oe-type'];
+ return el.attributes['data-oe-type']
+ && el.attributes['data-oe-type'] !== 'monetary';
},
});
+ editor.widgets.add('monetary', {
+ editables: { text: 'span.oe_currency_value' },
+
+ upcast: function (el) {
+ return el.attributes['data-oe-type'] === 'monetary';
+ }
+ });
}
});
@@ -346,12 +354,17 @@
var self = this;
// setup dirty-marking for each editable element
this.fetch_editables(root)
- .prop('contentEditable', true)
.addClass('oe_editable')
.each(function () {
var node = this;
- observer.observe(node, OBSERVER_CONFIG);
var $node = $(node);
+ // only explicitly set contenteditable on view sections,
+ // cke widgets system will do the widgets themselves
+ if ($node.data('oe-model') === 'ir.ui.view') {
+ node.contentEditable = true;
+ }
+
+ observer.observe(node, OBSERVER_CONFIG);
$node.one('content_changed', function () {
$node.addClass('oe_dirty');
self.trigger('change');