plugin formtastic qi_image_select
This commit is contained in:
parent
aec1b53c84
commit
a6d45ed58b
1
vendor/plugins/qi_select_image/README.markdown
vendored
Normal file
1
vendor/plugins/qi_select_image/README.markdown
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Copyright (c) 2011 Nicolas Bally
|
11
vendor/plugins/qi_select_image/Rakefile
vendored
Normal file
11
vendor/plugins/qi_select_image/Rakefile
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
require 'rake'
|
||||||
|
require 'spec/rake/spectask'
|
||||||
|
|
||||||
|
desc 'Default: run all specs.'
|
||||||
|
task :default => :spec
|
||||||
|
|
||||||
|
desc 'Run all specs'
|
||||||
|
Spec::Rake::SpecTask.new(:spec) do |t|
|
||||||
|
t.spec_opts = ['--colour --format progress --loadby mtime --reverse']
|
||||||
|
t.spec_files = FileList['spec/**/*_spec.rb']
|
||||||
|
end
|
6
vendor/plugins/qi_select_image/init.rb
vendored
Normal file
6
vendor/plugins/qi_select_image/init.rb
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# -*- encoding : utf-8 -*-
|
||||||
|
if Object.const_defined?("Formtastic")
|
||||||
|
require 'qi_image_select'
|
||||||
|
Formtastic::SemanticFormBuilder.send(:include, Formtastic::QiImageSelect)
|
||||||
|
end
|
||||||
|
|
54
vendor/plugins/qi_select_image/lib/qi_image_select.rb
vendored
Normal file
54
vendor/plugins/qi_select_image/lib/qi_image_select.rb
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
|
||||||
|
module Formtastic
|
||||||
|
module QiImageSelect
|
||||||
|
|
||||||
|
def self.included(base)
|
||||||
|
base.send(:extend, ClassMethods)
|
||||||
|
end
|
||||||
|
|
||||||
|
module ClassMethods
|
||||||
|
|
||||||
|
@@image_preview_sizes = [ :preview, :thumbnail, :thumb, :small ]
|
||||||
|
|
||||||
|
def image_preview_sizes
|
||||||
|
@@image_preview_sizes
|
||||||
|
end
|
||||||
|
|
||||||
|
def image_preview_sizes=(value)
|
||||||
|
@@image_preview_sizes = value
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
protected
|
||||||
|
|
||||||
|
def qi_image_select_input(method, options)
|
||||||
|
|
||||||
|
r = rand(1000000000000000000000000000)
|
||||||
|
|
||||||
|
html_options = options.delete(:input_html) || {}
|
||||||
|
|
||||||
|
self.label(method, options_for_label(options)) +
|
||||||
|
template.content_tag(:fieldset, self.manager_select_link(method, options, r) + template.tag(:br) + self.image_preview(method, options, r) + self.send(:hidden_field, method, html_options.merge!(:id => "input_"+r.to_s)))
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def manager_select_link(method, options, r)
|
||||||
|
|
||||||
|
template.content_tag(:a, "Modifier cette image", :href => "#", :onclick => "select_image_from_manager('"+r.to_s+"');return false;")
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def image_preview(method, options,r)
|
||||||
|
|
||||||
|
if object.send("#{method}?")
|
||||||
|
template.content_tag(:span, template.image_tag(object.image_file.file.large.medium.small.thumb.url, :id => "img_"+r.to_s), :class => "preview ")
|
||||||
|
else
|
||||||
|
template.content_tag(:span, template.image_tag("", :id => "img_"+r.to_s), :class => "preview ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
7
vendor/plugins/qi_select_image/spec/spec_helper.rb
vendored
Normal file
7
vendor/plugins/qi_select_image/spec/spec_helper.rb
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# -*- encoding : utf-8 -*-
|
||||||
|
begin
|
||||||
|
require File.dirname(__FILE__) + '/../../../../spec/spec_helper'
|
||||||
|
rescue LoadError
|
||||||
|
puts "You need to install rspec in your base app"
|
||||||
|
exit
|
||||||
|
end
|
2
vendor/plugins/qi_select_image/spec/to_slug_spec.rb
vendored
Normal file
2
vendor/plugins/qi_select_image/spec/to_slug_spec.rb
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# -*- encoding : utf-8 -*-
|
||||||
|
require File.dirname(__FILE__) + '/spec_helper.rb'
|
Loading…
x
Reference in New Issue
Block a user