Admin\Form\Topics\FilterDefinition::define PHP Method

define() public method

Define the form fields.
public define ( Windwalker\Form\Form $form ) : void
$form Windwalker\Form\Form The Windwalker form object.
return void
    public function define(Form $form)
    {
        /*
         * Search Control
         * -------------------------------------------------
         * Add search fields as options, by default, model will search all columns.
         * If you hop that user can choose a field to search, change "display" to true.
         */
        $form->wrap(null, 'search', function (Form $form) {
            // Search Field
            $form->add('field', new ListField())->label(Translator::translate('phoenix.grid.search.field.label'))->set('display', false)->defaultValue('*')->addOption(new Option(Translator::translate('phoenix.core.all'), '*'))->addOption(new Option(Translator::translate('admin.topic.field.title'), 'topic.title'))->addOption(new Option(Translator::translate('admin.topic.field.alias'), 'topic.alias'));
            // Search Content
            $form->add('content', new TextField())->label(Translator::translate('phoenix.grid.search.label'))->set('placeholder', Translator::translate('phoenix.grid.search.label'));
        });
        /*
         * Filter Control
         * -------------------------------------------------
         * Add filter fields to this section.
         * Remember to add onchange event => this.form.submit(); or Phoenix.post();
         *
         * You can override filter actions in TopicsModel::configureFilters()
         */
        $form->wrap(null, 'filter', function (Form $form) {
            // State
            $form->add('topic.state', new ListField())->label('State')->addOption(new Option('', ''))->addOption(new Option(Translator::translate('admin.topic.filter.state.select'), ''))->addOption(new Option(Translator::translate('phoenix.grid.state.published'), '1'))->addOption(new Option(Translator::translate('phoenix.grid.state.unpublished'), '0'))->set('onchange', 'this.form.submit()');
        });
    }
FilterDefinition