protected function makeComponentBlueprint()
    {
        $blueprint = new Blueprint(self::COMPONENT_CLASS, [

            new CustomInstruction(function (Scaffold $s) {
                if ($s->input instanceof Closure) {
                    $s->class = 'Nayjest\Grids\Components\RenderFunc';
                    $s->constructor_arguments = [$s->input];
                    $s->input = [];
                } elseif (is_string($s->input)) {
                    $s->class = 'Nayjest\Grids\Components\RenderFunc';
                    $out = $s->input;
                    $s->constructor_arguments = [function () use ($out) {
                        return $out;
                    }];
                    $s->input = [];
                }
            }, Instruction::PHASE_PRE_INST),
            new CustomMapping('type', function ($type, Scaffold $s) {
                if (strpos($type, '\\') !== false) {
                    $s->class = $type;
                } else {
                    $s->class = 'Nayjest\Grids\Components\\' . str_replace(
                            ' ',
                            '',
                            ucwords(str_replace(array('-', '_'), ' ', $type))
                        );
                }
            }, null, Instruction::PHASE_PRE_INST)
        ]);
        $blueprint->add(new BuildChildren('components', $blueprint));

        $blueprint->add(new Rename('component', 'add_component'));
        $blueprint->add(new Build('add_component', $blueprint));
        $blueprint->add(new CallMethodWith('add_component','addComponent'));

        return $blueprint;
    }
protected function makeComponentBlueprint()
    {
        $blueprint = new Blueprint(self::COMPONENT_CLASS, [

            new CustomInstruction(function (Scaffold $s) {
                if ($s->input instanceof Closure) {
                    $s->class = 'Nayjest\Grids\Components\RenderFunc';
                    $s->constructor_arguments = [$s->input];
                    $s->input = [];
                } elseif (is_string($s->input)) {
                    $s->class = 'Nayjest\Grids\Components\RenderFunc';
                    $out = $s->input;
                    $s->constructor_arguments = [function () use ($out) {
                        return $out;
                    }];
                    $s->input = [];
                }
            }, Instruction::PHASE_PRE_INST),
            new CustomMapping('type', function ($type, Scaffold $s) {
                if (strpos($type, '\\') !== false) {
                    $s->class = $type;
                } else {
                    $s->class = 'Nayjest\Grids\Components\\' . str_replace(
                            ' ',
                            '',
                            ucwords(str_replace(array('-', '_'), ' ', $type))
                        );
                }
            }, null, Instruction::PHASE_PRE_INST)
        ]);
        $blueprint->add(new BuildChildren('components', $blueprint));

        $blueprint->add(new Rename('component', 'add_component'));
        $blueprint->add(new Build('add_component', $blueprint));
        $blueprint->add(new CallMethodWith('add_component','addComponent'));

        return $blueprint;
    }
protected function makeComponentBlueprint ( ) { $ blueprint = new Blueprint ( self :: COMPONENT_CLASS , [ new CustomInstruction ( function ( Scaffold $ s ) { if ( $ s -> input instanceof Closure ) { $ s -> class = 'Nayjest\Grids\Components\RenderFunc' ; $ s -> constructor_arguments = [ $ s -> input ] ; $ s -> input = [ ] ; } elseif ( is_string ( $ s -> input ) ) { $ s -> class = 'Nayjest\Grids\Components\RenderFunc' ; $ out = $ s -> input ; $ s -> constructor_arguments = [ function ( ) use ( $ out ) { return $ out ; } ] ; $ s -> input = [ ] ; } } , Instruction :: PHASE_PRE_INST ) , new CustomMapping ( 'type' , function ( $ type , Scaffold $ s ) { if ( strpos ( $ type , '\\' ) !== false ) { $ s -> class = $ type ; } else { $ s -> class = 'Nayjest\Grids\Components\\' . str_replace ( ' ' , '' , ucwords ( str_replace ( array ( '-' , '_' ) , ' ' , $ type ) ) ) ; } } , null , Instruction :: PHASE_PRE_INST ) ] ) ; $ blueprint -> add ( new BuildChildren ( 'components' , $ blueprint ) ) ; $ blueprint -> add ( new Rename ( 'component' , 'add_component' ) ) ; $ blueprint -> add ( new Build ( 'add_component' , $ blueprint ) ) ; $ blueprint -> add ( new CallMethodWith ( 'add_component' , 'addComponent' ) ) ; return $ blueprint ; }
Creates blueprint for grid components.

@return Blueprint
Creates blueprint for grid components .