From: Aleksander Ɓukasz Date: Tue, 18 Jun 2013 10:07:51 +0000 (+0200) Subject: Layout informs its views on being shown X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/b7266f76b76a0a67000144d2780a8f64967fafb4?ds=sidebyside;hp=b2cdac312af506bf41ad920ab6071119ab08b9d3 Layout informs its views on being shown --- diff --git a/fnpjs/layout.js b/fnpjs/layout.js index a7c27fe..99b2e58 100644 --- a/fnpjs/layout.js +++ b/fnpjs/layout.js @@ -2,12 +2,25 @@ define(['libs/jquery-1.9.1.min', 'libs/underscore-min'], function($ ,_) { 'use strict'; var Layout = function(template) { + var layout = this; this.dom = $(_.template(template)()); + this.views = {}; + + this.dom.onShow = function() { + _.values(layout.views).forEach(function(view) { + if(view.onShow) + view.onShow(); + }); + }; }; Layout.prototype.setView = function(place, view) { this.dom.find('[fnpjs-place=' + place + ']').append(view); + this.views[place] = view; + if(this.dom.is(':visible') && view.onShow) { + view.onShow(); + } }; Layout.prototype.getAsView = function() {