[IMP] website: snippet : website.snippet.animationRegistry.follow
bzr revid: chm@openerp.com-20140306140323-o2e77a66eu28bddu
This commit is contained in:
parent
73446943f5
commit
5f3f09329f
|
@ -5,7 +5,7 @@
|
||||||
if (!website.snippet) website.snippet = {};
|
if (!website.snippet) website.snippet = {};
|
||||||
website.snippet.readyAnimation = [];
|
website.snippet.readyAnimation = [];
|
||||||
|
|
||||||
website.snippet.start_animation = function ($target) {
|
website.snippet.start_animation = function (editable_mode, $target) {
|
||||||
for (var k in website.snippet.animationRegistry) {
|
for (var k in website.snippet.animationRegistry) {
|
||||||
var Animation = website.snippet.animationRegistry[k];
|
var Animation = website.snippet.animationRegistry[k];
|
||||||
var selector = "";
|
var selector = "";
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
!$snipped_id.parent("body").length &&
|
!$snipped_id.parent("body").length &&
|
||||||
!$snipped_id.data("snippet-view")) {
|
!$snipped_id.data("snippet-view")) {
|
||||||
website.snippet.readyAnimation.push($snipped_id);
|
website.snippet.readyAnimation.push($snipped_id);
|
||||||
$snipped_id.data("snippet-view", new Animation($snipped_id));
|
$snipped_id.data("snippet-view", new Animation($snipped_id, editable_mode));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -49,9 +49,9 @@
|
||||||
$: function () {
|
$: function () {
|
||||||
return this.$el.find.apply(this.$el, arguments);
|
return this.$el.find.apply(this.$el, arguments);
|
||||||
},
|
},
|
||||||
init: function (dom) {
|
init: function (dom, editable_mode) {
|
||||||
this.$el = this.$target = $(dom);
|
this.$el = this.$target = $(dom);
|
||||||
this.start();
|
this.start(editable_mode);
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* start
|
* start
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
this.on('rte:ready', this, function () {
|
this.on('rte:ready', this, function () {
|
||||||
self.snippets.$button.removeClass("hidden");
|
self.snippets.$button.removeClass("hidden");
|
||||||
website.snippet.stop_animation();
|
website.snippet.stop_animation();
|
||||||
website.snippet.start_animation();
|
website.snippet.start_animation(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
return this._super.apply(this, arguments);
|
return this._super.apply(this, arguments);
|
||||||
|
@ -382,7 +382,7 @@
|
||||||
$("#oe_snippets").trigger('snippet-dropped', $target);
|
$("#oe_snippets").trigger('snippet-dropped', $target);
|
||||||
|
|
||||||
// after rte
|
// after rte
|
||||||
website.snippet.start_animation($target);
|
website.snippet.start_animation(true, $target);
|
||||||
|
|
||||||
self.create_overlay($target);
|
self.create_overlay($target);
|
||||||
if ($target.data("snippet-editor")) {
|
if ($target.data("snippet-editor")) {
|
||||||
|
|
|
@ -5,9 +5,10 @@
|
||||||
|
|
||||||
website.snippet.animationRegistry.follow = website.snippet.Animation.extend({
|
website.snippet.animationRegistry.follow = website.snippet.Animation.extend({
|
||||||
selector: ".js_follow",
|
selector: ".js_follow",
|
||||||
start: function () {
|
start: function (editable_mode) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
// set value and display button
|
||||||
openerp.jsonRpc('/website_mail/is_follower/', 'call', {
|
openerp.jsonRpc('/website_mail/is_follower/', 'call', {
|
||||||
model: this.$target.data('object'),
|
model: this.$target.data('object'),
|
||||||
id: +this.$target.data('id'),
|
id: +this.$target.data('id'),
|
||||||
|
@ -18,41 +19,38 @@
|
||||||
self.$target.attr("data-follow", data.is_follower ? 'on' : 'off');
|
self.$target.attr("data-follow", data.is_follower ? 'on' : 'off');
|
||||||
self.$target.removeClass("hidden");
|
self.$target.removeClass("hidden");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// not if editable mode to allow designer to edit alert field
|
||||||
|
if (!editable_mode) {
|
||||||
|
$('.js_follow > .alert').addClass("hidden");
|
||||||
|
$('.js_follow > .input-group-btn.hidden').removeClass("hidden");
|
||||||
|
this.$target.find('.js_follow_btn, .js_unfollow_btn').on('click', function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
self.on_click();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
on_click: function () {
|
||||||
|
var self = this;
|
||||||
|
var $email = this.$target.find(".js_follow_email:visible");
|
||||||
|
|
||||||
|
if ($email.length && !$email.val().match(/.+@.+/)) {
|
||||||
|
this.$target.addClass('has-error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.$target.removeClass('has-error');
|
||||||
|
|
||||||
|
openerp.jsonRpc('/website_mail/follow', 'call', {
|
||||||
|
'id': +this.$target.data('id'),
|
||||||
|
'object': this.$target.data('object'),
|
||||||
|
'message_is_follower': this.$target.attr("data-follow") || "off",
|
||||||
|
'email': $email.length ? $email.val() : false,
|
||||||
|
}).then(function (follow) {
|
||||||
|
if (follow) {
|
||||||
|
self.$target.find(" > *").toggleClass("hidden");
|
||||||
|
}
|
||||||
|
self.$target.attr("data-follow", follow ? 'on' : 'off');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
$('.js_follow > .alert').addClass("hidden");
|
|
||||||
$('.js_follow > .input-group-btn.hidden').removeClass("hidden");
|
|
||||||
|
|
||||||
$('.js_follow_btn, .js_unfollow_btn').on('click', function (ev) {
|
|
||||||
ev.preventDefault();
|
|
||||||
|
|
||||||
var $follow = $(this).parents("div.js_follow");
|
|
||||||
var $email = $follow.find(".js_follow_email:visible");
|
|
||||||
|
|
||||||
if ($email.length && !$email.val().match(/.+@.+/)) {
|
|
||||||
$follow.addClass('has-error');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$email.removeClass('has-error');
|
|
||||||
|
|
||||||
var message_is_follower = $follow.attr("data-follow") || "off";
|
|
||||||
$follow.attr("data-follow", message_is_follower == 'off' ? 'on' : 'off');
|
|
||||||
|
|
||||||
openerp.jsonRpc('/website_mail/follow', 'call', {
|
|
||||||
'id': +$follow.data('id'),
|
|
||||||
'object': $follow.data('object'),
|
|
||||||
'message_is_follower': message_is_follower,
|
|
||||||
'email': $email.length ? $email.val() : false,
|
|
||||||
}).then(function (follow) {
|
|
||||||
if (follow) {
|
|
||||||
$follow.find(" > *").toggleClass("hidden");
|
|
||||||
}
|
|
||||||
$follow.attr("data-follow", follow ? 'on' : 'off');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
Loading…
Reference in New Issue