diff options
| author | Christophe Matthieu <chm@openerp.com> | 2013-09-24 13:50:04 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2013-09-24 13:50:04 +0200 |
| commit | f181f21cf47c314b2cfec58f7c831d3e9a1897ee (patch) | |
| tree | 7f0d47c01bbbdc201db748d3e8dde8c61755d4bd /addons/website/static/src | |
| parent | 8b06e72716efc4e3890c521163030a133b3a429c (diff) | |
[IMP] website: publish button with link to backend
bzr revid: chm@openerp.com-20130924115004-xjpy6sayze2she1w
Diffstat (limited to 'addons/website/static/src')
| -rw-r--r-- | addons/website/static/src/css/website.css | 6 | ||||
| -rw-r--r-- | addons/website/static/src/css/website.sass | 6 | ||||
| -rw-r--r-- | addons/website/static/src/js/website.js | 22 |
3 files changed, 16 insertions, 18 deletions
diff --git a/addons/website/static/src/css/website.css b/addons/website/static/src/css/website.css index 29a443e50ea..5249450386f 100644 --- a/addons/website/static/src/css/website.css +++ b/addons/website/static/src/css/website.css @@ -375,17 +375,17 @@ a[data-publish][data-publish='on']:hover .css_published { opacity: 0.5; } -[data-publish='off']:not(a) > :not([data-publish]) { +[data-publish='off']:not(a) > :not(.js_publish) { opacity: 0.5; } [data-publish]:not(a) { position: relative; overflow: visible; - /*&:hover > [data-publish] */ + /*&:hover .js_publish */ /* display: block */ } -[data-publish]:not(a) > [data-publish] { +[data-publish]:not(a) .js_publish { position: absolute; right: -6px; top: -10px; diff --git a/addons/website/static/src/css/website.sass b/addons/website/static/src/css/website.sass index 52937f25192..94ac792ea65 100644 --- a/addons/website/static/src/css/website.sass +++ b/addons/website/static/src/css/website.sass @@ -285,15 +285,15 @@ a[data-publish] .unpublish opacity: 0.5 [data-publish='off']:not(a) - >:not([data-publish]) + >:not(.js_publish) opacity: 0.5 [data-publish]:not(a) position: relative overflow: visible - >[data-publish] + .js_publish position: absolute right: -6px top: -10px display: none - /*&:hover > [data-publish]*/ + /*&:hover .js_publish*/ /* display: block*/ diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 1cfd076f8e3..b26a0a7e76c 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -116,20 +116,18 @@ dom_ready.then(function () { /* ----- PUBLISHING STUFF ---- */ - $('[data-publish]:has([data-publish])').each(function () { - var $pub = $("[data-publish]", this); - if($pub.size()) - $(this).attr("data-publish", $pub.attr("data-publish")); - else - $(this).removeAttr("data-publish"); + $('[data-publish]:has(.js_publish)').each(function () { + $(this).attr("data-publish", $(".js_publish li.active", this).size() ? "on" : 'off'); }); - $(document).on('click', '.js_publish', function (e) { - e.preventDefault(); - var $data = $(":first", this).parents("[data-publish]"); - $data.attr("data-publish", $data.first().attr("data-publish") == 'off' ? 'on' : 'off'); - $.post('/website/publish', {'id': $(this).data('id'), 'object': $(this).data('object')}, function (result) { - $data.attr("data-publish", +result ? 'on' : 'off'); + $(document).on('click', '.js_publish a.js_publish_btn', function (e) { + var $li = $(this).parent("li"); + var $data = $li.parents(".js_publish:first"); + var publish = $li.hasClass("active"); + $li.toggleClass("active"); + $.post('/website/publish', {'id': $data.data('id'), 'object': $data.data('object')}, function (result) { + $li.toggleClass("active", !!+result); + $li.parents("[data-publish]").attr("data-publish", +result ? 'on' : 'off'); }); }); |
