@acvl/frontend-components 0.0.90 → 0.0.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2246,6 +2246,11 @@ interface FieldProps {
2246
2246
  * (`renderEditCellWithErrorTooltip` con `mutationErrors`); la ficha, sobre el campo. La columna
2247
2247
  * `codigo` del listado no es filtrable, así que el backend no tiene que atender `codigo__in`.
2248
2248
  *
2249
+ * **Los filtros del recurso aceptan `id__in`.** El listado filtra la columna `nombre` eligiendo
2250
+ * registros, y el panel de filtros manda los ids elegidos como `id__in` —en django-filter,
2251
+ * `"id": ["exact", "in"]`—. Donde no lo atiende, django-filter ignora el parámetro en silencio:
2252
+ * el filtro se ofrece y no hace nada.
2253
+ *
2249
2254
  * Y lo que ya pide cualquier pantalla de la librería:
2250
2255
  *
2251
2256
  * - El listado, paginado con `results` y `count`.
@@ -2257,13 +2262,19 @@ interface FieldProps {
2257
2262
  * - Guardar (POST o PATCH) contesta `{ detail, list }`: `manualCacheRefresh` copia `detail` en la
2258
2263
  * caché del detalle y `list` en el renglón del listado, sin volver a pedirlos.
2259
2264
  *
2260
- * Y lo que necesita quien lo referencie, aunque ni el listado ni la ficha lo consultan:
2265
+ * Y `como_opciones`, con `{ value, label }` y el id como `value`. De ahí saca sus opciones
2266
+ * cualquier selector que liste el catálogo (`ControlledAutocomplete` con
2267
+ * `queryArgs: { endpoint }`), y ya no sólo los de otros modelos:
2268
+ *
2269
+ * - **el propio listado**, para su filtro por nombre: la columna `nombre` lleva `queryArgs` con
2270
+ * este `endpoint`, y lo que el usuario elige ahí se manda como `id__in` —por eso el `value`
2271
+ * tiene que ser el id—;
2272
+ * - el campo con el que el formulario de otro modelo lo elige, o la columna que apunta a él en el
2273
+ * panel de filtros de otra grilla.
2261
2274
  *
2262
- * - `como_opciones`, con `{ value, label }`. De ahí saca sus opciones cualquier selector que
2263
- * liste el catálogo (`ControlledAutocomplete` con `queryArgs: { endpoint }`): el campo con el
2264
- * que el formulario de otro modelo lo elige, o la columna que apunta a él en el panel de
2265
- * filtros de otra grilla. Sin esto el catálogo se administra, pero no se puede elegir desde
2266
- * ningún lado.
2275
+ * Al teclear, el selector busca con `nombre__icontains` (su `searchField` por omisión), así que
2276
+ * los filtros del recurso lo aceptan también. Sin `como_opciones` el filtro por nombre del
2277
+ * listado sale vacío y el catálogo no se puede elegir desde ningún otro lado.
2267
2278
  */
2268
2279
  interface DefinicionDeCatalogo {
2269
2280
  /**
@@ -2368,6 +2379,12 @@ declare const crearFabricaDeCatalogos: <BaseQuery extends BaseQueryFn<string | F
2368
2379
  * Un catálogo puede omitir alguna de las de la base con `ocultarColumnas` — quitar, nunca cambiar
2369
2380
  * lo que hacen; ver `DefinicionDeCatalogo`.
2370
2381
  *
2382
+ * `nombre` **se filtra eligiendo registros**. El panel de filtros convierte la columna `nombre`
2383
+ * en `id__in` (`filterFieldFor`): la lista que se manda son ids, no nombres. Por eso lleva
2384
+ * `extra.queryArgs` con el endpoint del catálogo: el selector saca sus opciones del
2385
+ * `como_opciones` de ese mismo recurso, cuyo `value` es el id. Sin `queryArgs` el selector
2386
+ * aparecía vacío. `extra` sólo lo lee el panel de filtros; la edición en línea no lo toca.
2387
+ *
2371
2388
  * `codigo` **no es filtrable**. En el panel de filtros una columna de texto es un selector
2372
2389
  * múltiple que filtra por `<campo>__in`, y el contrato no le pide al backend `codigo__in`: donde
2373
2390
  * no lo atiende —django-filter ignora en silencio el parámetro que no conoce— el filtro se
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acvl/frontend-components",
3
- "version": "0.0.90",
3
+ "version": "0.0.91",
4
4
  "description": "Component library for ACV frontend projects.",
5
5
  "homepage": "https://github.com/ACV-Logistics/acv-frontend-components#readme",
6
6
  "access": "public",