From 325c4272193c39e07bd2901c90dafafa4d3f4fd3 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 21 Feb 2020 13:57:27 +1100 Subject: [PATCH] Remove style from pasted HTML in editor --- .../admin/utils/directives/textangular_strip.js.coffee | 8 +++++++- .../admin/enterprises/form/_shop_preferences.html.haml | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/utils/directives/textangular_strip.js.coffee b/app/assets/javascripts/admin/utils/directives/textangular_strip.js.coffee index 8e60221376..5c43ca9167 100644 --- a/app/assets/javascripts/admin/utils/directives/textangular_strip.js.coffee +++ b/app/assets/javascripts/admin/utils/directives/textangular_strip.js.coffee @@ -2,4 +2,10 @@ angular.module("admin.utils").directive "textangularStrip", () -> restrict: 'CA' link: (scope, element, attrs) -> scope.stripFormatting = ($html) -> - return String($html).replace(/<[^>]+>/gm, '') + element = document.createElement("div") + element.innerHTML = String($html) + allTags = element.getElementsByTagName("*") + for child in allTags + child.removeAttribute("style") + child.removeAttribute("class") + return element.innerHTML diff --git a/app/views/admin/enterprises/form/_shop_preferences.html.haml b/app/views/admin/enterprises/form/_shop_preferences.html.haml index f9264b5580..f7062ab07a 100644 --- a/app/views/admin/enterprises/form/_shop_preferences.html.haml +++ b/app/views/admin/enterprises/form/_shop_preferences.html.haml @@ -3,7 +3,7 @@ .three.columns.alpha = f.label "enterprise_preferred_shopfront_message", t('.shopfront_message') .eight.columns.omega - %text-angular{'ng-model' => 'Enterprise.preferred_shopfront_message', 'id' => 'enterprise_preferred_shopfront_message', 'name' => 'enterprise[preferred_shopfront_message]', 'class' => 'text-angular', "textangular-links-target-blank" => true, + %text-angular{'ng-model' => 'Enterprise.preferred_shopfront_message', 'id' => 'enterprise_preferred_shopfront_message', 'name' => 'enterprise[preferred_shopfront_message]', 'class' => 'text-angular textangular-strip', 'ta-paste' => "stripFormatting($html)", "textangular-links-target-blank" => true, 'ta-toolbar' => "[['h1','h2','h3','h4','p'],['bold','italics','underline','clear'],['insertLink']]", 'placeholder' => t('.shopfront_message_placeholder')} .row @@ -11,7 +11,7 @@ .three.columns.alpha = f.label "enterprise_preferred_shopfront_closed_message", t('.shopfront_closed_message') .eight.columns.omega - %text-angular{'ng-model' => 'Enterprise.preferred_shopfront_closed_message', 'id' => 'enterprise_preferred_shopfront_closed_message', 'name' => 'enterprise[preferred_shopfront_closed_message]', 'class' => 'text-angular', "textangular-links-target-blank" => true, + %text-angular{'ng-model' => 'Enterprise.preferred_shopfront_closed_message', 'id' => 'enterprise_preferred_shopfront_closed_message', 'name' => 'enterprise[preferred_shopfront_closed_message]', 'class' => 'text-angular textangular-strip', 'ta-paste' => "stripFormatting($html)", "textangular-links-target-blank" => true, 'ta-toolbar' => "[['h1','h2','h3','h4','p'],['bold','italics','underline','clear'],['insertLink']]", 'placeholder' => t('.shopfront_closed_message_placeholder')} .row