public function testDefaultView() { $filter = new FilterControl('some_field', FilterOperation::OPERATOR_GTE, new InputOption('fld', [], 5)); self::assertTrue(!empty($filter->render())); $operation = $filter->getOperation(); self::assertTrue($operation instanceof FilterOperation); self::assertTrue($operation->getField() === 'some_field'); self::assertTrue($operation->getValue() === 5); self::assertTrue($operation->getOperator() === FilterOperation::OPERATOR_GTE); }
/** * Filtering controls. * * @return string */ public function demo4_1() { $provider = $this->getDataProvider([SortOperation::asc('name')]); $filter1 = new FilterControl('name', FilterOperation::OPERATOR_EQ, new InputOption('name_filter', $_GET)); $filter2 = new FilterControl('role', FilterOperation::OPERATOR_EQ, new InputOption('role_filter', $_GET)); $view = new Container([new DataView('<h1>Users List</h1>'), new Tag('form', [], [$filter1, $filter2, new Tag('button', ['type' => 'submit'], [new DataView('Filter')])]), new CollectionView($provider, [new PersonView()])]); $provider->operations()->add($filter1->getOperation()); $provider->operations()->add($filter2->getOperation()); return $this->page($view, 'Filtering controls'); }