function (layout) {
        var me = this,
            ownerContext = me.getCmp(layout.owner);

        layout.pending = false;

        if (ownerContext.state.blocks) {
            return;
        }

        // We start with the assumption that the layout will finish and if it does not, it
        // must clear this flag. It turns out this is much simpler than knowing when a layout
        // is done (100% correctly) when base classes and derived classes are collaborating.
        // Knowing that some part of the layout is not done is much more obvious.
        layout.done = true;

        ++layout.calcCount;
        ++me.calcCount;

        layout.calculate(ownerContext);

        if (layout.done) {
            me.layoutDone(layout);

            if (layout.completeLayout) {
                me.queueCompletion(layout);
            }
            if (layout.finalizeLayout) {
                me.queueFinalize(layout);
            }
        } else if (!layout.pending && !layout.invalid && !(layout.blockCount + layout.triggerCount - layout.firedTriggers)) {
            // A layout that is not done and has no blocks or triggers that will queue it
            // automatically, must be queued now:
            me.queueLayout(layout);
        }
    }
function (layout) {
        var me = this,
            ownerContext = me.getCmp(layout.owner);

        layout.pending = false;

        if (ownerContext.state.blocks) {
            return;
        }

        
        
        
        
        layout.done = true;

        ++layout.calcCount;
        ++me.calcCount;

        layout.calculate(ownerContext);

        if (layout.done) {
            me.layoutDone(layout);

            if (layout.completeLayout) {
                me.queueCompletion(layout);
            }
            if (layout.finalizeLayout) {
                me.queueFinalize(layout);
            }
        } else if (!layout.pending && !layout.invalid && !(layout.blockCount + layout.triggerCount - layout.firedTriggers)) {
            
            
            me.queueLayout(layout);
        }
    }
function ( layout ) { var me = this , ownerContext = me . getCmp ( layout . owner ) ; layout . pending = false ; if ( ownerContext . state . blocks ) { return ; } // We start with the assumption that the layout will finish and if it does not, it // must clear this flag. It turns out this is much simpler than knowing when a layout // is done (100% correctly) when base classes and derived classes are collaborating. // Knowing that some part of the layout is not done is much more obvious. layout . done = true ; ++ layout . calcCount ; ++ me . calcCount ; layout . calculate ( ownerContext ) ; if ( layout . done ) { me . layoutDone ( layout ) ; if ( layout . completeLayout ) { me . queueCompletion ( layout ) ; } if ( layout . finalizeLayout ) { me . queueFinalize ( layout ) ; } } else if ( ! layout . pending && ! layout . invalid && ! ( layout . blockCount + layout . triggerCount - layout . firedTriggers ) ) { // A layout that is not done and has no blocks or triggers that will queue it // automatically, must be queued now: me . queueLayout ( layout ) ; } }
Runs one layout as part of a cycle.
@private
Runs one layout as part of a cycle .