openskip-skip_embedded 0.9.8 → 0.9.9

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -26,8 +26,8 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
26
26
  end
27
27
 
28
28
  NAME = ENV["GEMNAME"] || "skip_embedded"
29
- AUTHORS = ["MAEDA Naoki", "MOROHASHI Kyosuke"]
30
- EMAIL = "k-morohashi@esm.co.jp"
29
+ AUTHORS = ["MAEDA Naoki", "MOROHASHI Kyosuke", "MATSUMURA Akihiro"]
30
+ EMAIL = "info@openskip.org"
31
31
  DESCRIPTION = "Utilities to collabolate SKIP, opensource buisiness SNS."
32
32
  HOMEPATH = "http://github.com/openskip/skip_embedded/tree/master"
33
33
  BIN_FILES = %w(skip-gen)
@@ -65,7 +65,7 @@ spec = Gem::Specification.new do |s|
65
65
  s.add_dependency "oauth"
66
66
 
67
67
  s.files = %w(README.rdoc ChangeLog Rakefile) +
68
- Dir.glob("{bin,doc,test,lib,templates,generators,extras,website,script}/**/*") +
68
+ Dir.glob("{bin,doc,test,lib,templates,generators,extras,website,script}/**/*") +
69
69
  Dir.glob("spec/**/*.rb") +
70
70
  Dir.glob("ext/**/*.{h,c,rb}") +
71
71
  Dir.glob("examples/**/*.rb") +
@@ -6,6 +6,7 @@ class SkipEmbeddedJavascriptsGenerator < Rails::Generator::Base
6
6
  public/javascripts/skip_embedded/dropdown_navigation.js
7
7
  public/javascripts/skip_embedded/labeled_text_field.js
8
8
  public/javascripts/skip_embedded/flash_message.js
9
+ public/javascripts/skip_embedded/iframe_upload.js
9
10
  public/javascripts/skip_embedded/skip_fckeditor_config.js
10
11
  ]
11
12
 
@@ -0,0 +1,59 @@
1
+ (function() {
2
+ jQuery.fn.iframeUploader = function(config){
3
+ var submitCallback;
4
+ function attachUploader(){
5
+ var form = jQuery(this.contentWindow.document).find("form");
6
+ if( config['trigger'] == 'submit' ){
7
+ attachSubmitUploader(form);
8
+ }else{
9
+ attachAutoUploaderToInput(form);
10
+ }
11
+ };
12
+ function attachSubmitUploader(f){
13
+ f.submit(function(){
14
+ var indicator = f.find("td.indicator img").show();
15
+ f.get(0).submit();
16
+ indicator.hide();
17
+ var file = f.find("input[type=file]");
18
+ file.focus();
19
+ submitCallback = function(){
20
+ f.get(0).reset();
21
+ };
22
+ return false;
23
+ });
24
+ };
25
+ function attachAutoUploaderToInput(f){
26
+ var timer = null;
27
+ f.find('input').change(function(){
28
+ if(timer){ clearTimeout(timer); };
29
+ var file = f.find("input[type=file]");
30
+ if(file.val().length > 0){
31
+ var indicator = f.find("td.indicator img").show();
32
+ submit = function(){ f.submit(); f.get(0).reset(); indicator.hide(); file.focus(); timer = null; };
33
+ timer = setTimeout(submit, 5*1000);
34
+ }else{
35
+ return;
36
+ }
37
+ });
38
+ }
39
+ var afterLoadCallback = function(){
40
+ if(submitCallback){submitCallback.call();}
41
+ callback.call(this, targetIFrame);
42
+ };
43
+
44
+ var root = jQuery(this);
45
+ var callback = config["callback"];
46
+
47
+ jQuery("<div>").addClass("form").append(
48
+ jQuery("<iframe>").attr("src", config["src"]["form"]).load(attachUploader)
49
+ ).appendTo(root);
50
+
51
+ var targetIFrame = jQuery("<iframe>").attr("src", config["src"]["target"]).attr("name", config["target"]).
52
+ one("load", function(){ jQuery(this).load(afterLoadCallback); });
53
+
54
+ jQuery("<div>").addClass("target").append(targetIFrame).appendTo(root);
55
+
56
+ // IE6対策
57
+ targetIFrame.get(0).contentWindow.name = config["target"];
58
+ };
59
+ })(jQuery);
@@ -5,7 +5,7 @@ module SkipEmbedded
5
5
 
6
6
  def self.included(base)
7
7
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery => [Dependencies[:jquery]]
8
- ActionView::Helpers::AssetTagHelper.register_javascript_expansion :skip_embedded => %w[skip_embedded/dropdown_navigation skip_embedded/labeled_text_field skip_embedded/flash_message]
8
+ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :skip_embedded => %w[skip_embedded/dropdown_navigation skip_embedded/labeled_text_field skip_embedded/flash_message skip_embedded/iframe_upload]
9
9
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :skip_fckeditor => %w[fckeditor/fckeditor skip_embedded/skip_fckeditor_config]
10
10
 
11
11
  # TODO skip/style などをどの程度共通化するかを検討、それはではskip_embeddedという別名で
data/lib/skip_embedded.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # SkipEmbedded
2
2
  module SkipEmbedded
3
- Version = "0.9.8"
3
+ Version = "0.9.9"
4
4
 
5
5
  Dependencies = {:jquery => "jquery-1.3.2.min.js"}
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openskip-skip_embedded
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 0.9.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - MAEDA Naoki
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2009-06-08 00:00:00 -07:00
14
+ date: 2009-06-09 00:00:00 -07:00
15
15
  default_executable: skip-gen
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: "0"
46
46
  version:
47
47
  description: Utilities to collabolate SKIP, opensource buisiness SNS.
48
- email: k-morohashi@esm.co.jp
48
+ email: info@openskip.org
49
49
  executables:
50
50
  - skip-gen
51
51
  extensions: []
@@ -114,6 +114,7 @@ files:
114
114
  - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded
115
115
  - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/dropdown_navigation.js
116
116
  - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/flash_message.js
117
+ - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/iframe_upload.js
117
118
  - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/labeled_text_field.js
118
119
  - generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/skip_fckeditor_config.js
119
120
  - generators/skip_embedded_stylesheets