Quiero crear un enlace a una cuadrícula personalizada en mi administrador con filtros predefinidos. La cuadrícula está hecha con un Componente de listado de UI (XML) y tiene una columna llamada form_id
que se configura así:
<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>
La cuadrícula funciona bien. Puedo aplicar el filtro y todo funciona bien. La cuadrícula se actualiza muy bien con una solicitud XHR.
Sin embargo ... Quiero poder tener un valor de filtro predefinido en algún momento. Por ejemplo, quiero poder abrir la cuadrícula cuando se filtra en ID = 3.
Así que ya intenté cargar la página con los mismos parámetros de URL que la solicitud XHR, y simplemente agregué los únicos parámetros necesarios:
?namespace=form_response_listing&search=&filters[placeholder]=true&filters[form_id][from]=3&filters[form_id][to]=3&paging[pageSize]=20&paging[current]=1
Tanto como:
?filters[form_id][from]=3&filters[form_id][to]=3
Ambos sin éxito. Entonces, ¿cómo puedo rellenar previamente los filtros usando la URL?
Editar:
No estoy seguro de si esto es un duplicado de la otra pregunta (como se menciona en los comentarios a continuación). En mi caso, estoy usando un tipo virtual como colección para mi grilla:
<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>
Entonces, no es que tenga una clase física de Bloque para mi widget de cuadrícula, está puramente creado con un XML de listado de componentes de la interfaz de usuario.
Sin embargo, comprobaré de todos modos si la pregunta mencionada ayudará a mi caso de uso.
prepareColumns
método.