openskip-skip_embedded 0.9.8 → 0.9.9

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/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