fix ad_banner. new ad_image with best size from ad_banner. content editable at tab

This commit is contained in:
Matthew K. Fu JuYuan authored and Christophe Vilayphiou committed 2012-05-17 23:35:46 +08:00
1 parent 5d5e798b1a
commit 16ada34585
9 files changed
+159 -13

No files matched your search

@@ -1,25 +1,37 @@
<%#= encoding: utf-8 %>
$(function() {
var content_holder, content;
var selector = 'li[contenteditable="true"]';
var selector = 'a[contenteditable="true"]';
// prevent clicks inside editable area to fire
// a click event on the body
// and therefor saving our content before we even edit it
$(selector).click(function(e) {
e.stopPropagation();
});
$(".nav-tabs").find(".icons-pencil").click(function(){
$(this).css({
"display" : "none"
})
$(this).next().attr("contenteditable",true).addClass("edit");
// $(selector).click(function(e) {
// e.stopPropagation();
// });
// initialize the "save" function
$(selector).focus(function(e) {
content_holder = $(this);
content = content_holder.html();
content = content_holder.html();
// one click outside the editable area saves the content
$('body').one('click', function(e) {
$(selector).keypress( function(e) {
// but not if the content didn't change
if ($(e.target).is(selector) || content == content_holder.html()) {
return;
}
//alert('out!!');
if(e.keyCode == 13){
$(".nav-tabs>li>a").removeClass("edit");
$(this).prev(".icons-pencil").css({
"display" : "block"
})
e.preventDefault();
// if ($(e.target).is(selector) || content == content_holder.html()) {
// return;
// }
$.ajax({
url: content_holder.data('edit-url'),
@@ -27,6 +39,7 @@ $(function() {
dataType: 'json',
data: { body: content_holder.html() },
success: function(json) {
$(selector).attr("contenteditable",false)
alert("<%= I18n.t("admin.contenteditable.update_done") %>");
//content_holder.effect('highlight', {'color': '#0f0'}, 3000);
},
@@ -36,6 +49,8 @@ $(function() {
content_holder.html(content);
}
});
}
});
});
});
});
+13
View File
@@ -606,6 +606,19 @@
.news_paragraph p {
line-height: 20px;
}
.nav-tabs>li>.edit, .nav-tabs>li>.edit:hover {
background-color: #333;
color: #FFF;
padding-right: 12px;
}
.nav-tabs li .icons-pencil {
float: right;
margin-top: 8px;
}
.nav-tabs li a {
padding-right: 32px;
}
/*icons*/
.the-icons i:after {
@@ -6,7 +6,7 @@ class Admin::AdBannersController < OrbitBackendController
def rename
@ad_banner = AdBanner.find(params[:id])
@ad_banner.title = Nokogiri::HTML.fragment(params["body"]).at("a").children().to_s
@ad_banner.title = params[:body]
render :json => {:success =>@ad_banner.save!}
end
def destroy
@@ -18,7 +18,8 @@ class Admin::AdImagesController < ApplicationController
end
def new
@ad_image =AdImage.new
ad_banner = AdBanner.find params[:ad_banner_id]
@ad_image =ad_banner.ad_images.build
@ad_image.post_date = Date.today
@ad_image.unpost_date = Date.today + 30
#render :action => 'new',:url=> {:ad_banner_id => params.has_key?(:ad_banner_id)? params[:ad_banner_id],nil}
+4 -1
View File
@@ -12,7 +12,10 @@
<div id="post-body-content" class="clear">
<ul id="banner_tab" class="nav nav-tabs">
<% @ad_banners.each do |ab| %>
<%= content_tag :li,link_to(ab.title,"##{ab.title.dehumanize}",:data=>{:toggle=>"tab"}),:class => (ab == @active ? 'active' : nil ), :contenteditable=>"true" ,"data-edit-url"=>(admin_rename_ad_banner_path ab)%>
<%= content_tag :li ,:class => (ab == @active ? 'active' : nil) do %>
<i class="icons-pencil"></i>
<%= link_to(ab.title,"##{ab.title.dehumanize}",:contenteditable=>"false",:data=>{:toggle=>"tab" ,'edit-url' =>(admin_rename_ad_banner_path ab) } )%>
<% end -%>
<% end -%>
<%= content_tag :li,link_to(t("admin.ad.new_banner"),"#new-a-banner",:data=>{:toggle=>"modal"}),:id=>'new_ad_banner_tab_but',:class => (@active.nil? ? 'active' : nil ) %>