redditor 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -2
- data/Gemfile +2 -1
- data/README.md +17 -3
- data/app/assets/images/redditor/big/image.png +0 -0
- data/app/assets/images/redditor/big/slider.png +0 -0
- data/app/assets/images/redditor/big/text.png +0 -0
- data/app/assets/images/redditor/big/video.png +0 -0
- data/app/assets/javascripts/redditor/init.coffee +149 -0
- data/app/assets/javascripts/{fileapi → redditor}/uploader.coffee +18 -18
- data/app/assets/javascripts/redditor.js.coffee +3 -0
- data/app/assets/stylesheets/{redditor/redditor.css.scss → redditor.scss} +70 -24
- data/app/controllers/redditor/admin/image_blocks_controller.rb +4 -4
- data/app/controllers/redditor/admin/images_controller.rb +1 -1
- data/app/controllers/redditor/admin/slider_blocks_controller.rb +3 -3
- data/app/controllers/redditor/admin/text_blocks_controller.rb +3 -3
- data/app/controllers/redditor/admin/video_blocks_controller.rb +3 -3
- data/app/helpers/redditor/application_helper.rb +7 -0
- data/app/views/redditor/admin/_content_block.haml +35 -0
- data/app/views/redditor/admin/{pages/_image.haml → _image.haml} +5 -5
- data/app/views/redditor/admin/{pages/_page.haml → _page.haml} +2 -3
- data/app/views/redditor/admin/_slider_block.haml +16 -0
- data/app/views/redditor/admin/{pages/_slider_block_image.haml → _slider_block_image.haml} +0 -0
- data/app/views/redditor/admin/_text_block.haml +5 -0
- data/app/views/redditor/admin/{pages/_validate.haml → _validate.haml} +1 -1
- data/app/views/redditor/admin/{pages/_video_block.haml → _video_block.haml} +2 -2
- data/app/views/redditor/admin/_wrapper.haml +3 -0
- data/app/views/redditor/admin/new.js.erb +5 -0
- data/app/views/redditor/admin/slider_block_image.js.coffee +2 -0
- data/app/views/redditor/admin/wrapper.js.coffee +5 -0
- data/app/views/redditor/images/_image.html.haml +1 -1
- data/app/views/redditor/slider_blocks/_slider_block_image.html.haml +1 -1
- data/config/locales/redditor.ru.yml +1 -1
- data/lib/redditor/engine.rb +1 -2
- data/lib/redditor/version.rb +1 -1
- data/redditor.gemspec +2 -9
- data/spec/dummy/app/assets/images/redactor/icons.png +0 -0
- data/spec/dummy/app/assets/images/redactor/plugins/file.html +3 -0
- data/spec/dummy/app/assets/images/redactor/plugins/image.html +39 -0
- data/spec/dummy/app/assets/images/redactor/plugins/image_edit.html +35 -0
- data/spec/dummy/app/assets/images/redactor/plugins/link.html +74 -0
- data/spec/dummy/app/assets/images/redactor/plugins/table.html +25 -0
- data/spec/dummy/app/assets/images/redactor/plugins/video.html +15 -0
- data/spec/dummy/app/assets/javascripts/application.js +10 -2
- data/spec/dummy/app/assets/javascripts/jquery-migrate-1.2.1.js +521 -0
- data/spec/dummy/app/assets/javascripts/redactor/langs/en.js +76 -0
- data/spec/dummy/app/assets/javascripts/redactor/langs/ru.js +75 -0
- data/spec/dummy/app/assets/javascripts/redactor/redactor.js.erb +2248 -0
- data/spec/dummy/app/assets/javascripts/redactor/toolbars/default.js +219 -0
- data/{app/assets/stylesheets/redditor → spec/dummy/app/assets/stylesheets}/application.css.scss +3 -8
- data/spec/dummy/app/assets/stylesheets/redactor/redactor.css.scss +369 -0
- data/spec/dummy/app/assets/stylesheets/redactor/wym.css +136 -0
- data/spec/dummy/app/controllers/articles_controller.rb +9 -0
- data/spec/dummy/app/views/admin/articles/edit.html.haml +1 -1
- data/spec/dummy/app/views/articles/show.html.haml +1 -1
- data/spec/dummy/app/views/layouts/application.html.erb +1 -1
- data/spec/features/text_spec.rb +3 -3
- data/spec/generators/views_generator_spec.rb +1 -1
- metadata +57 -114
- data/app/assets/javascripts/jquery-ui.min.js +0 -12
- data/app/assets/javascripts/redditor/application.js +0 -14
- data/app/assets/javascripts/redditor/redditor.coffee +0 -151
- data/app/helpers/redditor/fileapi_helper.rb +0 -17
- data/app/helpers/redditor/pages_helper.rb +0 -24
- data/app/models/redditor/content_block.rb +0 -24
- data/app/views/redditor/admin/pages/_content_block.haml +0 -37
- data/app/views/redditor/admin/pages/_slider_block.haml +0 -16
- data/app/views/redditor/admin/pages/_text_block.haml +0 -5
- data/app/views/redditor/admin/pages/_wrap_dd.haml +0 -1
- data/app/views/redditor/admin/pages/_wrapper.haml +0 -3
- data/app/views/redditor/admin/pages/new.js.coffee +0 -7
- data/app/views/redditor/admin/pages/new.js.erb +0 -7
- data/app/views/redditor/admin/pages/slider_block_image.js.coffee +0 -2
- data/app/views/redditor/admin/pages/wrapper.js.coffee +0 -6
- data/spec/dummy/app/assets/stylesheets/application.css +0 -13
@@ -1,9 +1,8 @@
|
|
1
1
|
= f.fields_for :page, f.object.page do |p|
|
2
2
|
|
3
3
|
- unless f.object.new_record?
|
4
|
-
%dl.redditor{data: {"sort-url" => url_for(redditor.sort_admin_page_path(p.object))}}
|
5
|
-
|
6
|
-
= render partial: "redditor/admin/pages/content_block", locals: {p: p, page: p.object, content_block: content_block}, :layout => "redditor/admin/pages/wrap_dd"
|
4
|
+
%dl#redditor.redditor{data: {"sort-url" => url_for(redditor.sort_admin_page_path(p.object))}}
|
5
|
+
= render partial: "redditor/admin/content_block", collection: p.object.content_blocks, locals: {p: p, page: p.object}
|
7
6
|
|
8
7
|
%div.redditor__add-blocks
|
9
8
|
%p
|
@@ -0,0 +1,16 @@
|
|
1
|
+
.redditor__title.redditor__title_slider
|
2
|
+
= t 'redditor.title.slider'
|
3
|
+
= redditor_validate f
|
4
|
+
|
5
|
+
.redditor__sep
|
6
|
+
|
7
|
+
- unless f.object.new_record?
|
8
|
+
%ul.slider-block-images{data: {"sortable-url" => redditor.sort_admin_page_slider_block_images_path(f.object.page_id, f.object.id)}}
|
9
|
+
= render partial: "redditor/admin/slider_block_image", collection: f.object.images, :as => :i
|
10
|
+
|
11
|
+
.redditor__sep
|
12
|
+
|
13
|
+
- unless f.object.new_record?
|
14
|
+
.b-button.js-fileapi-wrapper
|
15
|
+
.b-button__text= t("redditor.add.upload_images")
|
16
|
+
= file_field_tag :src, :class => "b-button__input redditor__js-fileapi", name: nil, :multiple => true, data: {"upload-url" => redditor.admin_page_slider_block_images_path(f.object.page_id, f.object.id)}
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
|
-
.
|
1
|
+
.redditor__title.redditor__title_video
|
2
2
|
= t 'redditor.title.video'
|
3
|
-
= image_tag 'redditor/add_video_big.png'
|
4
3
|
= redditor_validate f
|
4
|
+
|
5
5
|
- if f.object.youtube.present?
|
6
6
|
%iframe(width="#{f.object.width || "100%"}" height="#{f.object.height || 315}" src="http://www.youtube.com/embed/#{f.object.youtube}" frameborder="0" allowfullscreen)
|
7
7
|
%br
|
@@ -0,0 +1,5 @@
|
|
1
|
+
$("#<%= real_name(@content_block) %>_<%= @content_block.temp_id %>, #<%= real_name(@content_block) %>_<%= @content_block.id %>").closest("dd")
|
2
|
+
.replaceWith('<%= j(render(partial: "redditor/admin/wrapper", locals: {content_block: @content_block, page: @page})) %>')
|
3
|
+
.end()
|
4
|
+
.find("ul.slider-block-images").sortable $.redditor.sliderBlockImagesSortableParams
|
5
|
+
$.redditor.afterFunc()
|
@@ -1 +1 @@
|
|
1
|
-
%li{id: "image_
|
1
|
+
%li{id: "image_#{image.id}"}= image_tag image.src.url, alt: image.description, title: image.description
|
@@ -1 +1 @@
|
|
1
|
-
%li{id: "slider_block_image_
|
1
|
+
%li{id: "slider_block_image_#{image.id}"}= image_tag image.src.url, alt: image.description, title: image.description
|
@@ -4,7 +4,7 @@ ru:
|
|
4
4
|
text_block: Добавить текст
|
5
5
|
video_block: Добавить видео
|
6
6
|
image_block: Добавить фото
|
7
|
-
slider_block: Добавить
|
7
|
+
slider_block: Добавить слайдер
|
8
8
|
upload_image: Загрузить изображение
|
9
9
|
upload_images: Загрузить изображения
|
10
10
|
change_image: "Заменить изображение"
|
data/lib/redditor/engine.rb
CHANGED
data/lib/redditor/version.rb
CHANGED
data/redditor.gemspec
CHANGED
@@ -19,15 +19,8 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_dependency "rails", "
|
23
|
-
|
24
|
-
s.add_dependency "carrierwave"
|
25
|
-
s.add_dependency "rmagick"
|
26
|
-
s.add_dependency "coffee-rails"
|
27
|
-
s.add_dependency "jquery-rails"
|
28
|
-
# s.add_dependency 'fileapi', git: 'git@github.com:redde/fileapi.git'
|
29
|
-
|
30
|
-
s.add_development_dependency 'jquery-rails'
|
22
|
+
s.add_dependency "rails", ">= 4.0.0"
|
23
|
+
|
31
24
|
s.add_development_dependency 'capybara'
|
32
25
|
s.add_development_dependency 'poltergeist'
|
33
26
|
s.add_development_dependency "haml-rails"
|
Binary file
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<div id="redactor_tabs">
|
2
|
+
<a href="javascript:void(null);" class="redactor_tabs_act">%RLANG.upload%</a>
|
3
|
+
<a href="javascript:void(null);">%RLANG.choose%</a>
|
4
|
+
<a href="javascript:void(null);">%RLANG.link%</a>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
|
8
|
+
<form id="redactorInsertImageForm" method="post" action="" enctype="multipart/form-data">
|
9
|
+
<div id="redactor_tab1" class="redactor_tab">
|
10
|
+
<input type="file" id="redactor_file" name="file" />
|
11
|
+
</div>
|
12
|
+
<div id="redactor_tab2" class="redactor_tab" style="display: none;">
|
13
|
+
<div id="redactor_image_box"></div>
|
14
|
+
</div>
|
15
|
+
</form>
|
16
|
+
|
17
|
+
|
18
|
+
<div id="redactor_tab3" class="redactor_tab" style="display: none;">
|
19
|
+
<table class="redactor_ruler" width="100%">
|
20
|
+
<tr>
|
21
|
+
<td nowrap>%RLANG.image_web_link%</td>
|
22
|
+
<td width="100%"><input name="redactor_file_link" id="redactor_file_link" style="width: 99%" /></td>
|
23
|
+
</tr>
|
24
|
+
<tr>
|
25
|
+
<td></td>
|
26
|
+
<td>
|
27
|
+
|
28
|
+
<span class="redactor_btns_box">
|
29
|
+
<input type="button" name="upload" id="redactor_upload_btn" value="%RLANG.insert%" />
|
30
|
+
<a href="javascript:void(null);" style="color: #777; font-size: 12px;" id="redactor_btn_modal_close">%RLANG.cancel%</a>
|
31
|
+
</span>
|
32
|
+
<div style="clear: both;"></div>
|
33
|
+
|
34
|
+
</td>
|
35
|
+
</tr>
|
36
|
+
|
37
|
+
</table>
|
38
|
+
</div>
|
39
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
|
2
|
+
<table class="redactor_ruler">
|
3
|
+
<tr>
|
4
|
+
<td nowrap>%RLANG.title%</td>
|
5
|
+
<td><input id="redactor_file_alt" style="width: 99%;" /></td>
|
6
|
+
</tr>
|
7
|
+
<tr>
|
8
|
+
<td nowrap>%RLANG.link%</td>
|
9
|
+
<td><input id="redactor_file_link" style="width: 99%;" /></td>
|
10
|
+
</tr>
|
11
|
+
<tr>
|
12
|
+
<td nowrap class="small">%RLANG.image_position%</td>
|
13
|
+
<td width="100%">
|
14
|
+
<select id="redactor_form_image_align">
|
15
|
+
<option value="none">%RLANG.none%</option>
|
16
|
+
<option value="left">%RLANG.left%</option>
|
17
|
+
<option value="right">%RLANG.right%</option>
|
18
|
+
</select>
|
19
|
+
</td>
|
20
|
+
</tr>
|
21
|
+
<tr>
|
22
|
+
<td><a href="javascript:void(null);" id="redactor_image_delete_btn" style="color: #000;">%RLANG._delete%</a></td>
|
23
|
+
<td>
|
24
|
+
|
25
|
+
<span class="redactor_btns_box">
|
26
|
+
<input type="button" name="save" id="redactorSaveBtn" value="%RLANG.save%" />
|
27
|
+
<a href="javascript:void(null);" style="color: #777; font-size: 12px;" id="redactor_btn_modal_close">%RLANG.cancel%</a>
|
28
|
+
</span>
|
29
|
+
<div style="clear: both;"></div>
|
30
|
+
|
31
|
+
</td>
|
32
|
+
</tr>
|
33
|
+
</table>
|
34
|
+
|
35
|
+
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<form id="redactorInsertLinkForm" method="post" action="" enctype="multipart/form-data">
|
2
|
+
|
3
|
+
|
4
|
+
<div id="redactor_tabs">
|
5
|
+
<a href="javascript:void(null);" class="redactor_tabs_act">URL</a>
|
6
|
+
<a href="javascript:void(null);">Email</a>
|
7
|
+
<a href="javascript:void(null);">%RLANG.anchor%</a>
|
8
|
+
<a href="javascript:void(null);">%RLANG.file%</a>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<input type="hidden" id="redactor_tab_selected" value="1" />
|
12
|
+
|
13
|
+
<div class="redactor_tab" id="redactor_tab1">
|
14
|
+
<table class="redactor_ruler">
|
15
|
+
<tr>
|
16
|
+
<td nowrap>URL</td>
|
17
|
+
<td width="100%"><input id="redactor_link_url" style="width: 99%; font-size: 16px;" /></td>
|
18
|
+
</tr>
|
19
|
+
<tr>
|
20
|
+
<td>%RLANG.text%</td>
|
21
|
+
<td><input class="redactor_link_text" id="redactor_link_url_text" style="width: 99%; font-size: 16px;" /></td>
|
22
|
+
</tr>
|
23
|
+
</table>
|
24
|
+
</div>
|
25
|
+
<div class="redactor_tab" id="redactor_tab2" style="display: none;">
|
26
|
+
<table class="redactor_ruler">
|
27
|
+
<tr>
|
28
|
+
<td nowrap>Email</td>
|
29
|
+
<td width="100%"><input id="redactor_link_mailto" style="width: 99%; font-size: 16px;" /></td>
|
30
|
+
</tr>
|
31
|
+
<tr>
|
32
|
+
<td>%RLANG.text%</td>
|
33
|
+
<td><input class="redactor_link_text" id="redactor_link_mailto_text" style="width: 99%; font-size: 16px;" /></td>
|
34
|
+
</tr>
|
35
|
+
</table>
|
36
|
+
</div>
|
37
|
+
<div class="redactor_tab" id="redactor_tab3" style="display: none;">
|
38
|
+
<table class="redactor_ruler">
|
39
|
+
<tr>
|
40
|
+
<td nowrap>%RLANG.anchor%</td>
|
41
|
+
<td width="100%"><input id="redactor_link_anchor" style="width: 99%; font-size: 16px;" /></td>
|
42
|
+
</tr>
|
43
|
+
<tr>
|
44
|
+
<td>%RLANG.text%</td>
|
45
|
+
<td><input class="redactor_link_text" id="redactor_link_anchor_text" style="width: 99%; font-size: 16px;" /></td>
|
46
|
+
</tr>
|
47
|
+
</table>
|
48
|
+
</div>
|
49
|
+
<div class="redactor_tab" id="redactor_tab4" style="display: none;">
|
50
|
+
<table class="redactor_ruler">
|
51
|
+
<tr>
|
52
|
+
<td>%RLANG.text%</td>
|
53
|
+
<td><input class="redactor_link_text" id="redactor_link_file_text" style="width: 99%; font-size: 16px;" /></td>
|
54
|
+
</tr>
|
55
|
+
<tr>
|
56
|
+
<td></td>
|
57
|
+
<td>
|
58
|
+
|
59
|
+
<input type="file" id="redactor_file" name="file" />
|
60
|
+
|
61
|
+
</td>
|
62
|
+
</tr>
|
63
|
+
</table>
|
64
|
+
|
65
|
+
</div>
|
66
|
+
|
67
|
+
|
68
|
+
</form>
|
69
|
+
|
70
|
+
<span class="redactor_btns_box">
|
71
|
+
<input type="button" id="redactor_insert_link_btn" value="%RLANG.insert%" />
|
72
|
+
<a href="javascript:void(null);" style="color: #777; font-size: 12px;" id="redactor_btn_modal_close">%RLANG.cancel%</a>
|
73
|
+
</span>
|
74
|
+
<div style="clear: both;"></div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
<table class="redactor_ruler" width="99%">
|
3
|
+
<tr>
|
4
|
+
<td>%RLANG.Rows%:</td>
|
5
|
+
<td width="100%"><input size="5" value="2" id="redactor_table_rows" /></td>
|
6
|
+
</tr>
|
7
|
+
<tr>
|
8
|
+
<td>%RLANG.Columns%:</td>
|
9
|
+
<td><input size="5" value="3" id="redactor_table_columns" /></td>
|
10
|
+
</tr>
|
11
|
+
|
12
|
+
<tr>
|
13
|
+
<td></td>
|
14
|
+
<td>
|
15
|
+
<br />
|
16
|
+
<span class="redactor_btns_box">
|
17
|
+
<input type="button" name="upload" id="redactor_insert_table_btn" value="%RLANG.insert%" />
|
18
|
+
<a href="javascript:void(null);" style="color: #777; font-size: 12px;" id="redactor_btn_modal_close">%RLANG.cancel%</a>
|
19
|
+
</span>
|
20
|
+
<div style="clear: both;"></div>
|
21
|
+
|
22
|
+
</td>
|
23
|
+
</tr>
|
24
|
+
</table>
|
25
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<form id="redactorInsertVideoForm">
|
2
|
+
<div style="font-size: 11px; margin-bottom: 3px;">%RLANG.video_html_code%</div>
|
3
|
+
<table class="redactor_ruler" style="width: 99%;">
|
4
|
+
<tr>
|
5
|
+
<textarea id="redactor_insert_video_area" style="width: 99%; height: 160px;"></textarea>
|
6
|
+
</tr>
|
7
|
+
</table>
|
8
|
+
</form>
|
9
|
+
|
10
|
+
|
11
|
+
<span class="redactor_btns_box">
|
12
|
+
<input type="button" id="redactor_insert_video_btn" value="%RLANG.insert%" />
|
13
|
+
<a href="javascript:void(null);" style="color: #777; font-size: 12px;" id="redactor_btn_modal_close">%RLANG.cancel%</a>
|
14
|
+
</span>
|
15
|
+
<div style="clear: both;"></div>
|
@@ -11,6 +11,14 @@
|
|
11
11
|
// about supported directives.
|
12
12
|
//
|
13
13
|
//= require jquery
|
14
|
+
//= require jquery.ui.all
|
14
15
|
//= require jquery_ujs
|
15
|
-
//= require redditor
|
16
|
-
//=
|
16
|
+
//= require redditor
|
17
|
+
//= require jquery-migrate-1.2.1
|
18
|
+
//= require redactor/redactor
|
19
|
+
//= require redactor/langs/ru
|
20
|
+
//= require redactor/toolbars/default
|
21
|
+
|
22
|
+
$.redditor.afterFunc = function(){
|
23
|
+
$.redditor.$el.find('textarea').redactor();
|
24
|
+
};
|