Add some JS for design uploading
This commit is contained in:
parent
c3ada90365
commit
c48a11d9f5
|
@ -4,6 +4,7 @@
|
||||||
// // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
// // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
||||||
// // the compiled file.
|
// // the compiled file.
|
||||||
// //
|
// //
|
||||||
|
// //= require design_temp
|
||||||
// //= require jquery
|
// //= require jquery
|
||||||
// //= require jquery_ujs
|
// //= require jquery_ujs
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
$(".r_snapshot").hover(
|
||||||
|
function(){
|
||||||
|
$(this).append($("<span></span>").html('<p class="z-preview"><img src="'+$(this).attr("path")+'"width="220" height="19" /></p>'));
|
||||||
|
}
|
||||||
|
,
|
||||||
|
function(){
|
||||||
|
$(this).find("span:last").remove();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$('input.multi_files').change(function(){
|
||||||
|
$(this).prev("ul").append("<li>"+$(this).val()+"</li>");
|
||||||
|
new_node =$(this).clone();
|
||||||
|
new_node.css("display","none");
|
||||||
|
//new_node.val("asd");
|
||||||
|
$(this).parent().append(new_node);
|
||||||
|
$(this).val("");
|
||||||
|
});
|
||||||
|
|
||||||
|
$('a.remove_mark').live("click",function(){
|
||||||
|
$(this).prev("input").value("true");
|
||||||
|
$(this).parent().css("text-decoration","line-through")
|
||||||
|
$(this).remove();
|
||||||
|
return false;
|
||||||
|
});
|
|
@ -0,0 +1,12 @@
|
||||||
|
.z-preview * {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.z-preview {
|
||||||
|
background: white;
|
||||||
|
border: solid;
|
||||||
|
position: absolute;
|
||||||
|
width: 200px;
|
||||||
|
float: right;
|
||||||
|
height: 200px;
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
class Admin::DesignsController < ApplicationController
|
class Admin::DesignsController < ApplicationController
|
||||||
layout "admin"
|
layout "admin"
|
||||||
|
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@designs = Design.all.entries
|
@designs = Design.all.entries
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
module DesignHelper
|
module DesignHelper
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,7 +17,7 @@ class Design
|
||||||
embeds_many :javascripts
|
embeds_many :javascripts
|
||||||
embeds_many :images
|
embeds_many :images
|
||||||
|
|
||||||
after_save :save_embedded_objects
|
after_save :procs_embedded_objects
|
||||||
|
|
||||||
def javascripts=(*attrs)
|
def javascripts=(*attrs)
|
||||||
self.files = (attrs << 'javascripts')
|
self.files = (attrs << 'javascripts')
|
||||||
|
@ -41,13 +41,16 @@ class Design
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def save_embedded_objects
|
def procs_embedded_objects
|
||||||
[self.stylesheets, self.javascripts, self.images].each do |objects|
|
[self.stylesheets, self.javascripts, self.images].each do |objects|
|
||||||
objects.each do |object|
|
objects.each do |object|
|
||||||
if object.to_save
|
if object.to_save
|
||||||
object.to_save = false
|
object.to_save = false
|
||||||
object.save
|
object.save
|
||||||
end
|
end
|
||||||
|
if object.to_destroy
|
||||||
|
object.destroy
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,5 +4,8 @@ class DesignFile
|
||||||
mount_uploader :file, AssetUploader
|
mount_uploader :file, AssetUploader
|
||||||
|
|
||||||
field :to_save, :type => Boolean
|
field :to_save, :type => Boolean
|
||||||
|
field :to_destroy, :type => Boolean
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Binary file not shown.
|
@ -1,3 +1,4 @@
|
||||||
|
<%= stylesheet_link_tag "design_temp" %>
|
||||||
<p>
|
<p>
|
||||||
<%= f.label :title, t('admin.title') %>
|
<%= f.label :title, t('admin.title') %>
|
||||||
<%= f.text_field :title, :class => 'text' %>
|
<%= f.text_field :title, :class => 'text' %>
|
||||||
|
@ -25,21 +26,48 @@
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= f.label "stylesheet", t('admin.stylesheet') %>
|
<%= f.label "stylesheet", t('admin.stylesheet') %>
|
||||||
<%= fields_for "design[stylesheets][]", @design, :index => nil do |f| %>
|
<ul>
|
||||||
<%= f.file_field :file %>
|
<% @design.stylesheets.each do |t| %>
|
||||||
|
<li class="r_destroy r_edit" ><%= t.file_filename %>
|
||||||
|
<%= fields_for "design[stylesheets][]", t, :index => nil do |f| %>
|
||||||
|
<%= f.hidden_field :id %>
|
||||||
|
<%= f.hidden_field :to_destroy %>
|
||||||
|
<%end%>
|
||||||
|
<a class="remove_mark" href="#">Del</a></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<%= fields_for "design[stylesheet][]", @design, :index => nil do |f| %>
|
||||||
|
<%= f.file_field :file ,{:class=>"multi_files",:rtype=>"stylesheets"}%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= f.label "javascript", t('admin.') %>
|
<%= f.label "javascript", t('admin.javascript') %>
|
||||||
|
<ul>
|
||||||
|
<% @design.javascripts.each do |t| %>
|
||||||
|
<li class="r_destroy r_edit" ><%= t.file_filename %>
|
||||||
|
<%=fields_for "design[javascripts][]",t,:index=>nil do |f| %>
|
||||||
|
<%= f.hidden_field :id %>
|
||||||
|
<%= f.hidden_field :to_destroy %>
|
||||||
|
<%end%>
|
||||||
|
<a class="remove_mark" href="#">Del</a></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
<%= fields_for "design[javascripts][]", @design, :index => nil do |f| %>
|
<%= fields_for "design[javascripts][]", @design, :index => nil do |f| %>
|
||||||
<%= f.file_field :file %>
|
<%= f.file_field :file,{:class=>"multi_files",:rtype=>"javascripts"} %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= f.label "image", t('admin.') %>
|
<%= f.label "image", t('admin.image') %>
|
||||||
|
<ul>
|
||||||
|
<% @design.images.each do |t| %>
|
||||||
|
<li class="r_destroy r_snapshot" path="<%= t.file %>" item_id="<%=t.id %>"><%= t.file_filename %>
|
||||||
|
<a class="remove_mark" href="#">Del</a>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
<%= fields_for "design[images][]", @design, :index => nil do |f| %>
|
<%= fields_for "design[images][]", @design, :index => nil do |f| %>
|
||||||
<%= f.file_field :file %>
|
<%= f.file_field :file ,{:class=>"multi_files",:rtype=>"images"}%>
|
||||||
<% end %>
|
<% end %>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -44,7 +44,12 @@ PrototypeR4::Application.routes.draw do
|
||||||
|
|
||||||
end
|
end
|
||||||
resources :layouts
|
resources :layouts
|
||||||
resources :designs
|
resources :designs do
|
||||||
|
member do
|
||||||
|
get 'delete'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
resources :links do
|
resources :links do
|
||||||
member do
|
member do
|
||||||
get 'delete'
|
get 'delete'
|
||||||
|
|
Reference in New Issue