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 +3 -3
- data/generators/skip_embedded_javascripts/skip_embedded_javascripts_generator.rb +1 -0
- data/generators/skip_embedded_javascripts/templates/public/javascripts/skip_embedded/iframe_upload.js +59 -0
- data/lib/skip_embedded/helpers.rb +1 -1
- data/lib/skip_embedded.rb +1 -1
- metadata +4 -3
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 = "
|
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
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.
|
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-
|
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:
|
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
|