rails_editor_liu 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/Gemfile +6 -0
- data/README.md +526 -0
- data/Rakefile +2 -0
- data/app/assets/javascripts/kindeditor.js +1 -0
- data/app/controllers/kindeditor/assets_controller.rb +136 -0
- data/app/uploaders/kindeditor/asset_uploader.rb +112 -0
- data/app/uploaders/kindeditor/file_uploader.rb +10 -0
- data/app/uploaders/kindeditor/flash_uploader.rb +10 -0
- data/app/uploaders/kindeditor/image_uploader.rb +10 -0
- data/app/uploaders/kindeditor/media_uploader.rb +10 -0
- data/config/routes.rb +6 -0
- data/lib/generators/rails_kindeditor/install/USAGE +10 -0
- data/lib/generators/rails_kindeditor/install/install_generator.rb +23 -0
- data/lib/generators/rails_kindeditor/install/templates/application.js +17 -0
- data/lib/generators/rails_kindeditor/install/templates/rails_kindeditor.rb +19 -0
- data/lib/generators/rails_kindeditor/migration/USAGE +14 -0
- data/lib/generators/rails_kindeditor/migration/migration_generator.rb +36 -0
- data/lib/generators/rails_kindeditor/migration/templates/migration/migration.rb +17 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/asset.rb +14 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/file.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/flash.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/image.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/active_record/kindeditor/media.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/asset.rb +27 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/file.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/flash.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/image.rb +3 -0
- data/lib/generators/rails_kindeditor/migration/templates/models/mongoid/kindeditor/media.rb +3 -0
- data/lib/rails_kindeditor/active_record.rb +14 -0
- data/lib/rails_kindeditor/engine.rb +34 -0
- data/lib/rails_kindeditor/formtastic.rb +12 -0
- data/lib/rails_kindeditor/helper.rb +96 -0
- data/lib/rails_kindeditor/simple_form.rb +11 -0
- data/lib/rails_kindeditor/version.rb +4 -0
- data/lib/rails_kindeditor.rb +58 -0
- data/lib/tasks/assets.rake +9 -0
- data/rails_kindeditor.gemspec +23 -0
- data/screenshots/rails_kindeditor.png +0 -0
- data/screenshots/simple_mode.png +0 -0
- data/vendor/assets/javascripts/kindeditor/kindeditor.js +5963 -0
- data/vendor/assets/javascripts/kindeditor/lang/ar.js +233 -0
- data/vendor/assets/javascripts/kindeditor/lang/en.js +232 -0
- data/vendor/assets/javascripts/kindeditor/lang/ko.js +237 -0
- data/vendor/assets/javascripts/kindeditor/lang/zh_CN.js +237 -0
- data/vendor/assets/javascripts/kindeditor/lang/zh_TW.js +235 -0
- data/vendor/assets/javascripts/kindeditor/plugins/anchor/anchor.js +46 -0
- data/vendor/assets/javascripts/kindeditor/plugins/autoheight/autoheight.js +54 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/baidumap.js +93 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/index.html +83 -0
- data/vendor/assets/javascripts/kindeditor/plugins/baidumap/map.html +43 -0
- data/vendor/assets/javascripts/kindeditor/plugins/clearhtml/clearhtml.js +29 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/code.js +62 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/prettify.css +13 -0
- data/vendor/assets/javascripts/kindeditor/plugins/code/prettify.js +28 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/emoticons.js +129 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/0.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/1.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/10.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/100.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/101.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/102.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/103.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/104.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/105.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/106.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/107.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/108.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/109.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/11.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/110.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/111.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/112.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/113.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/114.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/115.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/116.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/117.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/118.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/119.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/12.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/120.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/121.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/122.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/123.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/124.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/125.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/126.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/127.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/128.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/129.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/13.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/130.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/131.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/132.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/133.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/134.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/14.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/15.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/17.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/18.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/19.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/2.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/20.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/21.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/22.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/23.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/24.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/25.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/26.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/27.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/28.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/29.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/3.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/30.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/31.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/32.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/33.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/34.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/35.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/36.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/37.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/38.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/39.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/4.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/40.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/41.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/42.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/43.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/44.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/45.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/46.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/47.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/48.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/49.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/5.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/50.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/51.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/52.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/53.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/54.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/55.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/56.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/57.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/58.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/59.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/6.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/60.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/61.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/62.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/63.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/65.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/66.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/67.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/68.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/69.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/7.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/70.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/71.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/72.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/73.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/74.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/75.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/76.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/77.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/78.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/79.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/8.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/80.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/81.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/82.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/83.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/84.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/85.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/86.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/87.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/88.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/89.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/9.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/90.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/91.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/92.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/93.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/94.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/95.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/96.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/97.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/98.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/99.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/emoticons/images/static.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/filemanager.js +189 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/file-64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-16.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/folder-64.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/filemanager/images/go-up.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/flash/flash.js +161 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/image.js +328 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_left.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_right.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/align_top.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/image/images/refresh.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/insertfile/insertfile.js +138 -0
- data/vendor/assets/javascripts/kindeditor/plugins/lineheight/lineheight.js +38 -0
- data/vendor/assets/javascripts/kindeditor/plugins/link/link.js +66 -0
- data/vendor/assets/javascripts/kindeditor/plugins/map/map.html +57 -0
- data/vendor/assets/javascripts/kindeditor/plugins/map/map.js +137 -0
- data/vendor/assets/javascripts/kindeditor/plugins/media/media.js +170 -0
- data/vendor/assets/javascripts/kindeditor/plugins/modal/modal.js +43 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/image.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-en.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/select-files-zh_CN.png +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/images/swfupload.swf +0 -0
- data/vendor/assets/javascripts/kindeditor/plugins/multiimage/multiimage.js +1384 -0
- data/vendor/assets/javascripts/kindeditor/plugins/pagebreak/pagebreak.js +27 -0
- data/vendor/assets/javascripts/kindeditor/plugins/plainpaste/plainpaste.js +41 -0
- data/vendor/assets/javascripts/kindeditor/plugins/preview/preview.js +31 -0
- data/vendor/assets/javascripts/kindeditor/plugins/quickformat/quickformat.js +81 -0
- data/vendor/assets/javascripts/kindeditor/plugins/smimage/smimage.js +267 -0
- data/vendor/assets/javascripts/kindeditor/plugins/table/table.js +712 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/1.html +14 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/2.html +42 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/html/3.html +36 -0
- data/vendor/assets/javascripts/kindeditor/plugins/template/template.js +58 -0
- data/vendor/assets/javascripts/kindeditor/plugins/wordpaste/wordpaste.js +51 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/anchor.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/blank.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/flash.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/loading.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/media.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/common/rm.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/background.png +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/default.css +1158 -0
- data/vendor/assets/javascripts/kindeditor/themes/default/default.png +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/qq/editor.gif +0 -0
- data/vendor/assets/javascripts/kindeditor/themes/qq/qq.css +143 -0
- data/vendor/assets/javascripts/kindeditor/themes/simple/simple.css +100 -0
- metadata +310 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* KindEditor - WYSIWYG HTML Editor for Internet
|
3
|
+
* Copyright (C) 2006-2011 kindsoft.net
|
4
|
+
*
|
5
|
+
* @author Roddy <luolonghao@gmail.com>
|
6
|
+
* @site http://www.kindsoft.net/
|
7
|
+
* @licence http://www.kindsoft.net/license.php
|
8
|
+
*******************************************************************************/
|
9
|
+
|
10
|
+
KindEditor.plugin('pagebreak', function(K) {
|
11
|
+
var self = this;
|
12
|
+
var name = 'pagebreak';
|
13
|
+
var pagebreakHtml = K.undef(self.pagebreakHtml, '<hr style="page-break-after: always;" class="ke-pagebreak" />');
|
14
|
+
|
15
|
+
self.clickToolbar(name, function() {
|
16
|
+
var cmd = self.cmd, range = cmd.range;
|
17
|
+
self.focus();
|
18
|
+
var tail = self.newlineTag == 'br' || K.WEBKIT ? '' : '<span id="__kindeditor_tail_tag__"></span>';
|
19
|
+
self.insertHtml(pagebreakHtml + tail);
|
20
|
+
if (tail !== '') {
|
21
|
+
var p = K('#__kindeditor_tail_tag__', self.edit.doc);
|
22
|
+
range.selectNodeContents(p[0]);
|
23
|
+
p.removeAttr('id');
|
24
|
+
cmd.select();
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* KindEditor - WYSIWYG HTML Editor for Internet
|
3
|
+
* Copyright (C) 2006-2011 kindsoft.net
|
4
|
+
*
|
5
|
+
* @author Roddy <luolonghao@gmail.com>
|
6
|
+
* @site http://www.kindsoft.net/
|
7
|
+
* @licence http://www.kindsoft.net/license.php
|
8
|
+
*******************************************************************************/
|
9
|
+
|
10
|
+
KindEditor.plugin('plainpaste', function(K) {
|
11
|
+
var self = this, name = 'plainpaste';
|
12
|
+
self.clickToolbar(name, function() {
|
13
|
+
var lang = self.lang(name + '.'),
|
14
|
+
html = '<div style="padding:10px 20px;">' +
|
15
|
+
'<div style="margin-bottom:10px;">' + lang.comment + '</div>' +
|
16
|
+
'<textarea class="ke-textarea" style="width:408px;height:260px;"></textarea>' +
|
17
|
+
'</div>',
|
18
|
+
dialog = self.createDialog({
|
19
|
+
name : name,
|
20
|
+
width : 450,
|
21
|
+
title : self.lang(name),
|
22
|
+
body : html,
|
23
|
+
yesBtn : {
|
24
|
+
name : self.lang('yes'),
|
25
|
+
click : function(e) {
|
26
|
+
var html = textarea.val();
|
27
|
+
html = K.escape(html);
|
28
|
+
html = html.replace(/ {2}/g, ' ');
|
29
|
+
if (self.newlineTag == 'p') {
|
30
|
+
html = html.replace(/^/, '<p>').replace(/$/, '</p>').replace(/\n/g, '</p><p>');
|
31
|
+
} else {
|
32
|
+
html = html.replace(/\n/g, '<br />$&');
|
33
|
+
}
|
34
|
+
self.insertHtml(html).hideDialog().focus();
|
35
|
+
}
|
36
|
+
}
|
37
|
+
}),
|
38
|
+
textarea = K('textarea', dialog.div);
|
39
|
+
textarea[0].focus();
|
40
|
+
});
|
41
|
+
});
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* KindEditor - WYSIWYG HTML Editor for Internet
|
3
|
+
* Copyright (C) 2006-2011 kindsoft.net
|
4
|
+
*
|
5
|
+
* @author Roddy <luolonghao@gmail.com>
|
6
|
+
* @site http://www.kindsoft.net/
|
7
|
+
* @licence http://www.kindsoft.net/license.php
|
8
|
+
*******************************************************************************/
|
9
|
+
|
10
|
+
KindEditor.plugin('preview', function(K) {
|
11
|
+
var self = this, name = 'preview', undefined;
|
12
|
+
self.clickToolbar(name, function() {
|
13
|
+
var lang = self.lang(name + '.'),
|
14
|
+
html = '<div style="padding:10px 20px;">' +
|
15
|
+
'<iframe class="ke-textarea" frameborder="0" style="width:708px;height:400px;"></iframe>' +
|
16
|
+
'</div>',
|
17
|
+
dialog = self.createDialog({
|
18
|
+
name : name,
|
19
|
+
width : 750,
|
20
|
+
title : self.lang(name),
|
21
|
+
body : html
|
22
|
+
}),
|
23
|
+
iframe = K('iframe', dialog.div),
|
24
|
+
doc = K.iframeDoc(iframe);
|
25
|
+
doc.open();
|
26
|
+
doc.write(self.fullHtml());
|
27
|
+
doc.close();
|
28
|
+
K(doc.body).css('background-color', '#FFF');
|
29
|
+
iframe[0].contentWindow.focus();
|
30
|
+
});
|
31
|
+
});
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* KindEditor - WYSIWYG HTML Editor for Internet
|
3
|
+
* Copyright (C) 2006-2011 kindsoft.net
|
4
|
+
*
|
5
|
+
* @author Roddy <luolonghao@gmail.com>
|
6
|
+
* @site http://www.kindsoft.net/
|
7
|
+
* @licence http://www.kindsoft.net/license.php
|
8
|
+
*******************************************************************************/
|
9
|
+
|
10
|
+
KindEditor.plugin('quickformat', function(K) {
|
11
|
+
var self = this, name = 'quickformat',
|
12
|
+
blockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p');
|
13
|
+
function getFirstChild(knode) {
|
14
|
+
var child = knode.first();
|
15
|
+
while (child && child.first()) {
|
16
|
+
child = child.first();
|
17
|
+
}
|
18
|
+
return child;
|
19
|
+
}
|
20
|
+
self.clickToolbar(name, function() {
|
21
|
+
self.focus();
|
22
|
+
var doc = self.edit.doc,
|
23
|
+
range = self.cmd.range,
|
24
|
+
child = K(doc.body).first(), next,
|
25
|
+
nodeList = [], subList = [],
|
26
|
+
bookmark = range.createBookmark(true);
|
27
|
+
while(child) {
|
28
|
+
next = child.next();
|
29
|
+
var firstChild = getFirstChild(child);
|
30
|
+
if (!firstChild || firstChild.name != 'img') {
|
31
|
+
if (blockMap[child.name]) {
|
32
|
+
child.html(child.html().replace(/^(\s| | )+/ig, ''));
|
33
|
+
child.css('text-indent', '2em');
|
34
|
+
} else {
|
35
|
+
subList.push(child);
|
36
|
+
}
|
37
|
+
if (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) {
|
38
|
+
if (subList.length > 0) {
|
39
|
+
nodeList.push(subList);
|
40
|
+
}
|
41
|
+
subList = [];
|
42
|
+
}
|
43
|
+
}
|
44
|
+
child = next;
|
45
|
+
}
|
46
|
+
K.each(nodeList, function(i, subList) {
|
47
|
+
var wrapper = K('<p style="text-indent:2em;"></p>', doc);
|
48
|
+
subList[0].before(wrapper);
|
49
|
+
K.each(subList, function(i, knode) {
|
50
|
+
wrapper.append(knode);
|
51
|
+
});
|
52
|
+
});
|
53
|
+
range.moveToBookmark(bookmark);
|
54
|
+
self.addBookmark();
|
55
|
+
});
|
56
|
+
});
|
57
|
+
|
58
|
+
/**
|
59
|
+
--------------------------
|
60
|
+
abcd<br />
|
61
|
+
1234<br />
|
62
|
+
|
63
|
+
to
|
64
|
+
|
65
|
+
<p style="text-indent:2em;">
|
66
|
+
abcd<br />
|
67
|
+
1234<br />
|
68
|
+
</p>
|
69
|
+
|
70
|
+
--------------------------
|
71
|
+
|
72
|
+
abcd<img>1233
|
73
|
+
<p>1234</p>
|
74
|
+
|
75
|
+
to
|
76
|
+
|
77
|
+
<p style="text-indent:2em;">abcd<img>1233</p>
|
78
|
+
<p style="text-indent:2em;">1234</p>
|
79
|
+
|
80
|
+
--------------------------
|
81
|
+
*/
|
@@ -0,0 +1,267 @@
|
|
1
|
+
/*******************************************************************************
|
2
|
+
* KindEditor - WYSIWYG HTML Editor for Internet
|
3
|
+
* Copyright (C) 2006-2011 kindsoft.net
|
4
|
+
*
|
5
|
+
* @author Roddy <luolonghao@gmail.com>
|
6
|
+
* @site http://www.kindsoft.net/
|
7
|
+
* @licence http://www.kindsoft.net/license.php
|
8
|
+
*******************************************************************************/
|
9
|
+
|
10
|
+
KindEditor.plugin('smimage', function(K) {
|
11
|
+
var self = this, name = 'smimage',
|
12
|
+
allowImageUpload = K.undef(self.allowImageUpload, true),
|
13
|
+
allowImageRemote = K.undef(self.allowImageRemote, true),
|
14
|
+
formatUploadUrl = K.undef(self.formatUploadUrl, true),
|
15
|
+
allowFileManager = K.undef(self.allowFileManager, false),
|
16
|
+
uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),
|
17
|
+
imageTabIndex = K.undef(self.imageTabIndex, 0),
|
18
|
+
imgPath = self.pluginsPath + 'image/images/',
|
19
|
+
extraParams = K.undef(self.extraFileUploadParams, {}),
|
20
|
+
filePostName = K.undef(self.filePostName, 'imgFile'),
|
21
|
+
fillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false),
|
22
|
+
lang = self.lang('image.');
|
23
|
+
|
24
|
+
self.plugin.imageDialog = function(options) {
|
25
|
+
var imageUrl = options.imageUrl,
|
26
|
+
imageWidth = K.undef(options.imageWidth, ''),
|
27
|
+
imageHeight = K.undef(options.imageHeight, ''),
|
28
|
+
imageTitle = K.undef(options.imageTitle, ''),
|
29
|
+
imageAlign = K.undef(options.imageAlign, ''),
|
30
|
+
showRemote = K.undef(options.showRemote, true),
|
31
|
+
showLocal = K.undef(options.showLocal, true),
|
32
|
+
tabIndex = K.undef(options.tabIndex, 0),
|
33
|
+
clickFn = options.clickFn;
|
34
|
+
var target = 'kindeditor_upload_iframe_' + new Date().getTime();
|
35
|
+
var hiddenElements = [];
|
36
|
+
for(var k in extraParams){
|
37
|
+
hiddenElements.push('<input type="hidden" name="' + k + '" value="' + extraParams[k] + '" />');
|
38
|
+
}
|
39
|
+
var html = [
|
40
|
+
'<div style="padding:20px;">',
|
41
|
+
//tabs
|
42
|
+
'<div class="tabs"></div>',
|
43
|
+
//remote image - start
|
44
|
+
'<div class="tab1" style="display:none;">',
|
45
|
+
//url
|
46
|
+
'<div class="ke-dialog-row">',
|
47
|
+
'<label for="remoteUrl" style="width:60px;">' + lang.remoteUrl + '</label>',
|
48
|
+
'<input type="text" id="remoteUrl" class="ke-input-text" name="url" value="" style="width:200px;" /> ',
|
49
|
+
'<span class="ke-button-common ke-button-outer">',
|
50
|
+
'<input type="button" class="ke-button-common ke-button" name="viewServer" value="' + lang.viewServer + '" />',
|
51
|
+
'</span>',
|
52
|
+
'</div>',
|
53
|
+
'</div>',
|
54
|
+
//remote image - end
|
55
|
+
//local upload - start
|
56
|
+
'<div class="tab2" style="display:none;">',
|
57
|
+
'<iframe name="' + target + '" style="display:none;"></iframe>',
|
58
|
+
'<form class="ke-upload-area ke-form" method="post" enctype="multipart/form-data" target="' + target + '" action="' + K.addParam(uploadJson, 'dir=image') + '">',
|
59
|
+
//file
|
60
|
+
'<div class="ke-dialog-row">',
|
61
|
+
hiddenElements.join(''),
|
62
|
+
'<label style="width:60px;">' + lang.localUrl + '</label>',
|
63
|
+
'<input type="text" name="localUrl" class="ke-input-text" tabindex="-1" style="width:200px;" readonly="true" /> ',
|
64
|
+
'<input type="button" class="ke-upload-button" value="' + lang.upload + '" />',
|
65
|
+
'</div>',
|
66
|
+
'</form>',
|
67
|
+
'</div>',
|
68
|
+
//local upload - end
|
69
|
+
'</div>'
|
70
|
+
].join('');
|
71
|
+
var dialogWidth = showLocal || allowFileManager ? 450 : 400,
|
72
|
+
dialogHeight = showLocal && showRemote ? 190 : 250;
|
73
|
+
var dialog = self.createDialog({
|
74
|
+
name : name,
|
75
|
+
width : dialogWidth,
|
76
|
+
height : dialogHeight,
|
77
|
+
title : self.lang(name),
|
78
|
+
body : html,
|
79
|
+
yesBtn : {
|
80
|
+
name : self.lang('yes'),
|
81
|
+
click : function(e) {
|
82
|
+
// Bugfix: http://code.google.com/p/kindeditor/issues/detail?id=319
|
83
|
+
if (dialog.isLoading) {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
// insert local image
|
87
|
+
if (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {
|
88
|
+
if (uploadbutton.fileBox.val() == '') {
|
89
|
+
alert(self.lang('pleaseSelectFile'));
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
dialog.showLoading(self.lang('uploadLoading'));
|
93
|
+
uploadbutton.submit();
|
94
|
+
localUrlBox.val('');
|
95
|
+
return;
|
96
|
+
}
|
97
|
+
// insert remote image
|
98
|
+
var url = K.trim(urlBox.val()),
|
99
|
+
width = widthBox.val(),
|
100
|
+
height = heightBox.val(),
|
101
|
+
title = titleBox.val(),
|
102
|
+
align = '';
|
103
|
+
alignBox.each(function() {
|
104
|
+
if (this.checked) {
|
105
|
+
align = this.value;
|
106
|
+
return false;
|
107
|
+
}
|
108
|
+
});
|
109
|
+
if (url == 'http://' || K.invalidUrl(url)) {
|
110
|
+
alert(self.lang('invalidUrl'));
|
111
|
+
urlBox[0].focus();
|
112
|
+
return;
|
113
|
+
}
|
114
|
+
//if (!/^\d*$/.test(width)) {
|
115
|
+
// alert(self.lang('invalidWidth'));
|
116
|
+
// widthBox[0].focus();
|
117
|
+
// return;
|
118
|
+
//}
|
119
|
+
//if (!/^\d*$/.test(height)) {
|
120
|
+
// alert(self.lang('invalidHeight'));
|
121
|
+
// heightBox[0].focus();
|
122
|
+
// return;
|
123
|
+
//}
|
124
|
+
clickFn.call(self, url, title, width, height, 0, align);
|
125
|
+
}
|
126
|
+
},
|
127
|
+
beforeRemove : function() {
|
128
|
+
viewServerBtn.unbind();
|
129
|
+
//widthBox.unbind();
|
130
|
+
//heightBox.unbind();
|
131
|
+
//refreshBtn.unbind();
|
132
|
+
}
|
133
|
+
}),
|
134
|
+
div = dialog.div;
|
135
|
+
|
136
|
+
var urlBox = K('[name="url"]', div),
|
137
|
+
localUrlBox = K('[name="localUrl"]', div),
|
138
|
+
viewServerBtn = K('[name="viewServer"]', div),
|
139
|
+
widthBox = K('.tab1 [name="width"]', div),
|
140
|
+
heightBox = K('.tab1 [name="height"]', div),
|
141
|
+
refreshBtn = K('.ke-refresh-btn', div),
|
142
|
+
titleBox = K('.tab1 [name="title"]', div),
|
143
|
+
alignBox = K('.tab1 [name="align"]', div);
|
144
|
+
|
145
|
+
var tabs;
|
146
|
+
if (showRemote && showLocal) {
|
147
|
+
tabs = K.tabs({
|
148
|
+
src : K('.tabs', div),
|
149
|
+
afterSelect : function(i) {}
|
150
|
+
});
|
151
|
+
tabs.add({
|
152
|
+
title : lang.remoteImage,
|
153
|
+
panel : K('.tab1', div)
|
154
|
+
});
|
155
|
+
tabs.add({
|
156
|
+
title : lang.localImage,
|
157
|
+
panel : K('.tab2', div)
|
158
|
+
});
|
159
|
+
tabs.select(tabIndex);
|
160
|
+
} else if (showRemote) {
|
161
|
+
K('.tab1', div).show();
|
162
|
+
} else if (showLocal) {
|
163
|
+
K('.tab2', div).show();
|
164
|
+
}
|
165
|
+
|
166
|
+
var uploadbutton = K.uploadbutton({
|
167
|
+
button : K('.ke-upload-button', div)[0],
|
168
|
+
fieldName : filePostName,
|
169
|
+
form : K('.ke-form', div),
|
170
|
+
target : target,
|
171
|
+
width: 60,
|
172
|
+
afterUpload : function(data) {
|
173
|
+
dialog.hideLoading();
|
174
|
+
if (data.error === 0) {
|
175
|
+
var url = data.url;
|
176
|
+
if (formatUploadUrl) {
|
177
|
+
url = K.formatUrl(url, 'absolute');
|
178
|
+
}
|
179
|
+
if (self.afterUpload) {
|
180
|
+
self.afterUpload.call(self, url, data, name);
|
181
|
+
}
|
182
|
+
if (!fillDescAfterUploadImage) {
|
183
|
+
clickFn.call(self, url, data.title, data.width, data.height, data.border, data.align);
|
184
|
+
} else {
|
185
|
+
K(".ke-dialog-row #remoteUrl", div).val(url);
|
186
|
+
K(".ke-tabs-li", div)[0].click();
|
187
|
+
K(".ke-refresh-btn", div).click();
|
188
|
+
}
|
189
|
+
} else {
|
190
|
+
alert(data.message);
|
191
|
+
}
|
192
|
+
},
|
193
|
+
afterError : function(html) {
|
194
|
+
dialog.hideLoading();
|
195
|
+
self.errorDialog(html);
|
196
|
+
}
|
197
|
+
});
|
198
|
+
uploadbutton.fileBox.change(function(e) {
|
199
|
+
localUrlBox.val(uploadbutton.fileBox.val());
|
200
|
+
});
|
201
|
+
if (allowFileManager) {
|
202
|
+
viewServerBtn.click(function(e) {
|
203
|
+
self.loadPlugin('filemanager', function() {
|
204
|
+
self.plugin.filemanagerDialog({
|
205
|
+
viewType : 'VIEW',
|
206
|
+
dirName : 'image',
|
207
|
+
clickFn : function(url, title) {
|
208
|
+
if (self.dialogs.length > 1) {
|
209
|
+
K('[name="url"]', div).val(url);
|
210
|
+
if (self.afterSelectFile) {
|
211
|
+
self.afterSelectFile.call(self, url);
|
212
|
+
}
|
213
|
+
self.hideDialog();
|
214
|
+
}
|
215
|
+
}
|
216
|
+
});
|
217
|
+
});
|
218
|
+
});
|
219
|
+
} else {
|
220
|
+
viewServerBtn.hide();
|
221
|
+
}
|
222
|
+
var originalWidth = 0, originalHeight = 0;
|
223
|
+
function setSize(width, height) {
|
224
|
+
widthBox.val(width);
|
225
|
+
heightBox.val(height);
|
226
|
+
originalWidth = width;
|
227
|
+
originalHeight = height;
|
228
|
+
}
|
229
|
+
refreshBtn.click(function(e) {
|
230
|
+
var tempImg = K('<img src="' + urlBox.val() + '" />', document).css({
|
231
|
+
position : 'absolute',
|
232
|
+
visibility : 'hidden',
|
233
|
+
top : 0,
|
234
|
+
left : '-1000px'
|
235
|
+
});
|
236
|
+
tempImg.bind('load', function() {
|
237
|
+
setSize(tempImg.width(), tempImg.height());
|
238
|
+
tempImg.remove();
|
239
|
+
});
|
240
|
+
K(document.body).append(tempImg);
|
241
|
+
});
|
242
|
+
widthBox.change(function(e) {
|
243
|
+
if (originalWidth > 0) {
|
244
|
+
heightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10)));
|
245
|
+
}
|
246
|
+
});
|
247
|
+
heightBox.change(function(e) {
|
248
|
+
if (originalHeight > 0) {
|
249
|
+
widthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10)));
|
250
|
+
}
|
251
|
+
});
|
252
|
+
urlBox.val(options.imageUrl);
|
253
|
+
setSize(options.imageWidth, options.imageHeight);
|
254
|
+
titleBox.val(options.imageTitle);
|
255
|
+
alignBox.each(function() {
|
256
|
+
if (this.value === options.imageAlign) {
|
257
|
+
this.checked = true;
|
258
|
+
return false;
|
259
|
+
}
|
260
|
+
});
|
261
|
+
if (showRemote && tabIndex === 0) {
|
262
|
+
urlBox[0].focus();
|
263
|
+
urlBox[0].select();
|
264
|
+
}
|
265
|
+
return dialog;
|
266
|
+
};
|
267
|
+
});
|