tinymce-rails-documentupload 3.5.8.5
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.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +22 -0
- data/README.md +119 -0
- data/Rakefile +1 -0
- data/lib/tasks/tinymce-uploaddocument-assets.rake +14 -0
- data/lib/tinymce-rails-documentupload.rb +3 -0
- data/lib/tinymce-rails-documentupload/rails.rb +11 -0
- data/lib/tinymce-rails-documentupload/version.rb +7 -0
- data/tinymce-rails-documentupload.gemspec +23 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/dialog.html +163 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/editor_plugin.js +38 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/img/spinner.gif +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/img/uploaddocument.png +0 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/en.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/en_dlg.js +12 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/fr.js +3 -0
- data/vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/fr_dlg.js +12 -0
- metadata +118 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e031008e784fe63af23e71c55c292e556fd918d1
|
4
|
+
data.tar.gz: dc4c2212136065e57834507e2b852299b19c3e8e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4fcad4fd07ec52c255ac18f3393aabe543a63556b4b7ec5cfb49776b30fb4c1ebd02023191938b4f44e181a5284d4242a3817e2498b827e90ff4d6c872e00851
|
7
|
+
data.tar.gz: 99af450a72e56f43a4d6f6eb4c59218551740cc44b5804c7b888bd3e1409a04b1ce28a261b326ff795e4b2704ac339a7eb3409c25ddf7479d66663b35996d11e
|
data/.gitignore
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
MIT LICENSE
|
2
|
+
|
3
|
+
Copyright (c) 2013 Per Florent Morin <morinflorent@gmail.com>
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
# tinymce-rails-documentupload
|
2
|
+
|
3
|
+
Simple plugin for TinyMCE that allows uploading documents and inserting.
|
4
|
+
It makes no assumptions about how you store the documents, but it POSTs to a URL and expects JSON back (see the Setup section).
|
5
|
+
|
6
|
+
This plugin is adapted from work done by [Christian Bechström Viken for TinyMCE Rails Image Upload plugin](https://github.com/PerfectlyNormal/tinymce-rails-imageupload).
|
7
|
+
|
8
|
+
The icon used for the button comes from the icon set [Silk by famfamfam](http://www.famfamfam.com/lab/icons/silk/) and the spinner image from [ajaxload.info](http://ajaxload.info/).
|
9
|
+
|
10
|
+
## Requirements
|
11
|
+
|
12
|
+
* Rails >= 3.1
|
13
|
+
* TinyMCE using the advanced theme
|
14
|
+
|
15
|
+
## Setup
|
16
|
+
|
17
|
+
### Add the gem to your Gemfile
|
18
|
+
|
19
|
+
gem 'tinymce-rails-documentupload', '~> 3.5.8.1'
|
20
|
+
|
21
|
+
### Set up TinyMCE as you would normally, but in the call to `.tinymce()`, add
|
22
|
+
|
23
|
+
plugins: "uploaddocument"
|
24
|
+
# theme_advanced_buttonsX must include "uploaddocument" somewhere to have the button appear
|
25
|
+
|
26
|
+
and the rest should happen automatically.
|
27
|
+
|
28
|
+
### Set up upload URL and handler
|
29
|
+
|
30
|
+
The plugin defaults to POSTing to `/tinymce_documents`. You may modify it by supplying option `uploaddocument_form_url` in the call to `.tinymce()`
|
31
|
+
|
32
|
+
Routing to your controller must be done manually. Set it up using something similar in `routes.rb`:
|
33
|
+
|
34
|
+
post '/tinymce_documents' => 'tinymce_documents#create'
|
35
|
+
|
36
|
+
The plugin will relay option `uploaddocument_hint` in the call to `.tinymce()` to the POSTed URL as param `hint`. You may use this to relay any hints you wish (for example, blog post ID #) to the controller.
|
37
|
+
|
38
|
+
This action gets called with a file parameter creatively called `file`, and must respond with JSON, containing the URL to the document.
|
39
|
+
|
40
|
+
The JSON has to be returned with a content type of "text/html" to work, which is going to be fixed as soon as possible ([issue #7](https://github.com/PerfectlyNormal/tinymce-rails-imageupload/issues/7)).
|
41
|
+
|
42
|
+
Example:
|
43
|
+
|
44
|
+
class TinymceDocumentsController < ApplicationController
|
45
|
+
def create
|
46
|
+
# Take upload from params[:file] and store it somehow...
|
47
|
+
# Optionally also accept params[:hint] and consume if needed
|
48
|
+
|
49
|
+
render json: {
|
50
|
+
document: {
|
51
|
+
url: view_context.document_url(image)
|
52
|
+
}
|
53
|
+
}, content_type: "text/html"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
If the JSON response contains a `thumb` object with `url` and `width` and/or `height` key, those will be used in the inserted HTML (`<a href="..."><img src="..." width="..." height="..." alt="..."></a>`), but if those are not present, the inserted HTML is just `<a href="...">description</a>`.
|
58
|
+
|
59
|
+
### Default class for a tag
|
60
|
+
|
61
|
+
By default the plugin doesn't assign any class to the a tag. You can set the class(es) by supplying the `uploaddocument_default_a_class` option in the call to `.tinymce()`.
|
62
|
+
|
63
|
+
`class="..."` will only be added to the a tag if a default is specified. Otherwise the inserted HTML is just `<a href="...">`.
|
64
|
+
|
65
|
+
## Error handling
|
66
|
+
|
67
|
+
To notify the uploader that an error occurred, return JSON containing a `error` key with a `message`.
|
68
|
+
The message gets show in a paragraph with the ID `error_message`, and the input label gets the class `invalid`.
|
69
|
+
|
70
|
+
Example response:
|
71
|
+
|
72
|
+
"{"error": {"message": "Invalid file type. Only .jpg, .png and .gif allowed"}}"
|
73
|
+
|
74
|
+
## Internationalization
|
75
|
+
|
76
|
+
I18n is taken care of by `tinymce-rails`. This gem includes strings for english and french.
|
77
|
+
To add your own language, create the files `<code>.js` and `<code>_dlg.js` in `vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs` in your application,
|
78
|
+
or fork the gem and add your own translations there.
|
79
|
+
|
80
|
+
To get your custom language precompiled, you have to add it to the list of files manually.
|
81
|
+
If you have a fork, just add it to the list in `lib/tinymce-rails-documentupload/rails.rb`, but if you have the translations in the application,
|
82
|
+
you can add it like this in `config/application.rb`:
|
83
|
+
|
84
|
+
config.assets.precompile += %w(tinymce/plugins/uploaddocument/langs/fr.js tinymce/plugins/uploaddocument/langs/fr_dlg.js)
|
85
|
+
|
86
|
+
The available strings are listed below:
|
87
|
+
|
88
|
+
### en.js
|
89
|
+
|
90
|
+
tinyMCE.addI18n('en.uploaddocument', {
|
91
|
+
desc: 'Insert a document from your computer'
|
92
|
+
});
|
93
|
+
|
94
|
+
### en_dlg.js
|
95
|
+
|
96
|
+
tinyMCE.addI18n('en.uploaddocument_dlg', {
|
97
|
+
title: 'Insert document',
|
98
|
+
header: "Insert document",
|
99
|
+
input: "Choose a document",
|
100
|
+
uploading: "Uploading…",
|
101
|
+
blank_input: "Must choose a file",
|
102
|
+
bad_response: "Got a bad response from the server",
|
103
|
+
blank_response: "Didn't get a response from the server",
|
104
|
+
insert: "Insert",
|
105
|
+
cancel: "Cancel",
|
106
|
+
alt_text: "Document description"
|
107
|
+
});
|
108
|
+
|
109
|
+
## Versioning
|
110
|
+
|
111
|
+
The major, minor and patch version of this gem will be mirroring the release of `tinymce-rails` it is tested against.
|
112
|
+
|
113
|
+
## Licensing
|
114
|
+
|
115
|
+
The plugin is released under the MIT license.
|
116
|
+
|
117
|
+
TinyMCE is released under the LGPL Version 2.1.
|
118
|
+
|
119
|
+
The icon used for the button comes from the icon set Silk from famfamfam, released under the [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/)
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
assets_task = Rake::Task.task_defined?('assets:precompile:primary') ? 'assets:precompile:primary' : 'assets:precompile'
|
2
|
+
|
3
|
+
Rake::Task[assets_task].enhance do
|
4
|
+
require "tinymce/rails/asset_installer"
|
5
|
+
|
6
|
+
config = Rails.application.config
|
7
|
+
target = File.join(Rails.public_path, config.assets.prefix)
|
8
|
+
manifest = config.assets.manifest
|
9
|
+
|
10
|
+
assets = Pathname.new(File.expand_path(File.join(File.dirname(__FILE__),
|
11
|
+
"../../vendor/assets/javascripts/tinymce/plugins/uploaddocument")))
|
12
|
+
TinyMCE::Rails::AssetInstaller::ASSETS = assets
|
13
|
+
TinyMCE::Rails::AssetInstaller.new(target, manifest).install
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "tinymce-rails-documentupload/version"
|
4
|
+
|
5
|
+
# Describe your gem and declare its dependencies:
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "tinymce-rails-documentupload"
|
8
|
+
s.version = Tinymce::Rails::Documentupload::VERSION
|
9
|
+
s.authors = ["Florent Morin"]
|
10
|
+
s.email = ["morinflorent@gmail.com"]
|
11
|
+
s.homepage = "https://github.com/florentmorin/tinymce-rails-documentupload"
|
12
|
+
s.summary = %q{TinyMCE plugin for taking documents uploads in Rails >= 3.1}
|
13
|
+
s.description = %q{TinyMCE plugin for taking documents uploads in Rails >= 3.1}
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
s.add_runtime_dependency "railties", ">= 3.1"
|
20
|
+
s.add_runtime_dependency "tinymce-rails", "~> 3.5.8.1"
|
21
|
+
s.add_development_dependency "bundler", "~> 1.0"
|
22
|
+
s.add_development_dependency "rails", ">= 3.1"
|
23
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>{#uploaddocument_dlg.title}</title>
|
6
|
+
<style type="text/css">
|
7
|
+
form { margin-top: 0.5em; }
|
8
|
+
label { margin-bottom: 0.5em; }
|
9
|
+
p#error_message { color: #E00; }
|
10
|
+
#upload_spinner { padding-top: 4px; padding-left: 3px; }
|
11
|
+
#upload_spinner.inactive { display: none; }
|
12
|
+
</style>
|
13
|
+
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
14
|
+
<script type="text/javascript">
|
15
|
+
tinyMCEPopup.requireLangPack();
|
16
|
+
|
17
|
+
var UploadDocumentDialog = {
|
18
|
+
|
19
|
+
init: function() {
|
20
|
+
this.f = document.forms[0];
|
21
|
+
this.f.action = tinyMCEPopup.getParam("uploaddocument_form_url", "/tinymce_documents");
|
22
|
+
document.getElementById("hint").value = tinyMCEPopup.getParam("uploaddocument_hint", "");
|
23
|
+
document.getElementById("authenticity_token").value = this.getMetaContents('csrf-token');
|
24
|
+
|
25
|
+
this.iframe = document.getElementById("hidden_upload");
|
26
|
+
},
|
27
|
+
|
28
|
+
insert: function() {
|
29
|
+
// Detach events first, then attach to avoid double event triggering
|
30
|
+
if(this.iframe.attachEvent) {
|
31
|
+
this.iframe.detachEvent('onload', UploadDocumentDialog.uploadDone);
|
32
|
+
this.iframe.attachEvent('onload', UploadDocumentDialog.uploadDone);
|
33
|
+
} else {
|
34
|
+
this.iframe.removeEventListener('load', UploadDocumentDialog.uploadDone);
|
35
|
+
this.iframe.addEventListener('load', UploadDocumentDialog.uploadDone, false);
|
36
|
+
}
|
37
|
+
var input = document.getElementById("file_upload");
|
38
|
+
|
39
|
+
if(input.value != "") {
|
40
|
+
document.getElementById("upload_spinner").className = '';
|
41
|
+
this.f.submit();
|
42
|
+
} else {
|
43
|
+
this.handleError(tinyMCEPopup.getLang("uploaddocument_dlg.blank_input", "Must choose a file"));
|
44
|
+
}
|
45
|
+
},
|
46
|
+
|
47
|
+
uploadDone: function() {
|
48
|
+
document.getElementById("upload_spinner").className = 'inactive';
|
49
|
+
var iframe = document.getElementById("hidden_upload");
|
50
|
+
if(iframe.document || iframe.contentDocument) {
|
51
|
+
var doc = iframe.contentDocument || iframe.contentWindow.document;
|
52
|
+
UploadDocumentDialog.handleResponse(doc.getElementsByTagName("body")[0].innerHTML);
|
53
|
+
} else {
|
54
|
+
UploadDocumentDialog.handleError(tinyMCEPopup.getLang("uploaddocument_dlg.blank_response", "Didn't get a response from the server"));
|
55
|
+
}
|
56
|
+
},
|
57
|
+
|
58
|
+
handleResponse: function(ret) {
|
59
|
+
try {
|
60
|
+
var json = JSON.parse(ret);
|
61
|
+
|
62
|
+
if(json["error"])
|
63
|
+
UploadDocumentDialog.handleError(json["error"]["message"]);
|
64
|
+
else {
|
65
|
+
tinyMCE.execCommand('mceInsertContent', false, UploadDocumentDialog.buildHTML(json));
|
66
|
+
tinyMCEPopup.close();
|
67
|
+
}
|
68
|
+
} catch(e) {
|
69
|
+
UploadDocumentDialog.handleError(tinyMCEPopup.getLang("uploaddocument_dlg.bad_response", "Got a bad response from the server"));
|
70
|
+
}
|
71
|
+
},
|
72
|
+
|
73
|
+
buildHTML: function(json) {
|
74
|
+
var default_class = tinyMCEPopup.getParam("uploaddocument_default_a_class", "");
|
75
|
+
var alt_text = document.getElementById("alt_text").value;
|
76
|
+
|
77
|
+
var docstr = "<a href='" + json["document"]["url"] + "' target='_blank' type='octet-stream'";
|
78
|
+
|
79
|
+
if (default_class != "") {
|
80
|
+
docstr += " class='" + default_class + "'";
|
81
|
+
}
|
82
|
+
|
83
|
+
docstr += '>'
|
84
|
+
|
85
|
+
if (json["document"]["thumb"] && json["document"]["thumb"]["url"]) {
|
86
|
+
thumb_json = json["document"]["thumb"];
|
87
|
+
|
88
|
+
docstr += "><img src='" + thumb_json["url"] + "'";
|
89
|
+
|
90
|
+
if (thumb_json["height"]) {
|
91
|
+
docstr += " height='" + thumb_json["height"] + "'";
|
92
|
+
}
|
93
|
+
|
94
|
+
if (thumb_json["width"]) {
|
95
|
+
docstr += " width='" + thumb_json["width"] + "'";
|
96
|
+
}
|
97
|
+
|
98
|
+
docstr += " alt='" + alt_text + "' />";
|
99
|
+
} else {
|
100
|
+
docstr += ">" + alt_text;
|
101
|
+
}
|
102
|
+
|
103
|
+
docstr += "</a>";
|
104
|
+
|
105
|
+
return docstr;
|
106
|
+
},
|
107
|
+
|
108
|
+
handleError: function(error) {
|
109
|
+
var className = 'invalid';
|
110
|
+
var label = document.getElementById("file_upload_label");
|
111
|
+
var message = document.getElementById("error_message");
|
112
|
+
|
113
|
+
if(message)
|
114
|
+
message.innerHTML = error;
|
115
|
+
|
116
|
+
// Add the 'invalid' class, avoiding duplicates
|
117
|
+
if(label) {
|
118
|
+
var cn = label.className;
|
119
|
+
if(cn.indexOf(className) == -1) {
|
120
|
+
if(cn != '')
|
121
|
+
className = ' ' + className;
|
122
|
+
label.className = cn + className;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
},
|
126
|
+
|
127
|
+
getMetaContents: function(mn) {
|
128
|
+
var m = (window.opener || window.parent).document.getElementsByTagName('meta');
|
129
|
+
|
130
|
+
for(var i in m)
|
131
|
+
if(m[i].name == mn)
|
132
|
+
return m[i].content;
|
133
|
+
|
134
|
+
return null;
|
135
|
+
},
|
136
|
+
};
|
137
|
+
|
138
|
+
tinyMCEPopup.onInit.add(UploadDocumentDialog.init, UploadDocumentDialog);
|
139
|
+
</script>
|
140
|
+
</head>
|
141
|
+
<body>
|
142
|
+
<h1>{#uploaddocument_dlg.header}</h1>
|
143
|
+
|
144
|
+
<form method="post" enctype='multipart/form-data' accept-charset="UTF-8" target="hidden_upload" action='#replaceme' name="uploaddocumentForm">
|
145
|
+
<input type="hidden" name="utf8" value="✓">
|
146
|
+
<input type="hidden" name="authenticity_token" id="authenticity_token" value="#replaceme">
|
147
|
+
<input type="hidden" name="hint" id="hint" value="#replaceme">
|
148
|
+
<iframe id="hidden_upload" name="hidden_upload" src="javascript:void(0)" style='width:0;height:0;border:0px solid #fff'></iframe>
|
149
|
+
|
150
|
+
<label id='file_upload_label' for='file_upload'>{#uploaddocument_dlg.input}:</label>
|
151
|
+
<input type='file' name='file' id='file_upload'>
|
152
|
+
<p id="error_message"></p>
|
153
|
+
<label id='alt_text_label' for='alt_text'>{#uploaddocument_dlg.alt_text}:</label>
|
154
|
+
<input type="text" name="alt" id="alt_text">
|
155
|
+
|
156
|
+
<div class="mceActionPanel">
|
157
|
+
<input type="button" id="insert" name="insert" value="{#uploaddocument_dlg.insert}" onclick="UploadDocumentDialog.insert();"/>
|
158
|
+
<img src="img/spinner.gif" alt="#{uploaddocument_dlg.uploading}" id="upload_spinner" height="16" width="16" class="inactive">
|
159
|
+
<input type="button" id="cancel" name="cancel" value="{#uploaddocument_dlg.cancel}" onclick="tinyMCEPopup.close();" />
|
160
|
+
</div>
|
161
|
+
</form>
|
162
|
+
</body>
|
163
|
+
</html>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
(function() {
|
2
|
+
tinymce.PluginManager.requireLangPack('uploaddocument');
|
3
|
+
tinymce.create('tinymce.plugins.UploadDocumentPlugin', {
|
4
|
+
init: function(ed, url) {
|
5
|
+
ed.addCommand('mceUploadDocument', function() {
|
6
|
+
return ed.windowManager.open({
|
7
|
+
file: url + '/dialog.html',
|
8
|
+
width: 350 + parseInt(ed.getLang('uploaddocument.delta_width', 0)),
|
9
|
+
height: 180 + parseInt(ed.getLang('uploaddocument.delta_height', 0)),
|
10
|
+
inline: 1
|
11
|
+
}, {
|
12
|
+
plugin_url: url
|
13
|
+
});
|
14
|
+
});
|
15
|
+
ed.addButton('uploaddocument', {
|
16
|
+
title: 'uploaddocument.desc',
|
17
|
+
cmd: 'mceUploadDocument',
|
18
|
+
image: url + '/img/uploaddocument.png'
|
19
|
+
});
|
20
|
+
return ed.onNodeChange.add(function(ed, cm, n) {
|
21
|
+
return cm.setActive('uploaddocument', n.nodeName === 'IMG');
|
22
|
+
});
|
23
|
+
},
|
24
|
+
createControl: function(n, cm) {
|
25
|
+
return null;
|
26
|
+
},
|
27
|
+
getInfo: function() {
|
28
|
+
return {
|
29
|
+
longname: 'UploadDocument plugin',
|
30
|
+
author: 'Per Florent Morin (based on work done by Christian B. Viken for image upload plugin)',
|
31
|
+
authorurl: 'https://github.com/florentmorin',
|
32
|
+
infourl: 'https://github.com/florentmorin/tinymce-rails-documentupload',
|
33
|
+
version: '1.0'
|
34
|
+
};
|
35
|
+
}
|
36
|
+
});
|
37
|
+
return tinymce.PluginManager.add('uploaddocument', tinymce.plugins.UploadDocumentPlugin);
|
38
|
+
})();
|
Binary file
|
@@ -0,0 +1,12 @@
|
|
1
|
+
tinyMCE.addI18n('en.uploaddocument_dlg', {
|
2
|
+
title: 'Insert document',
|
3
|
+
header: "Insert document",
|
4
|
+
input: "Choose a document",
|
5
|
+
uploading: "Uploading…",
|
6
|
+
blank_input: "Must choose a file",
|
7
|
+
bad_response: "Got a bad response from the server",
|
8
|
+
blank_response: "Didn't get a response from the server",
|
9
|
+
insert: "Insert",
|
10
|
+
cancel: "Cancel",
|
11
|
+
alt_text: "Document description"
|
12
|
+
});
|
@@ -0,0 +1,12 @@
|
|
1
|
+
tinyMCE.addI18n('fr.uploaddocument_dlg', {
|
2
|
+
title: "Insérer un document",
|
3
|
+
header: "Insérer un document",
|
4
|
+
input: "Choisissez un document",
|
5
|
+
uploading: "Transfert en cours ...",
|
6
|
+
blank_input: "Vous devez sélectionner un fichier",
|
7
|
+
bad_response: "Le serveur a envoyé une réponse erronée",
|
8
|
+
blank_response: "Le serveur n'a pas renvoyé de réponse",
|
9
|
+
insert: "Insérer",
|
10
|
+
cancel: "Annuler",
|
11
|
+
alt_text: "Description du document"
|
12
|
+
});
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tinymce-rails-documentupload
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 3.5.8.5
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Florent Morin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-05-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: railties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tinymce-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.5.8.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.5.8.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.1'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.1'
|
69
|
+
description: TinyMCE plugin for taking documents uploads in Rails >= 3.1
|
70
|
+
email:
|
71
|
+
- morinflorent@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- CHANGELOG.md
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- lib/tasks/tinymce-uploaddocument-assets.rake
|
83
|
+
- lib/tinymce-rails-documentupload.rb
|
84
|
+
- lib/tinymce-rails-documentupload/rails.rb
|
85
|
+
- lib/tinymce-rails-documentupload/version.rb
|
86
|
+
- tinymce-rails-documentupload.gemspec
|
87
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/dialog.html
|
88
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/editor_plugin.js
|
89
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/img/spinner.gif
|
90
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/img/uploaddocument.png
|
91
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/en.js
|
92
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/en_dlg.js
|
93
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/fr.js
|
94
|
+
- vendor/assets/javascripts/tinymce/plugins/uploaddocument/langs/fr_dlg.js
|
95
|
+
homepage: https://github.com/florentmorin/tinymce-rails-documentupload
|
96
|
+
licenses: []
|
97
|
+
metadata: {}
|
98
|
+
post_install_message:
|
99
|
+
rdoc_options: []
|
100
|
+
require_paths:
|
101
|
+
- lib
|
102
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
requirements: []
|
113
|
+
rubyforge_project:
|
114
|
+
rubygems_version: 2.0.3
|
115
|
+
signing_key:
|
116
|
+
specification_version: 4
|
117
|
+
summary: TinyMCE plugin for taking documents uploads in Rails >= 3.1
|
118
|
+
test_files: []
|