Quero criar um link para uma grade personalizada no meu administrador com filtros predefinidos. A grade é feita com um XML (Componente de listagem da interface do usuário) e possui uma coluna chamada form_id
que é configurada da seguinte maneira:
<column name="form_id">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">textRange</item>
<item name="label" xsi:type="string" translate="true">Form id</item>
</item>
</argument>
</column>
A grade funciona muito bem. Eu posso aplicar o filtro e tudo funciona bem. A grade é bem atualizada com uma solicitação XHR.
No entanto ... eu quero poder ter um valor de filtros predefinido em algum momento. Por exemplo, quero poder abrir a grade quando estiver filtrada no ID = 3.
Então, eu já tentei carregar a página com os mesmos parâmetros de URL que a solicitação XHR, além de simplesmente adicionar os únicos parâmetros necessários:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
Assim como:
?filters[form_id][from]=3&filters[form_id][to]=3
Ambos sem sucesso. Então, como posso preencher previamente os filtros usando o URL?
Editar:
Não tenho certeza se essa é uma duplicata da outra pergunta (conforme mencionado nos comentários abaixo). No meu caso, estou usando um tipo virtual como coleção para minha grade:
<virtualType name="Vendor\Module\Model\ResourceModel\Response\Grid\Collection"
type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">vendormodule_form_response</argument>
<argument name="resourceModel" xsi:type="string">Vendor\Module\Model\ResourceModel\Response</argument>
</arguments>
</virtualType>
Portanto, não é que eu tenha uma classe Block física para o meu widget de grade, ela foi criada puramente com um XML da lista de Componentes da UI.
No entanto, vou verificar de qualquer maneira se a pergunta referida ajudará meu caso de uso.
prepareColumns
método.