src/js/LayoutManager.js
function() {

		/**
		 * Create the popout windows straight away. If popouts are blocked
		 * an error is thrown on the same 'thread' rather than a timeout and can
		 * be caught. This also prevents any further initilisation from taking place.
		 */
		if( this._subWindowsCreated === false ) {
			this._createSubWindows();
			this._subWindowsCreated = true;
		}


		/**
		 * If the document isn't ready yet, wait for it.
		 */
		if( document.readyState === 'loading' || document.body === null ) {
			$( document ).ready( lm.utils.fnBind( this.init, this ) );
			return;
		}

		/**
		 * If this is a subwindow, wait a few milliseconds for the original
		 * page's js calls to be executed, then replace the bodies content
		 * with GoldenLayout
		 */
		if( this.isSubWindow === true && this._creationTimeoutPassed === false ) {
			setTimeout( lm.utils.fnBind( this.init, this ), 7 );
			this._creationTimeoutPassed = true;
			return;
		}

		if( this.isSubWindow === true ) {
			this._adjustToWindowMode();
		}

		this._setContainer();
		this.dropTargetIndicator = new lm.controls.DropTargetIndicator( this.container );
		this.transitionIndicator = new lm.controls.TransitionIndicator();
		this.updateSize();
		this._create( this.config );
		this._bindEvents();
		this.isInitialised = true;
		this._adjustColumnsResponsive();
		this.emit( 'initialised' );
	}
function() {

		/**
		 * Create the popout windows straight away. If popouts are blocked
		 * an error is thrown on the same 'thread' rather than a timeout and can
		 * be caught. This also prevents any further initilisation from taking place.
		 */
		if( this._subWindowsCreated === false ) {
			this._createSubWindows();
			this._subWindowsCreated = true;
		}


		/**
		 * If the document isn't ready yet, wait for it.
		 */
		if( document.readyState === 'loading' || document.body === null ) {
			$( document ).ready( lm.utils.fnBind( this.init, this ) );
			return;
		}

		/**
		 * If this is a subwindow, wait a few milliseconds for the original
		 * page's js calls to be executed, then replace the bodies content
		 * with GoldenLayout
		 */
		if( this.isSubWindow === true && this._creationTimeoutPassed === false ) {
			setTimeout( lm.utils.fnBind( this.init, this ), 7 );
			this._creationTimeoutPassed = true;
			return;
		}

		if( this.isSubWindow === true ) {
			this._adjustToWindowMode();
		}

		this._setContainer();
		this.dropTargetIndicator = new lm.controls.DropTargetIndicator( this.container );
		this.transitionIndicator = new lm.controls.TransitionIndicator();
		this.updateSize();
		this._create( this.config );
		this._bindEvents();
		this.isInitialised = true;
		this._adjustColumnsResponsive();
		this.emit( 'initialised' );
	}
function ( ) { /**
		 * Create the popout windows straight away. If popouts are blocked
		 * an error is thrown on the same 'thread' rather than a timeout and can
		 * be caught. This also prevents any further initilisation from taking place.
		 */ if ( this . _subWindowsCreated === false ) { this . _createSubWindows ( ) ; this . _subWindowsCreated = true ; } /**
		 * If the document isn't ready yet, wait for it.
		 */ if ( document . readyState === 'loading' || document . body === null ) { $ ( document ) . ready ( lm . utils . fnBind ( this . init , this ) ) ; return ; } /**
		 * If this is a subwindow, wait a few milliseconds for the original
		 * page's js calls to be executed, then replace the bodies content
		 * with GoldenLayout
		 */ if ( this . isSubWindow === true && this . _creationTimeoutPassed === false ) { setTimeout ( lm . utils . fnBind ( this . init , this ) , 7 ) ; this . _creationTimeoutPassed = true ; return ; } if ( this . isSubWindow === true ) { this . _adjustToWindowMode ( ) ; } this . _setContainer ( ) ; this . dropTargetIndicator = new lm . controls . DropTargetIndicator ( this . container ) ; this . transitionIndicator = new lm . controls . TransitionIndicator ( ) ; this . updateSize ( ) ; this . _create ( this . config ) ; this . _bindEvents ( ) ; this . isInitialised = true ; this . _adjustColumnsResponsive ( ) ; this . emit ( 'initialised' ) ; }
Creates the actual layout. Must be called after all initial components
are registered. Recurses through the configuration and sets up
the item tree.

If called before the document is ready it adds itself as a listener
to the document.ready event

@public

@returns {void}
Creates the actual layout . Must be called after all initial components are registered . Recurses through the configuration and sets up the item tree .