summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/website.snippets.editor.js
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2013-12-03 11:04:49 +0100
committerChristophe Matthieu <chm@openerp.com>2013-12-03 11:04:49 +0100
commit78dedf2dff12fa659fc864bbf699c9c468022db2 (patch)
treef0d2784dca6e77f50eb0b1f21db98f8ab6a24405 /addons/website/static/src/js/website.snippets.editor.js
parent63f63ef470ae46dee391a02cbcc407417a5eb6dd (diff)
[IMP] website snippet: icones goto parent snippet, clean css, unactive snippet when click outside
bzr revid: chm@openerp.com-20131203100449-7ups314ffru0kobh
Diffstat (limited to 'addons/website/static/src/js/website.snippets.editor.js')
-rw-r--r--addons/website/static/src/js/website.snippets.editor.js37
1 files changed, 19 insertions, 18 deletions
diff --git a/addons/website/static/src/js/website.snippets.editor.js b/addons/website/static/src/js/website.snippets.editor.js
index 6d9a2ff0ea1..c083aeea70f 100644
--- a/addons/website/static/src/js/website.snippets.editor.js
+++ b/addons/website/static/src/js/website.snippets.editor.js
@@ -184,23 +184,24 @@
bind_snippet_click_editor: function () {
var self = this;
var snipped_event_flag = false;
- $("body").on('click', "[data-oe-model] [data-snippet-id], [data-oe-model][data-snippet-id]", function (event) {
- if (snipped_event_flag) {
- return;
- }
- snipped_event_flag = true;
- setTimeout(function () {snipped_event_flag = false;}, 0);
- var $target = $(event.currentTarget);
- if (self.$active_snipped_id && self.$active_snipped_id.is($target)) {
- return;
- }
- self.make_active($target);
- });
- $("[data-oe-model]").on('click', function () {
- if (!snipped_event_flag && self.$active_snipped_id && !self.$active_snipped_id.parents("[data-snippet-id]:first")) {
- self.make_active(false);
- }
- });
+ $("#wrapwrap").on('click', function (event) {
+ if (snipped_event_flag) {
+ return;
+ }
+ snipped_event_flag = true;
+ setTimeout(function () {snipped_event_flag = false;}, 0);
+ var $target = $(event.srcElement);
+ if (!$target.attr("data-snippet-id")) {
+ $target = $target.parents("[data-snippet-id]:first");
+ }
+ if (!$target.attr("data-oe-model") && !$target.parents("[data-oe-model]:first").length) {
+ $target = false;
+ }
+ if (self.$active_snipped_id && self.$active_snipped_id.is($target)) {
+ return;
+ }
+ self.make_active($target);
+ });
},
snippet_blur: function ($snipped_id) {
if ($snipped_id) {
@@ -233,7 +234,7 @@
this.snippet_blur(this.$active_snipped_id);
this.$active_snipped_id = false;
}
- if ($snipped_id) {
+ if ($snipped_id && $snipped_id.length) {
if(_.indexOf(this.snippets, $snipped_id.get(0)) === -1) {
this.snippets.push($snipped_id.get(0));
}