summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2013-07-30 17:09:55 +0200
committerXavier Morel <xmo@openerp.com>2013-07-30 17:09:55 +0200
commit4d41a7f3899b044d1dbefc8066189a2f48c97a63 (patch)
tree17d62da5503c424266df66e9637bcb380006c0ea /addons/website/static/src/js
parent2a0dc6af7a40b1fbb2a4ac99e69055f48add0810 (diff)
[FIX] add event handlers on non-rte contenteditables to trigger enabling of save button, fixup filters
bzr revid: xmo@openerp.com-20130730150955-ttqovqamexqtd8r9
Diffstat (limited to 'addons/website/static/src/js')
-rw-r--r--addons/website/static/src/js/website.js21
1 files changed, 16 insertions, 5 deletions
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js
index de484a6ea31..fd1f0531fd2 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -42,11 +42,22 @@ instance.website.EditorBar = instance.web.Widget.extend({
.add(this.$buttons.save)
.parent().show();
// TODO: span edition changing edition state (save button)
- this.rte.start_edition(
- $('[data-oe-model]')
- .not('link, script')
- .prop('contentEditable', true)
- .addClass('oe_editable'));
+ var $editables = $('[data-oe-model]')
+ .not('link, script').prop('contentEditable', true)
+ .addClass('oe_editable');
+ var $rte_ables = $editables.filter('div, p, :not([data-oe-type])');
+ var $raw_editables = $editables.not($rte_ables);
+
+ this.rte.start_edition($rte_ables);
+ $raw_editables.on('keydown keypress cut paste', function (e) {
+ var $target = $(e.target);
+ if ($target.hasClass('oe_dirty')) {
+ return;
+ }
+
+ $target.addClass('oe_dirty');
+ this.$buttons.save.prop('disabled', false);
+ }.bind(this));
},
rte_changed: function () {
this.$buttons.save.prop('disabled', false);