diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 5ca18f609..359a273ff 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -55,6 +55,7 @@
//= require checkbox_toggle
//= require markdown-it
//= require markdown_editor
+//= require html_editor
//= require cocoon
//= require answers
//= require questions
@@ -114,6 +115,7 @@ var initialize_modules = function() {
App.SocialShare.initialize();
App.CheckboxToggle.initialize();
App.MarkdownEditor.initialize();
+ App.HTMLEditor.initialize();
App.LegislationAdmin.initialize();
App.LegislationAllegations.initialize();
App.Legislation.initialize();
diff --git a/app/assets/javascripts/html_editor.js b/app/assets/javascripts/html_editor.js
new file mode 100644
index 000000000..4325fa255
--- /dev/null
+++ b/app/assets/javascripts/html_editor.js
@@ -0,0 +1,14 @@
+(function() {
+ "use strict";
+ App.HTMLEditor = {
+ initialize: function() {
+ $("textarea.html-area").each(function() {
+ if ($(this).hasClass("admin")) {
+ CKEDITOR.replace(this.name, { language: $("html").attr("lang"), toolbar: "admin", height: 500 });
+ } else {
+ CKEDITOR.replace(this.name, { language: $("html").attr("lang") });
+ }
+ });
+ }
+ };
+}).call(this);
diff --git a/app/views/admin/budget_investments/edit.html.erb b/app/views/admin/budget_investments/edit.html.erb
index bb3acc7f1..da30985db 100644
--- a/app/views/admin/budget_investments/edit.html.erb
+++ b/app/views/admin/budget_investments/edit.html.erb
@@ -22,9 +22,9 @@
- <%= translations_form.cktext_area :description,
+ <%= translations_form.text_area :description,
maxlength: Budget::Investment.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ class: "html-area" %>
<% end %>
diff --git a/app/views/admin/budget_phases/_form.html.erb b/app/views/admin/budget_phases/_form.html.erb
index a75ce79b8..5753603f1 100644
--- a/app/views/admin/budget_phases/_form.html.erb
+++ b/app/views/admin/budget_phases/_form.html.erb
@@ -23,17 +23,19 @@
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.cktext_area :description,
- maxlength: Budget::Phase::DESCRIPTION_MAX_LENGTH,
- hint: t("admin.budget_phases.edit.description_help_text") %>
+ <%= translations_form.text_area :description,
+ maxlength: Budget::Phase::DESCRIPTION_MAX_LENGTH,
+ class: "html-area",
+ hint: t("admin.budget_phases.edit.description_help_text") %>
- <%= translations_form.cktext_area :summary,
- maxlength: Budget::Phase::SUMMARY_MAX_LENGTH,
- hint: t("admin.budget_phases.edit.summary_help_text") %>
+ <%= translations_form.text_area :summary,
+ maxlength: Budget::Phase::SUMMARY_MAX_LENGTH,
+ class: "html-area",
+ hint: t("admin.budget_phases.edit.summary_help_text") %>
<% end %>
diff --git a/app/views/admin/dashboard/actions/_form.html.erb b/app/views/admin/dashboard/actions/_form.html.erb
index b80765e84..c2d150c41 100644
--- a/app/views/admin/dashboard/actions/_form.html.erb
+++ b/app/views/admin/dashboard/actions/_form.html.erb
@@ -32,7 +32,7 @@
- <%= f.cktext_area :description, ckeditor: { language: I18n.locale } %>
+ <%= f.text_area :description, class: "html-area" %>
diff --git a/app/views/admin/legislation/homepages/_form.html.erb b/app/views/admin/legislation/homepages/_form.html.erb
index 2c2485cfe..fea2d3a5b 100644
--- a/app/views/admin/legislation/homepages/_form.html.erb
+++ b/app/views/admin/legislation/homepages/_form.html.erb
@@ -16,10 +16,10 @@
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.cktext_area :homepage,
- language: I18n.locale,
- ckeditor: { height: 500, toolbar: "admin" },
- hint: t("admin.legislation.processes.form.homepage_description") %>
+ <%= translations_form.text_area :homepage,
+ language: I18n.locale,
+ class: "html-area admin",
+ hint: t("admin.legislation.processes.form.homepage_description") %>
<% end %>
diff --git a/app/views/admin/legislation/milestones/_summary_form.html.erb b/app/views/admin/legislation/milestones/_summary_form.html.erb
index 3c4297049..6b708c8c4 100644
--- a/app/views/admin/legislation/milestones/_summary_form.html.erb
+++ b/app/views/admin/legislation/milestones/_summary_form.html.erb
@@ -7,7 +7,7 @@
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.cktext_area :milestones_summary, ckeditor: { language: I18n.locale } %>
+ <%= translations_form.text_area :milestones_summary, class: "html-area" %>
<% end %>
diff --git a/app/views/admin/newsletters/_form.html.erb b/app/views/admin/newsletters/_form.html.erb
index a389a090d..a1c5f1abb 100644
--- a/app/views/admin/newsletters/_form.html.erb
+++ b/app/views/admin/newsletters/_form.html.erb
@@ -5,7 +5,7 @@
@newsletter[:segment_recipient]) %>
<%= f.text_field :subject %>
<%= f.text_field :from %>
- <%= f.cktext_area :body, ckeditor: { language: I18n.locale } %>
+ <%= f.text_area :body, class: "html-area" %>
<%= f.submit class: "button success" %>
diff --git a/app/views/admin/poll/active_polls/_form.html.erb b/app/views/admin/poll/active_polls/_form.html.erb
index d3aeaedab..0911e09f1 100644
--- a/app/views/admin/poll/active_polls/_form.html.erb
+++ b/app/views/admin/poll/active_polls/_form.html.erb
@@ -8,7 +8,7 @@
<%= f.translatable_fields do |translations_form| %>
<%= t("admin.active_polls.form.description.help_text") %>
- <%= translations_form.cktext_area :description,
+ <%= translations_form.text_area :description, class: "html-area",
maxlength: ActivePoll.description_max_length %>
<% end %>
diff --git a/app/views/admin/poll/questions/answers/_form.html.erb b/app/views/admin/poll/questions/answers/_form.html.erb
index 873ce5785..68114d2a6 100644
--- a/app/views/admin/poll/questions/answers/_form.html.erb
+++ b/app/views/admin/poll/questions/answers/_form.html.erb
@@ -15,7 +15,7 @@
<%= translations_form.text_field :title %>
- <%= translations_form.cktext_area :description, maxlength: Poll::Question.description_max_length %>
+ <%= translations_form.text_area :description, maxlength: Poll::Question.description_max_length, class: "html-area" %>
<% end %>
diff --git a/app/views/admin/site_customization/pages/_form.html.erb b/app/views/admin/site_customization/pages/_form.html.erb
index 72be1eacf..5a9475b03 100644
--- a/app/views/admin/site_customization/pages/_form.html.erb
+++ b/app/views/admin/site_customization/pages/_form.html.erb
@@ -47,8 +47,7 @@
<%= translations_form.text_field :subtitle %>
- <%= translations_form.cktext_area :content,
- ckeditor: { language: I18n.locale, toolbar: "admin" } %>
+ <%= translations_form.text_area :content, class: "html-area admin" %>
<% end %>
diff --git a/app/views/budgets/investments/_form.html.erb b/app/views/budgets/investments/_form.html.erb
index c118611fd..330931d59 100644
--- a/app/views/budgets/investments/_form.html.erb
+++ b/app/views/budgets/investments/_form.html.erb
@@ -23,9 +23,9 @@
- <%= translations_form.cktext_area :description,
+ <%= translations_form.text_area :description,
maxlength: Budget::Investment.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ class: "html-area" %>
<% end %>
diff --git a/app/views/dashboard/polls/_question_answer_fields.html.erb b/app/views/dashboard/polls/_question_answer_fields.html.erb
index 4f3dfae57..b3e6d9e4e 100644
--- a/app/views/dashboard/polls/_question_answer_fields.html.erb
+++ b/app/views/dashboard/polls/_question_answer_fields.html.erb
@@ -15,9 +15,9 @@
- <%= f.cktext_area :description,
- maxlength: Poll::Question.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ <%= f.text_area :description,
+ maxlength: Poll::Question.description_max_length,
+ class: "html-area" %>
diff --git a/app/views/debates/_form.html.erb b/app/views/debates/_form.html.erb
index 38b4e2bcc..08b24eceb 100644
--- a/app/views/debates/_form.html.erb
+++ b/app/views/debates/_form.html.erb
@@ -17,9 +17,9 @@
- <%= translations_form.cktext_area :description,
+ <%= translations_form.text_area :description,
maxlength: Debate.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ class: "html-area" %>
<% end %>
diff --git a/app/views/legislation/proposals/_form.html.erb b/app/views/legislation/proposals/_form.html.erb
index d0c387482..e21a605f6 100644
--- a/app/views/legislation/proposals/_form.html.erb
+++ b/app/views/legislation/proposals/_form.html.erb
@@ -16,9 +16,9 @@
- <%= f.cktext_area :description,
+ <%= f.text_area :description,
maxlength: Legislation::Proposal.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ class: "html-area" %>
diff --git a/app/views/proposals/_form.html.erb b/app/views/proposals/_form.html.erb
index 6f2a34e82..86f86e918 100644
--- a/app/views/proposals/_form.html.erb
+++ b/app/views/proposals/_form.html.erb
@@ -22,9 +22,9 @@
- <%= translations_form.cktext_area :description,
- maxlength: Proposal.description_max_length,
- ckeditor: { language: I18n.locale } %>
+ <%= translations_form.text_area :description,
+ maxlength: Proposal.description_max_length,
+ class: "html-area" %>
<% end %>
diff --git a/lib/consul_form_builder.rb b/lib/consul_form_builder.rb
index 86c84589f..33b0fc1af 100644
--- a/lib/consul_form_builder.rb
+++ b/lib/consul_form_builder.rb
@@ -9,7 +9,7 @@ class ConsulFormBuilder < FoundationRailsHelper::FormBuilder
select attribute, choices, options, html_options
end
- %i[text_field text_area cktext_area number_field password_field email_field].each do |field|
+ %i[text_field text_area number_field password_field email_field].each do |field|
define_method field do |attribute, options = {}|
label_with_hint(attribute, options.merge(label_options: label_options_for(options))) +
super(attribute, options.merge(