activeadmin-redactor 0.0.1 → 0.0.2
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 +4 -4
- data/README.md +40 -1
- data/activeadmin-redactor.gemspec +1 -0
- data/app/helpers/redactor_helper.rb +7 -0
- data/app/views/redactor/editor.html.erb +11 -7
- data/lib/activeadmin/redactor.rb +4 -1
- data/lib/activeadmin/redactor/version.rb +1 -1
- data/lib/activeadmin/redactor_opts.rb +25 -0
- data/spec/activeadmin/redactor_opts_spec.rb +56 -0
- data/spec/spec_helper.rb +2 -0
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa6771ecaeb76d1f6049cd1eb5797063e82f8ad6
|
4
|
+
data.tar.gz: 5bb17692296a4e2d5da434249a6873167ed04eae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d97a1ca1dcdc10c701aceeba9cd1226a4694c97221872c705d47d59d0e4e2420c44b152fbd2f343582af2d54c4a9add7c19c22817473941080148869f24bd31c
|
7
|
+
data.tar.gz: 35e55733d1e99763e72d38d3d2b07c495a24474468fbd2253d824e7910defefc0caad8af59042c52b55d9d374ce132d9f9081b97f2d4c17bc3761d22f2177a74
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# Activeadmin::Redactor
|
2
2
|
|
3
|
-
|
3
|
+
Limited subsection of [redactor](http://imperavi.com/redactor/) options.
|
4
|
+
Currently no plans to make this feature complete (supporting all the options from the API).
|
5
|
+
Feel free to add options and submit a pull request if missing one you require.
|
4
6
|
|
5
7
|
## Usage
|
6
8
|
|
@@ -23,6 +25,43 @@ ActiveAdmin.register Page do
|
|
23
25
|
end
|
24
26
|
```
|
25
27
|
|
28
|
+
### Optional View Port Customization
|
29
|
+
#### Stylesheets
|
30
|
+
Default setting is none
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
ActiveAdmin.register Page do
|
34
|
+
redactorable stylesheets: ["fonts", "application"]
|
35
|
+
end
|
36
|
+
```
|
37
|
+
|
38
|
+
### Optional Redactor Customization
|
39
|
+
#### [iframe](http://imperavi.com/redactor/examples/iframe/)
|
40
|
+
Default setting is false
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
ActiveAdmin.register Page do
|
44
|
+
redactorable redactor: {iframe: true}
|
45
|
+
end
|
46
|
+
```
|
47
|
+
#### [css](http://imperavi.com/redactor/examples/css/)
|
48
|
+
Default setting is none
|
49
|
+
|
50
|
+
```ruby
|
51
|
+
ActiveAdmin.register Page do
|
52
|
+
redactorable redactor: {css: ['application', 'override']}
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
56
|
+
#### minHeight
|
57
|
+
Default setting is false
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
ActiveAdmin.register Page do
|
61
|
+
redactorable redactor: {minheight: 200}
|
62
|
+
end
|
63
|
+
```
|
64
|
+
|
26
65
|
## Contributing
|
27
66
|
|
28
67
|
1. Fork it ( https://github.com/[my-github-username]/activeadmin-redactor/fork )
|
@@ -4,22 +4,26 @@
|
|
4
4
|
<title>Redactor</title>
|
5
5
|
<meta charset="utf-8">
|
6
6
|
<script type="text/javascript" src="//code.jquery.com/jquery-latest.min.js"></script>
|
7
|
-
<%= stylesheet_link_tag
|
7
|
+
<%= stylesheet_link_tag *@stylesheets %>
|
8
8
|
</head>
|
9
9
|
|
10
10
|
<body>
|
11
|
-
|
12
|
-
<%= f
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
<div id="viewport">
|
12
|
+
<%= form_for(resource, url: resource_path(resource)) do |f| %>
|
13
|
+
<%= f.submit %>
|
14
|
+
<%= f.text_area :redactorable, id: 'redactor' %>
|
15
|
+
<%= f.submit %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
16
18
|
|
17
19
|
<%= javascript_include_tag 'activeadmin-redactor' %>
|
18
20
|
<script type="text/javascript">
|
19
21
|
$(function()
|
20
22
|
{
|
21
23
|
$('#redactor').redactor({
|
22
|
-
|
24
|
+
iframe: <%= @redactor_opts.iframe %>,
|
25
|
+
css: <%=raw redactor_css(@redactor_opts.css) %>,
|
26
|
+
minHeight: window.innerHeight - 100,
|
23
27
|
});
|
24
28
|
});
|
25
29
|
</script>
|
data/lib/activeadmin/redactor.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
require 'activeadmin/redactor/version'
|
2
|
+
require 'activeadmin/redactor_opts'
|
2
3
|
require 'activeadmin'
|
3
4
|
require 'rails/engine'
|
4
5
|
|
5
6
|
module Activeadmin
|
6
7
|
module Redactor
|
7
8
|
module ControllerActions
|
8
|
-
def redactorable
|
9
|
+
def redactorable(opts={})
|
9
10
|
member_action :redactor do
|
11
|
+
@redactor_opts = RedactorOpts.new(opts[:redactor])
|
12
|
+
@stylesheets = (opts[:stylesheets] || []).unshift("activeadmin-redactor")
|
10
13
|
render 'redactor/editor', layout: false
|
11
14
|
end
|
12
15
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Activeadmin
|
2
|
+
module Redactor
|
3
|
+
class RedactorOpts
|
4
|
+
def initialize(opts={})
|
5
|
+
@opts = opts
|
6
|
+
end
|
7
|
+
|
8
|
+
def iframe
|
9
|
+
opts[:iframe] == true
|
10
|
+
end
|
11
|
+
|
12
|
+
def css
|
13
|
+
opts[:css] || []
|
14
|
+
end
|
15
|
+
|
16
|
+
def minheight
|
17
|
+
opts[:minheight] || false
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
attr_reader :opts
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../lib/activeadmin/redactor_opts.rb'
|
3
|
+
|
4
|
+
describe Activeadmin::Redactor::RedactorOpts do
|
5
|
+
subject { described_class.new(options) }
|
6
|
+
|
7
|
+
describe '#iframe' do
|
8
|
+
context 'no options passed' do
|
9
|
+
let(:options) {Hash.new}
|
10
|
+
it 'returns false' do
|
11
|
+
expect(subject.iframe).to eql(false)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'options passed' do
|
16
|
+
let(:options) {{iframe: true}}
|
17
|
+
it 'returns true' do
|
18
|
+
expect(subject.iframe).to eql(true)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '#css' do
|
24
|
+
context 'no options passed' do
|
25
|
+
let(:options) {Hash.new}
|
26
|
+
it 'returns empty array' do
|
27
|
+
expect(subject.css).to eql([])
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'options passed' do
|
32
|
+
let(:options) {{css: ['application.css', 'http://www.example.com/style.css']}}
|
33
|
+
it 'returns unmodified array' do
|
34
|
+
expect(subject.css).to eql(
|
35
|
+
['application.css', 'http://www.example.com/style.css']
|
36
|
+
)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '#minheight' do
|
42
|
+
context 'no options passed' do
|
43
|
+
let(:options) {Hash.new}
|
44
|
+
it 'returns false' do
|
45
|
+
expect(subject.minheight).to eql(false)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context 'options passed' do
|
50
|
+
let(:options) {{minheight: 'window.innerHeight - 100'}}
|
51
|
+
it 'returns unmodified string' do
|
52
|
+
expect(subject.minheight).to eql('window.innerHeight - 100')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin-redactor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Entwistle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeadmin
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description:
|
28
42
|
email:
|
29
43
|
- karl.entwistle@unboxedconsulting.com
|
@@ -37,9 +51,13 @@ files:
|
|
37
51
|
- README.md
|
38
52
|
- Rakefile
|
39
53
|
- activeadmin-redactor.gemspec
|
54
|
+
- app/helpers/redactor_helper.rb
|
40
55
|
- app/views/redactor/editor.html.erb
|
41
56
|
- lib/activeadmin/redactor.rb
|
42
57
|
- lib/activeadmin/redactor/version.rb
|
58
|
+
- lib/activeadmin/redactor_opts.rb
|
59
|
+
- spec/activeadmin/redactor_opts_spec.rb
|
60
|
+
- spec/spec_helper.rb
|
43
61
|
- vendor/assets/javascripts/activeadmin-redactor.js
|
44
62
|
- vendor/assets/stylesheets/activeadmin-redactor.css
|
45
63
|
homepage: http://imperavi.com/redactor/
|
@@ -66,4 +84,6 @@ rubygems_version: 2.2.2
|
|
66
84
|
signing_key:
|
67
85
|
specification_version: 4
|
68
86
|
summary: Redactor WYSIWYG Editor Integration for ActiveAdmin resources.
|
69
|
-
test_files:
|
87
|
+
test_files:
|
88
|
+
- spec/activeadmin/redactor_opts_spec.rb
|
89
|
+
- spec/spec_helper.rb
|