[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 = {};
|
||||
website.snippet.readyAnimation = [];
|
||||
|
||||
website.snippet.start_animation = function ($target) {
|
||||
website.snippet.start_animation = function (editable_mode, $target) {
|
||||
for (var k in website.snippet.animationRegistry) {
|
||||
var Animation = website.snippet.animationRegistry[k];
|
||||
var selector = "";
|
||||
|
@ -24,7 +24,7 @@
|
|||
!$snipped_id.parent("body").length &&
|
||||
!$snipped_id.data("snippet-view")) {
|
||||
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 () {
|
||||
return this.$el.find.apply(this.$el, arguments);
|
||||
},
|
||||
init: function (dom) {
|
||||
init: function (dom, editable_mode) {
|
||||
this.$el = this.$target = $(dom);
|
||||
this.start();
|
||||
this.start(editable_mode);
|
||||
},
|
||||
/*
|
||||
* start
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
this.on('rte:ready', this, function () {
|
||||
self.snippets.$button.removeClass("hidden");
|
||||
website.snippet.stop_animation();
|
||||
website.snippet.start_animation();
|
||||
website.snippet.start_animation(true);
|
||||
});
|
||||
|
||||
return this._super.apply(this, arguments);
|
||||
|
@ -382,7 +382,7 @@
|
|||
$("#oe_snippets").trigger('snippet-dropped', $target);
|
||||
|
||||
// after rte
|
||||
website.snippet.start_animation($target);
|
||||
website.snippet.start_animation(true, $target);
|
||||
|
||||
self.create_overlay($target);
|
||||
if ($target.data("snippet-editor")) {
|
||||
|
|
|
@ -5,9 +5,10 @@
|
|||
|
||||
website.snippet.animationRegistry.follow = website.snippet.Animation.extend({
|
||||
selector: ".js_follow",
|
||||
start: function () {
|
||||
start: function (editable_mode) {
|
||||
var self = this;
|
||||
|
||||
// set value and display button
|
||||
openerp.jsonRpc('/website_mail/is_follower/', 'call', {
|
||||
model: this.$target.data('object'),
|
||||
id: +this.$target.data('id'),
|
||||
|
@ -18,41 +19,38 @@
|
|||
self.$target.attr("data-follow", data.is_follower ? 'on' : 'off');
|
||||
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