radiant-ck_editor_filter-extension 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -8,7 +8,7 @@ Radiant *CKEditor Filter* Extension
8
8
  </tr>
9
9
  <tr>
10
10
  <td>Version</td>
11
- <td>0.2.1</td>
11
+ <td>0.2.2</td>
12
12
  </tr>
13
13
  <tr>
14
14
  <td>Contact:</td>
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
@@ -0,0 +1,6 @@
1
+ :javascript
2
+ Event.observe(window,'load',function(){
3
+ instantiateCkEditor('#{page_part.name}')
4
+ Event.addBehavior({ 'a.insert_asset': InsertIntoCk })
5
+ })
6
+ Event.observe($('part_#{page_part.name}_filter_id'),'change',function(){ toggleEditor('#{page_part.name}') })
@@ -1 +1,6 @@
1
- = javascript_tag("Event.observe(window,'load',function(){instantiateCkEditor('#{page_part.name}')});Event.observe($('part_#{page_part.name}_filter_id'),'change',function(){toggleEditor('#{page_part.name}')});")
1
+ :javascript
2
+ Event.observe(window,'load',function(){
3
+ instantiateCkEditor('#{page_part.name}')
4
+ Event.addBehavior({ 'a.insert_asset': InsertIntoCk })
5
+ })
6
+ Event.observe($('part_#{page_part.name}_filter_id'),'change',function(){ toggleEditor('#{page_part.name}') })
@@ -2,7 +2,7 @@
2
2
  # require_dependency 'application_controller'
3
3
 
4
4
  class CkEditorFilterExtension < Radiant::Extension
5
- version "0.2.1"
5
+ version "0.2.2"
6
6
  description "Adds CKEditor as a filter"
7
7
  url "https://github.com/jomz/radiant-ck_editor_filter-extension"
8
8
 
@@ -16,6 +16,14 @@ class CkEditorFilterExtension < Radiant::Extension
16
16
  CkEditorFilter
17
17
  Admin::PagesController.send :include, CkeditorInterface
18
18
  admin.page.edit.add :part_controls, "editor_control"
19
+
20
+ # Overwrite insert link href from # to asset.url, so CK knows where to get the image.
21
+ Admin::AssetsHelper.class_eval do
22
+ def asset_insertion_link(asset)
23
+ radius_tag = asset.asset_type.default_radius_tag || 'link';
24
+ link_to t('clipped_extension.insert'), asset.asset.url, :class => 'insert_asset', :rel => "#{radius_tag}_#{Radiant.config['assets.insertion_size']}_#{asset.id}"
25
+ end
26
+ end
19
27
  end
20
28
 
21
29
  def deactivate
@@ -10,7 +10,7 @@ function instantiateCkEditor(partIndex){
10
10
  ['Styles','Format'],
11
11
  ['Bold','Italic','Strike','-','Subscript','Superscript'],
12
12
  ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
13
- ['RadiantPreview', 'PasteFromWord', 'RemoveFormat'],
13
+ ['RadiantPreview', 'Paste', 'RemoveFormat'],
14
14
  ['Find','Replace'],
15
15
  ['Image','Paperclipped', 'MediaEmbed', 'Table','HorizontalRule','SpecialChar'],
16
16
  ['Link','Unlink','Anchor'],
@@ -90,3 +90,31 @@ function putInEditor(partIndex){
90
90
  var textarea = $('part_' + partIndex + '_content')
91
91
  CKEDITOR.replace(textarea)
92
92
  }
93
+
94
+ InsertIntoCk = Behavior.create({
95
+ onclick: function(e) {
96
+ if (e) e.stop();
97
+ var part_name = TabControlBehavior.instances[0].controller.selected.caption;
98
+ var textbox = $('part_' + part_name + '_content');
99
+
100
+ var tag_parts = this.element.getAttribute('rel').split('_');
101
+ var href = this.element.getAttribute('href')
102
+ var tag_name = tag_parts[0];
103
+ var asset_size = tag_parts[1];
104
+ var asset_id = tag_parts[2];
105
+
106
+ if($('part_' + part_name + '_filter_id').value == 'CKEditor'){
107
+ editor = CKEDITOR.instances['part_'+ part_name +'_content']
108
+ if(tag_name == 'image')
109
+ editor.insertHtml("<img src=\"" + href + "\" alt=\"\" />")
110
+ else
111
+ editor.insertHtml("<a href=\"" + href + "\">" + this.element.up(".back").down(".title").innerHTML + "</a>")
112
+ }
113
+ else{
114
+ var radius_tag = '<r:asset:' + tag_name;
115
+ if (asset_size != '') radius_tag = radius_tag + ' size="' + asset_size + '"';
116
+ radius_tag = radius_tag +' id="' + asset_id + '" />';
117
+ Asset.InsertAtCursor(textbox, radius_tag);
118
+ }
119
+ }
120
+ });
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radiant-ck_editor_filter-extension
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Benny Degezelle
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-22 00:00:00 +02:00
18
+ date: 2011-06-19 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -50,6 +50,7 @@ files:
50
50
  - VERSION
51
51
  - app/models/ckeditor_interface.rb
52
52
  - app/views/admin/assets/_asset.html.haml
53
+ - app/views/admin/page_parts/_editor_control.html.haml
53
54
  - app/views/admin/pages/_editor_control.html.haml
54
55
  - ck_editor_filter_extension.rb
55
56
  - ckeditor.html