function build() {
	    Dom.hide(this.el);

	    this.errorHandler = new ErrorHandler(this.outer, this.mediator, this.options.errorsContainer);
	    this.store = new EditorStore(this.el.value, this.mediator);

	    this.blockManager = new BlockManager(this);
	    this.blockAddition = BlockAddition.create(this);
	    this.BlockAdditionTop = BlockAdditionTop.create(this);
	    this.blockControls = BlockControls.create(this);

	    this.formatBar = new FormatBar(this.options.formatBar, this.mediator, this);

	    this.mediator.on('block:changePosition', this.changeBlockPosition);
	    this.mediator.on('block:limitReached', this.blockLimitReached);

	    // Apply specific classes when block order is updated
	    this.mediator.on('block:rerender', this.blockOrderUpdated);
	    this.mediator.on('block:create', this.blockOrderUpdated);
	    this.mediator.on('block:remove', this.blockOrderUpdated);
	    this.mediator.on('block:replace', this.blockOrderUpdated);

	    this.dataStore = "Please use store.retrieve();";

	    this._setEvents();

	    // External event listeners
	    window.addEventListener('click', this.hideAllTheThings);
	    document.body.addEventListener('keydown', this.disableBackButton);

	    this.createBlocks();
	    this.wrapper.classList.add('st-ready');

	    if (!_.isUndefined(this.onEditorRender)) {
	      this.onEditorRender();
	    }
	  }
/*
	   * Build the Editor instance.
	   * Check to see if we've been passed JSON already, and if not try and
	   * create a default block.
	   * If we have JSON then we need to build all of our blocks from this.
	   */
Build the Editor instance.
Check to see if we've been passed JSON already, and if not try and
create a default block.
If we have JSON then we need to build all of our blocks from this.
Build the Editor instance . Check to see if we ' ve been passed JSON already and if not try and create a default block . If we have JSON then we need to build all of our blocks from this .
function build() {
	    Dom.hide(this.el);
	    this.errorHandler = new ErrorHandler(this.outer, this.mediator, this.options.errorsContainer);
	    this.store = new EditorStore(this.el.value, this.mediator);
	    this.blockManager = new BlockManager(this);
	    this.blockAddition = BlockAddition.create(this);
	    this.BlockAdditionTop = BlockAdditionTop.create(this);
	    this.blockControls = BlockControls.create(this);
	    this.formatBar = new FormatBar(this.options.formatBar, this.mediator, this);
	    this.mediator.on('block:changePosition', this.changeBlockPosition);
	    this.mediator.on('block:limitReached', this.blockLimitReached);
	    this.mediator.on('block:rerender', this.blockOrderUpdated);
	    this.mediator.on('block:create', this.blockOrderUpdated);
	    this.mediator.on('block:remove', this.blockOrderUpdated);
	    this.mediator.on('block:replace', this.blockOrderUpdated);
	    this.dataStore = "Please use store.retrieve();";
	    this._setEvents();
	    window.addEventListener('click', this.hideAllTheThings);
	    document.body.addEventListener('keydown', this.disableBackButton);
	    this.createBlocks();
	    this.wrapper.classList.add('st-ready');
	    if (!_.isUndefined(this.onEditorRender)) {
	      this.onEditorRender();
	    }
	  }
function build ( ) { Dom . hide ( this . el ) ; this . errorHandler = new ErrorHandler ( this . outer , this . mediator , this . options . errorsContainer ) ; this . store = new EditorStore ( this . el . value , this . mediator ) ; this . blockManager = new BlockManager ( this ) ; this . blockAddition = BlockAddition . create ( this ) ; this . BlockAdditionTop = BlockAdditionTop . create ( this ) ; this . blockControls = BlockControls . create ( this ) ; this . formatBar = new FormatBar ( this . options . formatBar , this . mediator , this ) ; this . mediator . on ( 'block:changePosition' , this . changeBlockPosition ) ; this . mediator . on ( 'block:limitReached' , this . blockLimitReached ) ; this . mediator . on ( 'block:rerender' , this . blockOrderUpdated ) ; this . mediator . on ( 'block:create' , this . blockOrderUpdated ) ; this . mediator . on ( 'block:remove' , this . blockOrderUpdated ) ; this . mediator . on ( 'block:replace' , this . blockOrderUpdated ) ; this . dataStore = "Please use store.retrieve();" ; this . _setEvents ( ) ; window . addEventListener ( 'click' , this . hideAllTheThings ) ; document . body . addEventListener ( 'keydown' , this . disableBackButton ) ; this . createBlocks ( ) ; this . wrapper . classList . add ( 'st-ready' ) ; if ( ! _ . isUndefined ( this . onEditorRender ) ) { this . onEditorRender ( ) ; } }
Build the Editor instance.
Build the Editor instance .
// Apply specific classes when block order is updated // External event listeners