@charlesgomes/leafcode-shared-lib-react 1.0.31 → 1.0.33
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.css +45 -10
- package/dist/index.d.mts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +81 -0
- package/dist/index.mjs +80 -1
- package/dist/styles/table.css +63 -20
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -108,7 +108,7 @@ th {
|
|
|
108
108
|
border-top: 1px solid #edf0f2;
|
|
109
109
|
border-bottom: 1px solid #edf0f2;
|
|
110
110
|
border-left: 1px solid #edf0f2;
|
|
111
|
-
padding: 0
|
|
111
|
+
padding: 0 0 0 7px;
|
|
112
112
|
font-size: 14px;
|
|
113
113
|
font-family: "Roboto", sans-serif;
|
|
114
114
|
font-weight: bold;
|
|
@@ -117,7 +117,7 @@ th {
|
|
|
117
117
|
td {
|
|
118
118
|
border-bottom: 1px solid #edf0f2;
|
|
119
119
|
border-left: 1px solid #edf0f2;
|
|
120
|
-
padding: 5px
|
|
120
|
+
padding: 1.5px 7px;
|
|
121
121
|
}
|
|
122
122
|
.p-datatable .p-datatable-header {
|
|
123
123
|
background: transparent;
|
|
@@ -134,9 +134,6 @@ td {
|
|
|
134
134
|
-moz-appearance: none;
|
|
135
135
|
background: #fff url("./seta-E7LTVAWJ.svg") no-repeat right 6px center;
|
|
136
136
|
}
|
|
137
|
-
.react-tooltip {
|
|
138
|
-
z-index: 99 !important;
|
|
139
|
-
}
|
|
140
137
|
.p-paginator-left-content {
|
|
141
138
|
flex: 1;
|
|
142
139
|
}
|
|
@@ -178,6 +175,30 @@ th {
|
|
|
178
175
|
background: #094394;
|
|
179
176
|
color: #ffffff;
|
|
180
177
|
}
|
|
178
|
+
.p-datatable .p-datatable-tbody > tr > td.p-selection-column {
|
|
179
|
+
text-align: center !important;
|
|
180
|
+
display: table-cell;
|
|
181
|
+
vertical-align: middle;
|
|
182
|
+
position: relative;
|
|
183
|
+
}
|
|
184
|
+
.p-datatable .p-datatable-tbody > tr > td.p-selection-column .p-checkbox {
|
|
185
|
+
position: relative;
|
|
186
|
+
left: -2px;
|
|
187
|
+
}
|
|
188
|
+
.p-datatable .p-datatable-thead > tr > th.p-selection-column .p-checkbox-input {
|
|
189
|
+
text-align: center !important;
|
|
190
|
+
position: relative;
|
|
191
|
+
left: -1rem;
|
|
192
|
+
}
|
|
193
|
+
.p-selection-column .p-checkbox {
|
|
194
|
+
display: inline-flex;
|
|
195
|
+
vertical-align: middle;
|
|
196
|
+
justify-content: center;
|
|
197
|
+
align-items: center;
|
|
198
|
+
}
|
|
199
|
+
.p-column-header-content .p-checkbox {
|
|
200
|
+
position: static;
|
|
201
|
+
}
|
|
181
202
|
.p-datatable .p-datatable-tbody > tr.p-highlight {
|
|
182
203
|
background: #fafbfc;
|
|
183
204
|
}
|
|
@@ -295,6 +316,7 @@ th {
|
|
|
295
316
|
}
|
|
296
317
|
.p-column-title {
|
|
297
318
|
flex: 1;
|
|
319
|
+
text-align: left;
|
|
298
320
|
}
|
|
299
321
|
.p-column-filter-add-button {
|
|
300
322
|
font-family: "Roboto", sans-serif;
|
|
@@ -400,14 +422,9 @@ th {
|
|
|
400
422
|
opacity: 1;
|
|
401
423
|
}
|
|
402
424
|
.box-icones-actions-column {
|
|
403
|
-
position: fixed;
|
|
404
|
-
z-index: 2;
|
|
405
|
-
padding: 0.125rem;
|
|
406
425
|
width: fit-content;
|
|
407
426
|
height: fit-content;
|
|
408
427
|
margin: auto;
|
|
409
|
-
right: 6px;
|
|
410
|
-
transform: translate(-50%, -50%);
|
|
411
428
|
display: flex;
|
|
412
429
|
align-items: center;
|
|
413
430
|
justify-content: center;
|
|
@@ -415,6 +432,19 @@ th {
|
|
|
415
432
|
gap: 0.25rem;
|
|
416
433
|
transition: opacity 0.2s ease;
|
|
417
434
|
}
|
|
435
|
+
.p-datatable .p-datatable-tbody > tr > td:last-child {
|
|
436
|
+
position: sticky !important;
|
|
437
|
+
right: 0;
|
|
438
|
+
z-index: 11;
|
|
439
|
+
border-left: transparent;
|
|
440
|
+
border-right: transparent;
|
|
441
|
+
}
|
|
442
|
+
.p-datatable .p-datatable-tbody > tr > td:nth-last-child(2) {
|
|
443
|
+
border-right: 1px solid #edf0f2 !important;
|
|
444
|
+
}
|
|
445
|
+
.react-tooltip {
|
|
446
|
+
z-index: 99 !important;
|
|
447
|
+
}
|
|
418
448
|
.box-icones-actions-column:hover {
|
|
419
449
|
opacity: 1;
|
|
420
450
|
}
|
|
@@ -469,3 +499,8 @@ th {
|
|
|
469
499
|
min-width: 100%;
|
|
470
500
|
}
|
|
471
501
|
}
|
|
502
|
+
.p-datatable .p-datatable-thead > tr > th:last-child .p-column-title {
|
|
503
|
+
flex: 1;
|
|
504
|
+
text-align: center;
|
|
505
|
+
padding: 0 17px 0 7px;
|
|
506
|
+
}
|
package/dist/index.d.mts
CHANGED
|
@@ -69,6 +69,7 @@ interface ColumnCustom<T> {
|
|
|
69
69
|
dataType?: "boolean" | "string" | "date" | "dateTime" | "numeric";
|
|
70
70
|
filterGlobal?: boolean;
|
|
71
71
|
filterElement?: ReactNode;
|
|
72
|
+
showFilterMatchModes?: boolean;
|
|
72
73
|
filterMatchModeOptions?: {
|
|
73
74
|
label: string;
|
|
74
75
|
value: FilterMatchModeType | string;
|
|
@@ -96,7 +97,14 @@ declare const DateFilterTemplate: (options: any, mask?: (value: any) => string |
|
|
|
96
97
|
declare const DateTimeFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
|
|
97
98
|
declare const ValueFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
|
|
98
99
|
declare const SelectFilterTemplate: (options: any, isLanguagePtBr?: boolean, items?: IItemProps[]) => react_jsx_runtime.JSX.Element;
|
|
100
|
+
declare const CustomFilterElement: (options: any, isLanguagePtBr?: boolean, items?: any[]) => react_jsx_runtime.JSX.Element;
|
|
99
101
|
|
|
102
|
+
declare const customMatchModes: {
|
|
103
|
+
notStartsWith: string;
|
|
104
|
+
notEndsWith: string;
|
|
105
|
+
empty: string;
|
|
106
|
+
notEmpty: string;
|
|
107
|
+
};
|
|
100
108
|
declare const getDefaultFilterMatchOptionsString: (isLanguagePtBr?: boolean) => {
|
|
101
109
|
label: string;
|
|
102
110
|
value: string;
|
|
@@ -118,4 +126,4 @@ declare const getDefaultFilterMatchOptionsEnumNotNullable: (isLanguagePtBr: bool
|
|
|
118
126
|
value: FilterMatchMode;
|
|
119
127
|
}[];
|
|
120
128
|
|
|
121
|
-
export { Button, type ColumnCustom, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
|
|
129
|
+
export { Button, type ColumnCustom, CustomFilterElement, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, customMatchModes, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
|
package/dist/index.d.ts
CHANGED
|
@@ -69,6 +69,7 @@ interface ColumnCustom<T> {
|
|
|
69
69
|
dataType?: "boolean" | "string" | "date" | "dateTime" | "numeric";
|
|
70
70
|
filterGlobal?: boolean;
|
|
71
71
|
filterElement?: ReactNode;
|
|
72
|
+
showFilterMatchModes?: boolean;
|
|
72
73
|
filterMatchModeOptions?: {
|
|
73
74
|
label: string;
|
|
74
75
|
value: FilterMatchModeType | string;
|
|
@@ -96,7 +97,14 @@ declare const DateFilterTemplate: (options: any, mask?: (value: any) => string |
|
|
|
96
97
|
declare const DateTimeFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
|
|
97
98
|
declare const ValueFilterTemplate: (options: any, mask?: (value: any) => string | number) => react_jsx_runtime.JSX.Element;
|
|
98
99
|
declare const SelectFilterTemplate: (options: any, isLanguagePtBr?: boolean, items?: IItemProps[]) => react_jsx_runtime.JSX.Element;
|
|
100
|
+
declare const CustomFilterElement: (options: any, isLanguagePtBr?: boolean, items?: any[]) => react_jsx_runtime.JSX.Element;
|
|
99
101
|
|
|
102
|
+
declare const customMatchModes: {
|
|
103
|
+
notStartsWith: string;
|
|
104
|
+
notEndsWith: string;
|
|
105
|
+
empty: string;
|
|
106
|
+
notEmpty: string;
|
|
107
|
+
};
|
|
100
108
|
declare const getDefaultFilterMatchOptionsString: (isLanguagePtBr?: boolean) => {
|
|
101
109
|
label: string;
|
|
102
110
|
value: string;
|
|
@@ -118,4 +126,4 @@ declare const getDefaultFilterMatchOptionsEnumNotNullable: (isLanguagePtBr: bool
|
|
|
118
126
|
value: FilterMatchMode;
|
|
119
127
|
}[];
|
|
120
128
|
|
|
121
|
-
export { Button, type ColumnCustom, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
|
|
129
|
+
export { Button, type ColumnCustom, CustomFilterElement, DataTableAdvancedFilter, DateFilterTemplate, DateTimeFilterTemplate, type IDataTableProps, type IItemProps, ModalBase, SelectFilterTemplate, ValueFilterTemplate, customMatchModes, getDefaultFilterMatchOptionsDate, getDefaultFilterMatchOptionsEnum, getDefaultFilterMatchOptionsEnumNotNullable, getDefaultFilterMatchOptionsString, getDefaultFilterMatchOptionsStringArray };
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
var index_exports = {};
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
Button: () => Button,
|
|
34
|
+
CustomFilterElement: () => CustomFilterElement,
|
|
34
35
|
DataTableAdvancedFilter: () => DataTableAdvancedFilter,
|
|
35
36
|
DateFilterTemplate: () => DateFilterTemplate,
|
|
36
37
|
DateTimeFilterTemplate: () => DateTimeFilterTemplate,
|
|
@@ -39,6 +40,7 @@ __export(index_exports, {
|
|
|
39
40
|
ModalBase: () => ModalBase,
|
|
40
41
|
SelectFilterTemplate: () => SelectFilterTemplate,
|
|
41
42
|
ValueFilterTemplate: () => ValueFilterTemplate,
|
|
43
|
+
customMatchModes: () => customMatchModes,
|
|
42
44
|
getDefaultFilterMatchOptionsDate: () => getDefaultFilterMatchOptionsDate,
|
|
43
45
|
getDefaultFilterMatchOptionsEnum: () => getDefaultFilterMatchOptionsEnum,
|
|
44
46
|
getDefaultFilterMatchOptionsEnumNotNullable: () => getDefaultFilterMatchOptionsEnumNotNullable,
|
|
@@ -239,6 +241,7 @@ function TooltipCustom({ label, id }) {
|
|
|
239
241
|
className: "tooltip-icone",
|
|
240
242
|
opacity: 1,
|
|
241
243
|
place: "top",
|
|
244
|
+
content: label,
|
|
242
245
|
anchorSelect: `#${id}`,
|
|
243
246
|
style: {
|
|
244
247
|
zIndex: 9999
|
|
@@ -464,6 +467,7 @@ function DynamicColumns({
|
|
|
464
467
|
filter: !isActionsCol,
|
|
465
468
|
frozen: col.frozen,
|
|
466
469
|
alignFrozen: col.alignFrozen,
|
|
470
|
+
showFilterMatchModes: col.showFilterMatchModes,
|
|
467
471
|
dataType: col.dataType,
|
|
468
472
|
hidden: col.hidden,
|
|
469
473
|
filterElement: col.filterElement ? (options) => col.filterElement?.(options, col.mask) ?? void 0 : void 0,
|
|
@@ -1009,6 +1013,7 @@ function DataTableAdvancedFilter({
|
|
|
1009
1013
|
|
|
1010
1014
|
// src/components/DataTableAdvancedFilter/FilterTemplates.tsx
|
|
1011
1015
|
var import_react_select = __toESM(require("react-select"));
|
|
1016
|
+
var import_dropdown = require("primereact/dropdown");
|
|
1012
1017
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1013
1018
|
var DateFilterTemplate = (options, mask) => {
|
|
1014
1019
|
const parsedValue = options.value && typeof options.value === "string" ? /* @__PURE__ */ new Date(options.value + "T00:00:00") : options.value;
|
|
@@ -1139,6 +1144,76 @@ var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
|
|
|
1139
1144
|
}
|
|
1140
1145
|
);
|
|
1141
1146
|
};
|
|
1147
|
+
var CustomFilterElement = (options, isLanguagePtBr = true, items) => {
|
|
1148
|
+
const resolvedItems = items ?? getDefaultFilterMatchOptionsString(isLanguagePtBr);
|
|
1149
|
+
const rawFilter = options.value ?? {};
|
|
1150
|
+
const currentMatchMode = rawFilter.matchMode ?? "contains";
|
|
1151
|
+
const currentValue = typeof rawFilter.value === "string" ? rawFilter.value : "";
|
|
1152
|
+
const isSpecial = currentMatchMode === customMatchModes.empty || currentMatchMode === customMatchModes.notEmpty;
|
|
1153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1154
|
+
"div",
|
|
1155
|
+
{
|
|
1156
|
+
className: "filter-wrapper",
|
|
1157
|
+
style: {
|
|
1158
|
+
display: "flex",
|
|
1159
|
+
flexDirection: "column",
|
|
1160
|
+
gap: "8px",
|
|
1161
|
+
minWidth: "200px"
|
|
1162
|
+
},
|
|
1163
|
+
children: [
|
|
1164
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1165
|
+
import_dropdown.Dropdown,
|
|
1166
|
+
{
|
|
1167
|
+
value: currentMatchMode,
|
|
1168
|
+
options: resolvedItems,
|
|
1169
|
+
optionLabel: "label",
|
|
1170
|
+
optionValue: "value",
|
|
1171
|
+
placeholder: "Tipo de filtro",
|
|
1172
|
+
style: { width: "100%" },
|
|
1173
|
+
onChange: (e) => {
|
|
1174
|
+
const newMatchMode = e.value;
|
|
1175
|
+
const isNewSpecial = newMatchMode === customMatchModes.empty || newMatchMode === customMatchModes.notEmpty;
|
|
1176
|
+
if (isNewSpecial) {
|
|
1177
|
+
options.filterCallback({
|
|
1178
|
+
value: null,
|
|
1179
|
+
matchMode: newMatchMode
|
|
1180
|
+
});
|
|
1181
|
+
return;
|
|
1182
|
+
}
|
|
1183
|
+
options.filterCallback({
|
|
1184
|
+
value: null,
|
|
1185
|
+
matchMode: newMatchMode
|
|
1186
|
+
});
|
|
1187
|
+
}
|
|
1188
|
+
}
|
|
1189
|
+
),
|
|
1190
|
+
!isSpecial && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1191
|
+
import_inputtext.InputText,
|
|
1192
|
+
{
|
|
1193
|
+
value: currentValue,
|
|
1194
|
+
placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
|
|
1195
|
+
style: { width: "100%" },
|
|
1196
|
+
className: "p-column-filter",
|
|
1197
|
+
onChange: (e) => {
|
|
1198
|
+
const value = e.target.value;
|
|
1199
|
+
if (value.trim()) {
|
|
1200
|
+
options.filterCallback({
|
|
1201
|
+
value,
|
|
1202
|
+
matchMode: currentMatchMode
|
|
1203
|
+
});
|
|
1204
|
+
} else {
|
|
1205
|
+
options.filterCallback({
|
|
1206
|
+
value: null,
|
|
1207
|
+
matchMode: currentMatchMode
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
)
|
|
1213
|
+
]
|
|
1214
|
+
}
|
|
1215
|
+
);
|
|
1216
|
+
};
|
|
1142
1217
|
|
|
1143
1218
|
// src/components/DataTableAdvancedFilter/filterModes.ts
|
|
1144
1219
|
var import_api4 = require("primereact/api");
|
|
@@ -1184,6 +1259,10 @@ var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true) => [
|
|
|
1184
1259
|
{
|
|
1185
1260
|
label: isLanguagePtBr ? "Vazio" : "Empty",
|
|
1186
1261
|
value: customMatchModes.empty
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
|
|
1265
|
+
value: customMatchModes.notEmpty
|
|
1187
1266
|
}
|
|
1188
1267
|
];
|
|
1189
1268
|
var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true) => [
|
|
@@ -1240,6 +1319,7 @@ var import_api5 = require("primereact/api");
|
|
|
1240
1319
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1241
1320
|
0 && (module.exports = {
|
|
1242
1321
|
Button,
|
|
1322
|
+
CustomFilterElement,
|
|
1243
1323
|
DataTableAdvancedFilter,
|
|
1244
1324
|
DateFilterTemplate,
|
|
1245
1325
|
DateTimeFilterTemplate,
|
|
@@ -1248,6 +1328,7 @@ var import_api5 = require("primereact/api");
|
|
|
1248
1328
|
ModalBase,
|
|
1249
1329
|
SelectFilterTemplate,
|
|
1250
1330
|
ValueFilterTemplate,
|
|
1331
|
+
customMatchModes,
|
|
1251
1332
|
getDefaultFilterMatchOptionsDate,
|
|
1252
1333
|
getDefaultFilterMatchOptionsEnum,
|
|
1253
1334
|
getDefaultFilterMatchOptionsEnumNotNullable,
|
package/dist/index.mjs
CHANGED
|
@@ -190,6 +190,7 @@ function TooltipCustom({ label, id }) {
|
|
|
190
190
|
className: "tooltip-icone",
|
|
191
191
|
opacity: 1,
|
|
192
192
|
place: "top",
|
|
193
|
+
content: label,
|
|
193
194
|
anchorSelect: `#${id}`,
|
|
194
195
|
style: {
|
|
195
196
|
zIndex: 9999
|
|
@@ -415,6 +416,7 @@ function DynamicColumns({
|
|
|
415
416
|
filter: !isActionsCol,
|
|
416
417
|
frozen: col.frozen,
|
|
417
418
|
alignFrozen: col.alignFrozen,
|
|
419
|
+
showFilterMatchModes: col.showFilterMatchModes,
|
|
418
420
|
dataType: col.dataType,
|
|
419
421
|
hidden: col.hidden,
|
|
420
422
|
filterElement: col.filterElement ? (options) => col.filterElement?.(options, col.mask) ?? void 0 : void 0,
|
|
@@ -960,7 +962,8 @@ function DataTableAdvancedFilter({
|
|
|
960
962
|
|
|
961
963
|
// src/components/DataTableAdvancedFilter/FilterTemplates.tsx
|
|
962
964
|
import Select from "react-select";
|
|
963
|
-
import {
|
|
965
|
+
import { Dropdown } from "primereact/dropdown";
|
|
966
|
+
import { jsx as jsx11, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
964
967
|
var DateFilterTemplate = (options, mask) => {
|
|
965
968
|
const parsedValue = options.value && typeof options.value === "string" ? /* @__PURE__ */ new Date(options.value + "T00:00:00") : options.value;
|
|
966
969
|
return /* @__PURE__ */ jsx11(
|
|
@@ -1090,6 +1093,76 @@ var SelectFilterTemplate = (options, isLanguagePtBr = true, items = []) => {
|
|
|
1090
1093
|
}
|
|
1091
1094
|
);
|
|
1092
1095
|
};
|
|
1096
|
+
var CustomFilterElement = (options, isLanguagePtBr = true, items) => {
|
|
1097
|
+
const resolvedItems = items ?? getDefaultFilterMatchOptionsString(isLanguagePtBr);
|
|
1098
|
+
const rawFilter = options.value ?? {};
|
|
1099
|
+
const currentMatchMode = rawFilter.matchMode ?? "contains";
|
|
1100
|
+
const currentValue = typeof rawFilter.value === "string" ? rawFilter.value : "";
|
|
1101
|
+
const isSpecial = currentMatchMode === customMatchModes.empty || currentMatchMode === customMatchModes.notEmpty;
|
|
1102
|
+
return /* @__PURE__ */ jsxs6(
|
|
1103
|
+
"div",
|
|
1104
|
+
{
|
|
1105
|
+
className: "filter-wrapper",
|
|
1106
|
+
style: {
|
|
1107
|
+
display: "flex",
|
|
1108
|
+
flexDirection: "column",
|
|
1109
|
+
gap: "8px",
|
|
1110
|
+
minWidth: "200px"
|
|
1111
|
+
},
|
|
1112
|
+
children: [
|
|
1113
|
+
/* @__PURE__ */ jsx11(
|
|
1114
|
+
Dropdown,
|
|
1115
|
+
{
|
|
1116
|
+
value: currentMatchMode,
|
|
1117
|
+
options: resolvedItems,
|
|
1118
|
+
optionLabel: "label",
|
|
1119
|
+
optionValue: "value",
|
|
1120
|
+
placeholder: "Tipo de filtro",
|
|
1121
|
+
style: { width: "100%" },
|
|
1122
|
+
onChange: (e) => {
|
|
1123
|
+
const newMatchMode = e.value;
|
|
1124
|
+
const isNewSpecial = newMatchMode === customMatchModes.empty || newMatchMode === customMatchModes.notEmpty;
|
|
1125
|
+
if (isNewSpecial) {
|
|
1126
|
+
options.filterCallback({
|
|
1127
|
+
value: null,
|
|
1128
|
+
matchMode: newMatchMode
|
|
1129
|
+
});
|
|
1130
|
+
return;
|
|
1131
|
+
}
|
|
1132
|
+
options.filterCallback({
|
|
1133
|
+
value: null,
|
|
1134
|
+
matchMode: newMatchMode
|
|
1135
|
+
});
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
),
|
|
1139
|
+
!isSpecial && /* @__PURE__ */ jsx11(
|
|
1140
|
+
InputText,
|
|
1141
|
+
{
|
|
1142
|
+
value: currentValue,
|
|
1143
|
+
placeholder: isLanguagePtBr ? "Pesquisar" : "Search",
|
|
1144
|
+
style: { width: "100%" },
|
|
1145
|
+
className: "p-column-filter",
|
|
1146
|
+
onChange: (e) => {
|
|
1147
|
+
const value = e.target.value;
|
|
1148
|
+
if (value.trim()) {
|
|
1149
|
+
options.filterCallback({
|
|
1150
|
+
value,
|
|
1151
|
+
matchMode: currentMatchMode
|
|
1152
|
+
});
|
|
1153
|
+
} else {
|
|
1154
|
+
options.filterCallback({
|
|
1155
|
+
value: null,
|
|
1156
|
+
matchMode: currentMatchMode
|
|
1157
|
+
});
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
}
|
|
1161
|
+
)
|
|
1162
|
+
]
|
|
1163
|
+
}
|
|
1164
|
+
);
|
|
1165
|
+
};
|
|
1093
1166
|
|
|
1094
1167
|
// src/components/DataTableAdvancedFilter/filterModes.ts
|
|
1095
1168
|
import { FilterMatchMode as FilterMatchMode4 } from "primereact/api";
|
|
@@ -1135,6 +1208,10 @@ var getDefaultFilterMatchOptionsString = (isLanguagePtBr = true) => [
|
|
|
1135
1208
|
{
|
|
1136
1209
|
label: isLanguagePtBr ? "Vazio" : "Empty",
|
|
1137
1210
|
value: customMatchModes.empty
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
label: isLanguagePtBr ? "N\xE3o Vazio" : "NotEmpty",
|
|
1214
|
+
value: customMatchModes.notEmpty
|
|
1138
1215
|
}
|
|
1139
1216
|
];
|
|
1140
1217
|
var getDefaultFilterMatchOptionsStringArray = (isLanguagePtBr = true) => [
|
|
@@ -1190,6 +1267,7 @@ var getDefaultFilterMatchOptionsEnumNotNullable = (isLanguagePtBr) => [
|
|
|
1190
1267
|
import { FilterMatchMode as FilterMatchMode5, FilterOperator as FilterOperator2 } from "primereact/api";
|
|
1191
1268
|
export {
|
|
1192
1269
|
Button,
|
|
1270
|
+
CustomFilterElement,
|
|
1193
1271
|
DataTableAdvancedFilter,
|
|
1194
1272
|
DateFilterTemplate,
|
|
1195
1273
|
DateTimeFilterTemplate,
|
|
@@ -1198,6 +1276,7 @@ export {
|
|
|
1198
1276
|
ModalBase,
|
|
1199
1277
|
SelectFilterTemplate,
|
|
1200
1278
|
ValueFilterTemplate,
|
|
1279
|
+
customMatchModes,
|
|
1201
1280
|
getDefaultFilterMatchOptionsDate,
|
|
1202
1281
|
getDefaultFilterMatchOptionsEnum,
|
|
1203
1282
|
getDefaultFilterMatchOptionsEnumNotNullable,
|
package/dist/styles/table.css
CHANGED
|
@@ -125,7 +125,7 @@ th {
|
|
|
125
125
|
border-top: 1px solid #edf0f2;
|
|
126
126
|
border-bottom: 1px solid #edf0f2;
|
|
127
127
|
border-left: 1px solid #edf0f2;
|
|
128
|
-
padding: 0
|
|
128
|
+
padding: 0 0 0 7px;
|
|
129
129
|
font-size: 14px;
|
|
130
130
|
font-family: "Roboto", sans-serif;
|
|
131
131
|
font-weight: bold;
|
|
@@ -135,7 +135,7 @@ th {
|
|
|
135
135
|
td {
|
|
136
136
|
border-bottom: 1px solid #edf0f2;
|
|
137
137
|
border-left: 1px solid #edf0f2;
|
|
138
|
-
padding: 5px
|
|
138
|
+
padding: 1.5px 7px;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
.p-datatable .p-datatable-header {
|
|
@@ -157,10 +157,6 @@ td {
|
|
|
157
157
|
background: #fff url("../assets/images/seta.svg") no-repeat right 6px center;
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
.react-tooltip {
|
|
161
|
-
z-index: 99 !important;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
160
|
.p-paginator-left-content {
|
|
165
161
|
flex: 1;
|
|
166
162
|
}
|
|
@@ -175,7 +171,7 @@ th {
|
|
|
175
171
|
font-weight: bold;
|
|
176
172
|
}
|
|
177
173
|
|
|
178
|
-
.p-datatable .p-datatable-tbody>tr {
|
|
174
|
+
.p-datatable .p-datatable-tbody > tr {
|
|
179
175
|
background: #fff;
|
|
180
176
|
color: #000;
|
|
181
177
|
font-family: "roboto", sans-serif;
|
|
@@ -205,13 +201,43 @@ th {
|
|
|
205
201
|
left: -2px;
|
|
206
202
|
}
|
|
207
203
|
|
|
208
|
-
.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight
|
|
204
|
+
.p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight
|
|
205
|
+
.p-checkbox-box {
|
|
209
206
|
border-color: #094394;
|
|
210
207
|
background: #094394;
|
|
211
208
|
color: #ffffff;
|
|
212
209
|
}
|
|
213
210
|
|
|
214
|
-
.p-datatable .p-datatable-tbody>tr.p-
|
|
211
|
+
.p-datatable .p-datatable-tbody > tr > td.p-selection-column {
|
|
212
|
+
text-align: center !important;
|
|
213
|
+
display: table-cell;
|
|
214
|
+
vertical-align: middle;
|
|
215
|
+
position: relative;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.p-datatable .p-datatable-tbody > tr > td.p-selection-column .p-checkbox {
|
|
219
|
+
position: relative;
|
|
220
|
+
left: -2px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.p-datatable .p-datatable-thead > tr > th.p-selection-column .p-checkbox-input {
|
|
224
|
+
text-align: center !important;
|
|
225
|
+
position: relative;
|
|
226
|
+
left: -1rem;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.p-selection-column .p-checkbox {
|
|
230
|
+
display: inline-flex;
|
|
231
|
+
vertical-align: middle;
|
|
232
|
+
justify-content: center;
|
|
233
|
+
align-items: center;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.p-column-header-content .p-checkbox {
|
|
237
|
+
position: static;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.p-datatable .p-datatable-tbody > tr.p-highlight {
|
|
215
241
|
background: #fafbfc;
|
|
216
242
|
}
|
|
217
243
|
|
|
@@ -347,6 +373,7 @@ th {
|
|
|
347
373
|
|
|
348
374
|
.p-column-title {
|
|
349
375
|
flex: 1;
|
|
376
|
+
text-align: left;
|
|
350
377
|
}
|
|
351
378
|
|
|
352
379
|
.p-column-filter-add-button {
|
|
@@ -360,7 +387,7 @@ th {
|
|
|
360
387
|
padding: 10px 0;
|
|
361
388
|
}
|
|
362
389
|
|
|
363
|
-
.p-column-filter-add-button>svg {
|
|
390
|
+
.p-column-filter-add-button > svg {
|
|
364
391
|
width: 12px;
|
|
365
392
|
height: 12px;
|
|
366
393
|
}
|
|
@@ -404,7 +431,7 @@ th {
|
|
|
404
431
|
padding: 10px 0 0 0;
|
|
405
432
|
}
|
|
406
433
|
|
|
407
|
-
.p-column-filter-remove-button>svg {
|
|
434
|
+
.p-column-filter-remove-button > svg {
|
|
408
435
|
width: 12px;
|
|
409
436
|
height: 12px;
|
|
410
437
|
}
|
|
@@ -417,8 +444,8 @@ th {
|
|
|
417
444
|
z-index: 99;
|
|
418
445
|
}
|
|
419
446
|
|
|
420
|
-
.NextPage>svg,
|
|
421
|
-
.PrevPage>svg {
|
|
447
|
+
.NextPage > svg,
|
|
448
|
+
.PrevPage > svg {
|
|
422
449
|
fill: #fff;
|
|
423
450
|
}
|
|
424
451
|
|
|
@@ -473,14 +500,9 @@ th {
|
|
|
473
500
|
}
|
|
474
501
|
|
|
475
502
|
.box-icones-actions-column {
|
|
476
|
-
position: fixed;
|
|
477
|
-
z-index: 2;
|
|
478
|
-
padding: 0.125rem;
|
|
479
503
|
width: fit-content;
|
|
480
504
|
height: fit-content;
|
|
481
505
|
margin: auto;
|
|
482
|
-
right: 6px;
|
|
483
|
-
transform: translate( -50%, -50%);
|
|
484
506
|
display: flex;
|
|
485
507
|
align-items: center;
|
|
486
508
|
justify-content: center;
|
|
@@ -489,6 +511,22 @@ th {
|
|
|
489
511
|
transition: opacity 0.2s ease;
|
|
490
512
|
}
|
|
491
513
|
|
|
514
|
+
.p-datatable .p-datatable-tbody > tr > td:last-child {
|
|
515
|
+
position: sticky !important;
|
|
516
|
+
right: 0;
|
|
517
|
+
z-index: 11;
|
|
518
|
+
border-left: transparent;
|
|
519
|
+
border-right: transparent;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
.p-datatable .p-datatable-tbody > tr > td:nth-last-child(2) {
|
|
523
|
+
border-right: 1px solid #edf0f2 !important;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.react-tooltip {
|
|
527
|
+
z-index: 99 !important;
|
|
528
|
+
}
|
|
529
|
+
|
|
492
530
|
.box-icones-actions-column:hover {
|
|
493
531
|
opacity: 1;
|
|
494
532
|
}
|
|
@@ -542,7 +580,6 @@ th {
|
|
|
542
580
|
}
|
|
543
581
|
|
|
544
582
|
@media (max-width: 567px) {
|
|
545
|
-
|
|
546
583
|
.disablePagination,
|
|
547
584
|
.paginatorLeft {
|
|
548
585
|
display: grid;
|
|
@@ -552,4 +589,10 @@ th {
|
|
|
552
589
|
.custom-select {
|
|
553
590
|
min-width: 100%;
|
|
554
591
|
}
|
|
555
|
-
}
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
.p-datatable .p-datatable-thead > tr > th:last-child .p-column-title {
|
|
595
|
+
flex: 1;
|
|
596
|
+
text-align: center;
|
|
597
|
+
padding: 0 17px 0 7px;
|
|
598
|
+
}
|