papermill 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.1
|
@@ -28,7 +28,11 @@ module Papermill
|
|
28
28
|
# Helper can generates inline css styling that adapt to your gallery/images placeholder. You can use it to scaffold, then copy the lines you need in your application css and set it to false.
|
29
29
|
|
30
30
|
# :inline_css => true,
|
31
|
-
|
31
|
+
|
32
|
+
# If you don't want generated CSS and JS to be captured and available through @papermill_inline_css/@papermill_inline_js, and instead directly outputed in the form, set it to false
|
33
|
+
|
34
|
+
# :use_content_for => true,
|
35
|
+
|
32
36
|
# SwfUpload will only let the user upload images.
|
33
37
|
|
34
38
|
# :images_only => false,
|
@@ -51,16 +51,18 @@ module ActionView::Helpers::FormTagHelper
|
|
51
51
|
options = association_options.deep_merge(options)
|
52
52
|
field_name = "#{assetable_name}[papermill_#{method}_ids][]"
|
53
53
|
|
54
|
+
html = {}
|
55
|
+
|
54
56
|
if ot = options[:thumbnail]
|
55
57
|
w = ot[:width] || ot[:height] && ot[:aspect_ratio] && (ot[:height] * ot[:aspect_ratio]).to_i || nil
|
56
58
|
h = ot[:height] || ot[:width] && ot[:aspect_ratio] && (ot[:width] / ot[:aspect_ratio]).to_i || nil
|
57
59
|
computed_style = ot[:style] || (w || h) && "#{w}x#{h}>" || "original"
|
58
|
-
set_papermill_inline_css(field_id, w, h, options)
|
60
|
+
html[:css] = set_papermill_inline_css(field_id, w, h, options)
|
59
61
|
end
|
60
62
|
|
61
|
-
set_papermill_inline_js(field_id, compute_papermill_url(:create, computed_style, field_name, field_id, options), options)
|
63
|
+
html[:js] = set_papermill_inline_js(field_id, compute_papermill_url(:create, computed_style, field_name, field_id, options), options)
|
62
64
|
|
63
|
-
|
65
|
+
|
64
66
|
html[:upload_button] = %{\
|
65
67
|
<div id="#{field_id}-button-wrapper" class="papermill-button-wrapper" style="height: #{options[:swfupload][:button_height]}px;">
|
66
68
|
<span id="browse_for_#{field_id}" class="swf_button"></span>
|
@@ -91,7 +93,7 @@ module ActionView::Helpers::FormTagHelper
|
|
91
93
|
# hidden_field needed to empty a list.
|
92
94
|
%{<div class="papermill">
|
93
95
|
#{@template.hidden_field("#{assetable_name}[papermill_#{method}_ids]", nil)}
|
94
|
-
#{options[:form_helper_elements].map{|element| html[element] || ""}.join("\n")}
|
96
|
+
#{html[:css] + html[:js] + options[:form_helper_elements].map{|element| html[element] || ""}.join("\n")}
|
95
97
|
</div>}
|
96
98
|
end
|
97
99
|
|
@@ -106,36 +108,44 @@ module ActionView::Helpers::FormTagHelper
|
|
106
108
|
end
|
107
109
|
|
108
110
|
def set_papermill_inline_js(field_id, create_url, options)
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
111
|
+
outputed_js = (options[:gallery] ? %{ jQuery("##{field_id}").sortable() } : "") +
|
112
|
+
%{
|
113
|
+
new SWFUpload({
|
114
|
+
post_params: {
|
115
|
+
"#{ ActionController::Base.session_options[:key] }": "#{ @template.cookies[ActionController::Base.session_options[:key]] }"
|
116
|
+
},
|
117
|
+
upload_id: "#{ field_id }",
|
118
|
+
upload_url: "#{ @template.escape_javascript create_url }",
|
119
|
+
file_types: "#{ options[:images_only] ? '*.jpg;*.jpeg;*.png;*.gif' : '' }",
|
120
|
+
file_queue_limit: "#{ !options[:gallery] ? '1' : '0' }",
|
121
|
+
file_queued_handler: Papermill.file_queued,
|
122
|
+
file_dialog_complete_handler: Papermill.file_dialog_complete,
|
123
|
+
upload_start_handler: Papermill.upload_start,
|
124
|
+
upload_progress_handler: Papermill.upload_progress,
|
125
|
+
file_queue_error_handler: Papermill.file_queue_error,
|
126
|
+
upload_error_handler: Papermill.upload_error,
|
127
|
+
upload_success_handler: Papermill.upload_success,
|
128
|
+
upload_complete_handler: Papermill.upload_complete,
|
129
|
+
button_placeholder_id: "browse_for_#{field_id}",
|
130
|
+
#{ options[:swfupload].map { |key, value| "#{key}: #{value}" if value }.compact.join(",\n") }
|
131
|
+
});
|
132
|
+
}
|
133
|
+
if options[:use_content_for]
|
134
|
+
@template.content_for :papermill_inline_js do
|
135
|
+
outputed_js
|
136
|
+
end
|
137
|
+
""
|
138
|
+
else
|
139
|
+
%{<script type="text/javascript">
|
140
|
+
$(function() {
|
141
|
+
#{outputed_js}
|
133
142
|
});
|
134
|
-
}
|
143
|
+
</script>}
|
135
144
|
end
|
136
145
|
end
|
137
146
|
|
138
147
|
def set_papermill_inline_css(field_id, width, height, options)
|
148
|
+
return unless options[:inline_css]
|
139
149
|
html = ["\n"]
|
140
150
|
size = [width && "width:#{width}px", height && "height:#{height}px"].compact.join("; ")
|
141
151
|
if og = options[:gallery]
|
@@ -148,8 +158,15 @@ module ActionView::Helpers::FormTagHelper
|
|
148
158
|
html << %{##{field_id}, ##{field_id} .asset { #{size} }}
|
149
159
|
end
|
150
160
|
html << %{##{field_id} .name { width:#{width || "100"}px; }}
|
151
|
-
|
152
|
-
|
161
|
+
if options[:use_content_for]
|
162
|
+
@template.content_for :papermill_inline_css do
|
163
|
+
html.join("\n")
|
164
|
+
end
|
165
|
+
""
|
166
|
+
else
|
167
|
+
%{<style type="text/css">
|
168
|
+
#{html.join("\n")}
|
169
|
+
</style>}
|
153
170
|
end
|
154
171
|
end
|
155
172
|
end
|
data/lib/papermill/papermill.rb
CHANGED
@@ -54,7 +54,7 @@ module Papermill
|
|
54
54
|
return if assoc_key.to_sym == :default
|
55
55
|
unless papermill_options[assoc_key.to_sym][:through]
|
56
56
|
self.class_eval %{
|
57
|
-
has_many :#{assoc_key}, :as => "assetable", :dependent => :
|
57
|
+
has_many :#{assoc_key}, :as => "assetable", :dependent => :destroy, :order => :position, :class_name => "PapermillAsset", :conditions => {:assetable_key => '#{assoc_key}'}, :before_add => Proc.new{|a, asset| asset.assetable_key = '#{assoc_key}'}
|
58
58
|
def papermill_#{assoc_key}_ids=(ids)
|
59
59
|
unless (assets_ids = ids.map(&:to_i).select{|i|i>0}) == self.#{assoc_key}.map(&:id)
|
60
60
|
assets = PapermillAsset.find(assets_ids)
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 2
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 2.0.
|
8
|
+
- 1
|
9
|
+
version: 2.0.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "Benoit B\xC3\xA9n\xC3\xA9zech"
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-31 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|