2023-01-10 16:29:32 +00:00
/ *
2022-12-19 20:22:19 +00:00
Copyright ( c ) 2003 - 2020 , CKSource - Frederico Knabben . All rights reserved .
For licensing , see LICENSE . md or https : //ckeditor.com/legal/ckeditor-oss-license
* /
CKEDITOR . dialog . add ( "specialchar" , function ( h ) { var f , n = h . lang . specialchar , k , l , p , d , e , q ; l = function ( c ) { var b ; c = c . data ? c . data . getTarget ( ) : new CKEDITOR . dom . element ( c ) ; "a" == c . getName ( ) && ( b = c . getChild ( 0 ) . getHtml ( ) ) && ( c . removeClass ( "cke_light_background" ) , f . hide ( ) , c = h . document . createElement ( "span" ) , c . setHtml ( b ) , h . insertText ( c . getText ( ) ) ) } ; p = CKEDITOR . tools . addFunction ( l ) ; e = function ( c , b ) { var a ; b = b || c . data . getTarget ( ) ; "span" == b . getName ( ) && ( b = b . getParent ( ) ) ; if ( "a" == b . getName ( ) && ( a = b . getChild ( 0 ) . getHtml ( ) ) ) { k &&
d ( null , k ) ; var e = f . getContentElement ( "info" , "htmlPreview" ) . getElement ( ) ; f . getContentElement ( "info" , "charPreview" ) . getElement ( ) . setHtml ( a ) ; e . setHtml ( CKEDITOR . tools . htmlEncode ( a ) ) ; b . getParent ( ) . addClass ( "cke_light_background" ) ; k = b } } ; d = function ( c , b ) { b = b || c . data . getTarget ( ) ; "span" == b . getName ( ) && ( b = b . getParent ( ) ) ; "a" == b . getName ( ) && ( f . getContentElement ( "info" , "charPreview" ) . getElement ( ) . setHtml ( "\x26nbsp;" ) , f . getContentElement ( "info" , "htmlPreview" ) . getElement ( ) . setHtml ( "\x26nbsp;" ) , b . getParent ( ) . removeClass ( "cke_light_background" ) ,
k = void 0 ) } ; q = CKEDITOR . tools . addFunction ( function ( c ) { c = new CKEDITOR . dom . event ( c ) ; var b = c . getTarget ( ) , a ; a = c . getKeystroke ( ) ; var r = "rtl" == h . lang . dir ; switch ( a ) { case 38 : if ( a = b . getParent ( ) . getParent ( ) . getPrevious ( ) ) a = a . getChild ( [ b . getParent ( ) . getIndex ( ) , 0 ] ) , a . focus ( ) , d ( null , b ) , e ( null , a ) ; c . preventDefault ( ) ; break ; case 40 : ( a = b . getParent ( ) . getParent ( ) . getNext ( ) ) && ( a = a . getChild ( [ b . getParent ( ) . getIndex ( ) , 0 ] ) ) && 1 == a . type && ( a . focus ( ) , d ( null , b ) , e ( null , a ) ) ; c . preventDefault ( ) ; break ; case 32 : l ( { data : c } ) ; c . preventDefault ( ) ;
break ; case r ? 37 : 39 : if ( a = b . getParent ( ) . getNext ( ) ) a = a . getChild ( 0 ) , 1 == a . type ? ( a . focus ( ) , d ( null , b ) , e ( null , a ) , c . preventDefault ( ! 0 ) ) : d ( null , b ) ; else if ( a = b . getParent ( ) . getParent ( ) . getNext ( ) ) ( a = a . getChild ( [ 0 , 0 ] ) ) && 1 == a . type ? ( a . focus ( ) , d ( null , b ) , e ( null , a ) , c . preventDefault ( ! 0 ) ) : d ( null , b ) ; break ; case r ? 39 : 37 : ( a = b . getParent ( ) . getPrevious ( ) ) ? ( a = a . getChild ( 0 ) , a . focus ( ) , d ( null , b ) , e ( null , a ) , c . preventDefault ( ! 0 ) ) : ( a = b . getParent ( ) . getParent ( ) . getPrevious ( ) ) ? ( a = a . getLast ( ) . getChild ( 0 ) , a . focus ( ) , d ( null , b ) , e ( null , a ) , c . preventDefault ( ! 0 ) ) :
d ( null , b ) } } ) ; return { title : n . title , minWidth : 430 , minHeight : 280 , buttons : [ CKEDITOR . dialog . cancelButton ] , charColumns : 17 , onLoad : function ( ) { for ( var c = this . definition . charColumns , b = h . config . specialChars , a = CKEDITOR . tools . getNextId ( ) + "_specialchar_table_label" , d = [ '\x3ctable role\x3d"listbox" aria-labelledby\x3d"' + a + '" style\x3d"width: 320px; height: 100%; border-collapse: separate;" align\x3d"center" cellspacing\x3d"2" cellpadding\x3d"2" border\x3d"0"\x3e' ] , e = 0 , f = b . length , g , m ; e < f ; ) { d . push ( '\x3ctr role\x3d"presentation"\x3e' ) ;
for ( var k = 0 ; k < c ; k ++ , e ++ ) if ( g = b [ e ] ) { g instanceof Array ? ( m = g [ 1 ] , g = g [ 0 ] ) : ( m = g . replace ( "\x26" , "" ) . replace ( ";" , "" ) . replace ( "#" , "" ) , m = n [ m ] || g ) ; var l = "cke_specialchar_label_" + e + "_" + CKEDITOR . tools . getNextNumber ( ) ; d . push ( '\x3ctd class\x3d"cke_dark_background" style\x3d"cursor: default" role\x3d"presentation"\x3e\x3ca href\x3d"javascript: void(0);" role\x3d"option" aria-posinset\x3d"' + ( e + 1 ) + '"' , ' aria-setsize\x3d"' + f + '"' , ' aria-labelledby\x3d"' + l + '"' , ' class\x3d"cke_specialchar" title\x3d"' , CKEDITOR . tools . htmlEncode ( m ) ,
'" onkeydown\x3d"CKEDITOR.tools.callFunction( ' + q + ', event, this )" onclick\x3d"CKEDITOR.tools.callFunction(' + p + ', this); return false;" tabindex\x3d"-1"\x3e\x3cspan style\x3d"margin: 0 auto;cursor: inherit"\x3e' + g + '\x3c/span\x3e\x3cspan class\x3d"cke_voice_label" id\x3d"' + l + '"\x3e' + m + "\x3c/span\x3e\x3c/a\x3e\x3c/td\x3e" ) } d . push ( "\x3c/tr\x3e" ) } d . push ( "\x3c/tbody\x3e\x3c/table\x3e" , '\x3cspan id\x3d"' + a + '" class\x3d"cke_voice_label"\x3e' + n . options + "\x3c/span\x3e" ) ; this . getContentElement ( "info" , "charContainer" ) . getElement ( ) . setHtml ( d . join ( "" ) ) } ,
contents : [ { id : "info" , label : h . lang . common . generalTab , title : h . lang . common . generalTab , padding : 0 , align : "top" , elements : [ { type : "hbox" , align : "top" , widths : [ "320px" , "90px" ] , children : [ { type : "html" , id : "charContainer" , html : "" , onMouseover : e , onMouseout : d , focus : function ( ) { var c = this . getElement ( ) . getElementsByTag ( "a" ) . getItem ( 0 ) ; setTimeout ( function ( ) { c . focus ( ) ; e ( null , c ) } , 0 ) } , onShow : function ( ) { var c = this . getElement ( ) . getChild ( [ 0 , 0 , 0 , 0 , 0 ] ) ; setTimeout ( function ( ) { c . focus ( ) ; e ( null , c ) } , 0 ) } , onLoad : function ( c ) { f = c . sender } } ,
{ type : "hbox" , align : "top" , widths : [ "100%" ] , children : [ { type : "vbox" , align : "top" , children : [ { type : "html" , html : "\x3cdiv\x3e\x3c/div\x3e" } , { type : "html" , id : "charPreview" , className : "cke_dark_background" , style : "border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;" , html : "\x3cdiv\x3e\x26nbsp;\x3c/div\x3e" } , { type : "html" , id : "htmlPreview" , className : "cke_dark_background" , style : "border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;" ,
html : "\x3cdiv\x3e\x26nbsp;\x3c/div\x3e" } ] } ] } ] } ] } ] } } ) ;