papermill 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|