/** * Creates blueprint for grid columns. * * @return Blueprint */ protected function makeFieldBlueprint() { $filter_blueprint = $this->blueprints->getFor(self::FILTER_CLASS); if (!$filter_blueprint) { throw new LogicException('Blueprint for grid filters must be created before grid columns blueprint.'); } return new Blueprint(self::COLUMN_CLASS, [new SimpleValueAsField('name'), new Rename(0, 'name'), new BuildChildren('filters', $filter_blueprint), new Rename('filter', 'add_filter'), new Build('add_filter', $filter_blueprint), new CallMethodWith('add_filter', 'addFilter')]); }
/** * @depends testInstantiate * @param BlueprintsCollection $c * @return mixed */ public function testGetFor(BlueprintsCollection $c) { $a = 'Nayjest\\Builder\\Test\\Mock\\A'; $b = 'Nayjest\\Builder\\Test\\Mock\\B'; $res = $c->getFor($a, true); $this->assertEquals($res->class, $a); $res = $c->getFor($a, false); $this->assertEquals($res->class, $a); $res = $c->getFor($b, true); $this->assertEquals($res, null); $res = $c->getFor($b, false); $this->assertEquals($res->class, $a); $c->add(new Blueprint($b)); $res = $c->getFor($b, true); $this->assertEquals($res->class, $b); $res = $c->getFor($b, false); $this->assertEquals($res->class, $b); $res = $c->getFor('NotExistant', false); $this->assertEquals($res, null); $res = $c->getFor('NotExistant', true); $this->assertEquals($res, null); $c->add(new Blueprint('NotExistant')); $res = $c->getFor('NotExistant', false); $this->assertEquals($res->class, 'NotExistant'); $res = $c->getFor('NotExistant', true); $this->assertEquals($res->class, 'NotExistant'); return $c; }