@orbe-agro/client-core 5.6.117 → 5.6.119
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/@types/base/@types/filters/index.d.ts +60 -0
- package/dist/@types/base/@types/filters/index.d.ts.map +1 -0
- package/dist/@types/base/@types/index.d.ts +1 -0
- package/dist/@types/base/@types/index.d.ts.map +1 -1
- package/dist/@types/base/@types/models/compras/RequisicaoCompra.d.ts +3 -0
- package/dist/@types/base/@types/models/compras/RequisicaoCompra.d.ts.map +1 -1
- package/dist/@types/base/@types/models/performance/categoria.d.ts +2 -1
- package/dist/@types/base/@types/models/performance/categoria.d.ts.map +1 -1
- package/dist/@types/base/components/filters/DynamicFilterField.d.ts +23 -0
- package/dist/@types/base/components/filters/DynamicFilterField.d.ts.map +1 -0
- package/dist/@types/base/components/filters/DynamicFilterPanel.d.ts +30 -0
- package/dist/@types/base/components/filters/DynamicFilterPanel.d.ts.map +1 -0
- package/dist/@types/base/components/filters/index.d.ts +3 -0
- package/dist/@types/base/components/filters/index.d.ts.map +1 -0
- package/dist/@types/base/components/index.d.ts +1 -0
- package/dist/@types/base/components/index.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/nfe.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/nfe.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.d.ts +4 -0
- package/dist/@types/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +9 -0
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/saldoTicket.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/originacao/config/saldoTicket.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/performance/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/hooks/filters/useFilterMetadata.d.ts +26 -0
- package/dist/@types/base/hooks/filters/useFilterMetadata.d.ts.map +1 -0
- package/dist/@types/base/hooks/index.d.ts +1 -0
- package/dist/@types/base/hooks/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/nfe/NfeService.d.ts +1 -0
- package/dist/@types/base/services/modules/centralNfe/nfe/NfeService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/compras/cadastroEstrategiaLiberacaoValor/CadastroEstrategiaLiberacaoValorService.d.ts +7 -0
- package/dist/@types/base/services/modules/compras/cadastroEstrategiaLiberacaoValor/CadastroEstrategiaLiberacaoValorService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/originacao/saldoTicket/saldoTicketService.d.ts +2 -0
- package/dist/@types/base/services/modules/originacao/saldoTicket/saldoTicketService.d.ts.map +1 -1
- package/dist/@types/base/utils/filters/groupFilterFields.d.ts +15 -0
- package/dist/@types/base/utils/filters/groupFilterFields.d.ts.map +1 -0
- package/dist/@types/base/utils/index.d.ts +1 -0
- package/dist/@types/base/utils/index.d.ts.map +1 -1
- package/dist/base/@types/filters/index.js +2 -0
- package/dist/base/@types/filters/index.js.map +1 -0
- package/dist/base/@types/index.js +1 -0
- package/dist/base/@types/index.js.map +1 -1
- package/dist/base/components/filters/DynamicFilterField.js +156 -0
- package/dist/base/components/filters/DynamicFilterField.js.map +1 -0
- package/dist/base/components/filters/DynamicFilterPanel.js +19 -0
- package/dist/base/components/filters/DynamicFilterPanel.js.map +1 -0
- package/dist/base/components/filters/index.js +7 -0
- package/dist/base/components/filters/index.js.map +1 -0
- package/dist/base/components/index.js +11 -6
- package/dist/base/components/index.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/nfe.js +1 -0
- package/dist/base/configs/endpoints.config/centralNfe/config/nfe.js.map +1 -1
- package/dist/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.js +2 -1
- package/dist/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/config/saldoTicket.js +2 -1
- package/dist/base/configs/endpoints.config/originacao/config/saldoTicket.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/performance/cadastros.submenu.js +0 -2
- package/dist/base/configs/navigation.config/submenu/performance/cadastros.submenu.js.map +1 -1
- package/dist/base/hooks/filters/useFilterMetadata.js +23 -0
- package/dist/base/hooks/filters/useFilterMetadata.js.map +1 -0
- package/dist/base/hooks/index.js +2 -0
- package/dist/base/hooks/index.js.map +1 -1
- package/dist/base/index.js +232 -223
- package/dist/base/index.js.map +1 -1
- package/dist/base/services/index.js +2 -1
- package/dist/base/services/modules/centralNfe/index.js +2 -1
- package/dist/base/services/modules/centralNfe/nfe/NfeService.js +7 -0
- package/dist/base/services/modules/centralNfe/nfe/NfeService.js.map +1 -1
- package/dist/base/services/modules/compras/cadastroEstrategiaLiberacaoValor/CadastroEstrategiaLiberacaoValorService.js +8 -0
- package/dist/base/services/modules/compras/cadastroEstrategiaLiberacaoValor/CadastroEstrategiaLiberacaoValorService.js.map +1 -1
- package/dist/base/services/modules/compras/index.js +2 -1
- package/dist/base/services/modules/index.js +2 -1
- package/dist/base/services/modules/originacao/saldoTicket/saldoTicketService.js +7 -0
- package/dist/base/services/modules/originacao/saldoTicket/saldoTicketService.js.map +1 -1
- package/dist/base/utils/filters/groupFilterFields.js +56 -0
- package/dist/base/utils/filters/groupFilterFields.js.map +1 -0
- package/dist/base/utils/index.js +2 -0
- package/dist/base/utils/index.js.map +1 -1
- package/lib/base/@types/filters/index.ts +87 -0
- package/lib/base/@types/index.ts +1 -0
- package/lib/base/@types/models/compras/RequisicaoCompra.ts +3 -0
- package/lib/base/@types/models/performance/categoria.ts +3 -1
- package/lib/base/components/filters/DynamicFilterField.tsx +213 -0
- package/lib/base/components/filters/DynamicFilterPanel.tsx +50 -0
- package/lib/base/components/filters/index.ts +2 -0
- package/lib/base/components/index.ts +4 -1
- package/lib/base/configs/endpoints.config/centralNfe/config/nfe.ts +1 -0
- package/lib/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.ts +1 -0
- package/lib/base/configs/endpoints.config/originacao/config/saldoTicket.ts +2 -1
- package/lib/base/configs/navigation.config/submenu/performance/cadastros.submenu.ts +0 -2
- package/lib/base/hooks/filters/useFilterMetadata.ts +43 -0
- package/lib/base/hooks/index.ts +2 -1
- package/lib/base/services/modules/centralNfe/nfe/NfeService.ts +8 -0
- package/lib/base/services/modules/compras/cadastroEstrategiaLiberacaoValor/CadastroEstrategiaLiberacaoValorService.ts +8 -0
- package/lib/base/services/modules/originacao/saldoTicket/saldoTicketService.ts +8 -0
- package/lib/base/utils/filters/groupFilterFields.ts +93 -0
- package/lib/base/utils/index.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useFormContext, Controller } from "react-hook-form";
|
|
3
|
+
import "../../../@ecme/components/ui/index.js";
|
|
4
|
+
import DatePickerRange from "../../../@ecme/components/ui/DatePicker/DatePickerRange.js";
|
|
5
|
+
import FormItem from "../../../@ecme/components/ui/Form/FormItem.js";
|
|
6
|
+
import Select from "../../../@ecme/components/ui/Select/Select.js";
|
|
7
|
+
import { DatePicker } from "../../../@ecme/components/ui/DatePicker/index.js";
|
|
8
|
+
import Input from "../../../@ecme/components/ui/Input/Input.js";
|
|
9
|
+
const DynamicFilterField = ({ item, lookupRegistry }) => {
|
|
10
|
+
if (item.kind === "range") {
|
|
11
|
+
return /* @__PURE__ */ jsx(RangeField, { item });
|
|
12
|
+
}
|
|
13
|
+
return /* @__PURE__ */ jsx(StandaloneField, { item, lookupRegistry });
|
|
14
|
+
};
|
|
15
|
+
const RangeField = ({ item }) => {
|
|
16
|
+
const { setValue, watch } = useFormContext();
|
|
17
|
+
const startValue = watch(item.startField.field);
|
|
18
|
+
const endValue = watch(item.endField.field);
|
|
19
|
+
const rangeValue = [
|
|
20
|
+
startValue ? /* @__PURE__ */ new Date(`${startValue}T00:00:00`) : null,
|
|
21
|
+
endValue ? /* @__PURE__ */ new Date(`${endValue}T00:00:00`) : null
|
|
22
|
+
];
|
|
23
|
+
const handleChange = (value) => {
|
|
24
|
+
const [start, end] = value ?? [null, null];
|
|
25
|
+
setValue(item.startField.field, start ? formatDate(start) : null, { shouldDirty: true });
|
|
26
|
+
setValue(item.endField.field, end ? formatDate(end) : null, { shouldDirty: true });
|
|
27
|
+
};
|
|
28
|
+
return /* @__PURE__ */ jsx(FormItem, { className: "text-xs", label: item.label, children: /* @__PURE__ */ jsx(
|
|
29
|
+
DatePickerRange,
|
|
30
|
+
{
|
|
31
|
+
size: "sm",
|
|
32
|
+
value: rangeValue,
|
|
33
|
+
onChange: handleChange
|
|
34
|
+
}
|
|
35
|
+
) });
|
|
36
|
+
};
|
|
37
|
+
const StandaloneField = ({ item, lookupRegistry }) => {
|
|
38
|
+
const { descriptor } = item;
|
|
39
|
+
const { control } = useFormContext();
|
|
40
|
+
if (descriptor.lookup) {
|
|
41
|
+
const LookupComponent = lookupRegistry?.[descriptor.lookup.resource];
|
|
42
|
+
if (LookupComponent) {
|
|
43
|
+
return /* @__PURE__ */ jsx(
|
|
44
|
+
LookupComponent,
|
|
45
|
+
{
|
|
46
|
+
name: descriptor.field,
|
|
47
|
+
label: descriptor.label
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
console.warn(
|
|
52
|
+
`[DynamicFilterField] lookup resource "${descriptor.lookup.resource}" não encontrado no registry. Renderizando como input de texto para o campo "${descriptor.field}".`
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
if (descriptor.allowedValues && descriptor.allowedValues.length > 0) {
|
|
56
|
+
const options = descriptor.allowedValues.map((opt) => ({
|
|
57
|
+
value: opt.value,
|
|
58
|
+
label: opt.label
|
|
59
|
+
}));
|
|
60
|
+
return /* @__PURE__ */ jsx(
|
|
61
|
+
Controller,
|
|
62
|
+
{
|
|
63
|
+
name: descriptor.field,
|
|
64
|
+
control,
|
|
65
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx(
|
|
66
|
+
FormItem,
|
|
67
|
+
{
|
|
68
|
+
className: "text-xs",
|
|
69
|
+
label: descriptor.label,
|
|
70
|
+
invalid: !!error,
|
|
71
|
+
errorMessage: error?.message,
|
|
72
|
+
children: /* @__PURE__ */ jsx(
|
|
73
|
+
Select,
|
|
74
|
+
{
|
|
75
|
+
isClearable: true,
|
|
76
|
+
size: "sm",
|
|
77
|
+
placeholder: "Selecione uma opção",
|
|
78
|
+
options,
|
|
79
|
+
value: options.find((o) => o.value === field.value) ?? null,
|
|
80
|
+
onChange: (opt) => field.onChange(opt?.value ?? null),
|
|
81
|
+
onBlur: field.onBlur
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (descriptor.dataType === "DATE") {
|
|
90
|
+
return /* @__PURE__ */ jsx(
|
|
91
|
+
Controller,
|
|
92
|
+
{
|
|
93
|
+
name: descriptor.field,
|
|
94
|
+
control,
|
|
95
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx(
|
|
96
|
+
FormItem,
|
|
97
|
+
{
|
|
98
|
+
className: "text-xs",
|
|
99
|
+
label: descriptor.label,
|
|
100
|
+
invalid: !!error,
|
|
101
|
+
errorMessage: error?.message,
|
|
102
|
+
children: /* @__PURE__ */ jsx(
|
|
103
|
+
DatePicker,
|
|
104
|
+
{
|
|
105
|
+
size: "sm",
|
|
106
|
+
className: "text-xs",
|
|
107
|
+
placeholder: "Selecione uma data",
|
|
108
|
+
value: field.value ? /* @__PURE__ */ new Date(`${field.value}T00:00:00`) : null,
|
|
109
|
+
onChange: (date) => field.onChange(date ? formatDate(date) : null),
|
|
110
|
+
onBlur: field.onBlur
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
const inputType = descriptor.dataType === "NUMBER" ? "number" : "text";
|
|
119
|
+
return /* @__PURE__ */ jsx(
|
|
120
|
+
Controller,
|
|
121
|
+
{
|
|
122
|
+
name: descriptor.field,
|
|
123
|
+
control,
|
|
124
|
+
render: ({ field, fieldState: { error } }) => /* @__PURE__ */ jsx(
|
|
125
|
+
FormItem,
|
|
126
|
+
{
|
|
127
|
+
className: "text-xs",
|
|
128
|
+
label: descriptor.label,
|
|
129
|
+
invalid: !!error,
|
|
130
|
+
errorMessage: error?.message,
|
|
131
|
+
children: /* @__PURE__ */ jsx(
|
|
132
|
+
Input,
|
|
133
|
+
{
|
|
134
|
+
...field,
|
|
135
|
+
size: "sm",
|
|
136
|
+
type: inputType,
|
|
137
|
+
placeholder: `${descriptor.label}`,
|
|
138
|
+
value: field.value ?? "",
|
|
139
|
+
onChange: (e) => field.onChange(e.target.value || null)
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
}
|
|
143
|
+
)
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
function formatDate(date) {
|
|
148
|
+
const y = date.getFullYear();
|
|
149
|
+
const m = String(date.getMonth() + 1).padStart(2, "0");
|
|
150
|
+
const d = String(date.getDate()).padStart(2, "0");
|
|
151
|
+
return `${y}-${m}-${d}`;
|
|
152
|
+
}
|
|
153
|
+
export {
|
|
154
|
+
DynamicFilterField as default
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=DynamicFilterField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicFilterField.js","sources":["../../../../lib/base/components/filters/DynamicFilterField.tsx"],"sourcesContent":["import React from 'react'\nimport { Controller, useFormContext } from 'react-hook-form'\nimport { DatePicker, FormItem, Input, Select } from '@/components/ui'\nimport DatePickerRange from '@/components/ui/DatePicker/DatePickerRange'\nimport type {\n TFilterRenderItem,\n IFilterStandaloneField,\n IFilterRangeGroup,\n TLookupComponentRegistry,\n} from '@base/@types/filters'\n\ninterface DynamicFilterFieldProps {\n item: TFilterRenderItem\n lookupRegistry?: TLookupComponentRegistry\n}\n\n/**\n * Renderiza o componente de formulário correto para um TFilterRenderItem.\n *\n * Regras de renderização:\n * - `kind === 'range'` → DatePickerRange (dois campos DATE+BETWEEN fundidos)\n * - `kind === 'standalone'`:\n * - `lookup != null` → componente do lookupRegistry (async select)\n * - `allowedValues != null` → Select com opções fixas (ENUM)\n * - `dataType === 'DATE'` → DatePicker\n * - `dataType === 'NUMBER'` → Input type=\"number\"\n * - `dataType === 'STRING'` → Input type=\"text\"\n *\n * Deve ser usado DENTRO de um FormProvider.\n */\nconst DynamicFilterField: React.FC<DynamicFilterFieldProps> = ({ item, lookupRegistry }) => {\n if (item.kind === 'range') {\n return <RangeField item={item} />\n }\n return <StandaloneField item={item} lookupRegistry={lookupRegistry} />\n}\n\n// ---------------------------------------------------------------------------\n// Range field: DatePickerRange gerenciando dois campos reais no form\n// ---------------------------------------------------------------------------\n\ninterface RangeFieldProps {\n item: IFilterRangeGroup\n}\n\nconst RangeField: React.FC<RangeFieldProps> = ({ item }) => {\n const { setValue, watch } = useFormContext()\n\n const startValue = watch(item.startField.field)\n const endValue = watch(item.endField.field)\n\n // Reconstrói o tuple [Date|null, Date|null] a partir das strings armazenadas.\n // Usa 'T00:00:00' para forçar parse em horário local (sem isso, 'YYYY-MM-DD'\n // é interpretado como UTC midnight e exibe um dia anterior no fuso UTC-3).\n const rangeValue: [Date | null, Date | null] = [\n startValue ? new Date(`${startValue}T00:00:00`) : null,\n endValue ? new Date(`${endValue}T00:00:00`) : null,\n ]\n\n const handleChange = (value: [Date | null, Date | null]) => {\n const [start, end] = value ?? [null, null]\n setValue(item.startField.field, start ? formatDate(start) : null, { shouldDirty: true })\n setValue(item.endField.field, end ? formatDate(end) : null, { shouldDirty: true })\n }\n\n return (\n <FormItem className=\"text-xs\" label={item.label}>\n <DatePickerRange\n size=\"sm\"\n value={rangeValue}\n onChange={handleChange}\n />\n </FormItem>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Standalone field: delega para lookup registry ou input genérico\n// ---------------------------------------------------------------------------\n\ninterface StandaloneFieldProps {\n item: IFilterStandaloneField\n lookupRegistry?: TLookupComponentRegistry\n}\n\nconst StandaloneField: React.FC<StandaloneFieldProps> = ({ item, lookupRegistry }) => {\n const { descriptor } = item\n const { control } = useFormContext()\n\n // Lookup: delega para o componente registrado no microfrontend\n if (descriptor.lookup) {\n const LookupComponent = lookupRegistry?.[descriptor.lookup.resource]\n if (LookupComponent) {\n return (\n <LookupComponent\n name={descriptor.field}\n label={descriptor.label}\n />\n )\n }\n // Fallback: lookup não registrado no registry → input de texto simples\n console.warn(\n `[DynamicFilterField] lookup resource \"${descriptor.lookup.resource}\" não encontrado no registry. ` +\n `Renderizando como input de texto para o campo \"${descriptor.field}\".`\n )\n // Continua para renderizar o input de texto (fallback seguro)\n }\n\n // ENUM: select com opções fixas vindas dos metadados\n if (descriptor.allowedValues && descriptor.allowedValues.length > 0) {\n const options = descriptor.allowedValues.map((opt) => ({\n value: opt.value,\n label: opt.label,\n }))\n\n return (\n <Controller\n name={descriptor.field}\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormItem\n className=\"text-xs\"\n label={descriptor.label}\n invalid={!!error}\n errorMessage={error?.message}\n >\n <Select\n isClearable\n size=\"sm\"\n placeholder=\"Selecione uma opção\"\n options={options}\n value={options.find((o) => o.value === field.value) ?? null}\n onChange={(opt: { value: string; label: string } | null) =>\n field.onChange(opt?.value ?? null)\n }\n onBlur={field.onBlur}\n />\n </FormItem>\n )}\n />\n )\n }\n\n // DATE com operator EQUALS: DatePicker simples\n if (descriptor.dataType === 'DATE') {\n return (\n <Controller\n name={descriptor.field}\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormItem\n className=\"text-xs\"\n label={descriptor.label}\n invalid={!!error}\n errorMessage={error?.message}\n >\n <DatePicker\n size=\"sm\"\n className=\"text-xs\"\n placeholder=\"Selecione uma data\"\n value={field.value ? new Date(`${field.value}T00:00:00`) : null}\n onChange={(date: Date | null) =>\n field.onChange(date ? formatDate(date) : null)\n }\n onBlur={field.onBlur}\n />\n </FormItem>\n )}\n />\n )\n }\n\n // NUMBER ou STRING (inclui fallback de lookup não registrado)\n const inputType = descriptor.dataType === 'NUMBER' ? 'number' : 'text'\n\n return (\n <Controller\n name={descriptor.field}\n control={control}\n render={({ field, fieldState: { error } }) => (\n <FormItem\n className=\"text-xs\"\n label={descriptor.label}\n invalid={!!error}\n errorMessage={error?.message}\n >\n <Input\n {...field}\n size=\"sm\"\n type={inputType}\n placeholder={`${descriptor.label}`}\n value={field.value ?? ''}\n onChange={(e) => field.onChange(e.target.value || null)}\n />\n </FormItem>\n )}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Utilitário\n// ---------------------------------------------------------------------------\n\n/** Formata uma Date para 'YYYY-MM-DD' sem dependências externas */\nfunction formatDate(date: Date): string {\n const y = date.getFullYear()\n const m = String(date.getMonth() + 1).padStart(2, '0')\n const d = String(date.getDate()).padStart(2, '0')\n return `${y}-${m}-${d}`\n}\n\nexport default DynamicFilterField\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { groupFilterFields } from "../../utils/filters/groupFilterFields.js";
|
|
4
|
+
import DynamicFilterField from "./DynamicFilterField.js";
|
|
5
|
+
const DynamicFilterPanel = ({ fields, lookupRegistry }) => {
|
|
6
|
+
const renderItems = useMemo(() => groupFilterFields(fields), [fields]);
|
|
7
|
+
return /* @__PURE__ */ jsx(Fragment, { children: renderItems.map((item) => /* @__PURE__ */ jsx(
|
|
8
|
+
DynamicFilterField,
|
|
9
|
+
{
|
|
10
|
+
item,
|
|
11
|
+
lookupRegistry
|
|
12
|
+
},
|
|
13
|
+
item.kind === "range" ? `range__${item.rangeGroup}` : item.descriptor.field
|
|
14
|
+
)) });
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
DynamicFilterPanel as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=DynamicFilterPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DynamicFilterPanel.js","sources":["../../../../lib/base/components/filters/DynamicFilterPanel.tsx"],"sourcesContent":["import React, { useMemo } from 'react'\nimport type { IFilterFieldDescriptor, TLookupComponentRegistry } from '@base/@types/filters'\nimport { groupFilterFields } from '@base/utils/filters/groupFilterFields'\nimport DynamicFilterField from './DynamicFilterField'\n\ninterface DynamicFilterPanelProps {\n /** Metadados de filtros vindos do endpoint /filter-metadata */\n fields: IFilterFieldDescriptor[]\n /**\n * Mapa de resource → componente de lookup.\n * Definido pelo microfrontend consumidor — permite que cada app\n * registre os seus próprios componentes de async select.\n */\n lookupRegistry?: TLookupComponentRegistry\n}\n\n/**\n * Renderiza todos os campos de filtro dinamicamente a partir dos metadados do backend.\n *\n * - Agrupa automaticamente campos de range (mesmo rangeGroup + BETWEEN) em um DatePickerRange.\n * - Delega a renderização individual para DynamicFilterField.\n * - Deve ser usado DENTRO de um FormProvider.\n *\n * @example\n * <FormProvider {...methods}>\n * <DynamicFilterPanel\n * fields={metadataFields}\n * lookupRegistry={saldoTicketLookupRegistry}\n * />\n * </FormProvider>\n */\nconst DynamicFilterPanel: React.FC<DynamicFilterPanelProps> = ({ fields, lookupRegistry }) => {\n // groupFilterFields é uma função pura — o useMemo garante que o agrupamento\n // só recalcula quando `fields` muda (na prática, apenas uma vez por sessão)\n const renderItems = useMemo(() => groupFilterFields(fields), [fields])\n\n return (\n <>\n {renderItems.map((item) => (\n <DynamicFilterField\n key={item.kind === 'range' ? `range__${item.rangeGroup}` : item.descriptor.field}\n item={item}\n lookupRegistry={lookupRegistry}\n />\n ))}\n </>\n )\n}\n\nexport default DynamicFilterPanel\n"],"names":[],"mappings":";;;;AA+BA,MAAM,qBAAwD,CAAC,EAAE,QAAQ,qBAAqB;AAG1F,QAAM,cAAc,QAAQ,MAAM,kBAAkB,MAAM,GAAG,CAAC,MAAM,CAAC;AAErE,SACI,oBAAA,UAAA,EACK,UAAA,YAAY,IAAI,CAAC,SACd;AAAA,IAAC;AAAA,IAAA;AAAA,MAEG;AAAA,MACA;AAAA,IAAA;AAAA,IAFK,KAAK,SAAS,UAAU,UAAU,KAAK,UAAU,KAAK,KAAK,WAAW;AAAA,EAAA,CAIlF,GACL;AAER;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -2,14 +2,19 @@ import "./routes/index.js";
|
|
|
2
2
|
import "./table/index.js";
|
|
3
3
|
import "./tools/index.js";
|
|
4
4
|
import "./views/index.js";
|
|
5
|
+
import "./filters/index.js";
|
|
6
|
+
import { default as default2 } from "./filters/DynamicFilterField.js";
|
|
7
|
+
import { default as default3 } from "./filters/DynamicFilterPanel.js";
|
|
5
8
|
import { ListColumn } from "./table/ListColumn.js";
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as
|
|
8
|
-
import { default as
|
|
9
|
+
import { default as default4 } from "./tools/NavFilter.js";
|
|
10
|
+
import { default as default5 } from "./routes/RoutesBase.js";
|
|
11
|
+
import { default as default6 } from "./views/ViewsBase.js";
|
|
9
12
|
export {
|
|
13
|
+
default2 as DynamicFilterField,
|
|
14
|
+
default3 as DynamicFilterPanel,
|
|
10
15
|
ListColumn,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
default4 as NavFilter,
|
|
17
|
+
default5 as RoutesBase,
|
|
18
|
+
default6 as ViewsBase
|
|
14
19
|
};
|
|
15
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
@@ -10,6 +10,7 @@ const nfe = {
|
|
|
10
10
|
desvincularOrdemCompra: { endpoint: `${NFE_BASE_URL}/desvincular-ordem-compra`, httpMethod: "post" },
|
|
11
11
|
estornarPedidoCompra: { endpoint: `${NFE_BASE_URL}/estornar-pedido-compra/{numeroPedido}`, httpMethod: "post" },
|
|
12
12
|
estornarOperacao: { endpoint: `${NFE_BASE_URL}/estornar-operacao?id={id}`, httpMethod: "post" },
|
|
13
|
+
finalizarPedido: { endpoint: `${NFE_BASE_URL}/finalizar-pedido/{numeroPedido}`, httpMethod: "post" },
|
|
13
14
|
lock: { endpoint: `${NFE_BASE_URL}/lock`, httpMethod: "post" }
|
|
14
15
|
};
|
|
15
16
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nfe.js","sources":["../../../../../../lib/base/configs/endpoints.config/centralNfe/config/nfe.ts"],"sourcesContent":["const NFE_BASE_URL = '/central-nfe/api/nfe'\n\nconst nfe = {\n findMonitor: { endpoint: `${NFE_BASE_URL}/find-monitor`, httpMethod: 'post' },\n findOne: { endpoint: NFE_BASE_URL, httpMethod: 'get' },\n update: { endpoint: NFE_BASE_URL, httpMethod: 'patch' },\n count: { endpoint: `${NFE_BASE_URL}/count`, httpMethod: 'post' },\n downloadPdfByChaveAcesso: { endpoint: `${NFE_BASE_URL}/download-pdf`, httpMethod: 'get' },\n validacaoImposto: { endpoint: `${NFE_BASE_URL}/{id}/{numeroPedido}/validacao-imposto`, httpMethod: 'post' },\n addLancamentoManual: { endpoint: `${NFE_BASE_URL}/add/lancamento-manual`, httpMethod: 'patch' },\n desvincularOrdemCompra: { endpoint: `${NFE_BASE_URL}/desvincular-ordem-compra`, httpMethod: 'post' },\n estornarPedidoCompra: { endpoint: `${NFE_BASE_URL}/estornar-pedido-compra/{numeroPedido}`, httpMethod: 'post' },\n estornarOperacao: { endpoint: `${NFE_BASE_URL}/estornar-operacao?id={id}`, httpMethod: 'post' },\n lock: { endpoint: `${NFE_BASE_URL}/lock`, httpMethod: 'post' },\n}\n\nexport default nfe"],"names":[],"mappings":"AAAA,MAAM,eAAe;AAErB,MAAM,MAAM;AAAA,EACR,aAAa,EAAE,UAAU,GAAG,YAAY,iBAAiB,YAAY,OAAA;AAAA,EACrE,SAAS,EAAE,UAAU,cAAc,YAAY,MAAA;AAAA,EAC/C,QAAQ,EAAE,UAAU,cAAc,YAAY,QAAA;AAAA,EAC9C,OAAO,EAAE,UAAU,GAAG,YAAY,UAAU,YAAY,OAAA;AAAA,EACxD,0BAA0B,EAAE,UAAU,GAAG,YAAY,iBAAiB,YAAY,MAAA;AAAA,EAClF,kBAAkB,EAAE,UAAU,GAAG,YAAY,0CAA0C,YAAY,OAAA;AAAA,EACnG,qBAAqB,EAAE,UAAU,GAAG,YAAY,0BAA0B,YAAY,QAAA;AAAA,EACtF,wBAAwB,EAAE,UAAU,GAAG,YAAY,6BAA6B,YAAY,OAAA;AAAA,EAC5F,sBAAsB,EAAE,UAAU,GAAG,YAAY,0CAA0C,YAAY,OAAA;AAAA,EACvG,kBAAkB,EAAE,UAAU,GAAG,YAAY,8BAA8B,YAAY,OAAA;AAAA,EACvF,MAAM,EAAE,UAAU,GAAG,YAAY,SAAS,YAAY,OAAA;AAC1D;"}
|
|
1
|
+
{"version":3,"file":"nfe.js","sources":["../../../../../../lib/base/configs/endpoints.config/centralNfe/config/nfe.ts"],"sourcesContent":["const NFE_BASE_URL = '/central-nfe/api/nfe'\n\nconst nfe = {\n findMonitor: { endpoint: `${NFE_BASE_URL}/find-monitor`, httpMethod: 'post' },\n findOne: { endpoint: NFE_BASE_URL, httpMethod: 'get' },\n update: { endpoint: NFE_BASE_URL, httpMethod: 'patch' },\n count: { endpoint: `${NFE_BASE_URL}/count`, httpMethod: 'post' },\n downloadPdfByChaveAcesso: { endpoint: `${NFE_BASE_URL}/download-pdf`, httpMethod: 'get' },\n validacaoImposto: { endpoint: `${NFE_BASE_URL}/{id}/{numeroPedido}/validacao-imposto`, httpMethod: 'post' },\n addLancamentoManual: { endpoint: `${NFE_BASE_URL}/add/lancamento-manual`, httpMethod: 'patch' },\n desvincularOrdemCompra: { endpoint: `${NFE_BASE_URL}/desvincular-ordem-compra`, httpMethod: 'post' },\n estornarPedidoCompra: { endpoint: `${NFE_BASE_URL}/estornar-pedido-compra/{numeroPedido}`, httpMethod: 'post' },\n estornarOperacao: { endpoint: `${NFE_BASE_URL}/estornar-operacao?id={id}`, httpMethod: 'post' },\n finalizarPedido: { endpoint: `${NFE_BASE_URL}/finalizar-pedido/{numeroPedido}`, httpMethod: 'post' },\n lock: { endpoint: `${NFE_BASE_URL}/lock`, httpMethod: 'post' },\n}\n\nexport default nfe"],"names":[],"mappings":"AAAA,MAAM,eAAe;AAErB,MAAM,MAAM;AAAA,EACR,aAAa,EAAE,UAAU,GAAG,YAAY,iBAAiB,YAAY,OAAA;AAAA,EACrE,SAAS,EAAE,UAAU,cAAc,YAAY,MAAA;AAAA,EAC/C,QAAQ,EAAE,UAAU,cAAc,YAAY,QAAA;AAAA,EAC9C,OAAO,EAAE,UAAU,GAAG,YAAY,UAAU,YAAY,OAAA;AAAA,EACxD,0BAA0B,EAAE,UAAU,GAAG,YAAY,iBAAiB,YAAY,MAAA;AAAA,EAClF,kBAAkB,EAAE,UAAU,GAAG,YAAY,0CAA0C,YAAY,OAAA;AAAA,EACnG,qBAAqB,EAAE,UAAU,GAAG,YAAY,0BAA0B,YAAY,QAAA;AAAA,EACtF,wBAAwB,EAAE,UAAU,GAAG,YAAY,6BAA6B,YAAY,OAAA;AAAA,EAC5F,sBAAsB,EAAE,UAAU,GAAG,YAAY,0CAA0C,YAAY,OAAA;AAAA,EACvG,kBAAkB,EAAE,UAAU,GAAG,YAAY,8BAA8B,YAAY,OAAA;AAAA,EACvF,iBAAiB,EAAE,UAAU,GAAG,YAAY,oCAAoC,YAAY,OAAA;AAAA,EAC5F,MAAM,EAAE,UAAU,GAAG,YAAY,SAAS,YAAY,OAAA;AAC1D;"}
|
package/dist/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.js
CHANGED
|
@@ -4,7 +4,8 @@ const cadastroEstrategiaLiberacaoValor = {
|
|
|
4
4
|
update: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: "patch" },
|
|
5
5
|
findMonitor: { endpoint: `${CADASTRO_ESTRATEGIA_LIBERACAO_VALOR}/find-monitor`, httpMethod: "post" },
|
|
6
6
|
findOne: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: "get" },
|
|
7
|
-
delete: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: "delete" }
|
|
7
|
+
delete: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: "delete" },
|
|
8
|
+
findRolesByValor: { endpoint: `${CADASTRO_ESTRATEGIA_LIBERACAO_VALOR}/find-roles-by-valor`, httpMethod: "post" }
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
11
|
cadastroEstrategiaLiberacaoValor as default
|
package/dist/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cadastroEstrategiaLiberacaoValor.js","sources":["../../../../../../lib/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.ts"],"sourcesContent":["const CADASTRO_ESTRATEGIA_LIBERACAO_VALOR = '/compras/api/cadastro-estrategia-liberacao-valor'\n\nconst cadastroEstrategiaLiberacaoValor = {\n create: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'post' },\n update: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'patch' },\n findMonitor: { endpoint: `${CADASTRO_ESTRATEGIA_LIBERACAO_VALOR}/find-monitor`, httpMethod: 'post' },\n findOne: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'get' },\n delete: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'delete' },\n}\n\nexport default cadastroEstrategiaLiberacaoValor"],"names":[],"mappings":"AAAA,MAAM,sCAAsC;AAE5C,MAAM,mCAAmC;AAAA,EACrC,QAAQ,EAAE,UAAU,qCAAqC,YAAY,OAAA;AAAA,EACrE,QAAQ,EAAE,UAAU,qCAAqC,YAAY,QAAA;AAAA,EACrE,aAAa,EAAE,UAAU,GAAG,mCAAmC,iBAAiB,YAAY,OAAA;AAAA,EAC5F,SAAS,EAAE,UAAU,qCAAqC,YAAY,MAAA;AAAA,EACtE,QAAQ,EAAE,UAAU,qCAAqC,YAAY,SAAA;
|
|
1
|
+
{"version":3,"file":"cadastroEstrategiaLiberacaoValor.js","sources":["../../../../../../lib/base/configs/endpoints.config/compras/config/cadastroEstrategiaLiberacaoValor.ts"],"sourcesContent":["const CADASTRO_ESTRATEGIA_LIBERACAO_VALOR = '/compras/api/cadastro-estrategia-liberacao-valor'\n\nconst cadastroEstrategiaLiberacaoValor = {\n create: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'post' },\n update: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'patch' },\n findMonitor: { endpoint: `${CADASTRO_ESTRATEGIA_LIBERACAO_VALOR}/find-monitor`, httpMethod: 'post' },\n findOne: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'get' },\n delete: { endpoint: CADASTRO_ESTRATEGIA_LIBERACAO_VALOR, httpMethod: 'delete' },\n findRolesByValor: { endpoint: `${CADASTRO_ESTRATEGIA_LIBERACAO_VALOR}/find-roles-by-valor`, httpMethod: 'post' },\n}\n\nexport default cadastroEstrategiaLiberacaoValor"],"names":[],"mappings":"AAAA,MAAM,sCAAsC;AAE5C,MAAM,mCAAmC;AAAA,EACrC,QAAQ,EAAE,UAAU,qCAAqC,YAAY,OAAA;AAAA,EACrE,QAAQ,EAAE,UAAU,qCAAqC,YAAY,QAAA;AAAA,EACrE,aAAa,EAAE,UAAU,GAAG,mCAAmC,iBAAiB,YAAY,OAAA;AAAA,EAC5F,SAAS,EAAE,UAAU,qCAAqC,YAAY,MAAA;AAAA,EACtE,QAAQ,EAAE,UAAU,qCAAqC,YAAY,SAAA;AAAA,EACrE,kBAAkB,EAAE,UAAU,GAAG,mCAAmC,wBAAwB,YAAY,OAAA;AAC5G;"}
|
|
@@ -4,7 +4,8 @@ const saldoTicket = {
|
|
|
4
4
|
historicoById: (id, params) => `/originacao/api/saldo-ticket/${id}/historicos?${params ?? ""}`,
|
|
5
5
|
buscarSaldoDisponivel: "/originacao/api/saldo-ticket/saldo-disponivel",
|
|
6
6
|
findAllMetrics: (params) => `/originacao/api/saldo-ticket/metrics?${params ?? ""}`,
|
|
7
|
-
updateStatus: (id) => `/originacao/api/saldo-ticket/${id}/forcar-status-saldo
|
|
7
|
+
updateStatus: (id) => `/originacao/api/saldo-ticket/${id}/forcar-status-saldo`,
|
|
8
|
+
filterMetadata: "/originacao/api/saldo-ticket/filter-metadata"
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
11
|
saldoTicket as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saldoTicket.js","sources":["../../../../../../lib/base/configs/endpoints.config/originacao/config/saldoTicket.ts"],"sourcesContent":["const saldoTicket = {\n buscarSaldoContrato: (id: string) => `/originacao/api/saldo-ticket/contrato/${id}`,\n findAll: (params?: string) => `/originacao/api/saldo-ticket?${params ?? \"\"}`,\n historicoById: (id: string, params?: string) => `/originacao/api/saldo-ticket/${id}/historicos?${params ?? \"\"}`,\n buscarSaldoDisponivel: '/originacao/api/saldo-ticket/saldo-disponivel',\n findAllMetrics: (params?: string) => `/originacao/api/saldo-ticket/metrics?${params ?? \"\"}`,\n updateStatus: (id: string) => `/originacao/api/saldo-ticket/${id}/forcar-status-saldo
|
|
1
|
+
{"version":3,"file":"saldoTicket.js","sources":["../../../../../../lib/base/configs/endpoints.config/originacao/config/saldoTicket.ts"],"sourcesContent":["const saldoTicket = {\n buscarSaldoContrato: (id: string) => `/originacao/api/saldo-ticket/contrato/${id}`,\n findAll: (params?: string) => `/originacao/api/saldo-ticket?${params ?? \"\"}`,\n historicoById: (id: string, params?: string) => `/originacao/api/saldo-ticket/${id}/historicos?${params ?? \"\"}`,\n buscarSaldoDisponivel: '/originacao/api/saldo-ticket/saldo-disponivel',\n findAllMetrics: (params?: string) => `/originacao/api/saldo-ticket/metrics?${params ?? \"\"}`,\n updateStatus: (id: string) => `/originacao/api/saldo-ticket/${id}/forcar-status-saldo`,\n filterMetadata: '/originacao/api/saldo-ticket/filter-metadata',\n};\n\nexport default saldoTicket;"],"names":[],"mappings":"AAAA,MAAM,cAAc;AAAA,EAClB,qBAAqB,CAAC,OAAe,yCAAyC,EAAE;AAAA,EAChF,SAAS,CAAC,WAAoB,gCAAgC,UAAU,EAAE;AAAA,EAC1E,eAAe,CAAC,IAAY,WAAoB,gCAAgC,EAAE,eAAe,UAAU,EAAE;AAAA,EAC7G,uBAAuB;AAAA,EACvB,gBAAgB,CAAC,WAAoB,wCAAwC,UAAU,EAAE;AAAA,EACzF,cAAc,CAAC,OAAe,gCAAgC,EAAE;AAAA,EAChE,gBAAgB;AAClB;"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import modeloNotaSubmenu from "./config/modeloNota.submenu.js";
|
|
2
1
|
import categoriaSubmenu from "./config/categoria.submenu.js";
|
|
3
2
|
import areaAtuacaoSubmenu from "./config/areaAtuacao.submenu.js";
|
|
4
3
|
import modeloAvaliacaoSubmenu from "./config/modeloAvaliacao.submenu.js";
|
|
5
4
|
const cadastrosSubmenu = [
|
|
6
|
-
modeloNotaSubmenu,
|
|
7
5
|
categoriaSubmenu,
|
|
8
6
|
areaAtuacaoSubmenu,
|
|
9
7
|
modeloAvaliacaoSubmenu
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cadastros.submenu.js","sources":["../../../../../../lib/base/configs/navigation.config/submenu/performance/cadastros.submenu.ts"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport
|
|
1
|
+
{"version":3,"file":"cadastros.submenu.js","sources":["../../../../../../lib/base/configs/navigation.config/submenu/performance/cadastros.submenu.ts"],"sourcesContent":["import { NavigationTree } from '@/@types/navigation'\nimport categoriaSubmenu from './config/categoria.submenu'\nimport areaAtuacaoSubmenu from './config/areaAtuacao.submenu'\nimport modeloAvaliacaoSubmenu from './config/modeloAvaliacao.submenu'\n\nconst cadastrosSubmenu: NavigationTree[] = [\n categoriaSubmenu,\n areaAtuacaoSubmenu,\n modeloAvaliacaoSubmenu\n]\n\nexport default cadastrosSubmenu\n"],"names":[],"mappings":";;;AAKA,MAAM,mBAAqC;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AACJ;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import useSWR from "swr";
|
|
2
|
+
function useFilterMetadata(swrKey, fetcher) {
|
|
3
|
+
const { data, error, isLoading } = useSWR(
|
|
4
|
+
swrKey || null,
|
|
5
|
+
fetcher,
|
|
6
|
+
{
|
|
7
|
+
revalidateOnFocus: false,
|
|
8
|
+
revalidateOnReconnect: false,
|
|
9
|
+
revalidateIfStale: false,
|
|
10
|
+
dedupingInterval: 6e5
|
|
11
|
+
// 10 minutos — metadados são imutáveis por sessão
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
return {
|
|
15
|
+
fields: data ?? [],
|
|
16
|
+
isLoading,
|
|
17
|
+
error
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
useFilterMetadata as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useFilterMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilterMetadata.js","sources":["../../../../lib/base/hooks/filters/useFilterMetadata.ts"],"sourcesContent":["import useSWR from 'swr'\nimport type { IFilterFieldDescriptor } from '@base/@types/filters'\n\n/**\n * Busca e faz cache dos metadados de filtros de um endpoint específico.\n *\n * Usa configurações imutáveis de SWR: os dados são buscados uma única vez\n * por sessão e nunca revalidados automaticamente, pois metadados de filtro são\n * estruturais e não mudam durante o uso da aplicação.\n *\n * O `fetcher` deve ser a função de serviço correspondente ao endpoint,\n * garantindo que a chamada passe pelo ApiService (Axios + token de autenticação).\n *\n * @param swrKey - Chave única de cache SWR (ex: '/originacao/api/saldo-ticket/filter-metadata')\n * @param fetcher - Função que realiza a chamada à API e retorna IFilterFieldDescriptor[]\n *\n * @example\n * const { fields, isLoading, error } = useFilterMetadata(\n * '/originacao/api/saldo-ticket/filter-metadata',\n * apiFindSaldoFilterMetadata,\n * )\n */\nexport default function useFilterMetadata(\n swrKey: string,\n fetcher: () => Promise<IFilterFieldDescriptor[]>,\n) {\n const { data, error, isLoading } = useSWR<IFilterFieldDescriptor[]>(\n swrKey || null,\n fetcher,\n {\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n revalidateIfStale: false,\n dedupingInterval: 600_000, // 10 minutos — metadados são imutáveis por sessão\n }\n )\n\n return {\n fields: data ?? [],\n isLoading,\n error,\n }\n}\n"],"names":[],"mappings":";AAsBA,SAAwB,kBACpB,QACA,SACF;AACE,QAAM,EAAE,MAAM,OAAO,UAAA,IAAc;AAAA,IAC/B,UAAU;AAAA,IACV;AAAA,IACA;AAAA,MACI,mBAAmB;AAAA,MACnB,uBAAuB;AAAA,MACvB,mBAAmB;AAAA,MACnB,kBAAkB;AAAA;AAAA,IAAA;AAAA,EACtB;AAGJ,SAAO;AAAA,IACH,QAAQ,QAAQ,CAAA;AAAA,IAChB;AAAA,IACA;AAAA,EAAA;AAER;"}
|
package/dist/base/hooks/index.js
CHANGED
|
@@ -77,6 +77,7 @@ import { default as default77 } from "./dm/produto/useFindProdutosByDepositoList
|
|
|
77
77
|
import { default as default78 } from "./dm/businessPartner/useBusinessPartnerFindMonitorTransportadoraList.js";
|
|
78
78
|
import { default as default79 } from "./sap/uniaoUtilizacaoLimiteCredito/useSapFindUniaoUtilizacaoLimiteCreditoByCliente.js";
|
|
79
79
|
import { default as default80 } from "./crm/dadosUnificados/useDadosUnificadosList.js";
|
|
80
|
+
import { default as default81 } from "./filters/useFilterMetadata.js";
|
|
80
81
|
export {
|
|
81
82
|
default6 as useAreaById,
|
|
82
83
|
default7 as useBusinessPartnerById,
|
|
@@ -110,6 +111,7 @@ export {
|
|
|
110
111
|
default35 as useEquipeVendaListUseMulti,
|
|
111
112
|
default36 as useEscritorioVendaByCodigoList,
|
|
112
113
|
default37 as useEscritorioVendaList,
|
|
114
|
+
default81 as useFilterMetadata,
|
|
113
115
|
default47 as useFindByCodigosProdutoList,
|
|
114
116
|
default46 as useFindByIdsProdutoList,
|
|
115
117
|
default40 as useFindFreteByUniqueList,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|