@asteby/metacore-runtime-react 21.1.0 → 23.0.0
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/CHANGELOG.md +79 -0
- package/dist/dynamic-columns-shim.d.ts +9 -1
- package/dist/dynamic-columns-shim.d.ts.map +1 -1
- package/dist/dynamic-columns.d.ts.map +1 -1
- package/dist/dynamic-columns.js +1 -0
- package/dist/dynamic-kanban.d.ts +35 -0
- package/dist/dynamic-kanban.d.ts.map +1 -1
- package/dist/dynamic-kanban.js +279 -36
- package/dist/dynamic-table.d.ts.map +1 -1
- package/dist/dynamic-table.js +51 -4
- package/dist/use-dynamic-filters.d.ts +19 -0
- package/dist/use-dynamic-filters.d.ts.map +1 -1
- package/dist/use-dynamic-filters.js +99 -5
- package/dist/use-facet-loaders.d.ts +38 -0
- package/dist/use-facet-loaders.d.ts.map +1 -0
- package/dist/use-facet-loaders.js +108 -0
- package/package.json +4 -4
- package/src/__tests__/dynamic-kanban.test.tsx +197 -0
- package/src/__tests__/use-dynamic-filters.test.tsx +243 -0
- package/src/dynamic-columns-shim.ts +9 -1
- package/src/dynamic-columns.tsx +1 -0
- package/src/dynamic-kanban.tsx +607 -100
- package/src/dynamic-table.tsx +52 -4
- package/src/use-dynamic-filters.ts +125 -5
- package/src/use-facet-loaders.ts +146 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,84 @@
|
|
|
1
1
|
# @asteby/metacore-runtime-react
|
|
2
2
|
|
|
3
|
+
## 23.0.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 25a78e7: Fixes del embudo por columna del kanban (LaneFilterButton).
|
|
8
|
+
- **Precarga de opciones dinámicas:** el value-picker del embudo ahora usa el
|
|
9
|
+
MISMO combobox pro que el Sheet — si el campo elegido tiene options estáticas
|
|
10
|
+
o `loadOptions` (facet), renderiza el combobox multi-select con carga lazy
|
|
11
|
+
(counts, buscador "Buscar valores...", estados de carga). Antes un campo facet
|
|
12
|
+
(p.ej. "Repo") caía al input crudo "Valor..." porque sus options aún no
|
|
13
|
+
estaban cargadas. Solo cae a input de texto cuando el campo es texto libre sin
|
|
14
|
+
facets. Nuevo componente compartible `FilterValueCombobox` en
|
|
15
|
+
`@asteby/metacore-ui`. El filtrado del lane sigue client-side: igualdad/IN
|
|
16
|
+
para valores de select/facet, substring para texto libre.
|
|
17
|
+
- **Traducción de opciones:** las opciones de Stage (y cualquier option con key
|
|
18
|
+
i18n del manifest) se traducen con `t(label, {defaultValue})` en runtime-react
|
|
19
|
+
ANTES de pasarlas al control (ColumnFilterControl vive en ui, sin i18n). Aplica
|
|
20
|
+
al embudo, al Sheet, a los chips y a los resúmenes de valor; el valor activo de
|
|
21
|
+
stage se muestra traducido y con su color.
|
|
22
|
+
- **Diseño del popover del embudo:** select de campo y control de valor a ancho
|
|
23
|
+
completo, popover más ancho (`w-72`), combobox con borde redondeado, botones
|
|
24
|
+
Limpiar/Aplicar full-width en fila — al nivel del resto del rediseño.
|
|
25
|
+
- **Prefetch de facetas:** al resolver la metadata se precargan en paralelo las
|
|
26
|
+
facetas de TODOS los campos facet (un `api.get` por campo, dedupeado por firma,
|
|
27
|
+
`allSettled` para que un campo con error no rompa el resto), sembrando el cache
|
|
28
|
+
del loader y poblando las `options` del `ColumnFilterConfig`. Así el popover
|
|
29
|
+
del Sheet y el value-picker del lane abren instantáneos con valores + counts,
|
|
30
|
+
sin "Cargando…"; el spinner queda solo para el refetch con búsqueda (`q`).
|
|
31
|
+
`useFacetLoaders` ahora expone `prefetchFacets` y `facetOptions`.
|
|
32
|
+
|
|
33
|
+
- Updated dependencies [25a78e7]
|
|
34
|
+
- @asteby/metacore-ui@2.9.0
|
|
35
|
+
|
|
36
|
+
## 22.0.0
|
|
37
|
+
|
|
38
|
+
### Minor Changes
|
|
39
|
+
|
|
40
|
+
- bd30e57: Filtros pro para tabla y kanban dinámicos.
|
|
41
|
+
- **Etapa como select (kanban/tabla):** una columna `group_by` sin opciones
|
|
42
|
+
propias hereda las etapas del pipeline (`metadata.stages`, con su color) como
|
|
43
|
+
un select real en lugar de caer a un cuadro de texto "Contiene...".
|
|
44
|
+
- **Filtros por facetas:** las columnas de texto filtrables se convierten en un
|
|
45
|
+
selector de valores (`filterType: 'facet'`) que carga de forma perezosa los
|
|
46
|
+
valores distintos + su conteo desde `GET /data/:model/facets` al abrir el
|
|
47
|
+
popover, con búsqueda server-side. Degrada con gracia al input "Contiene..."
|
|
48
|
+
(ILIKE) si el endpoint falla, devuelve vacío o no está disponible, y mantiene
|
|
49
|
+
ese affordance de texto libre incluso cuando hay opciones. Las columnas de
|
|
50
|
+
texto largo (`body`/`description`, `cellStyle: truncate-text`, tipos
|
|
51
|
+
json/long_text) se quedan como texto plano. Nuevo `ColumnFilterControl`
|
|
52
|
+
`loadOptions` y `FilterOption.count` en `@asteby/metacore-ui`; hook compartido
|
|
53
|
+
`useFacetLoaders` y `filterType: 'facet'` en `@asteby/metacore-runtime-react`.
|
|
54
|
+
- **Búsqueda por columna del kanban:** cada lane tiene un icono de búsqueda que
|
|
55
|
+
expande un input inline (autofocus, colapsa con Escape) filtrando client-side
|
|
56
|
+
las tarjetas de esa columna por título y valores de campo visibles. Convive y
|
|
57
|
+
se combina (AND) con el embudo por campo, que ahora ofrece un select de
|
|
58
|
+
valores cuando el campo tiene opciones conocidas.
|
|
59
|
+
- **Panel de filtros rediseñado (nivel Linear/Notion):** el Sheet deja de ser
|
|
60
|
+
una lista de botones grises idénticos: cada campo es una fila tipo settings
|
|
61
|
+
con icono por tipo de dato (Hash número, Calendar fecha, CircleDot etapa, Tag
|
|
62
|
+
select/facet, ToggleLeft boolean, Type texto), label y resumen del valor
|
|
63
|
+
activo a la derecha ("Cualquiera" en muted si no hay). Nueva variante
|
|
64
|
+
`ColumnFilterControl` `variant='row'` con props `icon` y `valueSummary`.
|
|
65
|
+
Popovers con `rounded-xl`, sombra, header del campo (el input "Contiene..."
|
|
66
|
+
nunca es contenido crudo sin jerarquía), opciones con checkbox + dot de color
|
|
67
|
+
- count a la derecha. Filtros con selección agrupados arriba, resto
|
|
68
|
+
alfabético, footer sticky con conteo. Fila de chips activos removibles bajo la
|
|
69
|
+
toolbar (con dot de color del valor, p.ej. color de la etapa) y "Limpiar
|
|
70
|
+
todo". Header de lane del kanban con acciones (buscar/embudo) en hover-reveal
|
|
71
|
+
para un board limpio. Pensado dark-mode-first (muted/accent del theme).
|
|
72
|
+
|
|
73
|
+
La URL del endpoint de facetas se deriva como el endpoint de agregados de
|
|
74
|
+
DynamicTable: `<endpoint>/facets` (o `/data/<model>/facets` como fallback), así
|
|
75
|
+
funciona tanto con `endpoint="/data/:model/me"` como sin él.
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- Updated dependencies [bd30e57]
|
|
80
|
+
- @asteby/metacore-ui@2.8.0
|
|
81
|
+
|
|
3
82
|
## 21.1.0
|
|
4
83
|
|
|
5
84
|
### Minor Changes
|
|
@@ -5,15 +5,23 @@ export interface FilterOption {
|
|
|
5
5
|
value: string;
|
|
6
6
|
icon?: string;
|
|
7
7
|
color?: string;
|
|
8
|
+
/** Occurrence count for `facet` options (rendered muted, right-aligned). */
|
|
9
|
+
count?: number;
|
|
8
10
|
}
|
|
9
11
|
export interface ColumnFilterConfig {
|
|
10
|
-
filterType: 'select' | 'boolean' | 'date_range' | 'number_range' | 'text' | string;
|
|
12
|
+
filterType: 'select' | 'boolean' | 'date_range' | 'number_range' | 'text' | 'facet' | string;
|
|
11
13
|
filterKey: string;
|
|
12
14
|
options: FilterOption[];
|
|
13
15
|
selectedValues: string[];
|
|
14
16
|
onFilterChange: (filterKey: string, values: string[]) => void;
|
|
15
17
|
loading?: boolean;
|
|
16
18
|
searchEndpoint?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Lazy option loader for `facet` filters — resolves the column's distinct
|
|
21
|
+
* values + counts from the `/facets` endpoint. Passed straight through to
|
|
22
|
+
* `ColumnFilterControl.loadOptions`.
|
|
23
|
+
*/
|
|
24
|
+
loadOptions?: (q?: string) => Promise<FilterOption[]>;
|
|
17
25
|
}
|
|
18
26
|
/** Signature for the host-provided `getDynamicColumns` factory. */
|
|
19
27
|
export type GetDynamicColumns = (metadata: TableMetadata, handleAction: (action: string, row: any) => void, t: (key: string, options?: any) => string, language: string, columnFilterConfigs: Map<string, ColumnFilterConfig>, timeZone?: string, currency?: string) => ColumnDef<any>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-columns-shim.d.ts","sourceRoot":"","sources":["../src/dynamic-columns-shim.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-columns-shim.d.ts","sourceRoot":"","sources":["../src/dynamic-columns-shim.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CACxD;AAED,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAC5B,QAAQ,EAAE,aAAa,EACvB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,EAChD,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,EACzC,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACpD,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,KAChB,SAAS,CAAC,GAAG,CAAC,EAAE,CAAA;AAErB,8DAA8D;AAC9D,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-columns.d.ts","sourceRoot":"","sources":["../src/dynamic-columns.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAiC9C,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAER,iBAAiB,EACpB,MAAM,wBAAwB,CAAA;AAE/B,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,gBAAgB,EAAE,cAAc,MAAM,KAAG,MACzB,CAAA;AAQrD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,gBAAgB,KAAG,MAAM,GAAG,SAG5D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC7B,KAAK,gBAAgB,EACrB,OAAO,OAAO,EACd,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,MAyBF,CAAA;AA8DD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OAMlE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OAiB5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OACqB,CAAA;AAqKhF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAG,MAGnE,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,eAAe,2DAA4D,CAAA;AAExF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6C5C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,gBAAgB,EAAE,KAAK,GAAG,KAAG,MAWtE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,gBAAgB,EAAE,KAAK,GAAG,KAAG,MAOtE,CAAA;AAsID;;;;GAIG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,GAAE,qBAA0B,GACpC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"dynamic-columns.d.ts","sourceRoot":"","sources":["../src/dynamic-columns.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAiC9C,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE9D,OAAO,KAAK,EAER,iBAAiB,EACpB,MAAM,wBAAwB,CAAA;AAE/B,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,gBAAgB,EAAE,cAAc,MAAM,KAAG,MACzB,CAAA;AAQrD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,gBAAgB,KAAG,MAAM,GAAG,SAG5D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC7B,KAAK,gBAAgB,EACrB,OAAO,OAAO,EACd,WAAW,MAAM,EACjB,SAAS,MAAM,KAChB,MAyBF,CAAA;AA8DD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OAMlE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OAiB5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,GAAG,EAAE,KAAK,GAAG,KAAG,OACqB,CAAA;AAqKhF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAG,MAGnE,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,eAAe,2DAA4D,CAAA;AAExF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC1B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAClB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA6C5C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,gBAAgB,EAAE,KAAK,GAAG,KAAG,MAWtE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,gBAAgB,EAAE,KAAK,GAAG,KAAG,MAOtE,CAAA;AAsID;;;;GAIG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,GAAE,qBAA0B,GACpC,iBAAiB,CA8mBnB;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBACL,CAAA"}
|
package/dist/dynamic-columns.js
CHANGED
|
@@ -490,6 +490,7 @@ export function makeDefaultGetDynamicColumns(helpers = {}) {
|
|
|
490
490
|
filterSearchEndpoint: filterConfig.searchEndpoint,
|
|
491
491
|
selectedValues: filterConfig.selectedValues,
|
|
492
492
|
onFilterChange: filterConfig.onFilterChange,
|
|
493
|
+
loadOptions: filterConfig.loadOptions,
|
|
493
494
|
};
|
|
494
495
|
Object.assign(columnMeta, fm);
|
|
495
496
|
}
|
package/dist/dynamic-kanban.d.ts
CHANGED
|
@@ -40,6 +40,41 @@ export declare function selectCardColumns(metadata: TableMetadata, maxFields?: n
|
|
|
40
40
|
title: ColumnDefinition | null;
|
|
41
41
|
fields: ColumnDefinition[];
|
|
42
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Human-readable summary of a field's selected filter values for the removable
|
|
45
|
+
* chip row. Resolves option labels, unwraps the wire operators
|
|
46
|
+
* (`IN:`/`ILIKE:`/`RANGE:`/`GTE:`/`LTE:`/date `from_to`), and caps the list at
|
|
47
|
+
* `maxShown` values with a `+n` overflow. Pure — exported for unit tests.
|
|
48
|
+
*/
|
|
49
|
+
export declare function summarizeFilterValues(values: string[] | undefined, options: {
|
|
50
|
+
label: string;
|
|
51
|
+
value: string;
|
|
52
|
+
}[] | undefined, maxShown?: number): string;
|
|
53
|
+
/**
|
|
54
|
+
* Whether a card passes a lane funnel. Picked select/facet `values` match by
|
|
55
|
+
* equality (IN — the card's field value must be one of them); a free-text
|
|
56
|
+
* `text` matches by case-insensitive substring. No field / no criteria → passes.
|
|
57
|
+
* Pure — exported for unit tests.
|
|
58
|
+
*/
|
|
59
|
+
export declare function cardMatchesLaneFunnel(card: any, filter: {
|
|
60
|
+
field?: string;
|
|
61
|
+
values?: string[];
|
|
62
|
+
text?: string;
|
|
63
|
+
} | undefined): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Translates option labels through the app translator (manifest i18n keys →
|
|
66
|
+
* localized text). A raw value with no matching key falls through to itself via
|
|
67
|
+
* `defaultValue`. Pure — exported for unit tests.
|
|
68
|
+
*/
|
|
69
|
+
export declare function translateOptionLabels<T extends {
|
|
70
|
+
label: string;
|
|
71
|
+
}>(options: T[], translate: (key: string) => string): T[];
|
|
72
|
+
/**
|
|
73
|
+
* Whether a card matches a free-text lane search: a case-insensitive substring
|
|
74
|
+
* over the card's title + every visible field value (`String(v)`). Empty query
|
|
75
|
+
* matches everything. Pure — exported for unit tests.
|
|
76
|
+
*/
|
|
77
|
+
export declare function cardMatchesLaneQuery(card: any, cols: ColumnDefinition[], query: string): boolean;
|
|
43
78
|
export interface DynamicKanbanProps {
|
|
44
79
|
/** Model key as registered on the backend (e.g. "issue"). */
|
|
45
80
|
model: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-kanban.d.ts","sourceRoot":"","sources":["../src/dynamic-kanban.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"dynamic-kanban.d.ts","sourceRoot":"","sources":["../src/dynamic-kanban.tsx"],"names":[],"mappings":"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"}
|