@@ -84,6 +84,31 @@ define([
8484 } ;
8585 }
8686
87+ function convertStringsToRegExDeep ( arr ) {
88+ function processEntry ( [ key , value ] ) {
89+ if ( typeof value === "string" ) {
90+ return [
91+ key ,
92+ new RegExp ( value , 'i' )
93+ ] ;
94+ }
95+ if ( Array . isArray ( value ) ) {
96+ return [
97+ key ,
98+ arr . map ( ( value , index ) => processEntry ( [ index , value ] ) [ 1 ] )
99+ ] ;
100+ }
101+ if ( typeof value === "object" && value !== null ) {
102+ return [
103+ key ,
104+ Object . fromEntries ( Object . entries ( value ) . map ( processEntry ) )
105+ ] ;
106+ }
107+ return [ key , value ] ;
108+ }
109+ return arr . map ( ( value , index ) => processEntry ( [ index , value ] ) [ 1 ] )
110+ }
111+
87112 until ( isAttached ( this . $el ) ) . then ( ( ) => {
88113 return CKEDITOR . create ( this . $el [ 0 ] , {
89114 dataIndentationChars : '' ,
@@ -92,10 +117,8 @@ define([
92117 entities : false ,
93118 htmlSupport : {
94119 // Convert all allow/disallow values to regexp, as config is json only
95- allow : ( ( Origin . constants . ckEditorHtmlSupport && Origin . constants . ckEditorHtmlSupport . allow ) || [ ] )
96- . map ( obj => Object . fromEntries ( Object . entries ( obj ) . map ( ( [ name , value ] ) => ( [ name , new RegExp ( value ) ] ) ) ) ) ,
97- disallow : ( ( Origin . constants . ckEditorHtmlSupport && Origin . constants . ckEditorHtmlSupport . disallow ) || [ ] )
98- . map ( obj => Object . fromEntries ( Object . entries ( obj ) . map ( ( [ name , value ] ) => ( [ name , new RegExp ( value ) ] ) ) ) )
120+ allow : convertStringsToRegExDeep ( ( Origin . constants . ckEditorHtmlSupport && Origin . constants . ckEditorHtmlSupport . allow ) || [ ] ) ,
121+ disallow : convertStringsToRegExDeep ( ( Origin . constants . ckEditorHtmlSupport && Origin . constants . ckEditorHtmlSupport . disallow ) || [ ] )
99122 } ,
100123 on : {
101124 change : function ( ) {
0 commit comments