Remove CKEditor divs

This way the HTML does not depend on CKEditor, and changing the editor
we use in textareas will require very few changes.
This commit is contained in:
Javi Martín
2019-10-25 17:00:18 +02:00
parent 6ef07f8a54
commit e844b0b2db
16 changed files with 46 additions and 45 deletions

View File

@@ -1072,8 +1072,8 @@ form {
margin: $line-height / 2 0 $line-height / 2 $line-height / 4;
}
.ckeditor {
min-height: $line-height * 13;
.cke {
margin-bottom: $line-height;
}
.checkbox,

View File

@@ -21,7 +21,7 @@
maxlength: Budget::Investment.title_max_length %>
</div>
<div class="ckeditor small-12 column">
<div class="small-12 column">
<%= translations_form.text_area :description,
maxlength: Budget::Investment.description_max_length,
class: "html-area" %>

View File

@@ -22,22 +22,18 @@
<div class="row">
<%= f.translatable_fields do |translations_form| %>
<div class="small-12 column">
<div class="ckeditor">
<%= translations_form.text_area :description,
maxlength: Budget::Phase::DESCRIPTION_MAX_LENGTH,
class: "html-area",
hint: t("admin.budget_phases.edit.description_help_text") %>
</div>
</div>
<div class="small-12 column">
<div class="ckeditor">
<%= translations_form.text_area :summary,
maxlength: Budget::Phase::SUMMARY_MAX_LENGTH,
class: "html-area",
hint: t("admin.budget_phases.edit.summary_help_text") %>
</div>
</div>
<% end %>
</div>

View File

@@ -31,11 +31,9 @@
<%= f.text_field :short_description %>
</div>
<div class="ckeditor">
<%= f.text_area :description, class: "html-area" %>
</div>
</div>
</div>
<div class="row expanded margin-top">
<div class="small-12 column">

View File

@@ -15,13 +15,11 @@
<div class="row">
<%= f.translatable_fields do |translations_form| %>
<div class="small-12 column">
<div class="ckeditor">
<%= translations_form.text_area :homepage,
language: I18n.locale,
class: "html-area admin",
hint: t("admin.legislation.processes.form.homepage_description") %>
</div>
</div>
<% end %>
</div>

View File

@@ -6,7 +6,7 @@
<%= translatable_form_for [:admin, @process] do |f| %>
<div class="row">
<%= f.translatable_fields do |translations_form| %>
<div class="ckeditor column">
<div class="column">
<%= translations_form.text_area :milestones_summary, class: "html-area" %>
</div>
<% end %>

View File

@@ -6,7 +6,7 @@
<div class="row">
<%= f.translatable_fields do |translations_form| %>
<div class="ckeditor column">
<div class="column">
<span class="help-text"><%= t("admin.active_polls.form.description.help_text") %></span>
<%= translations_form.text_area :description, class: "html-area",
maxlength: ActivePoll.description_max_length %>

View File

@@ -14,7 +14,7 @@
<div class="column end">
<%= translations_form.text_field :title %>
</div>
<div class="ckeditor column">
<div class="column">
<%= translations_form.text_area :description, maxlength: Poll::Question.description_max_length, class: "html-area" %>
</div>
<% end %>

View File

@@ -46,7 +46,7 @@
<div class="small-12 column">
<%= translations_form.text_field :subtitle %>
</div>
<div class="ckeditor column">
<div class="column">
<%= translations_form.text_area :content, class: "html-area admin" %>
</div>
<% end %>

View File

@@ -22,7 +22,7 @@
</div>
<div class="js-suggest" data-locale="<%= translations_form.locale %>"></div>
<div class="ckeditor small-12 column">
<div class="small-12 column">
<%= translations_form.text_area :description,
maxlength: Budget::Investment.description_max_length,
class: "html-area" %>

View File

@@ -14,7 +14,6 @@
<div class="row expanded">
<div class="small-12 column">
<div class="ckeditor">
<%= f.text_area :description,
maxlength: Poll::Question.description_max_length,
class: "html-area" %>
@@ -22,4 +21,3 @@
</div>
</div>
</div>
</div>

View File

@@ -16,7 +16,7 @@
</div>
<div class="js-suggest" data-locale="<%= translations_form.locale %>"></div>
<div class="ckeditor small-12 column">
<div class="small-12 column">
<%= translations_form.text_area :description,
maxlength: Debate.description_max_length,
class: "html-area" %>

View File

@@ -15,7 +15,7 @@
hint: t("proposals.form.proposal_summary_note") %>
</div>
<div class="ckeditor small-12 column">
<div class="small-12 column">
<%= f.text_area :description,
maxlength: Legislation::Proposal.description_max_length,
class: "html-area" %>

View File

@@ -21,7 +21,7 @@
hint: t("proposals.form.proposal_summary_note") %>
</div>
<div class="ckeditor small-12 column">
<div class="small-12 column">
<%= translations_form.text_area :description,
maxlength: Proposal.description_max_length,
class: "html-area" %>

View File

@@ -86,12 +86,11 @@ describe "Admin custom pages" do
scenario "Allows images in CKEditor", :js do
visit edit_admin_site_customization_page_path(custom_page)
fill_in_ckeditor "Content", with: "Will add an image"
within(".ckeditor") do
expect(page).to have_css(".cke_toolbar .cke_button__image_icon")
end
end
end
scenario "Delete" do
custom_page = create(:site_customization_page, title: "An example custom page")

View File

@@ -1,15 +1,27 @@
RSpec::Matchers.define :have_ckeditor do |label, with:|
match do
return false unless has_css?(".ckeditor", text: label)
define_method :textarea_id do
find("label", text: label)[:for]
end
page.within(".ckeditor", text: label) do
define_method :ckeditor_id do
"#cke_#{textarea_id}"
end
define_method :has_ckeditor? do
has_css?("label", text: label) && has_css?(ckeditor_id)
end
match do
return false unless has_ckeditor?
page.within(ckeditor_id) do
within_frame(0) { has_content?(with) }
end
end
failure_message do
if has_css?(".ckeditor", text: label)
text = page.within(".ckeditor", text: label) { within_frame(0) { page.text } }
if has_ckeditor?
text = page.within(ckeditor_id) { within_frame(0) { page.text } }
"expected to find visible CKEditor '#{label}' with '#{with}', but had '#{text}'"
else