2013-10-17 17:13:47 +02:00
/ *
2015-02-24 14:41:51 +01:00
Copyright ( c ) 2003 - 2015 , CKSource - Frederico Knabben . All rights reserved .
2013-10-17 17:13:47 +02:00
For licensing , see LICENSE . md or http : //ckeditor.com/license
* /
( function ( a ) { CKEDITOR . config . jqueryOverrideVal = "undefined" == typeof CKEDITOR . config . jqueryOverrideVal ? ! 0 : CKEDITOR . config . jqueryOverrideVal ; "undefined" != typeof a && ( a . extend ( a . fn , { ckeditorGet : function ( ) { var a = this . eq ( 0 ) . data ( "ckeditorInstance" ) ; if ( ! a ) throw "CKEditor is not initialized yet, use ckeditor() with a callback." ; return a } , ckeditor : function ( g , d ) { if ( ! CKEDITOR . env . isCompatible ) throw Error ( "The environment is incompatible." ) ; if ( ! a . isFunction ( g ) ) var k = d , d = g , g = k ; var i = [ ] , d = d || { } ; this . each ( function ( ) { var b =
a ( this ) , c = b . data ( "ckeditorInstance" ) , f = b . data ( "_ckeditorInstanceLock" ) , h = this , j = new a . Deferred ; i . push ( j . promise ( ) ) ; if ( c && ! f ) g && g . apply ( c , [ this ] ) , j . resolve ( ) ; else if ( f ) c . once ( "instanceReady" , function ( ) { setTimeout ( function ( ) { c . element ? ( c . element . $ == h && g && g . apply ( c , [ h ] ) , j . resolve ( ) ) : setTimeout ( arguments . callee , 100 ) } , 0 ) } , null , null , 9999 ) ; else { if ( d . autoUpdateElement || "undefined" == typeof d . autoUpdateElement && CKEDITOR . config . autoUpdateElement ) d . autoUpdateElementJquery = ! 0 ; d . autoUpdateElement = ! 1 ; b . data ( "_ckeditorInstanceLock" ,
! 0 ) ; c = a ( this ) . is ( "textarea" ) ? CKEDITOR . replace ( h , d ) : CKEDITOR . inline ( h , d ) ; b . data ( "ckeditorInstance" , c ) ; c . on ( "instanceReady" , function ( d ) { var e = d . editor ; setTimeout ( function ( ) { if ( e . element ) { d . removeListener ( ) ; e . on ( "dataReady" , function ( ) { b . trigger ( "dataReady.ckeditor" , [ e ] ) } ) ; e . on ( "setData" , function ( a ) { b . trigger ( "setData.ckeditor" , [ e , a . data ] ) } ) ; e . on ( "getData" , function ( a ) { b . trigger ( "getData.ckeditor" , [ e , a . data ] ) } , 999 ) ; e . on ( "destroy" , function ( ) { b . trigger ( "destroy.ckeditor" , [ e ] ) } ) ; e . on ( "save" , function ( ) { a ( h . form ) . submit ( ) ;
return ! 1 } , null , null , 20 ) ; if ( e . config . autoUpdateElementJquery && b . is ( "textarea" ) && a ( h . form ) . length ) { var c = function ( ) { b . ckeditor ( function ( ) { e . updateElement ( ) } ) } ; a ( h . form ) . submit ( c ) ; a ( h . form ) . bind ( "form-pre-serialize" , c ) ; b . bind ( "destroy.ckeditor" , function ( ) { a ( h . form ) . unbind ( "submit" , c ) ; a ( h . form ) . unbind ( "form-pre-serialize" , c ) } ) } e . on ( "destroy" , function ( ) { b . removeData ( "ckeditorInstance" ) } ) ; b . removeData ( "_ckeditorInstanceLock" ) ; b . trigger ( "instanceReady.ckeditor" , [ e ] ) ; g && g . apply ( e , [ h ] ) ; j . resolve ( ) } else setTimeout ( arguments . callee ,
100 ) } , 0 ) } , null , null , 9999 ) } } ) ; var f = new a . Deferred ; this . promise = f . promise ( ) ; a . when . apply ( this , i ) . then ( function ( ) { f . resolve ( ) } ) ; this . editor = this . eq ( 0 ) . data ( "ckeditorInstance" ) ; return this } } ) , CKEDITOR . config . jqueryOverrideVal && ( a . fn . val = CKEDITOR . tools . override ( a . fn . val , function ( g ) { return function ( d ) { if ( arguments . length ) { var k = this , i = [ ] , f = this . each ( function ( ) { var b = a ( this ) , c = b . data ( "ckeditorInstance" ) ; if ( b . is ( "textarea" ) && c ) { var f = new a . Deferred ; c . setData ( d , function ( ) { f . resolve ( ) } ) ; i . push ( f . promise ( ) ) ;
return ! 0 } return g . call ( b , d ) } ) ; if ( i . length ) { var b = new a . Deferred ; a . when . apply ( this , i ) . done ( function ( ) { b . resolveWith ( k ) } ) ; return b . promise ( ) } return f } var f = a ( this ) . eq ( 0 ) , c = f . data ( "ckeditorInstance" ) ; return f . is ( "textarea" ) && c ? c . getData ( ) : g . call ( f ) } } ) ) ) } ) ( window . jQuery ) ;