define("compUtils/core/mobxObserverWrapper",["lodash","react","mobx-react","coreUtils"],function(a,b,c,d){"use strict";function e(a){g(a,a.compBehaviors)}function f(a){g(a,[])}function g(b,c){var d=a.get(b,"structure.id");if(!d){return}b.registerBehaviors(d,b.rootId,c);b.setBehaviorsForActions(b.convertBehaviors(c,d),b.rootId,d)}function h(a){if(a.registerReLayoutPending){a.registerReLayoutPending(a.id)}}function i(){if(this.props.reLayoutIfPending){this.callAfterRenderDone(this.props.reLayoutIfPending)}}function j(b){var c=b?b.get():null;return a.omitBy(c,function(b,c){return a.isNil(b)||a.isUndefined(b)||c==="compBehaviors"&&a.isEmpty(b)})}function k(b){var c=j(b.computedProps);var d=a.assign({ref:"component"},a.omit(b,["computedProps","getObservableUpdateIndex","getLastFullRenderUpdateIndex"]));if(c&&b.getObservableUpdateIndex&&b.getLastFullRenderUpdateIndex&&b.getObservableUpdateIndex()>=b.getLastFullRenderUpdateIndex()){a.assign(d,c)}return d}return function(a,g){return c.observer(b.createClass({displayName:"mobxObserverWrapper-"+a,mixins:[d.renderDoneMixin],render:function(){var a=k(this.props);return b.createElement(g,a)},componentWillMount:function(){var a=k(this.props);e(a);h(a)},componentWillUpdate:function(a){var b=k(a);e(b);h(b)},componentWillUnmount:function(){var a=k(this.props);f(a)},componentDidMount:i,componentDidUpdate:i}))}});define("compUtils/core/compFactory",["react","lodash","loggingUtils","compUtils/core/mobxObserverWrapper"],function(a,b,c,d){"use strict";var e={};var f={};var g={};var h={};var i={};function j(j){var k=g[j];if(!k){var l=b.get(e,[j,"def"]);if(!l){c.log.error("Component not implemented: ["+j+"]");return undefined}var m=a.createClass({mixins:f[j].concat([l])});i[j]=m;k=a.createFactory(m);h[j]=k;if(b.get(e,[j,"isAPIComp"])){var n=d(j,m);g[j]=a.createFactory(n)}else{g[j]=k}}}return{getCompClass:function(a,b){j(a);if(b){return h[a]}return g[a]},getCompReactClass:function(a){this.getCompClass(a);return i[a]},invalidate:function(a){delete g[a]},extend:function(a,d){if(!e.hasOwnProperty(a)){c.log.error("Trying to extend component ["+a+"] but the component is not defined");return}f[a]=b.union(f[a].concat(d))},register:function(a,b,c){e[a]={def:b,isAPIComp:c};f[a]=[];return this},keys:function(){return b.keys(e)}}});define("compUtils",["compUtils/core/compFactory"],function(a){"use strict";return{compFactory:a}});