2023-04-08 15:14:19 +00:00
"function" != typeof Object . create && function ( ) { var a = function ( ) { } ; Object . create = function ( b ) { if ( 1 < arguments . length ) throw Error ( "Second argument not supported" ) ; if ( null == b ) throw Error ( "Cannot set a null [[Prototype]]" ) ; if ( "object" != typeof b ) throw TypeError ( "Argument must be an object" ) ; a . prototype = b ; return new a } } ( ) ;
2022-12-19 20:22:19 +00:00
CKEDITOR . plugins . add ( "toolbarconfiguratorarea" , { afterInit : function ( a ) { a . addMode ( "wysiwyg" , function ( b ) { var c = CKEDITOR . dom . element . createFromHtml ( '\x3cdiv class\x3d"cke_wysiwyg_div cke_reset" hidefocus\x3d"true"\x3e\x3c/div\x3e' ) ; a . ui . space ( "contents" ) . append ( c ) ; c = a . editable ( c ) ; c . detach = CKEDITOR . tools . override ( c . detach , function ( b ) { return function ( ) { b . apply ( this , arguments ) ; this . remove ( ) } } ) ; a . setData ( a . getData ( 1 ) , b ) ; a . fire ( "contentDom" ) } ) ; a . dataProcessor . toHtml = function ( b ) { return b } ; a . dataProcessor . toDataFormat =
2023-04-08 15:14:19 +00:00
function ( b ) { return b } } } ) ; Object . keys || ( Object . keys = function ( ) { var a = Object . prototype . hasOwnProperty , b = ! { toString : null } . propertyIsEnumerable ( "toString" ) , c = "toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor" . split ( " " ) , e = c . length ; return function ( d ) { if ( "object" != typeof d && ( "function" != typeof d || null == d ) ) throw new TypeError ( "Object.keys called on non-object" ) ; var g = [ ] , f ; for ( f in d ) a . call ( d , f ) && g . push ( f ) ; if ( b ) for ( f = 0 ; f < e ; f ++ ) a . call ( d , c [ f ] ) && g . push ( c [ f ] ) ; return g } } ( ) ) ;
( function ( ) { function a ( b , c ) { this . cfg = c || { } ; this . hidden = ! 1 ; this . editorId = b ; this . fullToolbarEditor = new ToolbarConfigurator . FullToolbarEditor ; this . actualConfig = this . originalConfig = this . mainContainer = null ; this . isEditableVisible = this . waitForReady = ! 1 ; this . toolbarContainer = null ; this . toolbarButtons = [ ] } ToolbarConfigurator . AbstractToolbarModifier = a ; a . prototype . setConfig = function ( b ) { this . _onInit ( void 0 , b , ! 0 ) } ; a . prototype . init = function ( b ) { var c = this ; this . mainContainer = new CKEDITOR . dom . element ( "div" ) ; if ( null !=
2022-12-19 20:22:19 +00:00
this . fullToolbarEditor . editorInstance ) throw "Only one instance of ToolbarModifier is allowed" ; this . editorInstance || this . _createEditor ( ! 1 ) ; this . editorInstance . once ( "loaded" , function ( ) { c . fullToolbarEditor . init ( function ( ) { c . _onInit ( b ) ; if ( "function" == typeof c . onRefresh ) c . onRefresh ( ) } , c . editorInstance . config ) } ) ; return this . mainContainer } ; a . prototype . _onInit = function ( b , c ) { this . originalConfig = this . editorInstance . config ; this . actualConfig = c ? JSON . parse ( c ) : JSON . parse ( JSON . stringify ( this . originalConfig ) ) ; if ( ! this . actualConfig . toolbarGroups &&
2023-04-08 15:14:19 +00:00
! this . actualConfig . toolbar ) { for ( var a = this . actualConfig , d = this . editorInstance . toolbar , g = [ ] , f = d . length , k = 0 ; k < f ; k ++ ) { var h = d [ k ] ; "string" == typeof h ? g . push ( h ) : g . push ( { name : h . name , groups : h . groups ? h . groups . slice ( ) : [ ] } ) } a . toolbarGroups = g } "function" == typeof b && b ( this . mainContainer ) } ; a . prototype . _createModifier = function ( ) { this . mainContainer . addClass ( "unselectable" ) ; this . modifyContainer && this . modifyContainer . remove ( ) ; this . modifyContainer = new CKEDITOR . dom . element ( "div" ) ; this . modifyContainer . addClass ( "toolbarModifier" ) ;
2022-12-19 20:22:19 +00:00
this . mainContainer . append ( this . modifyContainer ) ; return this . mainContainer } ; a . prototype . getEditableArea = function ( ) { return this . editorInstance . container . findOne ( "#" + this . editorInstance . id + "_contents" ) } ; a . prototype . _hideEditable = function ( ) { var b = this . getEditableArea ( ) ; this . isEditableVisible = ! 1 ; this . lastEditableAreaHeight = b . getStyle ( "height" ) ; b . setStyle ( "height" , "0" ) } ; a . prototype . _showEditable = function ( ) { this . isEditableVisible = ! 0 ; this . getEditableArea ( ) . setStyle ( "height" , this . lastEditableAreaHeight || "auto" ) } ;
a . prototype . _toggleEditable = function ( ) { this . isEditableVisible ? this . _hideEditable ( ) : this . _showEditable ( ) } ; a . prototype . _refreshEditor = function ( ) { function b ( ) { c . editorInstance . destroy ( ) ; c . _createEditor ( ! 0 , c . getActualConfig ( ) ) ; c . waitForReady = ! 1 } var c = this , a = this . editorInstance . status ; this . waitForReady || ( "unloaded" == a || "loaded" == a ? ( this . waitForReady = ! 0 , this . editorInstance . once ( "instanceReady" , function ( ) { b ( ) } , this ) ) : b ( ) ) } ; a . prototype . _createEditor = function ( b , c ) { function e ( ) { } var d = this ; this . editorInstance =
CKEDITOR . replace ( this . editorId ) ; this . editorInstance . on ( "configLoaded" , function ( ) { var b = d . editorInstance . config ; c && CKEDITOR . tools . extend ( b , c , ! 0 ) ; a . extendPluginsConfig ( b ) } ) ; this . editorInstance . on ( "uiSpace" , function ( b ) { "top" != b . data . space && b . stop ( ) } , null , null , - 999 ) ; this . editorInstance . once ( "loaded" , function ( ) { var c = d . editorInstance . ui . instances , a ; for ( a in c ) c [ a ] && ( c [ a ] . click = e , c [ a ] . onClick = e ) ; d . isEditableVisible || d . _hideEditable ( ) ; d . currentActive && d . currentActive . name && d . _highlightGroup ( d . currentActive . name ) ;
2023-04-08 15:14:19 +00:00
d . hidden ? d . hideUI ( ) : d . showUI ( ) ; if ( b && "function" == typeof d . onRefresh ) d . onRefresh ( ) } ) } ; a . prototype . getActualConfig = function ( ) { return JSON . parse ( JSON . stringify ( this . actualConfig ) ) } ; a . prototype . _createToolbar = function ( ) { if ( this . toolbarButtons . length ) { this . toolbarContainer = new CKEDITOR . dom . element ( "div" ) ; this . toolbarContainer . addClass ( "toolbar" ) ; for ( var b = this . toolbarButtons . length , c = 0 ; c < b ; c += 1 ) this . _createToolbarBtn ( this . toolbarButtons [ c ] ) } } ; a . prototype . _createToolbarBtn = function ( b ) { var c = ToolbarConfigurator . FullToolbarEditor . createButton ( "string" ==
2022-12-19 20:22:19 +00:00
typeof b . text ? b . text : b . text . inactive , b . cssClass ) ; this . toolbarContainer . append ( c ) ; c . data ( "group" , b . group ) ; c . addClass ( b . position ) ; c . on ( "click" , function ( ) { b . clickCallback . call ( this , c , b ) } , this ) ; return c } ; a . prototype . _fixGroups = function ( b ) { b = b . toolbarGroups || [ ] ; for ( var c = b . length , a = 0 ; a < c ; a += 1 ) { var d = b [ a ] ; "/" == d ? ( d = b [ a ] = { } , d . type = "separator" , d . name = "separator" + CKEDITOR . tools . getNextNumber ( ) ) : ( d . groups = d . groups || [ ] , - 1 == CKEDITOR . tools . indexOf ( d . groups , d . name ) && ( this . editorInstance . ui . addToolbarGroup ( d . name ,
d . groups [ d . groups . length - 1 ] , d . name ) , d . groups . push ( d . name ) ) , this . _fixSubgroups ( d ) ) } } ; a . prototype . _fixSubgroups = function ( b ) { b = b . groups ; for ( var c = b . length , a = 0 ; a < c ; a += 1 ) { var d = b [ a ] ; b [ a ] = { name : d , totalBtns : ToolbarConfigurator . ToolbarModifier . getTotalSubGroupButtonsNumber ( d , this . fullToolbarEditor ) } } } ; a . stringifyJSONintoOneLine = function ( b , a ) { a = a || { } ; var e = JSON . stringify ( b , null , "" ) , e = e . replace ( /\n/g , "" ) ; a . addSpaces && ( e = e . replace ( /(\{|:|,|\[|\])/g , function ( a ) { return a + " " } ) , e = e . replace ( /(\])/g , function ( a ) { return " " +
a } ) ) ; a . noQuotesOnKey && ( e = e . replace ( /"(\w*)":/g , function ( a , b ) { return b + ":" } ) ) ; a . singleQuotes && ( e = e . replace ( /\"/g , "'" ) ) ; return e } ; a . prototype . hideUI = function ( ) { this . hidden = ! 0 ; this . mainContainer . hide ( ) ; this . editorInstance . container && this . editorInstance . container . hide ( ) } ; a . prototype . showUI = function ( ) { this . hidden = ! 1 ; this . mainContainer . show ( ) ; this . editorInstance . container && this . editorInstance . container . show ( ) } ; a . extendPluginsConfig = function ( a ) { var c = a . extraPlugins ; a . extraPlugins = ( c ? c + "," : "" ) + "toolbarconfiguratorarea" } } ) ( ) ;