@bluemarble/bm-components 0.0.71 → 0.0.72
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/esm/index.js +823 -823
- package/dist/esm/types/components/Autocomplete/index.d.ts +27 -27
- package/dist/esm/types/components/BaseGrid/Pagination/index.d.ts +12 -12
- package/dist/esm/types/components/BaseGrid/index.d.ts +32 -32
- package/dist/esm/types/components/Checkbox/index.d.ts +19 -19
- package/dist/esm/types/components/Dialog/index.d.ts +16 -16
- package/dist/esm/types/components/EditableGrid/GridCell.d.ts +24 -24
- package/dist/esm/types/components/EditableGrid/GridInput/index.d.ts +16 -16
- package/dist/esm/types/components/EditableGrid/GridInputAutocomplete/index.d.ts +11 -11
- package/dist/esm/types/components/EditableGrid/GridInputText/index.d.ts +3 -3
- package/dist/esm/types/components/EditableGrid/GridSelect/index.d.ts +10 -10
- package/dist/esm/types/components/EditableGrid/NewRow/index.d.ts +13 -13
- package/dist/esm/types/components/EditableGrid/index.d.ts +52 -52
- package/dist/esm/types/components/Grid/AutoCreatedRows.d.ts +9 -9
- package/dist/esm/types/components/Grid/EditableTableCell/DefaultInput.d.ts +17 -17
- package/dist/esm/types/components/Grid/EditableTableCell/InputMask.d.ts +8 -8
- package/dist/esm/types/components/Grid/EditableTableCell/index.d.ts +24 -24
- package/dist/esm/types/components/Grid/Filters.d.ts +13 -13
- package/dist/esm/types/components/Grid/Grid.d.ts +33 -33
- package/dist/esm/types/components/Grid/Header.d.ts +11 -11
- package/dist/esm/types/components/Grid/Td.d.ts +3 -3
- package/dist/esm/types/components/Grid/Tr.d.ts +13 -13
- package/dist/esm/types/components/Grid/index.d.ts +6 -6
- package/dist/esm/types/components/Grid/utils.d.ts +5 -5
- package/dist/esm/types/components/Input/index.d.ts +12 -12
- package/dist/esm/types/components/InputMask/index.d.ts +13 -13
- package/dist/esm/types/components/LargeButton/index.d.ts +9 -9
- package/dist/esm/types/components/Modal/index.d.ts +8 -8
- package/dist/esm/types/components/Radio/index.d.ts +23 -23
- package/dist/esm/types/components/Select/index.d.ts +17 -17
- package/dist/esm/types/components/Switch/index.d.ts +19 -19
- package/dist/esm/types/components/TabPanel/index.d.ts +11 -11
- package/dist/esm/types/components/hooks/useEditableGrid.d.ts +23 -23
- package/dist/esm/types/components/hooks/useEvent.d.ts +1 -1
- package/dist/esm/types/components/hooks/useFilter.d.ts +17 -17
- package/dist/esm/types/components/hooks/useGrid.d.ts +23 -23
- package/dist/esm/types/components/hooks/useLoading.d.ts +4 -4
- package/dist/esm/types/components/index.d.ts +18 -18
- package/dist/esm/types/components/utils/GetInputLabel.d.ts +4 -4
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/index.d.ts +248 -248
- package/package.json +45 -45
package/dist/esm/index.js
CHANGED
|
@@ -5,35 +5,35 @@ import emStyled from '@emotion/styled';
|
|
|
5
5
|
import '@emotion/react';
|
|
6
6
|
import { Field, useField } from 'formik';
|
|
7
7
|
|
|
8
|
-
const GridHeader = ({ setOrder, setOrderBy, order, orderBy, titles = [] }) => {
|
|
9
|
-
function onRequestSort(title) {
|
|
10
|
-
if (title !== orderBy) {
|
|
11
|
-
setOrderBy(title);
|
|
12
|
-
return setOrder('desc');
|
|
13
|
-
}
|
|
14
|
-
switch (order) {
|
|
15
|
-
case 'desc':
|
|
16
|
-
setOrder('asc');
|
|
17
|
-
setOrderBy(title);
|
|
18
|
-
break;
|
|
19
|
-
case 'asc':
|
|
20
|
-
setOrder(undefined);
|
|
21
|
-
setOrderBy('');
|
|
22
|
-
break;
|
|
23
|
-
default:
|
|
24
|
-
setOrder('desc');
|
|
25
|
-
setOrderBy(title);
|
|
26
|
-
break;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return (React__default.createElement(TableHead, null,
|
|
30
|
-
React__default.createElement(TableRow, { sx: { backgroundColor: 'background.default' } }, titles.map((title) => {
|
|
31
|
-
return (React__default.createElement(TableCell, { key: title.name, sortDirection: orderBy === title.name ? order : false, sx: Object.assign({ fontWeight: 'bold' }, title.sx) },
|
|
32
|
-
React__default.createElement(TableSortLabel, { onClick: () => onRequestSort(title.name), active: orderBy === title.name, direction: orderBy === title.name ? order : 'asc', sx: {
|
|
33
|
-
position: 'relative',
|
|
34
|
-
svg: { position: 'absolute', right: '27px' }
|
|
35
|
-
} }, title.label)));
|
|
36
|
-
}))));
|
|
8
|
+
const GridHeader = ({ setOrder, setOrderBy, order, orderBy, titles = [] }) => {
|
|
9
|
+
function onRequestSort(title) {
|
|
10
|
+
if (title !== orderBy) {
|
|
11
|
+
setOrderBy(title);
|
|
12
|
+
return setOrder('desc');
|
|
13
|
+
}
|
|
14
|
+
switch (order) {
|
|
15
|
+
case 'desc':
|
|
16
|
+
setOrder('asc');
|
|
17
|
+
setOrderBy(title);
|
|
18
|
+
break;
|
|
19
|
+
case 'asc':
|
|
20
|
+
setOrder(undefined);
|
|
21
|
+
setOrderBy('');
|
|
22
|
+
break;
|
|
23
|
+
default:
|
|
24
|
+
setOrder('desc');
|
|
25
|
+
setOrderBy(title);
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return (React__default.createElement(TableHead, null,
|
|
30
|
+
React__default.createElement(TableRow, { sx: { backgroundColor: 'background.default' } }, titles.map((title) => {
|
|
31
|
+
return (React__default.createElement(TableCell, { key: title.name, sortDirection: orderBy === title.name ? order : false, sx: Object.assign({ fontWeight: 'bold' }, title.sx) },
|
|
32
|
+
React__default.createElement(TableSortLabel, { onClick: () => onRequestSort(title.name), active: orderBy === title.name, direction: orderBy === title.name ? order : 'asc', sx: {
|
|
33
|
+
position: 'relative',
|
|
34
|
+
svg: { position: 'absolute', right: '27px' }
|
|
35
|
+
} }, title.label)));
|
|
36
|
+
}))));
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
function _extends() {
|
|
@@ -3800,47 +3800,47 @@ function MdSearch (props) {
|
|
|
3800
3800
|
return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"fill":"none","d":"M0 0h24v24H0z"}},{"tag":"path","attr":{"d":"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}}]})(props);
|
|
3801
3801
|
}
|
|
3802
3802
|
|
|
3803
|
-
const FiltersBar = ({ customButtons, selectedFilters, handleCloseFilter, noFilterButtons, searchAnchorEl, setOpenSearch, setAnchorEl, noFilters }) => {
|
|
3804
|
-
return (React__default.createElement(Box$1, { sx: {
|
|
3805
|
-
display: 'flex',
|
|
3806
|
-
justifyContent: 'space-between',
|
|
3807
|
-
alignItems: 'center',
|
|
3808
|
-
width: '100%'
|
|
3809
|
-
} },
|
|
3810
|
-
!noFilters && (React__default.createElement(Box$1, { sx: { pl: 1 } }, selectedFilters.map((item, index) => {
|
|
3811
|
-
return (React__default.createElement(Chip, { key: index, label: item.value, onDelete: () => handleCloseFilter(item) }));
|
|
3812
|
-
}))),
|
|
3813
|
-
React__default.createElement(Box$1, { ref: searchAnchorEl, sx: { minHeight: 30, width: '100%' } },
|
|
3814
|
-
customButtons,
|
|
3815
|
-
!noFilterButtons && (React__default.createElement(React__default.Fragment, null,
|
|
3816
|
-
React__default.createElement(Tooltip, { title: "Buscar" },
|
|
3817
|
-
React__default.createElement(IconButton, { onClick: () => setOpenSearch(true) },
|
|
3818
|
-
React__default.createElement(MdSearch, { size: 8 * 3 }))),
|
|
3819
|
-
React__default.createElement(Tooltip, { title: "Filtrar" },
|
|
3820
|
-
React__default.createElement(IconButton, { sx: { position: 'relative' }, onClick: ({ currentTarget }) => setAnchorEl(currentTarget) },
|
|
3821
|
-
React__default.createElement(MdFilterList, { size: 8 * 3 }))))))));
|
|
3803
|
+
const FiltersBar = ({ customButtons, selectedFilters, handleCloseFilter, noFilterButtons, searchAnchorEl, setOpenSearch, setAnchorEl, noFilters }) => {
|
|
3804
|
+
return (React__default.createElement(Box$1, { sx: {
|
|
3805
|
+
display: 'flex',
|
|
3806
|
+
justifyContent: 'space-between',
|
|
3807
|
+
alignItems: 'center',
|
|
3808
|
+
width: '100%'
|
|
3809
|
+
} },
|
|
3810
|
+
!noFilters && (React__default.createElement(Box$1, { sx: { pl: 1 } }, selectedFilters.map((item, index) => {
|
|
3811
|
+
return (React__default.createElement(Chip, { key: index, label: item.value, onDelete: () => handleCloseFilter(item) }));
|
|
3812
|
+
}))),
|
|
3813
|
+
React__default.createElement(Box$1, { ref: searchAnchorEl, sx: { minHeight: 30, width: '100%' } },
|
|
3814
|
+
customButtons,
|
|
3815
|
+
!noFilterButtons && (React__default.createElement(React__default.Fragment, null,
|
|
3816
|
+
React__default.createElement(Tooltip, { title: "Buscar" },
|
|
3817
|
+
React__default.createElement(IconButton, { onClick: () => setOpenSearch(true) },
|
|
3818
|
+
React__default.createElement(MdSearch, { size: 8 * 3 }))),
|
|
3819
|
+
React__default.createElement(Tooltip, { title: "Filtrar" },
|
|
3820
|
+
React__default.createElement(IconButton, { sx: { position: 'relative' }, onClick: ({ currentTarget }) => setAnchorEl(currentTarget) },
|
|
3821
|
+
React__default.createElement(MdFilterList, { size: 8 * 3 }))))))));
|
|
3822
3822
|
};
|
|
3823
3823
|
|
|
3824
|
-
function filterData(filters, defaultData) {
|
|
3825
|
-
if (filters.length === 0)
|
|
3826
|
-
return defaultData.current;
|
|
3827
|
-
const filteredArray = defaultData.current.slice(0).filter((item) => {
|
|
3828
|
-
let satisfiedFilter = 0;
|
|
3829
|
-
filters.forEach((sub) => {
|
|
3830
|
-
let currentValue = getPropertyValue(item, sub.column);
|
|
3831
|
-
if (sub.transformer)
|
|
3832
|
-
currentValue = sub.transformer(currentValue);
|
|
3833
|
-
if (String(currentValue) === String(sub.value))
|
|
3834
|
-
satisfiedFilter += 1;
|
|
3835
|
-
});
|
|
3836
|
-
if (satisfiedFilter === filters.length)
|
|
3837
|
-
return true;
|
|
3838
|
-
return false;
|
|
3839
|
-
});
|
|
3840
|
-
return filteredArray;
|
|
3841
|
-
}
|
|
3842
|
-
function getPropertyValue(obj, property) {
|
|
3843
|
-
return String(property.split('.').reduce((o, k) => o && o[k], obj));
|
|
3824
|
+
function filterData(filters, defaultData) {
|
|
3825
|
+
if (filters.length === 0)
|
|
3826
|
+
return defaultData.current;
|
|
3827
|
+
const filteredArray = defaultData.current.slice(0).filter((item) => {
|
|
3828
|
+
let satisfiedFilter = 0;
|
|
3829
|
+
filters.forEach((sub) => {
|
|
3830
|
+
let currentValue = getPropertyValue(item, sub.column);
|
|
3831
|
+
if (sub.transformer)
|
|
3832
|
+
currentValue = sub.transformer(currentValue);
|
|
3833
|
+
if (String(currentValue) === String(sub.value))
|
|
3834
|
+
satisfiedFilter += 1;
|
|
3835
|
+
});
|
|
3836
|
+
if (satisfiedFilter === filters.length)
|
|
3837
|
+
return true;
|
|
3838
|
+
return false;
|
|
3839
|
+
});
|
|
3840
|
+
return filteredArray;
|
|
3841
|
+
}
|
|
3842
|
+
function getPropertyValue(obj, property) {
|
|
3843
|
+
return String(property.split('.').reduce((o, k) => o && o[k], obj));
|
|
3844
3844
|
}
|
|
3845
3845
|
|
|
3846
3846
|
/*! *****************************************************************************
|
|
@@ -3870,222 +3870,222 @@ function __rest(s, e) {
|
|
|
3870
3870
|
return t;
|
|
3871
3871
|
}
|
|
3872
3872
|
|
|
3873
|
-
const CustomTableCell = (_a) => {
|
|
3874
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
3875
|
-
return React__default.createElement(TableCell, Object.assign({}, props), children);
|
|
3876
|
-
};
|
|
3873
|
+
const CustomTableCell = (_a) => {
|
|
3874
|
+
var { children } = _a, props = __rest(_a, ["children"]);
|
|
3875
|
+
return React__default.createElement(TableCell, Object.assign({}, props), children);
|
|
3876
|
+
};
|
|
3877
3877
|
const Td = memo(CustomTableCell);
|
|
3878
3878
|
|
|
3879
|
-
const CustomTableRow = (props) => {
|
|
3880
|
-
const { children, sx, striped = true, bordered = undefined } = props, rest = __rest(props, ["children", "sx", "striped", "bordered"]);
|
|
3881
|
-
return (React__default.createElement(TableRow, Object.assign({ sx: Object.assign({ '&:nth-of-type(even)': { bgcolor: striped ? 'action.selected' : '' } }, sx) }, rest), React__default.Children.map(children, (child) => React__default.cloneElement(child, {
|
|
3882
|
-
bordered
|
|
3883
|
-
}))));
|
|
3884
|
-
};
|
|
3879
|
+
const CustomTableRow = (props) => {
|
|
3880
|
+
const { children, sx, striped = true, bordered = undefined } = props, rest = __rest(props, ["children", "sx", "striped", "bordered"]);
|
|
3881
|
+
return (React__default.createElement(TableRow, Object.assign({ sx: Object.assign({ '&:nth-of-type(even)': { bgcolor: striped ? 'action.selected' : '' } }, sx) }, rest), React__default.Children.map(children, (child) => React__default.cloneElement(child, {
|
|
3882
|
+
bordered
|
|
3883
|
+
}))));
|
|
3884
|
+
};
|
|
3885
3885
|
const Tr = memo(CustomTableRow);
|
|
3886
3886
|
|
|
3887
|
-
const AutoCreatedRows = ({ tableData, columns, primaryKey }) => {
|
|
3888
|
-
return (React__default.createElement(React__default.Fragment, null, tableData.map((row) => (React__default.createElement(Tr, { key: row[primaryKey] }, columns.map((column) => {
|
|
3889
|
-
const cellValue = column.transformer
|
|
3890
|
-
? column.transformer(row[column.name])
|
|
3891
|
-
: row[column.name];
|
|
3892
|
-
return React__default.createElement(Td, { key: column.name }, cellValue);
|
|
3893
|
-
}))))));
|
|
3887
|
+
const AutoCreatedRows = ({ tableData, columns, primaryKey }) => {
|
|
3888
|
+
return (React__default.createElement(React__default.Fragment, null, tableData.map((row) => (React__default.createElement(Tr, { key: row[primaryKey] }, columns.map((column) => {
|
|
3889
|
+
const cellValue = column.transformer
|
|
3890
|
+
? column.transformer(row[column.name])
|
|
3891
|
+
: row[column.name];
|
|
3892
|
+
return React__default.createElement(Td, { key: column.name }, cellValue);
|
|
3893
|
+
}))))));
|
|
3894
3894
|
};
|
|
3895
3895
|
|
|
3896
|
-
const Grid = (props) => {
|
|
3897
|
-
const { columnTitles, isLoading, footer, noFilterButtons = false, selectedFilters, customButtons, setSelectedFilters, defaultData, setTableData, updateFilters, tableData, rowOptions = [60, 100, 150], noPagination, primaryKey, noFilters } = props;
|
|
3898
|
-
const [order, setOrder] = useState(undefined);
|
|
3899
|
-
const [orderBy, setOrderBy] = useState('');
|
|
3900
|
-
const [page, setPage] = useState(0);
|
|
3901
|
-
const [rowsPerPage, setRowsPerPage] = useState(rowOptions[0]);
|
|
3902
|
-
const [selectedTitle, setSelectedTitle] = useState(undefined);
|
|
3903
|
-
const [selectedFilterValue, setSelectedFilterValue] = useState(undefined);
|
|
3904
|
-
const [valuesToFilter, setValuesToFilter] = useState([]);
|
|
3905
|
-
const [anchorEl, setAnchorEl] = useState(null);
|
|
3906
|
-
const [searchText, setSearchText] = useState('');
|
|
3907
|
-
const [openSearch, setOpenSearch] = useState(false);
|
|
3908
|
-
const searchAnchorEl = useRef(null);
|
|
3909
|
-
const countRows = useMemo(() => {
|
|
3910
|
-
if (searchText.length > 0) {
|
|
3911
|
-
const array = handleFilterBySearch(searchText);
|
|
3912
|
-
return array.length;
|
|
3913
|
-
}
|
|
3914
|
-
else {
|
|
3915
|
-
return defaultData.length;
|
|
3916
|
-
}
|
|
3917
|
-
}, [searchText, tableData]);
|
|
3918
|
-
const handleChangeRowsPerPage = ({ target }) => {
|
|
3919
|
-
setRowsPerPage(parseInt(target.value));
|
|
3920
|
-
const maxPage = Math.floor(countRows / rowsPerPage);
|
|
3921
|
-
if (page > maxPage)
|
|
3922
|
-
setPage(maxPage);
|
|
3923
|
-
};
|
|
3924
|
-
function handleSort(data) {
|
|
3925
|
-
const sortable = data.slice(0);
|
|
3926
|
-
if (order === undefined)
|
|
3927
|
-
return sortable;
|
|
3928
|
-
sortable.sort((a, b) => {
|
|
3929
|
-
const x = a[orderBy];
|
|
3930
|
-
const y = b[orderBy];
|
|
3931
|
-
return x < y ? -1 : x > y ? 1 : 0;
|
|
3932
|
-
});
|
|
3933
|
-
return order === 'asc' ? sortable : sortable.reverse();
|
|
3934
|
-
}
|
|
3935
|
-
function handleAddFilter() {
|
|
3936
|
-
const [column] = columnTitles.filter((item) => item.label === selectedTitle);
|
|
3937
|
-
const newFilter = {
|
|
3938
|
-
column: column.name,
|
|
3939
|
-
value: selectedFilterValue || '',
|
|
3940
|
-
transformer: column.transformer
|
|
3941
|
-
};
|
|
3942
|
-
const filterAlreadyExists = selectedFilters.some((filter) => filter.column === column.name && filter.value === selectedFilterValue);
|
|
3943
|
-
if (filterAlreadyExists)
|
|
3944
|
-
return;
|
|
3945
|
-
setSelectedFilters([...selectedFilters, newFilter]);
|
|
3946
|
-
}
|
|
3947
|
-
function handleCloseFilter(item) {
|
|
3948
|
-
const filterToDelete = selectedFilters.find((filter) => filter.column === item.column && filter.value === item.value);
|
|
3949
|
-
if (!filterToDelete)
|
|
3950
|
-
return;
|
|
3951
|
-
const filteredSelectedFilters = selectedFilters.filter((_, index) => selectedFilters.indexOf(filterToDelete) !== index);
|
|
3952
|
-
setSelectedFilters([...filteredSelectedFilters]);
|
|
3953
|
-
}
|
|
3954
|
-
function handleFilterBySearch(text) {
|
|
3955
|
-
const newArray = defaultData.filter((item) => {
|
|
3956
|
-
for (const [, value] of Object.entries(item)) {
|
|
3957
|
-
if (`${value}`.toLocaleLowerCase().includes(text.toLocaleLowerCase()))
|
|
3958
|
-
return true;
|
|
3959
|
-
}
|
|
3960
|
-
return false;
|
|
3961
|
-
});
|
|
3962
|
-
return newArray;
|
|
3963
|
-
}
|
|
3964
|
-
useEffect(() => {
|
|
3965
|
-
const maxPage = Math.floor(countRows / rowsPerPage);
|
|
3966
|
-
if (page > maxPage)
|
|
3967
|
-
setPage(maxPage - 1);
|
|
3968
|
-
}, [countRows]);
|
|
3969
|
-
useEffect(() => {
|
|
3970
|
-
if (order) {
|
|
3971
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3972
|
-
const sortedArray = handleSort(newArray);
|
|
3973
|
-
const data = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3974
|
-
setTableData(data);
|
|
3975
|
-
}
|
|
3976
|
-
else {
|
|
3977
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3978
|
-
const data = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3979
|
-
setTableData(data);
|
|
3980
|
-
}
|
|
3981
|
-
}, [defaultData]);
|
|
3982
|
-
useEffect(() => {
|
|
3983
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3984
|
-
const sortedArray = handleSort(newArray);
|
|
3985
|
-
const paginatedArray = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3986
|
-
setTableData(paginatedArray);
|
|
3987
|
-
}, [order, orderBy]);
|
|
3988
|
-
useEffect(() => {
|
|
3989
|
-
if (order) {
|
|
3990
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3991
|
-
const sortedArray = handleSort(newArray);
|
|
3992
|
-
const dados = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3993
|
-
setTableData(dados);
|
|
3994
|
-
}
|
|
3995
|
-
else {
|
|
3996
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3997
|
-
const dados = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3998
|
-
setTableData(dados);
|
|
3999
|
-
}
|
|
4000
|
-
}, [page, rowsPerPage]);
|
|
4001
|
-
useEffect(() => {
|
|
4002
|
-
setValuesToFilter([]);
|
|
4003
|
-
setSelectedFilterValue(undefined);
|
|
4004
|
-
if (selectedTitle) {
|
|
4005
|
-
const values = [];
|
|
4006
|
-
const [prop] = columnTitles.filter((item) => item.label === selectedTitle);
|
|
4007
|
-
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
4008
|
-
newArray.forEach((item) => {
|
|
4009
|
-
const value = prop.transformer
|
|
4010
|
-
? prop.transformer(getPropertyValue(item, prop.name))
|
|
4011
|
-
: String(getPropertyValue(item, prop.name));
|
|
4012
|
-
if (!values.includes(value))
|
|
4013
|
-
values.push(value);
|
|
4014
|
-
});
|
|
4015
|
-
setValuesToFilter(values);
|
|
4016
|
-
}
|
|
4017
|
-
}, [selectedTitle]);
|
|
4018
|
-
useEffect(() => {
|
|
4019
|
-
if (order) {
|
|
4020
|
-
const newArray = handleFilterBySearch(searchText);
|
|
4021
|
-
const sortedArray = handleSort(newArray);
|
|
4022
|
-
const dados = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
4023
|
-
setTableData(dados);
|
|
4024
|
-
}
|
|
4025
|
-
else {
|
|
4026
|
-
const newArray = handleFilterBySearch(searchText);
|
|
4027
|
-
const dados = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
4028
|
-
setTableData(dados);
|
|
4029
|
-
}
|
|
4030
|
-
}, [searchText]);
|
|
4031
|
-
useEffect(() => {
|
|
4032
|
-
updateFilters(selectedFilters);
|
|
4033
|
-
}, [selectedFilters]);
|
|
4034
|
-
return (React__default.createElement(Paper, null,
|
|
4035
|
-
isLoading && React__default.createElement(LinearProgress, null),
|
|
4036
|
-
React__default.createElement(FiltersBar, { setAnchorEl: setAnchorEl, setOpenSearch: setOpenSearch, searchAnchorEl: searchAnchorEl, noFilters: noFilters, noFilterButtons: noFilterButtons, selectedFilters: selectedFilters, customButtons: customButtons, handleCloseFilter: handleCloseFilter }),
|
|
4037
|
-
React__default.createElement(TableContainer, null,
|
|
4038
|
-
React__default.createElement(Table, { size: "small" },
|
|
4039
|
-
React__default.createElement(GridHeader, { titles: columnTitles, order: order, orderBy: orderBy, setOrder: setOrder, setOrderBy: setOrderBy }),
|
|
4040
|
-
React__default.createElement(TableBody, null,
|
|
4041
|
-
props.children ? (props.children) : primaryKey ? (React__default.createElement(AutoCreatedRows, { tableData: tableData, columns: columnTitles, primaryKey: primaryKey })) : null,
|
|
4042
|
-
footer))),
|
|
4043
|
-
!noPagination && (React__default.createElement(TablePagination, { page: page, component: "div", rowsPerPage: rowsPerPage, labelRowsPerPage: "Linhas por p\u00E1gina", rowsPerPageOptions: rowOptions, count: countRows, labelDisplayedRows: ({ page }) => `${page + 1} de ${Math.floor(countRows / rowsPerPage) + 1}`, onPageChange: (_, newPage) => {
|
|
4044
|
-
setPage(newPage);
|
|
4045
|
-
}, onRowsPerPageChange: handleChangeRowsPerPage })),
|
|
4046
|
-
React__default.createElement(Popover, { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), anchorOrigin: {
|
|
4047
|
-
vertical: 'top',
|
|
4048
|
-
horizontal: 'right'
|
|
4049
|
-
}, transformOrigin: {
|
|
4050
|
-
vertical: 'top',
|
|
4051
|
-
horizontal: 'right'
|
|
4052
|
-
} },
|
|
4053
|
-
React__default.createElement(Box$2, { sx: { minWidth: 300, padding: 2 } },
|
|
4054
|
-
React__default.createElement(Typography, { fontWeight: "bold", variant: "body2" }, "Filtrar por:"),
|
|
4055
|
-
React__default.createElement(Autocomplete$1, { value: selectedTitle || '', onChange: ({ target }) => {
|
|
4056
|
-
!target.innerHTML.includes('path')
|
|
4057
|
-
? setSelectedTitle(target.innerHTML)
|
|
4058
|
-
: setSelectedTitle(undefined);
|
|
4059
|
-
}, options: columnTitles.map((title) => title.label), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Coluna" }))) }),
|
|
4060
|
-
React__default.createElement(Autocomplete$1, { value: selectedFilterValue || '', onChange: ({ target }) => {
|
|
4061
|
-
!target.innerHTML.includes('path')
|
|
4062
|
-
? setSelectedFilterValue(target.innerHTML)
|
|
4063
|
-
: setSelectedFilterValue(undefined);
|
|
4064
|
-
}, disabled: valuesToFilter.length < 1, options: valuesToFilter.map((title) => title), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Valor" }))) }),
|
|
4065
|
-
React__default.createElement(Box$2, { sx: { py: 1 } }),
|
|
4066
|
-
React__default.createElement(Button, { disabled: !selectedFilterValue, onClick: handleAddFilter, fullWidth: true }, "Adicionar filtro"))),
|
|
4067
|
-
React__default.createElement(Popover, { anchorEl: searchAnchorEl.current, open: openSearch, onClose: () => setOpenSearch(false), anchorOrigin: {
|
|
4068
|
-
vertical: 'top',
|
|
4069
|
-
horizontal: 'left'
|
|
4070
|
-
}, transformOrigin: {
|
|
4071
|
-
vertical: 'top',
|
|
4072
|
-
horizontal: 'left'
|
|
4073
|
-
} },
|
|
4074
|
-
React__default.createElement(Box$2, { sx: {
|
|
4075
|
-
minWidth: 300,
|
|
4076
|
-
px: 2,
|
|
4077
|
-
pb: 1,
|
|
4078
|
-
display: 'grid',
|
|
4079
|
-
gridTemplateColumns: '1fr 30px',
|
|
4080
|
-
alignItems: 'flex-end'
|
|
4081
|
-
} },
|
|
4082
|
-
React__default.createElement(TextField, { variant: "standard", margin: "dense", label: "Buscar", value: searchText, onChange: ({ currentTarget }) => setSearchText(currentTarget.value) }),
|
|
4083
|
-
React__default.createElement(Box$2, null,
|
|
4084
|
-
React__default.createElement(IconButton, { onClick: () => {
|
|
4085
|
-
setSearchText('');
|
|
4086
|
-
setOpenSearch(false);
|
|
4087
|
-
} },
|
|
4088
|
-
React__default.createElement(MdClose, { size: 8 * 3 })))))));
|
|
3896
|
+
const Grid = (props) => {
|
|
3897
|
+
const { columnTitles, isLoading, footer, noFilterButtons = false, selectedFilters, customButtons, setSelectedFilters, defaultData, setTableData, updateFilters, tableData, rowOptions = [60, 100, 150], noPagination, primaryKey, noFilters } = props;
|
|
3898
|
+
const [order, setOrder] = useState(undefined);
|
|
3899
|
+
const [orderBy, setOrderBy] = useState('');
|
|
3900
|
+
const [page, setPage] = useState(0);
|
|
3901
|
+
const [rowsPerPage, setRowsPerPage] = useState(rowOptions[0]);
|
|
3902
|
+
const [selectedTitle, setSelectedTitle] = useState(undefined);
|
|
3903
|
+
const [selectedFilterValue, setSelectedFilterValue] = useState(undefined);
|
|
3904
|
+
const [valuesToFilter, setValuesToFilter] = useState([]);
|
|
3905
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
3906
|
+
const [searchText, setSearchText] = useState('');
|
|
3907
|
+
const [openSearch, setOpenSearch] = useState(false);
|
|
3908
|
+
const searchAnchorEl = useRef(null);
|
|
3909
|
+
const countRows = useMemo(() => {
|
|
3910
|
+
if (searchText.length > 0) {
|
|
3911
|
+
const array = handleFilterBySearch(searchText);
|
|
3912
|
+
return array.length;
|
|
3913
|
+
}
|
|
3914
|
+
else {
|
|
3915
|
+
return defaultData.length;
|
|
3916
|
+
}
|
|
3917
|
+
}, [searchText, tableData]);
|
|
3918
|
+
const handleChangeRowsPerPage = ({ target }) => {
|
|
3919
|
+
setRowsPerPage(parseInt(target.value));
|
|
3920
|
+
const maxPage = Math.floor(countRows / rowsPerPage);
|
|
3921
|
+
if (page > maxPage)
|
|
3922
|
+
setPage(maxPage);
|
|
3923
|
+
};
|
|
3924
|
+
function handleSort(data) {
|
|
3925
|
+
const sortable = data.slice(0);
|
|
3926
|
+
if (order === undefined)
|
|
3927
|
+
return sortable;
|
|
3928
|
+
sortable.sort((a, b) => {
|
|
3929
|
+
const x = a[orderBy];
|
|
3930
|
+
const y = b[orderBy];
|
|
3931
|
+
return x < y ? -1 : x > y ? 1 : 0;
|
|
3932
|
+
});
|
|
3933
|
+
return order === 'asc' ? sortable : sortable.reverse();
|
|
3934
|
+
}
|
|
3935
|
+
function handleAddFilter() {
|
|
3936
|
+
const [column] = columnTitles.filter((item) => item.label === selectedTitle);
|
|
3937
|
+
const newFilter = {
|
|
3938
|
+
column: column.name,
|
|
3939
|
+
value: selectedFilterValue || '',
|
|
3940
|
+
transformer: column.transformer
|
|
3941
|
+
};
|
|
3942
|
+
const filterAlreadyExists = selectedFilters.some((filter) => filter.column === column.name && filter.value === selectedFilterValue);
|
|
3943
|
+
if (filterAlreadyExists)
|
|
3944
|
+
return;
|
|
3945
|
+
setSelectedFilters([...selectedFilters, newFilter]);
|
|
3946
|
+
}
|
|
3947
|
+
function handleCloseFilter(item) {
|
|
3948
|
+
const filterToDelete = selectedFilters.find((filter) => filter.column === item.column && filter.value === item.value);
|
|
3949
|
+
if (!filterToDelete)
|
|
3950
|
+
return;
|
|
3951
|
+
const filteredSelectedFilters = selectedFilters.filter((_, index) => selectedFilters.indexOf(filterToDelete) !== index);
|
|
3952
|
+
setSelectedFilters([...filteredSelectedFilters]);
|
|
3953
|
+
}
|
|
3954
|
+
function handleFilterBySearch(text) {
|
|
3955
|
+
const newArray = defaultData.filter((item) => {
|
|
3956
|
+
for (const [, value] of Object.entries(item)) {
|
|
3957
|
+
if (`${value}`.toLocaleLowerCase().includes(text.toLocaleLowerCase()))
|
|
3958
|
+
return true;
|
|
3959
|
+
}
|
|
3960
|
+
return false;
|
|
3961
|
+
});
|
|
3962
|
+
return newArray;
|
|
3963
|
+
}
|
|
3964
|
+
useEffect(() => {
|
|
3965
|
+
const maxPage = Math.floor(countRows / rowsPerPage);
|
|
3966
|
+
if (page > maxPage)
|
|
3967
|
+
setPage(maxPage - 1);
|
|
3968
|
+
}, [countRows]);
|
|
3969
|
+
useEffect(() => {
|
|
3970
|
+
if (order) {
|
|
3971
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3972
|
+
const sortedArray = handleSort(newArray);
|
|
3973
|
+
const data = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3974
|
+
setTableData(data);
|
|
3975
|
+
}
|
|
3976
|
+
else {
|
|
3977
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3978
|
+
const data = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3979
|
+
setTableData(data);
|
|
3980
|
+
}
|
|
3981
|
+
}, [defaultData]);
|
|
3982
|
+
useEffect(() => {
|
|
3983
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3984
|
+
const sortedArray = handleSort(newArray);
|
|
3985
|
+
const paginatedArray = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3986
|
+
setTableData(paginatedArray);
|
|
3987
|
+
}, [order, orderBy]);
|
|
3988
|
+
useEffect(() => {
|
|
3989
|
+
if (order) {
|
|
3990
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3991
|
+
const sortedArray = handleSort(newArray);
|
|
3992
|
+
const dados = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3993
|
+
setTableData(dados);
|
|
3994
|
+
}
|
|
3995
|
+
else {
|
|
3996
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
3997
|
+
const dados = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
3998
|
+
setTableData(dados);
|
|
3999
|
+
}
|
|
4000
|
+
}, [page, rowsPerPage]);
|
|
4001
|
+
useEffect(() => {
|
|
4002
|
+
setValuesToFilter([]);
|
|
4003
|
+
setSelectedFilterValue(undefined);
|
|
4004
|
+
if (selectedTitle) {
|
|
4005
|
+
const values = [];
|
|
4006
|
+
const [prop] = columnTitles.filter((item) => item.label === selectedTitle);
|
|
4007
|
+
const newArray = searchText.length > 0 ? handleFilterBySearch(searchText) : defaultData;
|
|
4008
|
+
newArray.forEach((item) => {
|
|
4009
|
+
const value = prop.transformer
|
|
4010
|
+
? prop.transformer(getPropertyValue(item, prop.name))
|
|
4011
|
+
: String(getPropertyValue(item, prop.name));
|
|
4012
|
+
if (!values.includes(value))
|
|
4013
|
+
values.push(value);
|
|
4014
|
+
});
|
|
4015
|
+
setValuesToFilter(values);
|
|
4016
|
+
}
|
|
4017
|
+
}, [selectedTitle]);
|
|
4018
|
+
useEffect(() => {
|
|
4019
|
+
if (order) {
|
|
4020
|
+
const newArray = handleFilterBySearch(searchText);
|
|
4021
|
+
const sortedArray = handleSort(newArray);
|
|
4022
|
+
const dados = sortedArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
4023
|
+
setTableData(dados);
|
|
4024
|
+
}
|
|
4025
|
+
else {
|
|
4026
|
+
const newArray = handleFilterBySearch(searchText);
|
|
4027
|
+
const dados = newArray.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage);
|
|
4028
|
+
setTableData(dados);
|
|
4029
|
+
}
|
|
4030
|
+
}, [searchText]);
|
|
4031
|
+
useEffect(() => {
|
|
4032
|
+
updateFilters(selectedFilters);
|
|
4033
|
+
}, [selectedFilters]);
|
|
4034
|
+
return (React__default.createElement(Paper, null,
|
|
4035
|
+
isLoading && React__default.createElement(LinearProgress, null),
|
|
4036
|
+
React__default.createElement(FiltersBar, { setAnchorEl: setAnchorEl, setOpenSearch: setOpenSearch, searchAnchorEl: searchAnchorEl, noFilters: noFilters, noFilterButtons: noFilterButtons, selectedFilters: selectedFilters, customButtons: customButtons, handleCloseFilter: handleCloseFilter }),
|
|
4037
|
+
React__default.createElement(TableContainer, null,
|
|
4038
|
+
React__default.createElement(Table, { size: "small" },
|
|
4039
|
+
React__default.createElement(GridHeader, { titles: columnTitles, order: order, orderBy: orderBy, setOrder: setOrder, setOrderBy: setOrderBy }),
|
|
4040
|
+
React__default.createElement(TableBody, null,
|
|
4041
|
+
props.children ? (props.children) : primaryKey ? (React__default.createElement(AutoCreatedRows, { tableData: tableData, columns: columnTitles, primaryKey: primaryKey })) : null,
|
|
4042
|
+
footer))),
|
|
4043
|
+
!noPagination && (React__default.createElement(TablePagination, { page: page, component: "div", rowsPerPage: rowsPerPage, labelRowsPerPage: "Linhas por p\u00E1gina", rowsPerPageOptions: rowOptions, count: countRows, labelDisplayedRows: ({ page }) => `${page + 1} de ${Math.floor(countRows / rowsPerPage) + 1}`, onPageChange: (_, newPage) => {
|
|
4044
|
+
setPage(newPage);
|
|
4045
|
+
}, onRowsPerPageChange: handleChangeRowsPerPage })),
|
|
4046
|
+
React__default.createElement(Popover, { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), anchorOrigin: {
|
|
4047
|
+
vertical: 'top',
|
|
4048
|
+
horizontal: 'right'
|
|
4049
|
+
}, transformOrigin: {
|
|
4050
|
+
vertical: 'top',
|
|
4051
|
+
horizontal: 'right'
|
|
4052
|
+
} },
|
|
4053
|
+
React__default.createElement(Box$2, { sx: { minWidth: 300, padding: 2 } },
|
|
4054
|
+
React__default.createElement(Typography, { fontWeight: "bold", variant: "body2" }, "Filtrar por:"),
|
|
4055
|
+
React__default.createElement(Autocomplete$1, { value: selectedTitle || '', onChange: ({ target }) => {
|
|
4056
|
+
!target.innerHTML.includes('path')
|
|
4057
|
+
? setSelectedTitle(target.innerHTML)
|
|
4058
|
+
: setSelectedTitle(undefined);
|
|
4059
|
+
}, options: columnTitles.map((title) => title.label), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Coluna" }))) }),
|
|
4060
|
+
React__default.createElement(Autocomplete$1, { value: selectedFilterValue || '', onChange: ({ target }) => {
|
|
4061
|
+
!target.innerHTML.includes('path')
|
|
4062
|
+
? setSelectedFilterValue(target.innerHTML)
|
|
4063
|
+
: setSelectedFilterValue(undefined);
|
|
4064
|
+
}, disabled: valuesToFilter.length < 1, options: valuesToFilter.map((title) => title), renderInput: (params) => (React__default.createElement(TextField, Object.assign({ variant: "standard", margin: "dense" }, params, { label: "Valor" }))) }),
|
|
4065
|
+
React__default.createElement(Box$2, { sx: { py: 1 } }),
|
|
4066
|
+
React__default.createElement(Button, { disabled: !selectedFilterValue, onClick: handleAddFilter, fullWidth: true }, "Adicionar filtro"))),
|
|
4067
|
+
React__default.createElement(Popover, { anchorEl: searchAnchorEl.current, open: openSearch, onClose: () => setOpenSearch(false), anchorOrigin: {
|
|
4068
|
+
vertical: 'top',
|
|
4069
|
+
horizontal: 'left'
|
|
4070
|
+
}, transformOrigin: {
|
|
4071
|
+
vertical: 'top',
|
|
4072
|
+
horizontal: 'left'
|
|
4073
|
+
} },
|
|
4074
|
+
React__default.createElement(Box$2, { sx: {
|
|
4075
|
+
minWidth: 300,
|
|
4076
|
+
px: 2,
|
|
4077
|
+
pb: 1,
|
|
4078
|
+
display: 'grid',
|
|
4079
|
+
gridTemplateColumns: '1fr 30px',
|
|
4080
|
+
alignItems: 'flex-end'
|
|
4081
|
+
} },
|
|
4082
|
+
React__default.createElement(TextField, { variant: "standard", margin: "dense", label: "Buscar", value: searchText, onChange: ({ currentTarget }) => setSearchText(currentTarget.value) }),
|
|
4083
|
+
React__default.createElement(Box$2, null,
|
|
4084
|
+
React__default.createElement(IconButton, { onClick: () => {
|
|
4085
|
+
setSearchText('');
|
|
4086
|
+
setOpenSearch(false);
|
|
4087
|
+
} },
|
|
4088
|
+
React__default.createElement(MdClose, { size: 8 * 3 })))))));
|
|
4089
4089
|
};
|
|
4090
4090
|
|
|
4091
4091
|
var moment$1 = {exports: {}};
|
|
@@ -9771,46 +9771,46 @@ var moment$1 = {exports: {}};
|
|
|
9771
9771
|
|
|
9772
9772
|
var moment = moment$1.exports;
|
|
9773
9773
|
|
|
9774
|
-
const DefaultInput = (allProps) => {
|
|
9775
|
-
var _a;
|
|
9776
|
-
const { TextFieldProps, onSave, name, onUpdateValue, rowData, type = 'text', fullWidth = true, isEditing, formatInputDefautvalue, setIsEditing, handleCancelEditing } = allProps;
|
|
9777
|
-
const formatDefaultValue = (value) => {
|
|
9778
|
-
if (formatInputDefautvalue)
|
|
9779
|
-
return formatInputDefautvalue(value);
|
|
9780
|
-
switch (type) {
|
|
9781
|
-
case 'date':
|
|
9782
|
-
return moment(value).format('YYYY-MM-DD');
|
|
9783
|
-
case 'datetime-local':
|
|
9784
|
-
return moment(value).format('YYYY-MM-DDTHH:mm:ss');
|
|
9785
|
-
default:
|
|
9786
|
-
return String(value);
|
|
9787
|
-
}
|
|
9788
|
-
};
|
|
9789
|
-
const handleSave = (event) => {
|
|
9790
|
-
var _a, _b, _c;
|
|
9791
|
-
onUpdateValue(String((_a = event.target) === null || _a === void 0 ? void 0 : _a.value));
|
|
9792
|
-
setIsEditing(false);
|
|
9793
|
-
const response = {
|
|
9794
|
-
name,
|
|
9795
|
-
event,
|
|
9796
|
-
value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
|
|
9797
|
-
data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
|
|
9798
|
-
};
|
|
9799
|
-
onSave(response);
|
|
9800
|
-
};
|
|
9801
|
-
const onKeyDown = (ev) => {
|
|
9802
|
-
if (ev.code === 'Enter')
|
|
9803
|
-
handleSave(ev);
|
|
9804
|
-
if (ev.code === 'Escape')
|
|
9805
|
-
handleCancelEditing();
|
|
9806
|
-
};
|
|
9807
|
-
return (React__default.createElement(TextField, Object.assign({ name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, type: type, size: "small", defaultValue: formatDefaultValue(rowData === null || rowData === void 0 ? void 0 : rowData[name]), sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
|
|
9808
|
-
style: {
|
|
9809
|
-
paddingBottom: 6,
|
|
9810
|
-
paddingTop: 6
|
|
9811
|
-
},
|
|
9812
|
-
onKeyDown
|
|
9813
|
-
}, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
|
|
9774
|
+
const DefaultInput = (allProps) => {
|
|
9775
|
+
var _a;
|
|
9776
|
+
const { TextFieldProps, onSave, name, onUpdateValue, rowData, type = 'text', fullWidth = true, isEditing, formatInputDefautvalue, setIsEditing, handleCancelEditing } = allProps;
|
|
9777
|
+
const formatDefaultValue = (value) => {
|
|
9778
|
+
if (formatInputDefautvalue)
|
|
9779
|
+
return formatInputDefautvalue(value);
|
|
9780
|
+
switch (type) {
|
|
9781
|
+
case 'date':
|
|
9782
|
+
return moment(value).format('YYYY-MM-DD');
|
|
9783
|
+
case 'datetime-local':
|
|
9784
|
+
return moment(value).format('YYYY-MM-DDTHH:mm:ss');
|
|
9785
|
+
default:
|
|
9786
|
+
return String(value);
|
|
9787
|
+
}
|
|
9788
|
+
};
|
|
9789
|
+
const handleSave = (event) => {
|
|
9790
|
+
var _a, _b, _c;
|
|
9791
|
+
onUpdateValue(String((_a = event.target) === null || _a === void 0 ? void 0 : _a.value));
|
|
9792
|
+
setIsEditing(false);
|
|
9793
|
+
const response = {
|
|
9794
|
+
name,
|
|
9795
|
+
event,
|
|
9796
|
+
value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
|
|
9797
|
+
data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
|
|
9798
|
+
};
|
|
9799
|
+
onSave(response);
|
|
9800
|
+
};
|
|
9801
|
+
const onKeyDown = (ev) => {
|
|
9802
|
+
if (ev.code === 'Enter')
|
|
9803
|
+
handleSave(ev);
|
|
9804
|
+
if (ev.code === 'Escape')
|
|
9805
|
+
handleCancelEditing();
|
|
9806
|
+
};
|
|
9807
|
+
return (React__default.createElement(TextField, Object.assign({ name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, type: type, size: "small", defaultValue: formatDefaultValue(rowData === null || rowData === void 0 ? void 0 : rowData[name]), sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
|
|
9808
|
+
style: {
|
|
9809
|
+
paddingBottom: 6,
|
|
9810
|
+
paddingTop: 6
|
|
9811
|
+
},
|
|
9812
|
+
onKeyDown
|
|
9813
|
+
}, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
|
|
9814
9814
|
};
|
|
9815
9815
|
|
|
9816
9816
|
function _typeof(obj) {
|
|
@@ -14738,533 +14738,533 @@ function useIMask(opts) {
|
|
|
14738
14738
|
};
|
|
14739
14739
|
}
|
|
14740
14740
|
|
|
14741
|
-
const InputMask$1 = (allProps) => {
|
|
14742
|
-
var _a;
|
|
14743
|
-
const { TextFieldProps, onSave, name, rowData, mask, fullWidth = true, isEditing, handleCancelEditing, setIsEditing } = allProps;
|
|
14744
|
-
const { ref, unmaskedValue, setValue } = useIMask(mask);
|
|
14745
|
-
const handleSave = (event) => {
|
|
14746
|
-
var _a, _b, _c;
|
|
14747
|
-
setIsEditing(false);
|
|
14748
|
-
setValue(String((_a = event.target) === null || _a === void 0 ? void 0 : _a.value));
|
|
14749
|
-
const response = {
|
|
14750
|
-
name,
|
|
14751
|
-
event,
|
|
14752
|
-
value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
|
|
14753
|
-
unmaskedValue,
|
|
14754
|
-
data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
|
|
14755
|
-
};
|
|
14756
|
-
onSave(response);
|
|
14757
|
-
};
|
|
14758
|
-
const onKeyDown = (ev) => {
|
|
14759
|
-
if (ev.code === 'Enter')
|
|
14760
|
-
handleSave(ev);
|
|
14761
|
-
if (ev.code === 'Escape')
|
|
14762
|
-
handleCancelEditing();
|
|
14763
|
-
};
|
|
14764
|
-
useEffect(() => {
|
|
14765
|
-
if (rowData === null || rowData === void 0 ? void 0 : rowData[name])
|
|
14766
|
-
setValue(String(rowData === null || rowData === void 0 ? void 0 : rowData[name]));
|
|
14767
|
-
}, [rowData === null || rowData === void 0 ? void 0 : rowData[name]]);
|
|
14768
|
-
return (React__default.createElement(TextField, Object.assign({ inputRef: ref, name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, size: "small", sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
|
|
14769
|
-
style: {
|
|
14770
|
-
paddingBottom: 6,
|
|
14771
|
-
paddingTop: 6
|
|
14772
|
-
},
|
|
14773
|
-
onKeyDown
|
|
14774
|
-
}, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
|
|
14741
|
+
const InputMask$1 = (allProps) => {
|
|
14742
|
+
var _a;
|
|
14743
|
+
const { TextFieldProps, onSave, name, rowData, mask, fullWidth = true, isEditing, handleCancelEditing, setIsEditing } = allProps;
|
|
14744
|
+
const { ref, unmaskedValue, setValue } = useIMask(mask);
|
|
14745
|
+
const handleSave = (event) => {
|
|
14746
|
+
var _a, _b, _c;
|
|
14747
|
+
setIsEditing(false);
|
|
14748
|
+
setValue(String((_a = event.target) === null || _a === void 0 ? void 0 : _a.value));
|
|
14749
|
+
const response = {
|
|
14750
|
+
name,
|
|
14751
|
+
event,
|
|
14752
|
+
value: (_b = event.target) === null || _b === void 0 ? void 0 : _b.value,
|
|
14753
|
+
unmaskedValue,
|
|
14754
|
+
data: Object.assign(Object.assign({}, rowData), { [name]: (_c = event.target) === null || _c === void 0 ? void 0 : _c.value })
|
|
14755
|
+
};
|
|
14756
|
+
onSave(response);
|
|
14757
|
+
};
|
|
14758
|
+
const onKeyDown = (ev) => {
|
|
14759
|
+
if (ev.code === 'Enter')
|
|
14760
|
+
handleSave(ev);
|
|
14761
|
+
if (ev.code === 'Escape')
|
|
14762
|
+
handleCancelEditing();
|
|
14763
|
+
};
|
|
14764
|
+
useEffect(() => {
|
|
14765
|
+
if (rowData === null || rowData === void 0 ? void 0 : rowData[name])
|
|
14766
|
+
setValue(String(rowData === null || rowData === void 0 ? void 0 : rowData[name]));
|
|
14767
|
+
}, [rowData === null || rowData === void 0 ? void 0 : rowData[name]]);
|
|
14768
|
+
return (React__default.createElement(TextField, Object.assign({ inputRef: ref, name: name, focused: isEditing, onBlur: (ev) => handleSave(ev), autoFocus: true, size: "small", sx: Object.assign({ width: fullWidth ? '100%' : 'intial' }, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.sx), inputProps: {
|
|
14769
|
+
style: {
|
|
14770
|
+
paddingBottom: 6,
|
|
14771
|
+
paddingTop: 6
|
|
14772
|
+
},
|
|
14773
|
+
onKeyDown
|
|
14774
|
+
}, InputProps: Object.assign(Object.assign({}, TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps), { sx: Object.assign({ fontSize: 14, pl: 0.2 }, (_a = TextFieldProps === null || TextFieldProps === void 0 ? void 0 : TextFieldProps.InputProps) === null || _a === void 0 ? void 0 : _a.sx) }) }, TextFieldProps)));
|
|
14775
14775
|
};
|
|
14776
14776
|
|
|
14777
|
-
const EditableTableCell = (allProps) => {
|
|
14778
|
-
const { TextFieldProps, onSave = () => { }, onCancel, name, rowData = {}, mask, fullWidth = true, formatCellValue = (value) => value, formatInputDefautvalue, bordered, type, rowIndex } = allProps, props = __rest(allProps, ["TextFieldProps", "onSave", "onCancel", "name", "rowData", "mask", "fullWidth", "formatCellValue", "formatInputDefautvalue", "bordered", "type", "rowIndex"]);
|
|
14779
|
-
const [isEditing, setIsEditing] = useState(false);
|
|
14780
|
-
const [value, setValue] = useState(rowData === null || rowData === void 0 ? void 0 : rowData[name]);
|
|
14781
|
-
const handleCancelEditing = () => {
|
|
14782
|
-
setIsEditing(false);
|
|
14783
|
-
if (onCancel)
|
|
14784
|
-
onCancel();
|
|
14785
|
-
};
|
|
14786
|
-
return (React__default.createElement(TableCell, Object.assign({}, props, { sx: Object.assign(Object.assign({}, props.sx), { p: isEditing ? 0 : 'intial', border: bordered ? '1px solid' : 'initial', borderColor: 'divider' }), onDoubleClick: () => setIsEditing(true) }), isEditing ? (React__default.createElement(React__default.Fragment, null, mask ? (React__default.createElement(InputMask$1, { mask: mask, isEditing: isEditing, setIsEditing: setIsEditing, name: name, rowData: rowData, onSave: (props) => {
|
|
14787
|
-
setValue(props.value);
|
|
14788
|
-
onSave(props);
|
|
14789
|
-
}, handleCancelEditing: handleCancelEditing, formatInputDefautvalue: formatInputDefautvalue })) : (React__default.createElement(DefaultInput, { onUpdateValue: (newValue) => {
|
|
14790
|
-
setValue(newValue);
|
|
14791
|
-
}, isEditing: isEditing, name: name, rowData: rowData, onSave: onSave, handleCancelEditing: handleCancelEditing, setIsEditing: setIsEditing, formatInputDefautvalue: formatInputDefautvalue, type: type })))) : (React__default.createElement(React__default.Fragment, null, formatCellValue(value)))));
|
|
14777
|
+
const EditableTableCell = (allProps) => {
|
|
14778
|
+
const { TextFieldProps, onSave = () => { }, onCancel, name, rowData = {}, mask, fullWidth = true, formatCellValue = (value) => value, formatInputDefautvalue, bordered, type, rowIndex } = allProps, props = __rest(allProps, ["TextFieldProps", "onSave", "onCancel", "name", "rowData", "mask", "fullWidth", "formatCellValue", "formatInputDefautvalue", "bordered", "type", "rowIndex"]);
|
|
14779
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
14780
|
+
const [value, setValue] = useState(rowData === null || rowData === void 0 ? void 0 : rowData[name]);
|
|
14781
|
+
const handleCancelEditing = () => {
|
|
14782
|
+
setIsEditing(false);
|
|
14783
|
+
if (onCancel)
|
|
14784
|
+
onCancel();
|
|
14785
|
+
};
|
|
14786
|
+
return (React__default.createElement(TableCell, Object.assign({}, props, { sx: Object.assign(Object.assign({}, props.sx), { p: isEditing ? 0 : 'intial', border: bordered ? '1px solid' : 'initial', borderColor: 'divider' }), onDoubleClick: () => setIsEditing(true) }), isEditing ? (React__default.createElement(React__default.Fragment, null, mask ? (React__default.createElement(InputMask$1, { mask: mask, isEditing: isEditing, setIsEditing: setIsEditing, name: name, rowData: rowData, onSave: (props) => {
|
|
14787
|
+
setValue(props.value);
|
|
14788
|
+
onSave(props);
|
|
14789
|
+
}, handleCancelEditing: handleCancelEditing, formatInputDefautvalue: formatInputDefautvalue })) : (React__default.createElement(DefaultInput, { onUpdateValue: (newValue) => {
|
|
14790
|
+
setValue(newValue);
|
|
14791
|
+
}, isEditing: isEditing, name: name, rowData: rowData, onSave: onSave, handleCancelEditing: handleCancelEditing, setIsEditing: setIsEditing, formatInputDefautvalue: formatInputDefautvalue, type: type })))) : (React__default.createElement(React__default.Fragment, null, formatCellValue(value)))));
|
|
14792
14792
|
};
|
|
14793
14793
|
|
|
14794
|
-
const Input = (_a) => {
|
|
14795
|
-
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14796
|
-
if (withFormik)
|
|
14797
|
-
return React__default.createElement(FormikInput, Object.assign({}, rest));
|
|
14798
|
-
else
|
|
14799
|
-
return React__default.createElement(BaseInput$1, Object.assign({}, rest));
|
|
14800
|
-
};
|
|
14801
|
-
const BaseInput$1 = (props) => {
|
|
14802
|
-
return React__default.createElement(TextField, Object.assign({ fullWidth: true }, props));
|
|
14803
|
-
};
|
|
14804
|
-
const FormikInput = (_a) => {
|
|
14805
|
-
var { name, shrink } = _a, rest = __rest(_a, ["name", "shrink"]);
|
|
14806
|
-
return (React__default.createElement(Field, { name: name }, (_a) => {
|
|
14807
|
-
var _b = _a.field, { value } = _b, field = __rest(_b, ["value"]);
|
|
14808
|
-
return (React__default.createElement(BaseInput$1, Object.assign({ defaultValue: value }, field, rest, { InputLabelProps: Object.assign({ shrink }, rest.InputLabelProps) })));
|
|
14809
|
-
}));
|
|
14794
|
+
const Input = (_a) => {
|
|
14795
|
+
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14796
|
+
if (withFormik)
|
|
14797
|
+
return React__default.createElement(FormikInput, Object.assign({}, rest));
|
|
14798
|
+
else
|
|
14799
|
+
return React__default.createElement(BaseInput$1, Object.assign({}, rest));
|
|
14800
|
+
};
|
|
14801
|
+
const BaseInput$1 = (props) => {
|
|
14802
|
+
return React__default.createElement(TextField, Object.assign({ fullWidth: true }, props));
|
|
14803
|
+
};
|
|
14804
|
+
const FormikInput = (_a) => {
|
|
14805
|
+
var { name, shrink } = _a, rest = __rest(_a, ["name", "shrink"]);
|
|
14806
|
+
return (React__default.createElement(Field, { name: name }, (_a) => {
|
|
14807
|
+
var _b = _a.field, { value } = _b, field = __rest(_b, ["value"]);
|
|
14808
|
+
return (React__default.createElement(BaseInput$1, Object.assign({ defaultValue: value }, field, rest, { InputLabelProps: Object.assign({ shrink }, rest.InputLabelProps) })));
|
|
14809
|
+
}));
|
|
14810
14810
|
};
|
|
14811
14811
|
|
|
14812
|
-
function InputMask(_a) {
|
|
14813
|
-
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14814
|
-
if (withFormik)
|
|
14815
|
-
return React__default.createElement(FormikInputMask, Object.assign({}, rest));
|
|
14816
|
-
else
|
|
14817
|
-
return React__default.createElement(BaseInputMask, Object.assign({}, rest));
|
|
14818
|
-
}
|
|
14819
|
-
const BaseInputMask = (_a) => {
|
|
14820
|
-
var { mask, defaultValue, onChangeValue } = _a, rest = __rest(_a, ["mask", "defaultValue", "onChangeValue"]);
|
|
14821
|
-
const { ref, value, unmaskedValue, setValue } = useIMask(mask);
|
|
14822
|
-
useEffect(() => {
|
|
14823
|
-
if (!value)
|
|
14824
|
-
setValue(String(defaultValue));
|
|
14825
|
-
}, [defaultValue]);
|
|
14826
|
-
useEffect(() => {
|
|
14827
|
-
if (onChangeValue)
|
|
14828
|
-
onChangeValue(value, unmaskedValue);
|
|
14829
|
-
}, [value]);
|
|
14830
|
-
return React__default.createElement(BaseInput$1, Object.assign({ inputRef: ref }, rest));
|
|
14831
|
-
};
|
|
14832
|
-
function FormikInputMask(_a) {
|
|
14833
|
-
var { mask, defaultValue, name } = _a, rest = __rest(_a, ["mask", "defaultValue", "name"]);
|
|
14834
|
-
const { ref, value, unmaskedValue, setValue } = useIMask(mask);
|
|
14835
|
-
const initialValue = useRef();
|
|
14836
|
-
const formikSaveFunction = useRef();
|
|
14837
|
-
useEffect(() => {
|
|
14838
|
-
if (!value && defaultValue)
|
|
14839
|
-
setValue(String(defaultValue));
|
|
14840
|
-
else if (initialValue.current) {
|
|
14841
|
-
setValue(String(initialValue.current));
|
|
14842
|
-
}
|
|
14843
|
-
}, [defaultValue]);
|
|
14844
|
-
useEffect(() => {
|
|
14845
|
-
if (formikSaveFunction.current)
|
|
14846
|
-
formikSaveFunction.current(name, unmaskedValue);
|
|
14847
|
-
}, [value]);
|
|
14848
|
-
return (React__default.createElement(Field, { name: name }, (_a) => {
|
|
14849
|
-
var _b = _a.field, { value } = _b, field = __rest(_b, ["value"]), { form: { setFieldValue } } = _a;
|
|
14850
|
-
initialValue.current = value;
|
|
14851
|
-
formikSaveFunction.current = setFieldValue;
|
|
14852
|
-
return React__default.createElement(BaseInput$1, Object.assign({}, rest, field, { inputRef: ref }));
|
|
14853
|
-
}));
|
|
14854
|
-
}
|
|
14855
|
-
|
|
14856
|
-
const CustomInputLabel = InputLabel;
|
|
14857
|
-
const Select = (_a) => {
|
|
14858
|
-
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14859
|
-
if (withFormik)
|
|
14860
|
-
return React__default.createElement(FormikSelect, Object.assign({}, rest));
|
|
14861
|
-
else
|
|
14862
|
-
return React__default.createElement(BaseSelect, Object.assign({}, rest));
|
|
14863
|
-
};
|
|
14864
|
-
const BaseSelect = (_a) => {
|
|
14865
|
-
var { name, label, children, FormControlProps, InputLabelProps } = _a, rest = __rest(_a, ["name", "label", "children", "FormControlProps", "InputLabelProps"]);
|
|
14866
|
-
return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
|
|
14867
|
-
React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
|
|
14868
|
-
React__default.createElement(Select$1, Object.assign({ name: name, inputProps: {
|
|
14869
|
-
name
|
|
14870
|
-
}, label: label }, rest), children)));
|
|
14871
|
-
};
|
|
14872
|
-
const FormikSelect = (_a) => {
|
|
14873
|
-
var { name, label, children, FormControlProps, InputLabelProps } = _a, rest = __rest(_a, ["name", "label", "children", "FormControlProps", "InputLabelProps"]);
|
|
14874
|
-
const [_b, meta, { setValue }] = useField({ name }), { value } = _b, field = __rest(_b, ["value"]);
|
|
14875
|
-
const onChange = (_, { props: { value } }) => {
|
|
14876
|
-
setValue(value);
|
|
14877
|
-
};
|
|
14878
|
-
return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
|
|
14879
|
-
React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
|
|
14880
|
-
React__default.createElement(Select$1, Object.assign({ inputProps: {
|
|
14881
|
-
name
|
|
14882
|
-
}, label: label }, rest, field, { defaultValue: value, onChange: onChange }), children)));
|
|
14812
|
+
function InputMask(_a) {
|
|
14813
|
+
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14814
|
+
if (withFormik)
|
|
14815
|
+
return React__default.createElement(FormikInputMask, Object.assign({}, rest));
|
|
14816
|
+
else
|
|
14817
|
+
return React__default.createElement(BaseInputMask, Object.assign({}, rest));
|
|
14818
|
+
}
|
|
14819
|
+
const BaseInputMask = (_a) => {
|
|
14820
|
+
var { mask, defaultValue, onChangeValue } = _a, rest = __rest(_a, ["mask", "defaultValue", "onChangeValue"]);
|
|
14821
|
+
const { ref, value, unmaskedValue, setValue } = useIMask(mask);
|
|
14822
|
+
useEffect(() => {
|
|
14823
|
+
if (!value)
|
|
14824
|
+
setValue(String(defaultValue));
|
|
14825
|
+
}, [defaultValue]);
|
|
14826
|
+
useEffect(() => {
|
|
14827
|
+
if (onChangeValue)
|
|
14828
|
+
onChangeValue(value, unmaskedValue);
|
|
14829
|
+
}, [value]);
|
|
14830
|
+
return React__default.createElement(BaseInput$1, Object.assign({ inputRef: ref }, rest));
|
|
14831
|
+
};
|
|
14832
|
+
function FormikInputMask(_a) {
|
|
14833
|
+
var { mask, defaultValue, name } = _a, rest = __rest(_a, ["mask", "defaultValue", "name"]);
|
|
14834
|
+
const { ref, value, unmaskedValue, setValue } = useIMask(mask);
|
|
14835
|
+
const initialValue = useRef();
|
|
14836
|
+
const formikSaveFunction = useRef();
|
|
14837
|
+
useEffect(() => {
|
|
14838
|
+
if (!value && defaultValue)
|
|
14839
|
+
setValue(String(defaultValue));
|
|
14840
|
+
else if (initialValue.current) {
|
|
14841
|
+
setValue(String(initialValue.current));
|
|
14842
|
+
}
|
|
14843
|
+
}, [defaultValue]);
|
|
14844
|
+
useEffect(() => {
|
|
14845
|
+
if (formikSaveFunction.current)
|
|
14846
|
+
formikSaveFunction.current(name, unmaskedValue);
|
|
14847
|
+
}, [value]);
|
|
14848
|
+
return (React__default.createElement(Field, { name: name }, (_a) => {
|
|
14849
|
+
var _b = _a.field, { value } = _b, field = __rest(_b, ["value"]), { form: { setFieldValue } } = _a;
|
|
14850
|
+
initialValue.current = value;
|
|
14851
|
+
formikSaveFunction.current = setFieldValue;
|
|
14852
|
+
return React__default.createElement(BaseInput$1, Object.assign({}, rest, field, { inputRef: ref }));
|
|
14853
|
+
}));
|
|
14854
|
+
}
|
|
14855
|
+
|
|
14856
|
+
const CustomInputLabel = InputLabel;
|
|
14857
|
+
const Select = (_a) => {
|
|
14858
|
+
var { withFormik = true } = _a, rest = __rest(_a, ["withFormik"]);
|
|
14859
|
+
if (withFormik)
|
|
14860
|
+
return React__default.createElement(FormikSelect, Object.assign({}, rest));
|
|
14861
|
+
else
|
|
14862
|
+
return React__default.createElement(BaseSelect, Object.assign({}, rest));
|
|
14863
|
+
};
|
|
14864
|
+
const BaseSelect = (_a) => {
|
|
14865
|
+
var { name, label, children, FormControlProps, InputLabelProps } = _a, rest = __rest(_a, ["name", "label", "children", "FormControlProps", "InputLabelProps"]);
|
|
14866
|
+
return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
|
|
14867
|
+
React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
|
|
14868
|
+
React__default.createElement(Select$1, Object.assign({ name: name, inputProps: {
|
|
14869
|
+
name
|
|
14870
|
+
}, label: label }, rest), children)));
|
|
14871
|
+
};
|
|
14872
|
+
const FormikSelect = (_a) => {
|
|
14873
|
+
var { name, label, children, FormControlProps, InputLabelProps } = _a, rest = __rest(_a, ["name", "label", "children", "FormControlProps", "InputLabelProps"]);
|
|
14874
|
+
const [_b, meta, { setValue }] = useField({ name }), { value } = _b, field = __rest(_b, ["value"]);
|
|
14875
|
+
const onChange = (_, { props: { value } }) => {
|
|
14876
|
+
setValue(value);
|
|
14877
|
+
};
|
|
14878
|
+
return (React__default.createElement(FormControl, Object.assign({ fullWidth: true }, FormControlProps),
|
|
14879
|
+
React__default.createElement(CustomInputLabel, Object.assign({}, InputLabelProps), label),
|
|
14880
|
+
React__default.createElement(Select$1, Object.assign({ inputProps: {
|
|
14881
|
+
name
|
|
14882
|
+
}, label: label }, rest, field, { defaultValue: value, onChange: onChange }), children)));
|
|
14883
14883
|
};
|
|
14884
14884
|
|
|
14885
|
-
function Autocomplete(_a) {
|
|
14886
|
-
var { withFormik = true, name, getOptionValue } = _a, rest = __rest(_a, ["withFormik", "name", "getOptionValue"]);
|
|
14887
|
-
if (withFormik) {
|
|
14888
|
-
return (React__default.createElement(FormikAutocomplete, Object.assign({ name: name, getOptionValue: getOptionValue }, rest)));
|
|
14889
|
-
}
|
|
14890
|
-
else
|
|
14891
|
-
return React__default.createElement(BaseInput, Object.assign({}, rest));
|
|
14892
|
-
}
|
|
14893
|
-
function BaseInput(props) {
|
|
14894
|
-
return (React__default.createElement(Autocomplete$1, Object.assign({ fullWidth: true, renderInput: (params) => React__default.createElement(TextField, Object.assign({ label: props.label }, params)) }, props)));
|
|
14895
|
-
}
|
|
14896
|
-
function FormikAutocomplete(_a) {
|
|
14897
|
-
var { getOptionValue, option } = _a, props = __rest(_a, ["getOptionValue", "option"]);
|
|
14898
|
-
const [_b, , { setValue }] = useField({
|
|
14899
|
-
name: props.name
|
|
14900
|
-
}), { value: defaultValue } = _b, field = __rest(_b, ["value"]);
|
|
14901
|
-
const defaultOption = useMemo(() => {
|
|
14902
|
-
const key = option === null || option === void 0 ? void 0 : option.key;
|
|
14903
|
-
if (key)
|
|
14904
|
-
return props.options.find((option) => option[key] === defaultValue);
|
|
14905
|
-
else
|
|
14906
|
-
return props.options.find((option) => Object.values(option)[0] === defaultValue);
|
|
14907
|
-
}, []);
|
|
14908
|
-
const onChange = (_, newValue) => {
|
|
14909
|
-
const value = option === null || option === void 0 ? void 0 : option.value;
|
|
14910
|
-
if (getOptionValue) {
|
|
14911
|
-
setValue(getOptionValue(newValue));
|
|
14912
|
-
}
|
|
14913
|
-
else if (value) {
|
|
14914
|
-
setValue(newValue[value]);
|
|
14915
|
-
}
|
|
14916
|
-
else
|
|
14917
|
-
setValue(newValue);
|
|
14918
|
-
};
|
|
14919
|
-
const getOptionLabel = (item) => {
|
|
14920
|
-
if (props === null || props === void 0 ? void 0 : props.getOptionLabel)
|
|
14921
|
-
return props.getOptionLabel(item);
|
|
14922
|
-
else if (option === null || option === void 0 ? void 0 : option.label)
|
|
14923
|
-
return String(item[option.label]);
|
|
14924
|
-
return '[getOptionLabel] error';
|
|
14925
|
-
};
|
|
14926
|
-
const isOptionEqualToValue = (a, b) => {
|
|
14927
|
-
const key = option === null || option === void 0 ? void 0 : option.key;
|
|
14928
|
-
if (props === null || props === void 0 ? void 0 : props.isOptionEqualToValue)
|
|
14929
|
-
return props.isOptionEqualToValue(a, b);
|
|
14930
|
-
else if (key)
|
|
14931
|
-
return a[key] === b[key];
|
|
14932
|
-
return Object.values(a)[0] === Object.values(b)[0];
|
|
14933
|
-
};
|
|
14934
|
-
return (React__default.createElement(Autocomplete$1, Object.assign({ getOptionLabel: getOptionLabel, renderInput: (params) => (React__default.createElement(TextField, Object.assign({}, params, field, { label: props.label }))), defaultValue: defaultOption, onChange: onChange, isOptionEqualToValue: isOptionEqualToValue }, props)));
|
|
14935
|
-
}
|
|
14936
|
-
|
|
14937
|
-
const Checkbox = (_a) => {
|
|
14938
|
-
var { withFormik = true, name } = _a, props = __rest(_a, ["withFormik", "name"]);
|
|
14939
|
-
if (withFormik && name)
|
|
14940
|
-
return React__default.createElement(FormikCheckbox, Object.assign({ name: name }, props));
|
|
14941
|
-
else
|
|
14942
|
-
return React__default.createElement(BaseCheckbox, Object.assign({}, props));
|
|
14943
|
-
};
|
|
14944
|
-
const BaseCheckbox = (_a) => {
|
|
14945
|
-
var { label, FormControlLabelProps } = _a, props = __rest(_a, ["label", "FormControlLabelProps"]);
|
|
14946
|
-
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, control: React__default.createElement(Checkbox$1, Object.assign({}, props)) }, FormControlLabelProps)));
|
|
14947
|
-
};
|
|
14948
|
-
const FormikCheckbox = (_a) => {
|
|
14949
|
-
var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
|
|
14950
|
-
const [_b, , { setValue }] = useField({
|
|
14951
|
-
name
|
|
14952
|
-
}), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
|
|
14953
|
-
const onChange = (_, value) => {
|
|
14954
|
-
setValue(value);
|
|
14955
|
-
};
|
|
14956
|
-
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, onChange: onChange, control: React__default.createElement(Checkbox$1, Object.assign({}, props, { defaultChecked: value })) }, field, FormControlLabelProps)));
|
|
14885
|
+
function Autocomplete(_a) {
|
|
14886
|
+
var { withFormik = true, name, getOptionValue } = _a, rest = __rest(_a, ["withFormik", "name", "getOptionValue"]);
|
|
14887
|
+
if (withFormik) {
|
|
14888
|
+
return (React__default.createElement(FormikAutocomplete, Object.assign({ name: name, getOptionValue: getOptionValue }, rest)));
|
|
14889
|
+
}
|
|
14890
|
+
else
|
|
14891
|
+
return React__default.createElement(BaseInput, Object.assign({}, rest));
|
|
14892
|
+
}
|
|
14893
|
+
function BaseInput(props) {
|
|
14894
|
+
return (React__default.createElement(Autocomplete$1, Object.assign({ fullWidth: true, renderInput: (params) => React__default.createElement(TextField, Object.assign({ label: props.label }, params)) }, props)));
|
|
14895
|
+
}
|
|
14896
|
+
function FormikAutocomplete(_a) {
|
|
14897
|
+
var { getOptionValue, option } = _a, props = __rest(_a, ["getOptionValue", "option"]);
|
|
14898
|
+
const [_b, , { setValue }] = useField({
|
|
14899
|
+
name: props.name
|
|
14900
|
+
}), { value: defaultValue } = _b, field = __rest(_b, ["value"]);
|
|
14901
|
+
const defaultOption = useMemo(() => {
|
|
14902
|
+
const key = option === null || option === void 0 ? void 0 : option.key;
|
|
14903
|
+
if (key)
|
|
14904
|
+
return props.options.find((option) => option[key] === defaultValue);
|
|
14905
|
+
else
|
|
14906
|
+
return props.options.find((option) => Object.values(option)[0] === defaultValue);
|
|
14907
|
+
}, []);
|
|
14908
|
+
const onChange = (_, newValue) => {
|
|
14909
|
+
const value = option === null || option === void 0 ? void 0 : option.value;
|
|
14910
|
+
if (getOptionValue) {
|
|
14911
|
+
setValue(getOptionValue(newValue));
|
|
14912
|
+
}
|
|
14913
|
+
else if (value) {
|
|
14914
|
+
setValue(newValue[value]);
|
|
14915
|
+
}
|
|
14916
|
+
else
|
|
14917
|
+
setValue(newValue);
|
|
14918
|
+
};
|
|
14919
|
+
const getOptionLabel = (item) => {
|
|
14920
|
+
if (props === null || props === void 0 ? void 0 : props.getOptionLabel)
|
|
14921
|
+
return props.getOptionLabel(item);
|
|
14922
|
+
else if (option === null || option === void 0 ? void 0 : option.label)
|
|
14923
|
+
return String(item[option.label]);
|
|
14924
|
+
return '[getOptionLabel] error';
|
|
14925
|
+
};
|
|
14926
|
+
const isOptionEqualToValue = (a, b) => {
|
|
14927
|
+
const key = option === null || option === void 0 ? void 0 : option.key;
|
|
14928
|
+
if (props === null || props === void 0 ? void 0 : props.isOptionEqualToValue)
|
|
14929
|
+
return props.isOptionEqualToValue(a, b);
|
|
14930
|
+
else if (key)
|
|
14931
|
+
return a[key] === b[key];
|
|
14932
|
+
return Object.values(a)[0] === Object.values(b)[0];
|
|
14933
|
+
};
|
|
14934
|
+
return (React__default.createElement(Autocomplete$1, Object.assign({ getOptionLabel: getOptionLabel, renderInput: (params) => (React__default.createElement(TextField, Object.assign({}, params, field, { label: props.label }))), defaultValue: defaultOption, onChange: onChange, isOptionEqualToValue: isOptionEqualToValue }, props)));
|
|
14935
|
+
}
|
|
14936
|
+
|
|
14937
|
+
const Checkbox = (_a) => {
|
|
14938
|
+
var { withFormik = true, name } = _a, props = __rest(_a, ["withFormik", "name"]);
|
|
14939
|
+
if (withFormik && name)
|
|
14940
|
+
return React__default.createElement(FormikCheckbox, Object.assign({ name: name }, props));
|
|
14941
|
+
else
|
|
14942
|
+
return React__default.createElement(BaseCheckbox, Object.assign({}, props));
|
|
14943
|
+
};
|
|
14944
|
+
const BaseCheckbox = (_a) => {
|
|
14945
|
+
var { label, FormControlLabelProps } = _a, props = __rest(_a, ["label", "FormControlLabelProps"]);
|
|
14946
|
+
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, control: React__default.createElement(Checkbox$1, Object.assign({}, props)) }, FormControlLabelProps)));
|
|
14947
|
+
};
|
|
14948
|
+
const FormikCheckbox = (_a) => {
|
|
14949
|
+
var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
|
|
14950
|
+
const [_b, , { setValue }] = useField({
|
|
14951
|
+
name
|
|
14952
|
+
}), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
|
|
14953
|
+
const onChange = (_, value) => {
|
|
14954
|
+
setValue(value);
|
|
14955
|
+
};
|
|
14956
|
+
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, onChange: onChange, control: React__default.createElement(Checkbox$1, Object.assign({}, props, { defaultChecked: value })) }, field, FormControlLabelProps)));
|
|
14957
14957
|
};
|
|
14958
14958
|
|
|
14959
|
-
const Switch = (_a) => {
|
|
14960
|
-
var { withFormik = true, name } = _a, props = __rest(_a, ["withFormik", "name"]);
|
|
14961
|
-
if (withFormik && name)
|
|
14962
|
-
return React__default.createElement(FormikSwitch, Object.assign({ name: name }, props));
|
|
14963
|
-
else
|
|
14964
|
-
return React__default.createElement(BaseSwitch, Object.assign({}, props));
|
|
14965
|
-
};
|
|
14966
|
-
const BaseSwitch = (_a) => {
|
|
14967
|
-
var { label, FormControlLabelProps } = _a, props = __rest(_a, ["label", "FormControlLabelProps"]);
|
|
14968
|
-
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, control: React__default.createElement(Switch$1, Object.assign({}, props)) }, FormControlLabelProps)));
|
|
14969
|
-
};
|
|
14970
|
-
const FormikSwitch = (_a) => {
|
|
14971
|
-
var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
|
|
14972
|
-
const [_b, , { setValue }] = useField({
|
|
14973
|
-
name
|
|
14974
|
-
}), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
|
|
14975
|
-
const onChange = (_, value) => {
|
|
14976
|
-
setValue(value);
|
|
14977
|
-
};
|
|
14978
|
-
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, onChange: onChange, control: React__default.createElement(Switch$1, Object.assign({}, props, { defaultChecked: value })) }, field, FormControlLabelProps)));
|
|
14959
|
+
const Switch = (_a) => {
|
|
14960
|
+
var { withFormik = true, name } = _a, props = __rest(_a, ["withFormik", "name"]);
|
|
14961
|
+
if (withFormik && name)
|
|
14962
|
+
return React__default.createElement(FormikSwitch, Object.assign({ name: name }, props));
|
|
14963
|
+
else
|
|
14964
|
+
return React__default.createElement(BaseSwitch, Object.assign({}, props));
|
|
14965
|
+
};
|
|
14966
|
+
const BaseSwitch = (_a) => {
|
|
14967
|
+
var { label, FormControlLabelProps } = _a, props = __rest(_a, ["label", "FormControlLabelProps"]);
|
|
14968
|
+
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, control: React__default.createElement(Switch$1, Object.assign({}, props)) }, FormControlLabelProps)));
|
|
14969
|
+
};
|
|
14970
|
+
const FormikSwitch = (_a) => {
|
|
14971
|
+
var { label, name, FormControlLabelProps } = _a, props = __rest(_a, ["label", "name", "FormControlLabelProps"]);
|
|
14972
|
+
const [_b, , { setValue }] = useField({
|
|
14973
|
+
name
|
|
14974
|
+
}), { value, onChange: unused } = _b, field = __rest(_b, ["value", "onChange"]);
|
|
14975
|
+
const onChange = (_, value) => {
|
|
14976
|
+
setValue(value);
|
|
14977
|
+
};
|
|
14978
|
+
return (React__default.createElement(FormControlLabel, Object.assign({ label: label, onChange: onChange, control: React__default.createElement(Switch$1, Object.assign({}, props, { defaultChecked: value })) }, field, FormControlLabelProps)));
|
|
14979
14979
|
};
|
|
14980
14980
|
|
|
14981
|
-
const Radio = (_a) => {
|
|
14982
|
-
var { name, withFormik = true } = _a, rest = __rest(_a, ["name", "withFormik"]);
|
|
14983
|
-
if (withFormik && name)
|
|
14984
|
-
return React__default.createElement(FormikRadio, Object.assign({ name: name }, rest));
|
|
14985
|
-
else
|
|
14986
|
-
return React__default.createElement(BaseRadio, Object.assign({}, rest));
|
|
14987
|
-
};
|
|
14988
|
-
const BaseRadio = (_a) => {
|
|
14989
|
-
var { label, options } = _a, rest = __rest(_a, ["label", "options"]);
|
|
14990
|
-
return (React__default.createElement(FormControl, null,
|
|
14991
|
-
label && React__default.createElement(FormLabel, null, label),
|
|
14992
|
-
React__default.createElement(RadioGroup, Object.assign({}, rest), options.map((option) => (React__default.createElement(FormControlLabel, { key: String(option.value), value: option.value, label: option.label, control: React__default.createElement(Radio$1, null) }))))));
|
|
14993
|
-
};
|
|
14994
|
-
const FormikRadio = (_a) => {
|
|
14995
|
-
var { label, name, options } = _a, rest = __rest(_a, ["label", "name", "options"]);
|
|
14996
|
-
const onChange = (setFieldValue, value) => {
|
|
14997
|
-
setFieldValue(name, value);
|
|
14998
|
-
};
|
|
14999
|
-
return (React__default.createElement(Field, null, ({ field: { value }, form: { setFieldValue } }) => (React__default.createElement(FormControl, null,
|
|
15000
|
-
label && React__default.createElement(FormLabel, null, label),
|
|
15001
|
-
React__default.createElement(RadioGroup, Object.assign({ defaultValue: value, onChange: (_, value) => onChange(setFieldValue, value) }, rest), options.map((option) => (React__default.createElement(FormControlLabel, { key: String(option.value), value: option.value, label: option.label, control: React__default.createElement(Radio$1, null) }))))))));
|
|
14981
|
+
const Radio = (_a) => {
|
|
14982
|
+
var { name, withFormik = true } = _a, rest = __rest(_a, ["name", "withFormik"]);
|
|
14983
|
+
if (withFormik && name)
|
|
14984
|
+
return React__default.createElement(FormikRadio, Object.assign({ name: name }, rest));
|
|
14985
|
+
else
|
|
14986
|
+
return React__default.createElement(BaseRadio, Object.assign({}, rest));
|
|
14987
|
+
};
|
|
14988
|
+
const BaseRadio = (_a) => {
|
|
14989
|
+
var { label, options } = _a, rest = __rest(_a, ["label", "options"]);
|
|
14990
|
+
return (React__default.createElement(FormControl, null,
|
|
14991
|
+
label && React__default.createElement(FormLabel, null, label),
|
|
14992
|
+
React__default.createElement(RadioGroup, Object.assign({}, rest), options.map((option) => (React__default.createElement(FormControlLabel, { key: String(option.value), value: option.value, label: option.label, control: React__default.createElement(Radio$1, null) }))))));
|
|
14993
|
+
};
|
|
14994
|
+
const FormikRadio = (_a) => {
|
|
14995
|
+
var { label, name, options } = _a, rest = __rest(_a, ["label", "name", "options"]);
|
|
14996
|
+
const onChange = (setFieldValue, value) => {
|
|
14997
|
+
setFieldValue(name, value);
|
|
14998
|
+
};
|
|
14999
|
+
return (React__default.createElement(Field, null, ({ field: { value }, form: { setFieldValue } }) => (React__default.createElement(FormControl, null,
|
|
15000
|
+
label && React__default.createElement(FormLabel, null, label),
|
|
15001
|
+
React__default.createElement(RadioGroup, Object.assign({ defaultValue: value, onChange: (_, value) => onChange(setFieldValue, value) }, rest), options.map((option) => (React__default.createElement(FormControlLabel, { key: String(option.value), value: option.value, label: option.label, control: React__default.createElement(Radio$1, null) }))))))));
|
|
15002
15002
|
};
|
|
15003
15003
|
|
|
15004
|
-
const LargeButton = (_a) => {
|
|
15005
|
-
var { loading, children, CircularProgressProps, sx } = _a, rest = __rest(_a, ["loading", "children", "CircularProgressProps", "sx"]);
|
|
15006
|
-
return (React__default.createElement(Button, Object.assign({ variant: "contained", fullWidth: true, sx: Object.assign({ color: '#fff', fontWeight: 'bold' }, sx), disabled: rest.disabled || loading }, rest), loading ? (React__default.createElement(CircularProgress, Object.assign({ size: 25, color: "inherit" }, CircularProgressProps))) : (children)));
|
|
15004
|
+
const LargeButton = (_a) => {
|
|
15005
|
+
var { loading, children, CircularProgressProps, sx } = _a, rest = __rest(_a, ["loading", "children", "CircularProgressProps", "sx"]);
|
|
15006
|
+
return (React__default.createElement(Button, Object.assign({ variant: "contained", fullWidth: true, sx: Object.assign({ color: '#fff', fontWeight: 'bold' }, sx), disabled: rest.disabled || loading }, rest), loading ? (React__default.createElement(CircularProgress, Object.assign({ size: 25, color: "inherit" }, CircularProgressProps))) : (children)));
|
|
15007
15007
|
};
|
|
15008
15008
|
|
|
15009
|
-
function getTabProps(index) {
|
|
15010
|
-
return {
|
|
15011
|
-
id: `tab-${index}`,
|
|
15012
|
-
'aria-controls': `tabpanel-${index}`
|
|
15013
|
-
};
|
|
15014
|
-
}
|
|
15015
|
-
const TabPanel = (props) => {
|
|
15016
|
-
const { children, value, index } = props, other = __rest(props, ["children", "value", "index"]);
|
|
15017
|
-
return (React__default.createElement("div", Object.assign({ role: "tabpanel", hidden: value !== index, id: `tabpanel-${index}`, "aria-labelledby": `tab-${index}` }, other), value === index && React__default.createElement(React__default.Fragment, null, children)));
|
|
15009
|
+
function getTabProps(index) {
|
|
15010
|
+
return {
|
|
15011
|
+
id: `tab-${index}`,
|
|
15012
|
+
'aria-controls': `tabpanel-${index}`
|
|
15013
|
+
};
|
|
15014
|
+
}
|
|
15015
|
+
const TabPanel = (props) => {
|
|
15016
|
+
const { children, value, index } = props, other = __rest(props, ["children", "value", "index"]);
|
|
15017
|
+
return (React__default.createElement("div", Object.assign({ role: "tabpanel", hidden: value !== index, id: `tabpanel-${index}`, "aria-labelledby": `tab-${index}` }, other), value === index && React__default.createElement(React__default.Fragment, null, children)));
|
|
15018
15018
|
};
|
|
15019
15019
|
|
|
15020
|
-
const GridPagination = ({ currentPage, totalNumberOfPages, onPageChange, rowsPerPageOptions, setRowsPerPage, rowsPerPage, dense }) => {
|
|
15021
|
-
return (React__default.createElement(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "100%", py: dense ? 0.5 : 1 },
|
|
15022
|
-
React__default.createElement(Box$2, null),
|
|
15023
|
-
React__default.createElement(Stack, { direction: "row", alignItems: "center" },
|
|
15024
|
-
React__default.createElement(Select$1, { variant: "standard", size: "small", margin: "dense", sx: { width: 60, mr: 2, textAlign: 'center', fontSize: 13 }, value: rowsPerPage, onChange: ({ target }) => setRowsPerPage(parseInt(target.value)) }, rowsPerPageOptions.map((option) => (React__default.createElement(MenuItem, { key: option, value: option }, option)))),
|
|
15025
|
-
React__default.createElement(Typography, { variant: "body2" },
|
|
15026
|
-
currentPage + 1,
|
|
15027
|
-
" de ",
|
|
15028
|
-
totalNumberOfPages + 1),
|
|
15029
|
-
React__default.createElement(IconButton, { size: "small", disabled: currentPage === 0, onClick: () => onPageChange(currentPage - 1) },
|
|
15030
|
-
React__default.createElement(MdArrowBackIosNew, { size: 8 * 2 })),
|
|
15031
|
-
React__default.createElement(IconButton, { size: "small", disabled: currentPage === totalNumberOfPages, onClick: () => onPageChange(currentPage + 1) },
|
|
15032
|
-
React__default.createElement(MdArrowForwardIos, { size: 8 * 2 })))));
|
|
15020
|
+
const GridPagination = ({ currentPage, totalNumberOfPages, onPageChange, rowsPerPageOptions, setRowsPerPage, rowsPerPage, dense }) => {
|
|
15021
|
+
return (React__default.createElement(Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "100%", py: dense ? 0.5 : 1 },
|
|
15022
|
+
React__default.createElement(Box$2, null),
|
|
15023
|
+
React__default.createElement(Stack, { direction: "row", alignItems: "center" },
|
|
15024
|
+
React__default.createElement(Select$1, { variant: "standard", size: "small", margin: "dense", sx: { width: 60, mr: 2, textAlign: 'center', fontSize: 13 }, value: rowsPerPage, onChange: ({ target }) => setRowsPerPage(parseInt(target.value)) }, rowsPerPageOptions.map((option) => (React__default.createElement(MenuItem, { key: option, value: option }, option)))),
|
|
15025
|
+
React__default.createElement(Typography, { variant: "body2" },
|
|
15026
|
+
currentPage + 1,
|
|
15027
|
+
" de ",
|
|
15028
|
+
totalNumberOfPages + 1),
|
|
15029
|
+
React__default.createElement(IconButton, { size: "small", disabled: currentPage === 0, onClick: () => onPageChange(currentPage - 1) },
|
|
15030
|
+
React__default.createElement(MdArrowBackIosNew, { size: 8 * 2 })),
|
|
15031
|
+
React__default.createElement(IconButton, { size: "small", disabled: currentPage === totalNumberOfPages, onClick: () => onPageChange(currentPage + 1) },
|
|
15032
|
+
React__default.createElement(MdArrowForwardIos, { size: 8 * 2 })))));
|
|
15033
15033
|
};
|
|
15034
15034
|
|
|
15035
|
-
function BaseGrid({ columns, children, fixedColumns, paperProps, tableBodyProps, tableHeadProps, tableProps, sortedDirection, sortedBy, onSortBy, dense = true, striped, bordered, currentPage, totalNumberOfPages, onPageChange, rowsPerPage, setRowsPerPage, rowsPerPageOptions }) {
|
|
15036
|
-
return (React__default.createElement(Paper, Object.assign({}, paperProps, { sx: Object.assign({ 'tr td': {
|
|
15037
|
-
py: dense ? 0.23 : 0.7,
|
|
15038
|
-
border: bordered ? '1px solid' : '',
|
|
15039
|
-
borderColor: 'divider'
|
|
15040
|
-
}, 'tr:nth-of-type(even)': {
|
|
15041
|
-
transition: 'background-color ease 200ms',
|
|
15042
|
-
bgcolor: striped ? 'divider' : 'initial'
|
|
15043
|
-
}, width: fixedColumns ? 'fit-content' : '100' }, paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx) }),
|
|
15044
|
-
React__default.createElement(Table, Object.assign({ size: "small", stickyHeader: true }, tableProps, { sx: Object.assign({}, tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) }),
|
|
15045
|
-
React__default.createElement(TableHead, Object.assign({}, tableHeadProps),
|
|
15046
|
-
React__default.createElement(TableRow, null, columns.map((column) => (React__default.createElement(TableCell, { key: column.name, padding: dense ? 'none' : 'normal', sx: Object.assign({ pl: 2 }, column === null || column === void 0 ? void 0 : column.sx) },
|
|
15047
|
-
React__default.createElement(TableSortLabel, { active: sortedBy === column.name, direction: sortedDirection, onClick: () => onSortBy(column.name), disabled: column.canSort === false, sx: { position: 'relative', right: '-9px' } }, column.label)))))),
|
|
15048
|
-
React__default.createElement(TableBody, Object.assign({}, tableBodyProps), children)),
|
|
15049
|
-
React__default.createElement(GridPagination, { rowsPerPageOptions: rowsPerPageOptions, currentPage: currentPage, totalNumberOfPages: totalNumberOfPages, onPageChange: onPageChange, setRowsPerPage: setRowsPerPage, rowsPerPage: rowsPerPage, dense: dense })));
|
|
15050
|
-
}
|
|
15051
|
-
|
|
15052
|
-
function useFilter() {
|
|
15053
|
-
const [selectedFilters, setSelectedFilters] = useState([]);
|
|
15054
|
-
const filterBy = (newFilter) => {
|
|
15055
|
-
const propToCompare = newFilter.id ? 'id' : 'prop';
|
|
15056
|
-
function removeRepeatedFilters(filter) {
|
|
15057
|
-
return filter[propToCompare] !== newFilter[propToCompare];
|
|
15058
|
-
}
|
|
15059
|
-
setSelectedFilters((filters) => [
|
|
15060
|
-
...filters.filter(removeRepeatedFilters),
|
|
15061
|
-
newFilter
|
|
15062
|
-
]);
|
|
15063
|
-
};
|
|
15064
|
-
const removeFilter = (prop) => {
|
|
15065
|
-
setSelectedFilters(selectedFilters.filter((filter) => filter.prop !== prop));
|
|
15066
|
-
};
|
|
15067
|
-
function clearAllFilters() {
|
|
15068
|
-
setSelectedFilters([]);
|
|
15069
|
-
}
|
|
15070
|
-
return {
|
|
15071
|
-
filters: selectedFilters,
|
|
15072
|
-
filterBy,
|
|
15073
|
-
removeFilter,
|
|
15074
|
-
createFilter,
|
|
15075
|
-
clearAllFilters
|
|
15076
|
-
};
|
|
15077
|
-
}
|
|
15078
|
-
function getObjectValue(obj) {
|
|
15079
|
-
return (prop) => prop.split('.').reduce((o, k) => o[k], obj);
|
|
15080
|
-
}
|
|
15081
|
-
function isDate(date) {
|
|
15082
|
-
if (date instanceof Date)
|
|
15083
|
-
return true;
|
|
15084
|
-
else if (String(date).endsWith('Z'))
|
|
15085
|
-
return true;
|
|
15086
|
-
return false;
|
|
15087
|
-
}
|
|
15088
|
-
function compareFilter(item, filter) {
|
|
15089
|
-
const itemValue = getObjectValue(item)(filter.prop);
|
|
15090
|
-
switch (filter.compareType) {
|
|
15091
|
-
case 'equal':
|
|
15092
|
-
return itemValue === filter.value;
|
|
15093
|
-
case 'gte':
|
|
15094
|
-
return isDate(itemValue)
|
|
15095
|
-
? moment(String(itemValue)).isSameOrAfter(filter.value)
|
|
15096
|
-
: itemValue >= filter.value;
|
|
15097
|
-
case 'gt':
|
|
15098
|
-
return isDate(itemValue)
|
|
15099
|
-
? moment(String(itemValue)).isAfter(filter.value)
|
|
15100
|
-
: itemValue > filter.value;
|
|
15101
|
-
case 'lte':
|
|
15102
|
-
return isDate(itemValue)
|
|
15103
|
-
? moment(String(itemValue)).isSameOrBefore(filter.value)
|
|
15104
|
-
: itemValue <= filter.value;
|
|
15105
|
-
case 'lt':
|
|
15106
|
-
return isDate(itemValue)
|
|
15107
|
-
? moment(String(itemValue)).isBefore(filter.value)
|
|
15108
|
-
: itemValue < filter.value;
|
|
15109
|
-
}
|
|
15110
|
-
return false;
|
|
15111
|
-
}
|
|
15112
|
-
function createFilter(filters) {
|
|
15113
|
-
function apply(item) {
|
|
15114
|
-
const satisfiedFilters = filters.reduce((acc, filter) => {
|
|
15115
|
-
if (compareFilter(item, filter))
|
|
15116
|
-
acc += 1;
|
|
15117
|
-
return acc;
|
|
15118
|
-
}, 0);
|
|
15119
|
-
return satisfiedFilters === filters.length;
|
|
15120
|
-
}
|
|
15121
|
-
return {
|
|
15122
|
-
apply
|
|
15123
|
-
};
|
|
15124
|
-
}
|
|
15125
|
-
|
|
15126
|
-
function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100] }) {
|
|
15127
|
-
const [defaultData, setDefaultData] = useState([]);
|
|
15128
|
-
const [sortedBy, setSortedBy] = useState('');
|
|
15129
|
-
const [sortedDirection, setSortedDirection] = useState('desc');
|
|
15130
|
-
const [currentPage, setCurrentPage] = useState(0);
|
|
15131
|
-
const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageOptions[0]);
|
|
15132
|
-
const toggleSortedDirection = () => {
|
|
15133
|
-
if (sortedDirection === 'desc')
|
|
15134
|
-
setSortedDirection('asc');
|
|
15135
|
-
if (sortedDirection === 'asc')
|
|
15136
|
-
setSortedDirection('desc');
|
|
15137
|
-
};
|
|
15138
|
-
const onSortBy = (prop) => {
|
|
15139
|
-
if (!prop)
|
|
15140
|
-
return;
|
|
15141
|
-
if (prop === sortedBy) {
|
|
15142
|
-
if (sortedDirection === 'asc') {
|
|
15143
|
-
toggleSortedDirection();
|
|
15144
|
-
setSortedBy('');
|
|
15145
|
-
}
|
|
15146
|
-
else
|
|
15147
|
-
toggleSortedDirection();
|
|
15148
|
-
}
|
|
15149
|
-
else {
|
|
15150
|
-
setSortedDirection('desc');
|
|
15151
|
-
setSortedBy(prop);
|
|
15152
|
-
}
|
|
15153
|
-
};
|
|
15154
|
-
const set = (data) => {
|
|
15155
|
-
setDefaultData(data);
|
|
15156
|
-
};
|
|
15157
|
-
const sortData = (data) => {
|
|
15158
|
-
if (sortedBy) {
|
|
15159
|
-
return data.sort((a, b) => {
|
|
15160
|
-
const compare = b[sortedBy] > a[sortedBy];
|
|
15161
|
-
if (sortedDirection === 'asc')
|
|
15162
|
-
return compare ? 1 : -1;
|
|
15163
|
-
return compare ? -1 : 1;
|
|
15164
|
-
});
|
|
15165
|
-
}
|
|
15166
|
-
else
|
|
15167
|
-
return data;
|
|
15168
|
-
};
|
|
15169
|
-
const onPageChange = (pageNumber) => {
|
|
15170
|
-
if (pageNumber < 0)
|
|
15171
|
-
return;
|
|
15172
|
-
if (pageNumber > totalNumberOfPages)
|
|
15173
|
-
return;
|
|
15174
|
-
setCurrentPage(pageNumber);
|
|
15175
|
-
};
|
|
15176
|
-
const onChangeRowsPerPage = (rows) => {
|
|
15177
|
-
let totalNumberOfPages = Math.round(filteredData.length / rows) - 1;
|
|
15178
|
-
totalNumberOfPages = totalNumberOfPages <= 0 ? 0 : 1;
|
|
15179
|
-
if (currentPage > totalNumberOfPages)
|
|
15180
|
-
setCurrentPage(totalNumberOfPages);
|
|
15181
|
-
setRowsPerPage(rows);
|
|
15182
|
-
};
|
|
15183
|
-
const filteredData = useMemo(() => {
|
|
15184
|
-
const newData = defaultData.slice(0);
|
|
15185
|
-
const newFilter = createFilter(filters);
|
|
15186
|
-
return newData.filter(newFilter.apply);
|
|
15187
|
-
}, [defaultData, filters]);
|
|
15188
|
-
const displayData = useMemo(() => {
|
|
15189
|
-
const sortedData = sortData(filteredData);
|
|
15190
|
-
const startPage = currentPage * rowsPerPage;
|
|
15191
|
-
const endPage = startPage + rowsPerPage;
|
|
15192
|
-
return sortedData.slice(startPage, endPage);
|
|
15193
|
-
}, [sortedBy, sortedDirection, filteredData, currentPage, rowsPerPage]);
|
|
15194
|
-
const totalNumberOfPages = Math.round(filteredData.length / rowsPerPage) - 1;
|
|
15195
|
-
return {
|
|
15196
|
-
data: displayData,
|
|
15197
|
-
set,
|
|
15198
|
-
onSortBy,
|
|
15199
|
-
sortedBy,
|
|
15200
|
-
defaultData,
|
|
15201
|
-
sortedDirection,
|
|
15202
|
-
columns,
|
|
15203
|
-
currentPage,
|
|
15204
|
-
totalNumberOfPages: totalNumberOfPages < 0 ? 0 : totalNumberOfPages,
|
|
15205
|
-
onPageChange,
|
|
15206
|
-
setRowsPerPage: onChangeRowsPerPage,
|
|
15207
|
-
rowsPerPageOptions,
|
|
15208
|
-
rowsPerPage
|
|
15209
|
-
};
|
|
15210
|
-
}
|
|
15211
|
-
|
|
15212
|
-
/* eslint no-undef: "off" */
|
|
15213
|
-
function useEvent(event, handler, passive = false) {
|
|
15214
|
-
useEffect(() => {
|
|
15215
|
-
window.addEventListener(event, handler, passive);
|
|
15216
|
-
return function cleanup() {
|
|
15217
|
-
window.removeEventListener(event, handler);
|
|
15218
|
-
};
|
|
15219
|
-
});
|
|
15220
|
-
}
|
|
15221
|
-
|
|
15222
|
-
function useLoading() {
|
|
15223
|
-
const [state, setState] = useState([]);
|
|
15224
|
-
const isLoading = (prop) => state.includes(prop);
|
|
15225
|
-
const setLoading = (prop, remove) => {
|
|
15226
|
-
if (remove)
|
|
15227
|
-
setState((prevState) => prevState.filter((state) => state !== prop));
|
|
15228
|
-
else
|
|
15229
|
-
setState((prevState) => [...prevState, prop]);
|
|
15230
|
-
};
|
|
15231
|
-
return { isLoading, setLoading };
|
|
15232
|
-
}
|
|
15233
|
-
|
|
15234
|
-
const Modal = (_a) => {
|
|
15235
|
-
var { open, onClose } = _a, rest = __rest(_a, ["open", "onClose"]);
|
|
15236
|
-
return (React__default.createElement(Modal$1, Object.assign({ open: open, onClose: onClose, disableEnforceFocus: true }, rest),
|
|
15237
|
-
React__default.createElement(Box$2, { sx: {
|
|
15238
|
-
outline: 'none',
|
|
15239
|
-
backgroundColor: 'white',
|
|
15240
|
-
position: 'absolute',
|
|
15241
|
-
top: '50%',
|
|
15242
|
-
left: '50%',
|
|
15243
|
-
transform: 'translate(-50%, -50%)',
|
|
15244
|
-
borderRadius: 1
|
|
15245
|
-
} },
|
|
15246
|
-
React__default.createElement(React__default.Fragment, null, rest.children))));
|
|
15035
|
+
function BaseGrid({ columns, children, fixedColumns, paperProps, tableBodyProps, tableHeadProps, tableProps, sortedDirection, sortedBy, onSortBy, dense = true, striped, bordered, currentPage, totalNumberOfPages, onPageChange, rowsPerPage, setRowsPerPage, rowsPerPageOptions }) {
|
|
15036
|
+
return (React__default.createElement(Paper, Object.assign({}, paperProps, { sx: Object.assign({ 'tr td': {
|
|
15037
|
+
py: dense ? 0.23 : 0.7,
|
|
15038
|
+
border: bordered ? '1px solid' : '',
|
|
15039
|
+
borderColor: 'divider'
|
|
15040
|
+
}, 'tr:nth-of-type(even)': {
|
|
15041
|
+
transition: 'background-color ease 200ms',
|
|
15042
|
+
bgcolor: striped ? 'divider' : 'initial'
|
|
15043
|
+
}, width: fixedColumns ? 'fit-content' : '100' }, paperProps === null || paperProps === void 0 ? void 0 : paperProps.sx) }),
|
|
15044
|
+
React__default.createElement(Table, Object.assign({ size: "small", stickyHeader: true }, tableProps, { sx: Object.assign({}, tableProps === null || tableProps === void 0 ? void 0 : tableProps.sx) }),
|
|
15045
|
+
React__default.createElement(TableHead, Object.assign({}, tableHeadProps),
|
|
15046
|
+
React__default.createElement(TableRow, null, columns.map((column) => (React__default.createElement(TableCell, { key: column.name, padding: dense ? 'none' : 'normal', sx: Object.assign({ pl: 2 }, column === null || column === void 0 ? void 0 : column.sx) },
|
|
15047
|
+
React__default.createElement(TableSortLabel, { active: sortedBy === column.name, direction: sortedDirection, onClick: () => onSortBy(column.name), disabled: column.canSort === false, sx: { position: 'relative', right: '-9px' } }, column.label)))))),
|
|
15048
|
+
React__default.createElement(TableBody, Object.assign({}, tableBodyProps), children)),
|
|
15049
|
+
React__default.createElement(GridPagination, { rowsPerPageOptions: rowsPerPageOptions, currentPage: currentPage, totalNumberOfPages: totalNumberOfPages, onPageChange: onPageChange, setRowsPerPage: setRowsPerPage, rowsPerPage: rowsPerPage, dense: dense })));
|
|
15050
|
+
}
|
|
15051
|
+
|
|
15052
|
+
function useFilter() {
|
|
15053
|
+
const [selectedFilters, setSelectedFilters] = useState([]);
|
|
15054
|
+
const filterBy = (newFilter) => {
|
|
15055
|
+
const propToCompare = newFilter.id ? 'id' : 'prop';
|
|
15056
|
+
function removeRepeatedFilters(filter) {
|
|
15057
|
+
return filter[propToCompare] !== newFilter[propToCompare];
|
|
15058
|
+
}
|
|
15059
|
+
setSelectedFilters((filters) => [
|
|
15060
|
+
...filters.filter(removeRepeatedFilters),
|
|
15061
|
+
newFilter
|
|
15062
|
+
]);
|
|
15063
|
+
};
|
|
15064
|
+
const removeFilter = (prop) => {
|
|
15065
|
+
setSelectedFilters(selectedFilters.filter((filter) => filter.prop !== prop));
|
|
15066
|
+
};
|
|
15067
|
+
function clearAllFilters() {
|
|
15068
|
+
setSelectedFilters([]);
|
|
15069
|
+
}
|
|
15070
|
+
return {
|
|
15071
|
+
filters: selectedFilters,
|
|
15072
|
+
filterBy,
|
|
15073
|
+
removeFilter,
|
|
15074
|
+
createFilter,
|
|
15075
|
+
clearAllFilters
|
|
15076
|
+
};
|
|
15077
|
+
}
|
|
15078
|
+
function getObjectValue(obj) {
|
|
15079
|
+
return (prop) => prop.split('.').reduce((o, k) => o[k], obj);
|
|
15080
|
+
}
|
|
15081
|
+
function isDate(date) {
|
|
15082
|
+
if (date instanceof Date)
|
|
15083
|
+
return true;
|
|
15084
|
+
else if (String(date).endsWith('Z'))
|
|
15085
|
+
return true;
|
|
15086
|
+
return false;
|
|
15087
|
+
}
|
|
15088
|
+
function compareFilter(item, filter) {
|
|
15089
|
+
const itemValue = getObjectValue(item)(filter.prop);
|
|
15090
|
+
switch (filter.compareType) {
|
|
15091
|
+
case 'equal':
|
|
15092
|
+
return itemValue === filter.value;
|
|
15093
|
+
case 'gte':
|
|
15094
|
+
return isDate(itemValue)
|
|
15095
|
+
? moment(String(itemValue)).isSameOrAfter(filter.value)
|
|
15096
|
+
: itemValue >= filter.value;
|
|
15097
|
+
case 'gt':
|
|
15098
|
+
return isDate(itemValue)
|
|
15099
|
+
? moment(String(itemValue)).isAfter(filter.value)
|
|
15100
|
+
: itemValue > filter.value;
|
|
15101
|
+
case 'lte':
|
|
15102
|
+
return isDate(itemValue)
|
|
15103
|
+
? moment(String(itemValue)).isSameOrBefore(filter.value)
|
|
15104
|
+
: itemValue <= filter.value;
|
|
15105
|
+
case 'lt':
|
|
15106
|
+
return isDate(itemValue)
|
|
15107
|
+
? moment(String(itemValue)).isBefore(filter.value)
|
|
15108
|
+
: itemValue < filter.value;
|
|
15109
|
+
}
|
|
15110
|
+
return false;
|
|
15111
|
+
}
|
|
15112
|
+
function createFilter(filters) {
|
|
15113
|
+
function apply(item) {
|
|
15114
|
+
const satisfiedFilters = filters.reduce((acc, filter) => {
|
|
15115
|
+
if (compareFilter(item, filter))
|
|
15116
|
+
acc += 1;
|
|
15117
|
+
return acc;
|
|
15118
|
+
}, 0);
|
|
15119
|
+
return satisfiedFilters === filters.length;
|
|
15120
|
+
}
|
|
15121
|
+
return {
|
|
15122
|
+
apply
|
|
15123
|
+
};
|
|
15124
|
+
}
|
|
15125
|
+
|
|
15126
|
+
function useGrid({ columns, filters = [], rowsPerPageOptions = [30, 60, 100] }) {
|
|
15127
|
+
const [defaultData, setDefaultData] = useState([]);
|
|
15128
|
+
const [sortedBy, setSortedBy] = useState('');
|
|
15129
|
+
const [sortedDirection, setSortedDirection] = useState('desc');
|
|
15130
|
+
const [currentPage, setCurrentPage] = useState(0);
|
|
15131
|
+
const [rowsPerPage, setRowsPerPage] = useState(rowsPerPageOptions[0]);
|
|
15132
|
+
const toggleSortedDirection = () => {
|
|
15133
|
+
if (sortedDirection === 'desc')
|
|
15134
|
+
setSortedDirection('asc');
|
|
15135
|
+
if (sortedDirection === 'asc')
|
|
15136
|
+
setSortedDirection('desc');
|
|
15137
|
+
};
|
|
15138
|
+
const onSortBy = (prop) => {
|
|
15139
|
+
if (!prop)
|
|
15140
|
+
return;
|
|
15141
|
+
if (prop === sortedBy) {
|
|
15142
|
+
if (sortedDirection === 'asc') {
|
|
15143
|
+
toggleSortedDirection();
|
|
15144
|
+
setSortedBy('');
|
|
15145
|
+
}
|
|
15146
|
+
else
|
|
15147
|
+
toggleSortedDirection();
|
|
15148
|
+
}
|
|
15149
|
+
else {
|
|
15150
|
+
setSortedDirection('desc');
|
|
15151
|
+
setSortedBy(prop);
|
|
15152
|
+
}
|
|
15153
|
+
};
|
|
15154
|
+
const set = (data) => {
|
|
15155
|
+
setDefaultData(data);
|
|
15156
|
+
};
|
|
15157
|
+
const sortData = (data) => {
|
|
15158
|
+
if (sortedBy) {
|
|
15159
|
+
return data.sort((a, b) => {
|
|
15160
|
+
const compare = b[sortedBy] > a[sortedBy];
|
|
15161
|
+
if (sortedDirection === 'asc')
|
|
15162
|
+
return compare ? 1 : -1;
|
|
15163
|
+
return compare ? -1 : 1;
|
|
15164
|
+
});
|
|
15165
|
+
}
|
|
15166
|
+
else
|
|
15167
|
+
return data;
|
|
15168
|
+
};
|
|
15169
|
+
const onPageChange = (pageNumber) => {
|
|
15170
|
+
if (pageNumber < 0)
|
|
15171
|
+
return;
|
|
15172
|
+
if (pageNumber > totalNumberOfPages)
|
|
15173
|
+
return;
|
|
15174
|
+
setCurrentPage(pageNumber);
|
|
15175
|
+
};
|
|
15176
|
+
const onChangeRowsPerPage = (rows) => {
|
|
15177
|
+
let totalNumberOfPages = Math.round(filteredData.length / rows) - 1;
|
|
15178
|
+
totalNumberOfPages = totalNumberOfPages <= 0 ? 0 : 1;
|
|
15179
|
+
if (currentPage > totalNumberOfPages)
|
|
15180
|
+
setCurrentPage(totalNumberOfPages);
|
|
15181
|
+
setRowsPerPage(rows);
|
|
15182
|
+
};
|
|
15183
|
+
const filteredData = useMemo(() => {
|
|
15184
|
+
const newData = defaultData.slice(0);
|
|
15185
|
+
const newFilter = createFilter(filters);
|
|
15186
|
+
return newData.filter(newFilter.apply);
|
|
15187
|
+
}, [defaultData, filters]);
|
|
15188
|
+
const displayData = useMemo(() => {
|
|
15189
|
+
const sortedData = sortData(filteredData);
|
|
15190
|
+
const startPage = currentPage * rowsPerPage;
|
|
15191
|
+
const endPage = startPage + rowsPerPage;
|
|
15192
|
+
return sortedData.slice(startPage, endPage);
|
|
15193
|
+
}, [sortedBy, sortedDirection, filteredData, currentPage, rowsPerPage]);
|
|
15194
|
+
const totalNumberOfPages = Math.round(filteredData.length / rowsPerPage) - 1;
|
|
15195
|
+
return {
|
|
15196
|
+
data: displayData,
|
|
15197
|
+
set,
|
|
15198
|
+
onSortBy,
|
|
15199
|
+
sortedBy,
|
|
15200
|
+
defaultData,
|
|
15201
|
+
sortedDirection,
|
|
15202
|
+
columns,
|
|
15203
|
+
currentPage,
|
|
15204
|
+
totalNumberOfPages: totalNumberOfPages < 0 ? 0 : totalNumberOfPages,
|
|
15205
|
+
onPageChange,
|
|
15206
|
+
setRowsPerPage: onChangeRowsPerPage,
|
|
15207
|
+
rowsPerPageOptions,
|
|
15208
|
+
rowsPerPage
|
|
15209
|
+
};
|
|
15210
|
+
}
|
|
15211
|
+
|
|
15212
|
+
/* eslint no-undef: "off" */
|
|
15213
|
+
function useEvent(event, handler, passive = false) {
|
|
15214
|
+
useEffect(() => {
|
|
15215
|
+
window.addEventListener(event, handler, passive);
|
|
15216
|
+
return function cleanup() {
|
|
15217
|
+
window.removeEventListener(event, handler);
|
|
15218
|
+
};
|
|
15219
|
+
});
|
|
15220
|
+
}
|
|
15221
|
+
|
|
15222
|
+
function useLoading() {
|
|
15223
|
+
const [state, setState] = useState([]);
|
|
15224
|
+
const isLoading = (prop) => state.includes(prop);
|
|
15225
|
+
const setLoading = (prop, remove) => {
|
|
15226
|
+
if (remove)
|
|
15227
|
+
setState((prevState) => prevState.filter((state) => state !== prop));
|
|
15228
|
+
else
|
|
15229
|
+
setState((prevState) => [...prevState, prop]);
|
|
15230
|
+
};
|
|
15231
|
+
return { isLoading, setLoading };
|
|
15232
|
+
}
|
|
15233
|
+
|
|
15234
|
+
const Modal = (_a) => {
|
|
15235
|
+
var { open, onClose } = _a, rest = __rest(_a, ["open", "onClose"]);
|
|
15236
|
+
return (React__default.createElement(Modal$1, Object.assign({ open: open, onClose: onClose, disableEnforceFocus: true }, rest),
|
|
15237
|
+
React__default.createElement(Box$2, { sx: {
|
|
15238
|
+
outline: 'none',
|
|
15239
|
+
backgroundColor: 'white',
|
|
15240
|
+
position: 'absolute',
|
|
15241
|
+
top: '50%',
|
|
15242
|
+
left: '50%',
|
|
15243
|
+
transform: 'translate(-50%, -50%)',
|
|
15244
|
+
borderRadius: 1
|
|
15245
|
+
} },
|
|
15246
|
+
React__default.createElement(React__default.Fragment, null, rest.children))));
|
|
15247
15247
|
};
|
|
15248
15248
|
|
|
15249
|
-
function GetInputLabel(columns) {
|
|
15250
|
-
return (columnName) => {
|
|
15251
|
-
const column = columns.find((column) => column.name === columnName);
|
|
15252
|
-
return { label: column.label, name: column.name };
|
|
15253
|
-
};
|
|
15254
|
-
}
|
|
15255
|
-
|
|
15256
|
-
const Dialog = (_a) => {
|
|
15257
|
-
var { open, title, loading, body, options } = _a, rest = __rest(_a, ["open", "title", "loading", "body", "options"]);
|
|
15258
|
-
return (React__default.createElement(Dialog$1, Object.assign({ open: open }, rest),
|
|
15259
|
-
React__default.createElement(Box$2, { sx: { p: 2 } },
|
|
15260
|
-
React__default.createElement(DialogTitle, { sx: { fontWeight: "bold" } }, title),
|
|
15261
|
-
React__default.createElement(DialogContentText, { sx: { px: "10px", textAlign: "center", mb: 2 } }, body),
|
|
15262
|
-
React__default.createElement(DialogActions, null, options.map((option, index) => {
|
|
15263
|
-
return (React__default.createElement(Button, { key: index, onClick: () => option.cb(option.label), variant: option.focus ? "contained" : "text", sx: {
|
|
15264
|
-
fontWeight: option.focus ? "bold" : "normal",
|
|
15265
|
-
color: option.focus ? "#fff" : "primary.main",
|
|
15266
|
-
}, disableElevation: true, disabled: loading }, loading && option.focus ? (React__default.createElement(CircularProgress, { size: 25, color: "inherit" })) : (React__default.createElement(React__default.Fragment, null, option.label))));
|
|
15267
|
-
})))));
|
|
15249
|
+
function GetInputLabel(columns) {
|
|
15250
|
+
return (columnName) => {
|
|
15251
|
+
const column = columns.find((column) => column.name === columnName);
|
|
15252
|
+
return { label: column.label, name: column.name };
|
|
15253
|
+
};
|
|
15254
|
+
}
|
|
15255
|
+
|
|
15256
|
+
const Dialog = (_a) => {
|
|
15257
|
+
var { open, title, loading, body, options } = _a, rest = __rest(_a, ["open", "title", "loading", "body", "options"]);
|
|
15258
|
+
return (React__default.createElement(Dialog$1, Object.assign({ open: open }, rest),
|
|
15259
|
+
React__default.createElement(Box$2, { sx: { p: 2 } },
|
|
15260
|
+
React__default.createElement(DialogTitle, { sx: { fontWeight: "bold" } }, title),
|
|
15261
|
+
React__default.createElement(DialogContentText, { sx: { px: "10px", textAlign: "center", mb: 2 } }, body),
|
|
15262
|
+
React__default.createElement(DialogActions, null, options.map((option, index) => {
|
|
15263
|
+
return (React__default.createElement(Button, { key: index, onClick: () => option.cb(option.label), variant: option.focus ? "contained" : "text", sx: {
|
|
15264
|
+
fontWeight: option.focus ? "bold" : "normal",
|
|
15265
|
+
color: option.focus ? "#fff" : "primary.main",
|
|
15266
|
+
}, disableElevation: true, disabled: loading }, loading && option.focus ? (React__default.createElement(CircularProgress, { size: 25, color: "inherit" })) : (React__default.createElement(React__default.Fragment, null, option.label))));
|
|
15267
|
+
})))));
|
|
15268
15268
|
};
|
|
15269
15269
|
|
|
15270
15270
|
export { Autocomplete, BaseGrid, Checkbox, Dialog, EditableTableCell, GetInputLabel, Grid, Input, InputMask, LargeButton, Modal, Radio, Select, Switch, TabPanel, Td, Tr, createFilter, filterData, getTabProps, useEvent, useFilter, useGrid, useLoading };
|