private function getForm()
    {
        $form = $this->formFactory->create();
        $form->setHtmlId('virtual_rule');

        $virtualRuleField    = $form->addField(
            'virtual_rule',
            'text',
            ['name' => 'virtual_rule', 'label' => __('Virtual rule'), 'container_id' => 'virtual_rule']
        );

        $virtualRule = $this->getVirtualRule($this->getCategory());

        $virtualRuleField->setValue($virtualRule);
        $virtualRuleRenderer = $this->getLayout()->createBlock('Smile\ElasticsuiteCatalogRule\Block\Product\Conditions');

        $urlParams = ['category_id' => $this->getCategory()->getId()];

        $virtualRuleRenderer->addData(['url_params' => $urlParams]);
        $virtualRuleField->setRenderer($virtualRuleRenderer);

        return $form;
    }