@wgalleti/primevue-components 0.32.0 → 0.32.1
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/components/crud/WCrudView.vue.d.ts +22 -22
- package/dist/components-CwXJtumP.cjs +25 -0
- package/dist/components-CwXJtumP.cjs.map +1 -0
- package/dist/{components-hJpNDGMG.js → components-SHgQLpCj.js} +1307 -1249
- package/dist/components-SHgQLpCj.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/primevue-components.css +1 -1
- package/dist/types/column.d.ts +3 -3
- package/package.json +1 -1
- package/skill/SKILL.md +1 -0
- package/skill/references/crud.md +11 -2
- package/dist/components-Cfs09gwi.cjs +0 -25
- package/dist/components-Cfs09gwi.cjs.map +0 -1
- package/dist/components-hJpNDGMG.js.map +0 -1
package/dist/types/column.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export type ColumnType = 'text' | 'boolean' | 'date' | 'datetime' | 'number' | 'currency' | 'image' | 'custom';
|
|
2
2
|
/** Severidade do tag de status (mesmos nomes do PrimeVue; a cor vem dos tokens do app). */
|
|
3
3
|
export type TagSeverity = 'success' | 'info' | 'warn' | 'danger' | 'secondary' | 'contrast' | 'primary';
|
|
4
|
-
/** Filtro declarativo de coluna — renderizado na
|
|
5
|
-
* como parâmetro na requisição de `list`. Opt-in por coluna. */
|
|
4
|
+
/** Filtro declarativo de coluna — renderizado na toolbar do grid, ao lado da
|
|
5
|
+
* busca, e enviado como parâmetro na requisição de `list`. Opt-in por coluna. */
|
|
6
6
|
export interface ColumnFilter {
|
|
7
7
|
/** Widget do filtro. Default: 'text'. */
|
|
8
8
|
type?: 'text' | 'select' | 'boolean' | 'numeric';
|
|
@@ -37,6 +37,6 @@ export interface ColumnDef {
|
|
|
37
37
|
/** `type: 'boolean'` — cor do tag no `false` (default 'danger'). `null` = texto neutro,
|
|
38
38
|
* sem tag — para boolean que não é status (ex.: `nao_exige_analise` → "—"). */
|
|
39
39
|
falseSeverity?: TagSeverity | null;
|
|
40
|
-
/** Filtro declarativo desta coluna (aparece na
|
|
40
|
+
/** Filtro declarativo desta coluna (aparece na toolbar do grid, junto da busca). */
|
|
41
41
|
filter?: ColumnFilter;
|
|
42
42
|
}
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -20,6 +20,7 @@ Biblioteca interna de componentes **Vue 3 + PrimeVue 4** para CRUD, formulários
|
|
|
20
20
|
3. **Endpoints são strings**; a resposta paginada esperada é `{ data, page, page_size, rows }`.
|
|
21
21
|
4. **Datas**: use `WDatePicker` (v-model string `YYYY-MM-DD`). Nunca `parseDate`/`toISOString` à mão.
|
|
22
22
|
5. Antes de inventar prop, confirme a API nos tipos publicados: `node_modules/@wgalleti/primevue-components/dist/*.d.ts` (`FieldDef`, `ColumnDef`, `CrudManagerConfig`, props dos componentes).
|
|
23
|
+
6. **Filtro de listagem mora na toolbar do grid, ao lado da busca** — declarado em `ColumnDef.filter` (padrão) ou, quando o declarativo não cobre (FK, período), no slot `toolbar-filters`. Nunca em faixa própria acima da tabela, painel lateral ou `before-table`.
|
|
23
24
|
|
|
24
25
|
## Fluxo rápido
|
|
25
26
|
|
package/skill/references/crud.md
CHANGED
|
@@ -27,6 +27,15 @@ Retornos úteis do `crud` (além de alimentar o WCrudView): `selectedItems`, `cl
|
|
|
27
27
|
|
|
28
28
|
`<WCrudView>` aceita `title`, `subtitle`, `dialog-width`, e **slots** para sobrescrever qualquer seção (toolbar, ações de linha, etc.).
|
|
29
29
|
|
|
30
|
+
### Filtros: sempre na toolbar do grid, ao lado da busca
|
|
31
|
+
|
|
32
|
+
Todo filtro de uma listagem mora **dentro do grid**, na mesma toolbar da busca — nunca numa faixa própria acima da tabela, num painel lateral, no cabeçalho da página ou em `before-table`. Ordem fixa na toolbar: busca → `toolbar-start` → filtros declarativos (`ColumnDef.filter`) → slot `toolbar-filters` → "Limpar filtros". Dois caminhos, nessa ordem de preferência:
|
|
33
|
+
|
|
34
|
+
1. **Declarativo** (`ColumnDef.filter` no schema) — select, boolean, text, numeric. É o padrão; o WCrudView renderiza na toolbar sozinho.
|
|
35
|
+
2. **Slot `toolbar-filters`** — só para o que o declarativo não cobre: FK com busca no servidor (`WAutoCompleteFK` com o schema da entidade, sem CRUD), período, alternador. Grava pelo mesmo `crud.setColumnFilter(param, valor)`, então "Limpar filtros" limpa tudo junto.
|
|
36
|
+
|
|
37
|
+
`before-table` é para o que **não** é filtro (KPIs, funil clicável). Filtro fora da toolbar é defeito — corrija movendo para o schema ou para o slot, não com CSS.
|
|
38
|
+
|
|
30
39
|
## ColumnDef (tabela)
|
|
31
40
|
|
|
32
41
|
```ts
|
|
@@ -35,14 +44,14 @@ Retornos úteis do `crud` (além de alimentar o WCrudView): `selectedItems`, `cl
|
|
|
35
44
|
|
|
36
45
|
`type`: `text | boolean | date | datetime | number | currency | image | custom`. Sem `type` → texto cru. Para célula custom, use `type: 'custom'` + slot, ou `WCrudColumnRenderer`.
|
|
37
46
|
|
|
38
|
-
Outros campos: `format(value, row) => string` (render próprio), `visible`, `decimals`, `tagValue`/`tagSeverity` (renderiza como tag), e **`filter`** — filtro declarativo por coluna que aparece na
|
|
47
|
+
Outros campos: `format(value, row) => string` (render próprio), `visible`, `decimals`, `tagValue`/`tagSeverity` (renderiza como tag), e **`filter`** — filtro declarativo por coluna que aparece na toolbar do grid (ao lado da busca) e vai como parâmetro no `list`:
|
|
39
48
|
|
|
40
49
|
```ts
|
|
41
50
|
{ field: 'status', header: 'Status', filter: { type: 'select', options: [
|
|
42
51
|
{ label: 'Ativo', value: 'A' }, { label: 'Inativo', value: 'I' },
|
|
43
52
|
] } }
|
|
44
53
|
```
|
|
45
|
-
`filter.type`: `text | select | boolean | numeric`. Sem `param`, usa o `field
|
|
54
|
+
`filter.type`: `text | select | boolean | numeric`. Sem `param`, usa o `field` — e o nome tem de existir na allowlist de filtros da API.
|
|
46
55
|
|
|
47
56
|
## FieldDef (formulário)
|
|
48
57
|
|