@dexteel/mesf-core 3.12.4 → 4.0.1-alpha

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.
Files changed (20) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/bun.lockb +0 -0
  3. package/dist/components/modals/error-modal.d.ts +9 -0
  4. package/dist/configuration/pages/asset/context/ConfigurationAssetContext.d.ts +138 -16
  5. package/dist/configuration/pages/profiles/components/Create/CreateProfile.d.ts +2 -3
  6. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ProceduresDataTable/index.d.ts +10 -0
  7. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ProceduresOfProfile.d.ts +9 -0
  8. package/dist/configuration/pages/profiles/components/ProfilesTable/customHooks/useTableData.d.ts +3 -6
  9. package/dist/configuration/pages/profiles/models/Procedure.d.ts +4 -0
  10. package/dist/configuration/pages/profiles/models/Profile.d.ts +0 -4
  11. package/dist/configuration/pages/profiles/repositories/ProfilesRepository.d.ts +28 -0
  12. package/dist/index.esm.js +544 -595
  13. package/dist/services/ApiService.d.ts +1 -0
  14. package/dist/utils/getError.d.ts +1 -0
  15. package/package.json +8 -3
  16. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useGetPermissionsEffect.d.ts +0 -7
  17. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useHandleAsignedPermission.d.ts +0 -6
  18. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useIsPermissionInherited.d.ts +0 -5
  19. package/dist/configuration/pages/profiles/components/common/Permissions/utils/PermissionsUtils.d.ts +0 -1
  20. package/dist/configuration/pages/profiles/components/common/Pickers/PermissionsPicker.d.ts +0 -11
package/dist/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
- import { Typography, TextField, FormHelperText, CircularProgress as CircularProgress$1, makeStyles as makeStyles$1, Badge, Dialog as Dialog$1, DialogContent as DialogContent$2, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, DialogActions as DialogActions$2, DialogTitle as DialogTitle$2, DialogContentText as DialogContentText$1, Button as Button$1, Grid as Grid$1, Paper as Paper$1, Snackbar as Snackbar$1, MenuItem as MenuItem$1, createStyles as createStyles$1, List, ListItem, ListItemText } from '@material-ui/core';
2
- import { get as get$1, isEmpty } from 'lodash-es';
1
+ import { Typography, TextField, FormHelperText, Grid as Grid$1, Button as Button$1, CircularProgress as CircularProgress$1, makeStyles as makeStyles$1, Badge, Dialog as Dialog$1, DialogContent as DialogContent$2, FormControlLabel, Checkbox, DialogActions as DialogActions$2, DialogTitle as DialogTitle$2, DialogContentText as DialogContentText$1, Paper as Paper$1, Snackbar as Snackbar$1, MenuItem as MenuItem$1, createStyles as createStyles$1, List, ListItem, ListItemText } from '@material-ui/core';
2
+ import { get as get$1, values, isNil, isEmpty } from 'lodash-es';
3
3
  import * as React from 'react';
4
- import React__default, { useState, useRef, useEffect, Component, createContext, useContext, useCallback, useMemo, lazy, Suspense } from 'react';
4
+ import React__default, { useState, useRef, useEffect, Component, createContext, useContext, useMemo, useCallback, lazy, Suspense } from 'react';
5
5
  import { Alert as Alert$1, Modal as Modal$2, Navbar, Container, Nav, NavDropdown } from 'react-bootstrap';
6
6
  import DialogTitle$1 from '@material-ui/core/DialogTitle';
7
7
  import DialogContent$1 from '@material-ui/core/DialogContent';
@@ -48,24 +48,25 @@ import { Alert as Alert$3, AlertTitle } from '@material-ui/lab';
48
48
  import { MuiPickersUtilsProvider, KeyboardDatePicker, KeyboardTimePicker } from '@material-ui/pickers';
49
49
  import MomentUtils from '@date-io/moment';
50
50
  import InputLabel from '@material-ui/core/InputLabel';
51
- import FormControl from '@material-ui/core/FormControl';
52
- import FormGroup from '@material-ui/core/FormGroup';
53
- import FormControlLabel from '@material-ui/core/FormControlLabel';
54
- import Checkbox from '@material-ui/core/Checkbox';
55
- import FormHelperText$1 from '@material-ui/core/FormHelperText';
56
- import stc from 'string-to-color';
51
+ import IconButton from '@material-ui/core/IconButton';
52
+ import CloseIcon from '@material-ui/icons/Close';
53
+ import LockRounded from '@material-ui/icons/LockRounded';
57
54
  import DeleteIcon from '@material-ui/icons/Delete';
58
55
  import EditIcon from '@material-ui/icons/Edit';
56
+ import { AgGridReact } from 'ag-grid-react';
57
+ import 'ag-grid-enterprise/styles/ag-grid.css';
58
+ import 'ag-grid-enterprise/styles/ag-theme-balham.min.css';
59
59
  import { isAncestor, Tree } from '@minoru/react-dnd-treeview';
60
60
  import { ArrowRight } from '@material-ui/icons';
61
61
  import ImageIcon from '@material-ui/icons/Image';
62
62
  import ListAltIcon from '@material-ui/icons/ListAlt';
63
63
  import DescriptionIcon from '@material-ui/icons/Description';
64
+ import FormControlLabel$1 from '@material-ui/core/FormControlLabel';
65
+ import Checkbox$1 from '@material-ui/core/Checkbox';
64
66
  import Input from '@material-ui/core/Input';
67
+ import FormControl from '@material-ui/core/FormControl';
65
68
  import Chip from '@material-ui/core/Chip';
66
69
  import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
67
- import IconButton from '@material-ui/core/IconButton';
68
- import CloseIcon from '@material-ui/icons/Close';
69
70
 
70
71
  /******************************************************************************
71
72
  Copyright (c) Microsoft Corporation.
@@ -1139,7 +1140,7 @@ var Alert = function (props) {
1139
1140
  return React__default.createElement(Alert$2, __assign({ elevation: 6, variant: "filled" }, props));
1140
1141
  };
1141
1142
 
1142
- var useStyles$q = makeStyles(function (theme) {
1143
+ var useStyles$p = makeStyles(function (theme) {
1143
1144
  return createStyles({
1144
1145
  root: {
1145
1146
  '& .MuiDataGrid-row': {
@@ -1169,7 +1170,7 @@ var useStyles$q = makeStyles(function (theme) {
1169
1170
  });
1170
1171
  });
1171
1172
  var TableJobs = function () {
1172
- var classes = useStyles$q();
1173
+ var classes = useStyles$p();
1173
1174
  var _a = useState(true), loading = _a[0], setLoading = _a[1];
1174
1175
  var actions = useJobsContext().actions;
1175
1176
  var _b = useState(false), messageLoading = _b[0], setMessageLoading = _b[1];
@@ -1455,7 +1456,7 @@ var useGetLogsFromAPI = function (_a) {
1455
1456
  return update;
1456
1457
  };
1457
1458
 
1458
- var useStyles$p = makeStyles(function (theme) {
1459
+ var useStyles$o = makeStyles(function (theme) {
1459
1460
  return createStyles({
1460
1461
  title: {
1461
1462
  fontSize: 15
@@ -1474,7 +1475,7 @@ var formatTime = function (nowTime) {
1474
1475
  };
1475
1476
  var ModalLogSelected = function (_a) {
1476
1477
  var show = _a.show, onHide = _a.onHide, selectedLog = _a.selectedLog;
1477
- var classes = useStyles$p();
1478
+ var classes = useStyles$o();
1478
1479
  return (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
1479
1480
  React__default.createElement(Modal$2, __assign({}, { show: show }, { onHide: function () { return onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
1480
1481
  React__default.createElement(Modal$2.Header, { closeButton: true, style: { padding: "10px 30px" } },
@@ -1559,7 +1560,7 @@ var SearchFilter = function (_a) {
1559
1560
  React__default.createElement(FormHelperText, { style: { marginBottom: 10, marginTop: -15 } }, "Search by Source, Message or User")));
1560
1561
  };
1561
1562
 
1562
- var useStyles$o = makeStyles(function (theme) {
1563
+ var useStyles$n = makeStyles(function (theme) {
1563
1564
  return createStyles({
1564
1565
  root: {
1565
1566
  '& .MuiDataGrid-row': {
@@ -1590,7 +1591,7 @@ var useStyles$o = makeStyles(function (theme) {
1590
1591
  });
1591
1592
  var TableLogs = function () {
1592
1593
  var _a = useLogsContext(), _b = _a.state.searchData, Start = _b.Start, End = _b.End, Search = _b.Search, LogTypeCode = _b.LogTypeCode, _c = _a.actions, setStartFilter = _c.setStartFilter, setEndFilter = _c.setEndFilter, setSearchFilter = _c.setSearchFilter, setLogTypeCodeFilter = _c.setLogTypeCodeFilter, resetFilters = _c.resetFilters;
1593
- var classes = useStyles$o();
1594
+ var classes = useStyles$n();
1594
1595
  var _d = useState(false), showLogModal = _d[0], setShowLogModal = _d[1];
1595
1596
  var _e = useState(true), loading = _e[0], setLoading = _e[1];
1596
1597
  var _f = useState(undefined), selectedLog = _f[0], setSelectedLog = _f[1];
@@ -1701,6 +1702,86 @@ var ProfilesProvider = function (_a) {
1701
1702
  return (React__default.createElement(ProfilesContext.Provider, { value: { state: state, actions: actions } }, children));
1702
1703
  };
1703
1704
 
1705
+ var styles = function (theme) {
1706
+ return createStyles({
1707
+ root: {
1708
+ margin: 0,
1709
+ padding: theme.spacing(2)
1710
+ },
1711
+ closeButton: {
1712
+ position: 'absolute',
1713
+ right: theme.spacing(1),
1714
+ top: theme.spacing(1),
1715
+ color: theme.palette.grey[500]
1716
+ }
1717
+ });
1718
+ };
1719
+ var DialogTitle = withStyles(styles)(function (props) {
1720
+ var children = props.children, classes = props.classes, onClose = props.onClose, other = __rest(props, ["children", "classes", "onClose"]);
1721
+ return (React__default.createElement(DialogTitle$1, __assign({ disableTypography: true, style: { display: "flex", flexWrap: 'nowrap', justifyContent: 'space-between', alignItems: 'baseline' } }, other),
1722
+ React__default.createElement(Typography$1, { variant: "h6" }, children),
1723
+ onClose ? (React__default.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: onClose },
1724
+ React__default.createElement(CloseIcon, null))) : React__default.createElement(React__default.Fragment, null)));
1725
+ });
1726
+ var DialogContent = withStyles(function (theme) { return ({
1727
+ root: {
1728
+ padding: theme.spacing(2),
1729
+ minWidth: 300
1730
+ }
1731
+ }); })(DialogContent$1);
1732
+ var DialogActions = withStyles(function (theme) { return ({
1733
+ root: {
1734
+ margin: 0,
1735
+ padding: theme.spacing(1)
1736
+ }
1737
+ }); })(DialogActions$1);
1738
+ function Modal(_a) {
1739
+ var children = _a.children, title = _a.title, handleClose = _a.handleClose, open = _a.open, _b = _a.id, id = _b === void 0 ? 'mesf-modal' : _b, _c = _a.maxWidth, maxWidth = _c === void 0 ? 'lg' : _c;
1740
+ return (React__default.createElement(Dialog, { onClose: function () { return handleClose(); }, "aria-labelledby": id, open: open, maxWidth: maxWidth, style: { minWidth: 320 } },
1741
+ React__default.createElement(DialogTitle, { id: id, onClose: function () { return handleClose(); } }, title),
1742
+ children));
1743
+ }
1744
+ var Modal$1 = Object.assign(Modal, {
1745
+ Content: DialogContent,
1746
+ Actions: DialogActions
1747
+ });
1748
+
1749
+ var ErrorModal = function (_a) {
1750
+ var error = _a.error, onHide = _a.onHide, _b = _a.title, title = _b === void 0 ? "Something went wrong!" : _b, _c = _a.size, size = _c === void 0 ? "sm" : _c;
1751
+ return (!!error ? (React__default.createElement(Modal$1, { open: true, handleClose: function () { onHide(); }, title: title, maxWidth: size },
1752
+ React__default.createElement(Modal$1.Content, null,
1753
+ React__default.createElement("div", null, error)),
1754
+ React__default.createElement(Modal$1.Actions, null,
1755
+ React__default.createElement(Grid$1, { container: true, spacing: 2, justifyContent: "flex-end", style: { padding: "1rem" } },
1756
+ React__default.createElement(Grid$1, { item: true, md: 2, xs: 12 },
1757
+ React__default.createElement(Button$1, { fullWidth: true, variant: "contained", color: "default", onClick: function () {
1758
+ onHide();
1759
+ } }, "Ok")))))) : null);
1760
+ };
1761
+
1762
+ var INITIAL_VALUES$2 = {
1763
+ ProfileId: null,
1764
+ ProfileName: ""
1765
+ };
1766
+
1767
+ var getError = function (error) {
1768
+ var arrayOfErrors = values(get$1(error, 'response.data.errors', null));
1769
+ var allErrors = '';
1770
+ if (arrayOfErrors.length) {
1771
+ allErrors = concatErrorMessagges(arrayOfErrors, allErrors);
1772
+ }
1773
+ return get$1(error, 'response.data.result', get$1(error, 'response.data.detail', get$1(error, 'response.data.title', error.toString()) + " " + allErrors));
1774
+ };
1775
+ var concatErrorMessagges = function (arrayOfErrors, string) {
1776
+ arrayOfErrors.forEach(function (element, index) {
1777
+ if (index !== 0) {
1778
+ string += ". ";
1779
+ }
1780
+ string += element.join('');
1781
+ });
1782
+ return string;
1783
+ };
1784
+
1704
1785
  //fx obtener profiles
1705
1786
  var getProfiles$1 = function () { return __awaiter(void 0, void 0, void 0, function () {
1706
1787
  var apiService, resp, e_1;
@@ -1725,111 +1806,114 @@ var getProfiles$1 = function () { return __awaiter(void 0, void 0, void 0, funct
1725
1806
  }
1726
1807
  });
1727
1808
  }); };
1728
- //fx obtener permisos
1729
- var getPermissions = function () { return __awaiter(void 0, void 0, void 0, function () {
1730
- var apiService, resp, e_2;
1809
+ //fx crear/insertar new profile
1810
+ var upsertProfile = function (profile) { return __awaiter(void 0, void 0, void 0, function () {
1811
+ var apiService, parameters, resp, e_3;
1731
1812
  return __generator(this, function (_a) {
1732
1813
  switch (_a.label) {
1733
1814
  case 0:
1734
1815
  apiService = new MESApiService();
1816
+ parameters = [];
1817
+ parameters.push({ name: "ProfileId", value: profile.ProfileId });
1818
+ parameters.push({ name: "ProfileName", value: profile.ProfileName });
1735
1819
  _a.label = 1;
1736
1820
  case 1:
1737
1821
  _a.trys.push([1, 3, , 4]);
1738
- return [4 /*yield*/, apiService.call("[SEC].[GetPermissions]", [])];
1822
+ return [4 /*yield*/, apiService.call("[SEC].[UpsertProfile]", parameters)];
1739
1823
  case 2:
1740
1824
  resp = _a.sent();
1825
+ if (apiService.hasErrors) {
1826
+ return [2 /*return*/, {
1827
+ ok: false,
1828
+ message: apiService.error
1829
+ }];
1830
+ }
1741
1831
  return [2 /*return*/, {
1742
1832
  ok: true,
1743
- data: resp
1833
+ data: getError(resp)
1744
1834
  }];
1745
1835
  case 3:
1746
- e_2 = _a.sent();
1747
- return [2 /*return*/, { ok: false, message: e_2.toString() }];
1836
+ e_3 = _a.sent();
1837
+ return [2 /*return*/, {
1838
+ ok: true,
1839
+ data: getError(e_3)
1840
+ }];
1748
1841
  case 4: return [2 /*return*/];
1749
1842
  }
1750
1843
  });
1751
1844
  }); };
1752
- //fx crear/insertar new profile
1753
- var upsertProfile = function (profile) { return __awaiter(void 0, void 0, void 0, function () {
1754
- var apiService, parameters, resp, e_3;
1845
+ // PROFILES PROCEDURES
1846
+ var getProcedures = function () { return __awaiter(void 0, void 0, void 0, function () {
1847
+ var apiService, parameters, resp;
1755
1848
  return __generator(this, function (_a) {
1756
1849
  switch (_a.label) {
1757
1850
  case 0:
1758
1851
  apiService = new MESApiService();
1759
1852
  parameters = [];
1760
- parameters.push({ name: "ProfileId", value: profile.ProfileId });
1761
- parameters.push({ name: "ProfileName", value: profile.ProfileName });
1762
- _a.label = 1;
1853
+ return [4 /*yield*/, apiService.callV2("[SEC].[GetProcedures]", parameters)];
1763
1854
  case 1:
1764
- _a.trys.push([1, 3, , 4]);
1765
- return [4 /*yield*/, apiService.call("[SEC].[UpsertProfile]", parameters)];
1766
- case 2:
1767
1855
  resp = _a.sent();
1856
+ if (apiService.hasErrors) {
1857
+ return [2 /*return*/, {
1858
+ ok: false,
1859
+ message: apiService.error.message
1860
+ }];
1861
+ }
1768
1862
  return [2 /*return*/, {
1769
1863
  ok: true,
1770
1864
  data: resp
1771
1865
  }];
1772
- case 3:
1773
- e_3 = _a.sent();
1774
- return [2 /*return*/, { ok: false, message: e_3.toString() }];
1775
- case 4: return [2 /*return*/];
1776
1866
  }
1777
1867
  });
1778
1868
  }); };
1779
- //fx setear permisos de un profile
1780
- var setPermissionsToProfile = function (ProfileId, PermissionIds) { return __awaiter(void 0, void 0, void 0, function () {
1781
- var apiService, parameters, resp, e_4;
1869
+ var getProceduresByProfileId = function (profile) { return __awaiter(void 0, void 0, void 0, function () {
1870
+ var apiService, parameters, resp;
1782
1871
  return __generator(this, function (_a) {
1783
1872
  switch (_a.label) {
1784
1873
  case 0:
1785
1874
  apiService = new MESApiService();
1786
1875
  parameters = [];
1787
- parameters.push({ name: "ProfileId", value: ProfileId });
1788
- parameters.push({ name: "PermissionIds", value: PermissionIds.join(" , ") });
1789
- _a.label = 1;
1876
+ parameters.push({ name: "ProfileId", value: profile.ProfileId });
1877
+ return [4 /*yield*/, apiService.callV2("[SEC].[GetProceduresByProfileId]", parameters)];
1790
1878
  case 1:
1791
- _a.trys.push([1, 3, , 4]);
1792
- return [4 /*yield*/, apiService.call("[SEC].[SetPermissionsToProfile]", parameters)];
1793
- case 2:
1794
1879
  resp = _a.sent();
1880
+ if (apiService.hasErrors) {
1881
+ return [2 /*return*/, {
1882
+ ok: false,
1883
+ message: apiService.error.message
1884
+ }];
1885
+ }
1795
1886
  return [2 /*return*/, {
1796
1887
  ok: true,
1797
1888
  data: resp
1798
1889
  }];
1799
- case 3:
1800
- e_4 = _a.sent();
1801
- return [2 /*return*/, { ok: false, message: e_4.toString() }];
1802
- case 4: return [2 /*return*/];
1803
1890
  }
1804
1891
  });
1805
1892
  }); };
1806
- //fx setear profiles de un profile
1807
- var setProfilesToProfile = function (ProfileId, HasProfilesId) { return __awaiter(void 0, void 0, void 0, function () {
1808
- var apiService, parameters, resp, e_5;
1893
+ var upsertProfilesProcedures = function (profile, procedures) { return __awaiter(void 0, void 0, void 0, function () {
1894
+ var apiService, procedureIds, procedureIdsString, parameters, resp;
1809
1895
  return __generator(this, function (_a) {
1810
1896
  switch (_a.label) {
1811
1897
  case 0:
1812
1898
  apiService = new MESApiService();
1899
+ procedureIds = procedures.map(function (item) { return item.ProcedureId; });
1900
+ procedureIdsString = procedureIds.join(',');
1813
1901
  parameters = [];
1814
- parameters.push({ name: "ProfileId", value: ProfileId });
1815
- parameters.push({ name: "HasProfileIds", value: HasProfilesId.join(" , ") });
1816
- _a.label = 1;
1902
+ parameters.push({ name: "ProfileId", value: profile.ProfileId });
1903
+ parameters.push({ name: "ProcedureIds", value: procedureIdsString });
1904
+ return [4 /*yield*/, apiService.callV2("[SEC].[UpsertProfileProcedures]", parameters)];
1817
1905
  case 1:
1818
- _a.trys.push([1, 3, , 4]);
1819
- return [4 /*yield*/, apiService.call("[SEC].[SetProfilesToProfile]", parameters)];
1820
- case 2:
1821
1906
  resp = _a.sent();
1822
1907
  if (apiService.hasErrors) {
1823
- return [2 /*return*/, { ok: false, message: apiService.error.internalError.message }];
1908
+ return [2 /*return*/, {
1909
+ ok: false,
1910
+ message: apiService.error.message
1911
+ }];
1824
1912
  }
1825
1913
  return [2 /*return*/, {
1826
1914
  ok: true,
1827
1915
  data: resp
1828
1916
  }];
1829
- case 3:
1830
- e_5 = _a.sent();
1831
- return [2 /*return*/, { ok: false, message: e_5.toString() }];
1832
- case 4: return [2 /*return*/];
1833
1917
  }
1834
1918
  });
1835
1919
  }); };
@@ -1860,282 +1944,7 @@ var deleteProfile = function (profileId) { return __awaiter(void 0, void 0, void
1860
1944
  });
1861
1945
  }); };
1862
1946
 
1863
- var useGetPermissionsEffect = function (_a) {
1864
- var setIsLoading = _a.setIsLoading, setPermissions = _a.setPermissions;
1865
- useEffect(function () {
1866
- var canceled = false;
1867
- setIsLoading(true);
1868
- getPermissions()
1869
- .then(function (res) {
1870
- var permisions = get$1(res, "data.tables[0].rows", null);
1871
- if (permisions) {
1872
- if (canceled)
1873
- return;
1874
- setPermissions(permisions);
1875
- }
1876
- else
1877
- console.log("algo falló");
1878
- })["finally"](function () {
1879
- if (canceled)
1880
- return;
1881
- setIsLoading(false);
1882
- });
1883
- return function () {
1884
- canceled = true;
1885
- };
1886
- }, []);
1887
- };
1888
-
1889
- var useGetColorByPermissionId = function (_a) {
1890
- var profilesToProfiles = _a.profilesToProfiles;
1891
- var profiles = useProfilesContext().state.profiles;
1892
- return function (PermissionId) {
1893
- var _a;
1894
- var getColorByProfileName = function (profileName) {
1895
- return stc(profileName);
1896
- };
1897
- if (!profilesToProfiles)
1898
- return false;
1899
- var color = "";
1900
- var _loop_1 = function (i) {
1901
- var pId = profilesToProfiles[i];
1902
- var profile = profiles.find(function (profile) { return profile.ProfileId === pId; });
1903
- if (profile) {
1904
- if ((_a = profile.PermissionsId) === null || _a === void 0 ? void 0 : _a.split(",").map(function (prId) { return parseInt(prId); }).includes(PermissionId)) {
1905
- color = getColorByProfileName(profile.ProfileName);
1906
- }
1907
- if (color)
1908
- return "break";
1909
- }
1910
- };
1911
- for (var i = 0; i < profilesToProfiles.length; i++) {
1912
- var state_1 = _loop_1(i);
1913
- if (state_1 === "break")
1914
- break;
1915
- }
1916
- return color;
1917
- };
1918
- };
1919
-
1920
- var isPermissionAssigned = function (PermissionId, asignedPermissions) {
1921
- return asignedPermissions === null || asignedPermissions === void 0 ? void 0 : asignedPermissions.includes(PermissionId);
1922
- };
1923
-
1924
- var useIsPermissionInherited = function (_a) {
1925
- var profilesToProfiles = _a.profilesToProfiles;
1926
- var profiles = useProfilesContext().state.profiles;
1927
- return function (PermissionId) {
1928
- var _a;
1929
- if (!profilesToProfiles)
1930
- return false;
1931
- var permissionIsInherited = false;
1932
- var _loop_1 = function (i) {
1933
- var pId = profilesToProfiles[i];
1934
- var profile = profiles.find(function (profile) { return profile.ProfileId === pId; });
1935
- if (profile) {
1936
- permissionIsInherited = (_a = profile.PermissionsId) === null || _a === void 0 ? void 0 : _a.split(",").map(function (prId) { return parseInt(prId); }).includes(PermissionId);
1937
- if (permissionIsInherited)
1938
- return "break";
1939
- }
1940
- };
1941
- for (var i = 0; i < profilesToProfiles.length; i++) {
1942
- var state_1 = _loop_1(i);
1943
- if (state_1 === "break")
1944
- break;
1945
- }
1946
- return !!permissionIsInherited;
1947
- };
1948
- };
1949
-
1950
- var useHandleAsignedPermission = function (_a) {
1951
- var asignedPermissions = _a.asignedPermissions, onChange = _a.onChange;
1952
- return function (event) {
1953
- var index = asignedPermissions.indexOf(parseInt(event.target.value));
1954
- if (index === -1) {
1955
- // si es -1 traemos los arr de asignados y agregamos el checkeado
1956
- onChange(__spreadArray(__spreadArray([], asignedPermissions, true), [parseInt(event.target.value)], false));
1957
- }
1958
- else {
1959
- //si ya existe en el array devolvemos los permisos que no son iguales al permiso sin marcar
1960
- onChange(asignedPermissions.filter(function (asignedPermission) { return asignedPermission !== parseInt(event.target.value); }));
1961
- }
1962
- };
1963
- };
1964
-
1965
- var useStyles$n = makeStyles(function (theme) {
1966
- return createStyles({
1967
- formControl: {
1968
- margin: "0 12px",
1969
- width: "50%",
1970
- userSelect: "none"
1971
- },
1972
- chips: {
1973
- display: 'flex',
1974
- flexWrap: 'wrap'
1975
- },
1976
- chip: {
1977
- margin: 2
1978
- },
1979
- noLabel: {
1980
- marginTop: theme.spacing(3)
1981
- }
1982
- });
1983
- });
1984
- var PermissionsPicker = function (_a) {
1985
- var isLoading = _a.isLoading, setIsLoading = _a.setIsLoading, profileForDelete = _a.profileForDelete, value = _a.value, onChange = _a.onChange, profilesToProfiles = _a.profilesToProfiles;
1986
- var profiles = useProfilesContext().state.profiles;
1987
- var classes = useStyles$n();
1988
- var _b = useState([]), permissions = _b[0], setPermissions = _b[1];
1989
- var _c = useState(value), asignedPermissions = _c[0], setAsignedPermissions = _c[1];
1990
- var getColorByPermissionId = useGetColorByPermissionId({ profilesToProfiles: profilesToProfiles });
1991
- var handleAsignedPermission = useHandleAsignedPermission({ onChange: onChange, asignedPermissions: asignedPermissions });
1992
- var isPermissionInherited = useIsPermissionInherited({ profilesToProfiles: profilesToProfiles });
1993
- var isPermissionChecked = function (PermissionId) {
1994
- return isPermissionAssigned(PermissionId, asignedPermissions) || isPermissionInherited(PermissionId);
1995
- };
1996
- function getPermissionNameById(permissionsId) {
1997
- var _a;
1998
- return ((_a = permissions.find(function (p) { return p.PermissionId === permissionsId; })) === null || _a === void 0 ? void 0 : _a.PermissionName.replaceAll("MES.", " ").replaceAll("Manage", "Manage ")) || '';
1999
- }
2000
- function getProfileNameById(profile) {
2001
- var _a;
2002
- // FIXME: issue prueba y manager quedan pegados
2003
- return ((_a = profiles.find(function (p) { return p.ProfileId === profile; })) === null || _a === void 0 ? void 0 : _a.ProfileName) || ' ';
2004
- }
2005
- useGetPermissionsEffect({ setIsLoading: setIsLoading, setPermissions: setPermissions });
2006
- useEffect(function () {
2007
- setAsignedPermissions(value);
2008
- }, [value]);
2009
- return (React__default.createElement(Grid, { container: true },
2010
- React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
2011
- isLoading && React__default.createElement(React__default.Fragment, null),
2012
- !isLoading && permissions.length && (React__default.createElement(FormControl, { className: classes.formControl },
2013
- React__default.createElement(FormGroup, null, permissions.map(function (_a) {
2014
- var PermissionId = _a.PermissionId;
2015
- return (React__default.createElement("div", { key: "permission-".concat(PermissionId) },
2016
- React__default.createElement(FormControlLabel, { style: { margin: "10 0" }, disabled: !!profileForDelete ? !!profileForDelete : isPermissionInherited(PermissionId), value: PermissionId, label: React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
2017
- getPermissionNameById(PermissionId),
2018
- React__default.createElement("div", { style: {
2019
- height: 10, width: 10, backgroundColor: "".concat(getColorByPermissionId(PermissionId)), marginLeft: 10, borderRadius: 50
2020
- } })), control: (React__default.createElement(Checkbox, { color: "primary", checked: isPermissionChecked(PermissionId), onChange: handleAsignedPermission })) }),
2021
- isPermissionInherited(PermissionId) && React__default.createElement(FormHelperText$1, { style: { fontSize: 10, marginLeft: 30, marginTop: -15 } },
2022
- "Inherited from: ",
2023
- profilesToProfiles.map(function (profile) { return getProfileNameById(profile).replaceAll("Profile", ""); }),
2024
- " ")));
2025
- })))))));
2026
- };
2027
-
2028
- var INITIAL_VALUES$2 = {
2029
- ProfileId: null,
2030
- ProfileName: "",
2031
- HasProfilesId: [],
2032
- HasProfiles: "",
2033
- PermissionsId: [],
2034
- Permissions: []
2035
- };
2036
-
2037
- var useGetProfilesEffect = function (_a) {
2038
- var setIsLoading = _a.setIsLoading, setProfiles = _a.setProfiles;
2039
- useEffect(function () {
2040
- var canceled = false;
2041
- setIsLoading(true);
2042
- getProfiles$1()
2043
- .then(function (res) {
2044
- var permisions = get$1(res, "data.tables[0].rows", null);
2045
- if (permisions) {
2046
- if (canceled)
2047
- return;
2048
- setProfiles(permisions);
2049
- }
2050
- else
2051
- console.log("algo falló");
2052
- })["finally"](function () {
2053
- if (canceled)
2054
- return;
2055
- setIsLoading(false);
2056
- });
2057
- return function () {
2058
- canceled = true;
2059
- };
2060
- }, []);
2061
- };
2062
-
2063
1947
  var useStyles$m = makeStyles(function (theme) {
2064
- return createStyles({
2065
- formControl: {
2066
- margin: "0 12px",
2067
- width: "50%",
2068
- userSelect: "none"
2069
- },
2070
- chips: {
2071
- display: 'flex',
2072
- flexWrap: 'wrap'
2073
- },
2074
- chip: {
2075
- margin: 2
2076
- },
2077
- noLabel: {
2078
- marginTop: theme.spacing(3)
2079
- }
2080
- });
2081
- });
2082
- var ProfilesPicker$1 = function (_a) {
2083
- var isLoading = _a.isLoading, setIsLoading = _a.setIsLoading, profileForDelete = _a.profileForDelete, profileIdForEdit = _a.profileIdForEdit, value = _a.value, onChange = _a.onChange;
2084
- var classes = useStyles$m();
2085
- var _b = useProfilesContext(), profiles = _b.state.profiles, setProfiles = _b.actions.setProfiles;
2086
- var _c = useState([]), asignedProfiles = _c[0], setAsignedProfiles = _c[1];
2087
- var handleAsignedProfile = function (event) {
2088
- var index = asignedProfiles.indexOf(parseInt(event.target.value));
2089
- if (index === -1) {
2090
- onChange(__spreadArray(__spreadArray([], asignedProfiles, true), [parseInt(event.target.value)], false));
2091
- }
2092
- else {
2093
- onChange(asignedProfiles.filter(function (asignedProfile) { return asignedProfile !== parseInt(event.target.value); }));
2094
- }
2095
- };
2096
- function getProfileNameById(profilesId) {
2097
- var _a;
2098
- return (_a = profiles.find(function (p) { return p.ProfileId === profilesId; })) === null || _a === void 0 ? void 0 : _a.ProfileName.replaceAll("Profile", " ");
2099
- }
2100
- var doesProfileContainProfileForEdit = function (ProfileId) {
2101
- var _a;
2102
- if (!profileIdForEdit)
2103
- return false;
2104
- var profile = profiles.find(function (p) { return p.ProfileId === ProfileId; });
2105
- var hasProfilesIds = ((_a = profile === null || profile === void 0 ? void 0 : profile.HasProfilesId) === null || _a === void 0 ? void 0 : _a.split(",").map(function (pId) { return parseInt(pId); })) || [];
2106
- return hasProfilesIds.includes(profileIdForEdit);
2107
- };
2108
- var isProfileIdForEdit = function (ProfileId) {
2109
- if (!profileIdForEdit)
2110
- return false;
2111
- return ProfileId === profileIdForEdit;
2112
- };
2113
- var isProfileIdDisabled = function (ProfileId) {
2114
- return isProfileIdForEdit(ProfileId) || doesProfileContainProfileForEdit(ProfileId);
2115
- };
2116
- useGetProfilesEffect({ setIsLoading: setIsLoading, setProfiles: setProfiles });
2117
- useEffect(function () {
2118
- setAsignedProfiles(value);
2119
- }, [value]);
2120
- var getColorByProfileName = function (profileName) {
2121
- return stc(profileName);
2122
- };
2123
- return (React__default.createElement(Grid, { container: true },
2124
- React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
2125
- isLoading && React__default.createElement(React__default.Fragment, null),
2126
- !isLoading && profiles.length && (React__default.createElement(FormControl, { className: classes.formControl },
2127
- React__default.createElement(FormGroup, null, profiles.map(function (_a) {
2128
- var ProfileId = _a.ProfileId, ProfileName = _a.ProfileName;
2129
- return (React__default.createElement("div", { key: "profile-".concat(ProfileId) },
2130
- React__default.createElement(FormControlLabel, { style: { margin: "10 0" }, disabled: !!profileForDelete ? !!profileForDelete : isProfileIdDisabled(ProfileId), label: React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
2131
- getProfileNameById(ProfileId),
2132
- asignedProfiles.includes(ProfileId) && React__default.createElement("div", { style: { height: 10, width: 10, backgroundColor: getColorByProfileName(ProfileName), marginLeft: 10, borderRadius: 50 } })), control: React__default.createElement(Checkbox, { value: ProfileId, color: "primary", checked: asignedProfiles.includes(ProfileId), onChange: handleAsignedProfile }) }),
2133
- isProfileIdForEdit(ProfileId) && React__default.createElement(FormHelperText$1, { style: { fontSize: 10, marginLeft: 30, marginTop: -15 } }, "Editing this profile"),
2134
- doesProfileContainProfileForEdit(ProfileId) && React__default.createElement(FormHelperText$1, { style: { fontSize: 10, marginLeft: 30, marginTop: -15 } }, "Circular reference not allowed")));
2135
- })))))));
2136
- };
2137
-
2138
- var useStyles$l = makeStyles(function (theme) {
2139
1948
  return createStyles({
2140
1949
  title: {
2141
1950
  fontSize: 15
@@ -2144,9 +1953,6 @@ var useStyles$l = makeStyles(function (theme) {
2144
1953
  fontSize: 15,
2145
1954
  marginTop: theme.spacing(1)
2146
1955
  },
2147
- permissionsPicker: {
2148
- padding: "0"
2149
- },
2150
1956
  chip: {
2151
1957
  margin: 2
2152
1958
  },
@@ -2167,119 +1973,79 @@ var useStyles$l = makeStyles(function (theme) {
2167
1973
  var EditProfile = function (_a) {
2168
1974
  var _b;
2169
1975
  var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide;
2170
- var classes = useStyles$l();
2171
- var _c = useState(false), open = _c[0], setOpen = _c[1];
2172
- var _d = useState(true), isLoading = _d[0], setIsLoading = _d[1];
2173
- var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
2174
- var _f = useState([]), errorsApi = _f[0], setErrorsApi = _f[1];
2175
- var _g = useForm({ defaultValues: INITIAL_VALUES$2 }), register = _g.register, control = _g.control, setValue = _g.setValue, handleSubmit = _g.handleSubmit, errors = _g.formState.errors, watch = _g.watch;
2176
- var profilesToProfiles = watch('HasProfilesId');
2177
- var isPermissionInherited = useIsPermissionInherited({
2178
- profilesToProfiles: profilesToProfiles
2179
- });
1976
+ var classes = useStyles$m();
1977
+ var _c = useState(null); _c[0]; _c[1];
1978
+ var _d = useState(false), open = _d[0], setOpen = _d[1];
1979
+ var _e = useState(true), isLoading = _e[0], setIsLoading = _e[1];
1980
+ var _f = useState(false), isSubmitLoading = _f[0], setIsSubmitLoading = _f[1];
1981
+ var _g = useState(""), error = _g[0], setError = _g[1];
1982
+ var _h = useState(""), alertMessage = _h[0], setAlertMessage = _h[1];
1983
+ var _j = useForm({ defaultValues: INITIAL_VALUES$2 }), register = _j.register; _j.control; var setValue = _j.setValue, handleSubmit = _j.handleSubmit, errors = _j.formState.errors; _j.watch;
2180
1984
  var handleClose = function (event, reason) {
2181
1985
  if (reason === 'clickaway') {
2182
1986
  return;
2183
1987
  }
2184
1988
  setOpen(false);
2185
1989
  };
2186
- var onSubmit = function (data) { return __awaiter(void 0, void 0, void 0, function () {
2187
- var res, profileId, permissionsForSave, sPtP_1, e_1;
1990
+ var onSubmit = function (profile) { return __awaiter(void 0, void 0, void 0, function () {
1991
+ var res;
2188
1992
  return __generator(this, function (_a) {
2189
1993
  switch (_a.label) {
2190
1994
  case 0:
2191
1995
  setIsSubmitLoading(true);
2192
- _a.label = 1;
1996
+ return [4 /*yield*/, upsertProfile(profile)];
2193
1997
  case 1:
2194
- _a.trys.push([1, 6, , 7]);
2195
- return [4 /*yield*/, upsertProfile(data)];
2196
- case 2:
2197
1998
  res = _a.sent();
2198
- profileId = (res.data.tables[0].rows[0].ProfileId);
2199
- permissionsForSave = data.PermissionsId.filter(function (pId) { return !isPermissionInherited(pId); });
2200
- return [4 /*yield*/, setPermissionsToProfile(profileId, permissionsForSave)];
2201
- case 3:
2202
- _a.sent();
2203
- if (!data.HasProfilesId) return [3 /*break*/, 5];
2204
- return [4 /*yield*/, setProfilesToProfile(profileId, data.HasProfilesId)];
2205
- case 4:
2206
- sPtP_1 = _a.sent();
2207
- if (!sPtP_1.ok) {
2208
- setIsSubmitLoading(false);
2209
- return [2 /*return*/, setErrorsApi(function (prevErrors) { return __spreadArray(__spreadArray([], prevErrors, true), [sPtP_1.message], false); })];
1999
+ if (!res.ok) {
2000
+ setError(res.message);
2001
+ setAlertMessage("Please try again");
2002
+ }
2003
+ else {
2004
+ setAlertMessage("The profile was edited successfully");
2005
+ onHide(true);
2210
2006
  }
2211
- _a.label = 5;
2212
- case 5:
2213
2007
  setIsSubmitLoading(false);
2214
- onHide(true);
2215
2008
  setOpen(true);
2216
- return [3 /*break*/, 7];
2217
- case 6:
2218
- e_1 = _a.sent();
2219
- console.log(e_1);
2220
- return [3 /*break*/, 7];
2221
- case 7: return [2 /*return*/];
2009
+ return [2 /*return*/];
2222
2010
  }
2223
2011
  });
2224
2012
  }); };
2225
2013
  useEffect(function () {
2226
- var _a, _b;
2227
2014
  if (show) {
2228
2015
  setIsLoading(true);
2229
2016
  setIsSubmitLoading(false);
2230
- setErrorsApi([]);
2231
2017
  if (profileForEdit) {
2232
2018
  setValue("ProfileId", profileForEdit.ProfileId);
2233
2019
  setValue("ProfileName", profileForEdit.ProfileName);
2234
- setValue("HasProfilesId", (_a = profileForEdit.HasProfilesId) === null || _a === void 0 ? void 0 : _a.split(',').map(function (pId) { return parseInt(pId); }));
2235
- setValue("HasProfiles", profileForEdit.HasProfiles);
2236
- setValue("Permissions", profileForEdit.Permissions);
2237
- setValue("PermissionsId", (((_b = profileForEdit.PermissionsId) === null || _b === void 0 ? void 0 : _b.split(',').map(function (pId) { return parseInt(pId); })) || []));
2020
+ setIsLoading(false);
2238
2021
  }
2239
2022
  }
2240
2023
  }, [show]);
2241
2024
  return (React.createElement(React.Fragment, null,
2242
- React.createElement(Modal$2, __assign({}, { show: show }, { onHide: function () { return onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
2025
+ !error && !isLoading && (React.createElement(Modal$2, __assign({}, { show: show }, { onHide: function () { return onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
2243
2026
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
2244
2027
  React.createElement(Modal$2.Header, { closeButton: true, style: { padding: "10px 30px" } },
2245
- React.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, "PROFILE")),
2028
+ React.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, profileForEdit === null || profileForEdit === void 0 ? void 0 :
2029
+ profileForEdit.ProfileName,
2030
+ " Profile")),
2246
2031
  React.createElement(Modal$2.Body, { style: { padding: "15px 30px" } },
2247
- !!errorsApi.length &&
2248
- React.createElement(Alert, { severity: "error", className: classes.error },
2249
- React.createElement(AlertTitle, null, "Error"),
2250
- React.createElement("ul", { className: classes.textError }, errorsApi.map(function (error) { return React.createElement("li", { key: "error-".concat(error) }, error); }))),
2251
- isLoading && React.createElement(Grid, { container: true, justifyContent: 'center', alignItems: 'center', style: { minHeight: '150px' } },
2252
- React.createElement(LazyLoading, null)),
2253
- !isLoading && (React.createElement(React.Fragment, null,
2254
- React.createElement(Grid, { container: true, spacing: 1 },
2255
- React.createElement(Grid, { item: true, md: 12, xs: 12 },
2256
- React.createElement(TextField, __assign({}, register("ProfileName", { required: true }), { label: "Profile name", variant: "outlined", error: !!errors.ProfileName, fullWidth: true, margin: "dense", autoComplete: 'off' })),
2257
- " ",
2258
- ((_b = errors.ProfileName) === null || _b === void 0 ? void 0 : _b.type) === 'required' && React.createElement("span", { className: classes.errorLabel }, "Profile name is required"))))),
2259
- React.createElement(Grid, { container: true },
2260
- React.createElement(Grid, { item: true, md: 6, xs: 12 },
2261
- React.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PROFILES"),
2262
- React.createElement(Controller, { name: "HasProfilesId", control: control, render: function (_a) {
2263
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2264
- return (React.createElement(ProfilesPicker$1, { value: value, onChange: onChange, isLoading: isLoading, setIsLoading: setIsLoading, profileIdForEdit: profileForEdit === null || profileForEdit === void 0 ? void 0 : profileForEdit.ProfileId, profileForDelete: null }));
2265
- } })),
2266
- React.createElement(Grid, { item: true, md: 6, xs: 12 },
2267
- React.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PERMISSIONS"),
2268
- React.createElement(Controller, { name: "PermissionsId", control: control, render: function (_a) {
2269
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2270
- return (React.createElement(PermissionsPicker, { isLoading: isLoading, setIsLoading: setIsLoading, onChange: onChange, profilesToProfiles: profilesToProfiles, value: value, profileForDelete: null }));
2271
- } })))),
2032
+ React.createElement(Grid, { container: true, spacing: 1 },
2033
+ React.createElement(Grid, { item: true, md: 12, xs: 12 },
2034
+ React.createElement(TextField, __assign({}, register("ProfileName", { required: true }), { label: "Profile name", variant: "outlined", error: !!errors.ProfileName, fullWidth: true, margin: "dense", autoComplete: 'off' })),
2035
+ " ",
2036
+ ((_b = errors.ProfileName) === null || _b === void 0 ? void 0 : _b.type) === 'required' && React.createElement("span", { className: classes.errorLabel }, "Profile name is required")))),
2272
2037
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
2273
2038
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
2274
2039
  React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2275
2040
  React.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(false); } }, "Cancel")),
2276
2041
  React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2277
- React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress$1, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: 'submit' }, "Save")))))),
2042
+ React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress$1, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: 'submit' }, "Save"))))))),
2278
2043
  React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
2279
- React.createElement(Alert, { severity: "info", onClose: handleClose }, "The profile was edited successfully"))));
2044
+ React.createElement(Alert, { severity: "info", onClose: handleClose }, alertMessage)),
2045
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
2280
2046
  };
2281
2047
 
2282
- var useStyles$k = makeStyles(function (theme) {
2048
+ var useStyles$l = makeStyles(function (theme) {
2283
2049
  return createStyles({
2284
2050
  title: {
2285
2051
  fontSize: 15
@@ -2288,9 +2054,6 @@ var useStyles$k = makeStyles(function (theme) {
2288
2054
  fontSize: 15,
2289
2055
  marginTop: theme.spacing(1)
2290
2056
  },
2291
- permissionsPicker: {
2292
- padding: "0"
2293
- },
2294
2057
  chip: {
2295
2058
  margin: 2
2296
2059
  },
@@ -2302,42 +2065,31 @@ var useStyles$k = makeStyles(function (theme) {
2302
2065
  });
2303
2066
  var CreateProfile = function (_a) {
2304
2067
  var _b;
2305
- var show = _a.show, onHide = _a.onHide, getProfilesFromAPI = _a.getProfilesFromAPI;
2306
- var _c = useState(false), open = _c[0], setOpen = _c[1];
2307
- var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
2308
- var _e = useState(true), isLoading = _e[0], setIsLoading = _e[1];
2309
- var classes = useStyles$k();
2310
- var _f = useForm({ defaultValues: INITIAL_VALUES$2 }), register = _f.register, control = _f.control, handleSubmit = _f.handleSubmit, reset = _f.reset, errors = _f.formState.errors, watch = _f.watch;
2311
- var profilesToProfiles = watch('HasProfilesId');
2068
+ var show = _a.show, onHide = _a.onHide;
2069
+ var _c = useState(false), openSnackbar = _c[0], setOpenSnackbar = _c[1];
2070
+ var _d = useState(""), message = _d[0], setMessage = _d[1];
2071
+ var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
2072
+ var _f = useState(''), error = _f[0], setError = _f[1];
2073
+ var classes = useStyles$l();
2074
+ var _g = useForm({ defaultValues: INITIAL_VALUES$2 }), register = _g.register, handleSubmit = _g.handleSubmit, reset = _g.reset, errors = _g.formState.errors;
2312
2075
  var onSubmit = function (data) { return __awaiter(void 0, void 0, void 0, function () {
2313
- var res, profileId, e_1;
2076
+ var res;
2314
2077
  return __generator(this, function (_a) {
2315
2078
  switch (_a.label) {
2316
2079
  case 0:
2317
2080
  setIsSubmitLoading(true);
2318
- _a.label = 1;
2319
- case 1:
2320
- _a.trys.push([1, 5, , 6]);
2321
2081
  return [4 /*yield*/, upsertProfile(data)];
2322
- case 2:
2082
+ case 1:
2323
2083
  res = _a.sent();
2324
- profileId = (res.data.tables[0].rows[0].ProfileId);
2325
- return [4 /*yield*/, setPermissionsToProfile(profileId, data.PermissionsId)];
2326
- case 3:
2327
- _a.sent();
2328
- return [4 /*yield*/, setProfilesToProfile(profileId, data.HasProfilesId)];
2329
- case 4:
2330
- _a.sent();
2084
+ if (!res.ok)
2085
+ setError(res.message);
2086
+ else {
2087
+ setMessage("The profile was created successfully");
2088
+ setOpenSnackbar(true);
2089
+ onHide(true);
2090
+ }
2331
2091
  setIsSubmitLoading(false);
2332
- setOpen(true);
2333
- onHide();
2334
- getProfilesFromAPI();
2335
- return [3 /*break*/, 6];
2336
- case 5:
2337
- e_1 = _a.sent();
2338
- console.log(e_1);
2339
- return [3 /*break*/, 6];
2340
- case 6: return [2 /*return*/];
2092
+ return [2 /*return*/];
2341
2093
  }
2342
2094
  });
2343
2095
  }); };
@@ -2345,7 +2097,7 @@ var CreateProfile = function (_a) {
2345
2097
  if (reason === 'clickaway') {
2346
2098
  return;
2347
2099
  }
2348
- setOpen(false);
2100
+ setOpenSnackbar(false);
2349
2101
  };
2350
2102
  useEffect(function () {
2351
2103
  if (show) {
@@ -2355,7 +2107,7 @@ var CreateProfile = function (_a) {
2355
2107
  return (React.createElement(React.Fragment, null,
2356
2108
  React.createElement(Grid, { container: true },
2357
2109
  React.createElement(Grid, { item: true },
2358
- React.createElement(Modal$2, __assign({}, { show: show, onHide: onHide }, { size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
2110
+ React.createElement(Modal$2, { show: show, onHide: function () { onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true },
2359
2111
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
2360
2112
  React.createElement(Modal$2.Header, { closeButton: true, style: { padding: "10px 30px" } },
2361
2113
  React.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, "PROFILE")),
@@ -2365,31 +2117,19 @@ var CreateProfile = function (_a) {
2365
2117
  React.createElement(Grid, { item: true, md: 12, xs: 12 },
2366
2118
  React.createElement(TextField, __assign({}, register("ProfileName", { required: true }), { label: "Profile name", variant: "outlined", error: !!errors.ProfileName, fullWidth: true, margin: "dense", autoComplete: 'off' })),
2367
2119
  " ",
2368
- ((_b = errors.ProfileName) === null || _b === void 0 ? void 0 : _b.type) === 'required' && React.createElement("span", { className: classes.errorLabel }, "Profile name is required"))),
2369
- React.createElement(Grid, { container: true },
2370
- React.createElement(Grid, { item: true, md: 6, xs: 12 },
2371
- React.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PROFILES"),
2372
- React.createElement(Controller, { name: "HasProfilesId", control: control, render: function (_a) {
2373
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2374
- return (React.createElement(ProfilesPicker$1, { value: value, onChange: onChange, isLoading: isLoading, setIsLoading: setIsLoading, profileForDelete: null, profileIdForEdit: undefined }));
2375
- } })),
2376
- React.createElement(Grid, { item: true, md: 6, xs: 12 },
2377
- React.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PERMISSIONS"),
2378
- React.createElement(Controller, { name: "PermissionsId", control: control, render: function (_a) {
2379
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2380
- return (React.createElement(PermissionsPicker, { onChange: onChange, value: value, isLoading: isLoading, setIsLoading: setIsLoading, profileForDelete: null, profilesToProfiles: profilesToProfiles }));
2381
- } })))),
2120
+ ((_b = errors.ProfileName) === null || _b === void 0 ? void 0 : _b.type) === 'required' && React.createElement("span", { className: classes.errorLabel }, "Profile name is required")))),
2382
2121
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
2383
2122
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
2384
2123
  React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2385
- React.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: onHide }, "Cancel")),
2124
+ React.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(false); } }, "Cancel")),
2386
2125
  React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2387
2126
  React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress$1, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: 'submit' }, "Save")))))))),
2388
- React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
2389
- React.createElement(Alert, { severity: "success", onClose: handleClose }, "The permission was asigned successfully"))));
2127
+ React.createElement(Snackbar, { open: openSnackbar, autoHideDuration: 2500, onClose: handleClose },
2128
+ React.createElement(Alert, { severity: "success", onClose: handleClose }, message)),
2129
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
2390
2130
  };
2391
2131
 
2392
- var useStyles$j = makeStyles(function (theme) {
2132
+ var useStyles$k = makeStyles(function (theme) {
2393
2133
  return createStyles({
2394
2134
  title: {
2395
2135
  fontSize: 15
@@ -2398,9 +2138,6 @@ var useStyles$j = makeStyles(function (theme) {
2398
2138
  fontSize: 15,
2399
2139
  marginTop: theme.spacing(1)
2400
2140
  },
2401
- permissionsPicker: {
2402
- padding: "0"
2403
- },
2404
2141
  chip: {
2405
2142
  margin: 2
2406
2143
  }
@@ -2408,13 +2145,12 @@ var useStyles$j = makeStyles(function (theme) {
2408
2145
  });
2409
2146
  var DeleteProfile = function (_a) {
2410
2147
  var profileForDelete = _a.profileForDelete, show = _a.show, onHide = _a.onHide;
2411
- var classes = useStyles$j();
2148
+ useStyles$k();
2412
2149
  var _b = useState(false), open = _b[0], setOpen = _b[1];
2413
- var _c = useState(true), isLoading = _c[0], setIsLoading = _c[1];
2414
- var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
2415
- var _e = useState(false), deleteAlert = _e[0], setDeleteAlert = _e[1];
2416
- var _f = useForm({ defaultValues: INITIAL_VALUES$2 }), register = _f.register, control = _f.control, setValue = _f.setValue, watch = _f.watch;
2417
- var profilesToProfiles = watch('HasProfilesId');
2150
+ var _c = useState(""), error = _c[0], setError = _c[1];
2151
+ var _d = useState(true), isLoading = _d[0], setIsLoading = _d[1];
2152
+ var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
2153
+ var _f = useState(false), deleteAlert = _f[0], setDeleteAlert = _f[1];
2418
2154
  var handleClose = function (event, reason) {
2419
2155
  if (reason === 'clickaway') {
2420
2156
  return;
@@ -2423,17 +2159,9 @@ var DeleteProfile = function (_a) {
2423
2159
  setDeleteAlert(false);
2424
2160
  };
2425
2161
  useEffect(function () {
2426
- var _a, _b;
2427
2162
  if (show) {
2163
+ setIsLoading(false);
2428
2164
  setIsSubmitLoading(false);
2429
- if (profileForDelete) {
2430
- setValue("ProfileId", profileForDelete.ProfileId);
2431
- setValue("ProfileName", profileForDelete.ProfileName);
2432
- setValue("HasProfilesId", (_a = profileForDelete.HasProfilesId) === null || _a === void 0 ? void 0 : _a.split(',').map(function (pId) { return parseInt(pId); }));
2433
- setValue("HasProfiles", profileForDelete.HasProfiles);
2434
- setValue("Permissions", profileForDelete.Permissions);
2435
- setValue("PermissionsId", (_b = profileForDelete.PermissionsId) === null || _b === void 0 ? void 0 : _b.split(',').map(function (pId) { return parseInt(pId); }));
2436
- }
2437
2165
  }
2438
2166
  }, [show]);
2439
2167
  var onDelete = function (data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -2454,7 +2182,7 @@ var DeleteProfile = function (_a) {
2454
2182
  return [3 /*break*/, 4];
2455
2183
  case 3:
2456
2184
  e_1 = _a.sent();
2457
- console.log(e_1);
2185
+ setError(e_1);
2458
2186
  return [3 /*break*/, 4];
2459
2187
  case 4: return [2 /*return*/];
2460
2188
  }
@@ -2464,27 +2192,19 @@ var DeleteProfile = function (_a) {
2464
2192
  React__default.createElement(Modal$2, __assign({}, { show: show }, { onHide: function () { return onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
2465
2193
  React__default.createElement("form", null,
2466
2194
  React__default.createElement(Modal$2.Header, { closeButton: true, style: { padding: "10px 30px" } },
2467
- React__default.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, "PROFILE")),
2195
+ React__default.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, profileForDelete === null || profileForDelete === void 0 ? void 0 :
2196
+ profileForDelete.ProfileName,
2197
+ " PROFILE")),
2468
2198
  React__default.createElement(Modal$2.Body, { style: { padding: "15px 30px" } },
2469
2199
  isLoading && React__default.createElement(Grid, { container: true, justifyContent: 'center', alignItems: 'center', style: { minHeight: '150px' } },
2470
2200
  React__default.createElement(LazyLoading, null)),
2471
2201
  !isLoading && (React__default.createElement(React__default.Fragment, null,
2472
2202
  React__default.createElement(Grid, { container: true, spacing: 1 },
2473
2203
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
2474
- React__default.createElement(TextField, __assign({}, register("ProfileName", { required: true }), { label: "Profile name", variant: "outlined", fullWidth: true, margin: "dense", autoComplete: 'off', disabled: true })))))),
2475
- React__default.createElement(Grid, { container: true },
2476
- React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
2477
- React__default.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PROFILES"),
2478
- React__default.createElement(Controller, { name: "HasProfilesId", control: control, render: function (_a) {
2479
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2480
- return (React__default.createElement(ProfilesPicker$1, { value: value, onChange: onChange, isLoading: isLoading, setIsLoading: setIsLoading, profileForDelete: profileForDelete === null || profileForDelete === void 0 ? void 0 : profileForDelete.ProfileId, profileIdForEdit: undefined }));
2481
- } })),
2482
- React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
2483
- React__default.createElement(Modal$2.Title, { className: classes.modalTitle, id: "contained-modal-title-vcenter" }, "PERMISSIONS"),
2484
- React__default.createElement(Controller, { name: "PermissionsId", control: control, render: function (_a) {
2485
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
2486
- return (React__default.createElement(PermissionsPicker, { isLoading: isLoading, setIsLoading: setIsLoading, onChange: onChange, value: value, profileForDelete: profileForDelete === null || profileForDelete === void 0 ? void 0 : profileForDelete.ProfileId, profilesToProfiles: profilesToProfiles }));
2487
- } })))),
2204
+ React__default.createElement(Typography, null,
2205
+ "Are you sure you want to delete ",
2206
+ React__default.createElement("strong", null, profileForDelete === null || profileForDelete === void 0 ? void 0 : profileForDelete.ProfileName),
2207
+ " profile?")))))),
2488
2208
  React__default.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
2489
2209
  React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
2490
2210
  React__default.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
@@ -2499,22 +2219,19 @@ var DeleteProfile = function (_a) {
2499
2219
  React__default.createElement(Button, { onClick: function () { return setDeleteAlert(false); }, autoFocus: true, color: "default" }, "CANCEL"),
2500
2220
  React__default.createElement(Button, { startIcon: isSubmitLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }), autoFocus: true, color: "secondary", onClick: function () { return onDelete(profileForDelete === null || profileForDelete === void 0 ? void 0 : profileForDelete.ProfileId); } }, "Delete"))))),
2501
2221
  React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
2502
- React__default.createElement(Alert, { severity: "error", onClose: handleClose }, "The profile was deleted successfully"))));
2222
+ React__default.createElement(Alert, { severity: "success", onClose: handleClose }, "The profile was deleted successfully")),
2223
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
2503
2224
  };
2504
2225
 
2505
2226
  var useTableData$2 = function (_a) {
2506
- var setProfileForEdit = _a.setProfileForEdit, setModalEditPermissionsProfile = _a.setModalEditPermissionsProfile, setProfileForDelete = _a.setProfileForDelete, setModalDeleteProfile = _a.setModalDeleteProfile;
2227
+ var setProfileForEdit = _a.setProfileForEdit, setModalProceduresProfile = _a.setModalProceduresProfile, setModalEditProfile = _a.setModalEditProfile, setProfileForDelete = _a.setProfileForDelete, setModalDeleteProfile = _a.setModalDeleteProfile;
2507
2228
  var state = useProfilesContext().state;
2508
2229
  var rows = state.profiles.map(function (_a) {
2509
- var ProfileId = _a.ProfileId, ProfileName = _a.ProfileName, Permissions = _a.Permissions, PermissionsId = _a.PermissionsId, HasProfiles = _a.HasProfiles, HasProfilesId = _a.HasProfilesId;
2230
+ var ProfileId = _a.ProfileId, ProfileName = _a.ProfileName;
2510
2231
  return ({
2511
2232
  id: ProfileId,
2512
2233
  ProfileId: ProfileId,
2513
- HasProfiles: HasProfiles === null || HasProfiles === void 0 ? void 0 : HasProfiles.replaceAll("Profile", " "),
2514
- HasProfilesId: HasProfilesId,
2515
- ProfileName: ProfileName === null || ProfileName === void 0 ? void 0 : ProfileName.replaceAll("Profile", ""),
2516
- PermissionsId: PermissionsId,
2517
- Permissions: Permissions === null || Permissions === void 0 ? void 0 : Permissions.replaceAll("MES.", " ").replaceAll("Manage", "Manage ")
2234
+ ProfileName: ProfileName
2518
2235
  });
2519
2236
  });
2520
2237
  var columns = [
@@ -2523,16 +2240,6 @@ var useTableData$2 = function (_a) {
2523
2240
  minWidth: 170,
2524
2241
  flex: 2
2525
2242
  },
2526
- {
2527
- field: 'HasProfiles', headerName: 'Profiles',
2528
- minWidth: 140,
2529
- flex: 2
2530
- },
2531
- {
2532
- field: 'Permissions', headerName: 'Permissions',
2533
- minWidth: 150,
2534
- flex: 3
2535
- },
2536
2243
  {
2537
2244
  field: "Actions",
2538
2245
  renderCell: function (params) {
@@ -2543,12 +2250,22 @@ var useTableData$2 = function (_a) {
2543
2250
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2544
2251
  return __generator(this, function (_a) {
2545
2252
  setProfileForEdit(params.row);
2546
- setModalEditPermissionsProfile(true);
2253
+ setModalEditProfile(true);
2547
2254
  return [2 /*return*/];
2548
2255
  });
2549
2256
  }); })();
2550
2257
  } },
2551
2258
  React__default.createElement(EditIcon, { style: { width: 16, height: 16 }, color: "primary" })),
2259
+ React__default.createElement(Button, { onClick: function () {
2260
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
2261
+ return __generator(this, function (_a) {
2262
+ setProfileForEdit(params.row);
2263
+ setModalProceduresProfile(true);
2264
+ return [2 /*return*/];
2265
+ });
2266
+ }); })();
2267
+ } },
2268
+ React__default.createElement(LockRounded, { style: { width: 16, height: 16 }, color: "inherit" })),
2552
2269
  React__default.createElement(Button, { onClick: function () {
2553
2270
  (function () { return __awaiter(void 0, void 0, void 0, function () {
2554
2271
  return __generator(this, function (_a) {
@@ -2567,6 +2284,220 @@ var useTableData$2 = function (_a) {
2567
2284
  return { rows: rows, columns: columns };
2568
2285
  };
2569
2286
 
2287
+ var DataTable = function (_a) {
2288
+ var proceduresOfProfile = _a.proceduresOfProfile, onSelectionChanged = _a.onSelectionChanged;
2289
+ var _b = useState(""), filterInput = _b[0], setFilterInput = _b[1];
2290
+ var _c = useState([]), allProcedures = _c[0], setAllProcedures = _c[1];
2291
+ var _d = useState(""), error = _d[0], setError = _d[1];
2292
+ var _e = useState(null), gridApi = _e[0], setGridApi = _e[1];
2293
+ var _f = useState(null); _f[0]; var setColumnApi = _f[1];
2294
+ var handlerFilter = function (e) {
2295
+ setFilterInput(e.target.value);
2296
+ };
2297
+ var sortRows = function (event) {
2298
+ event.columnApi.applyColumnState({
2299
+ state: [
2300
+ { colId: 'sProcedure', sort: 'asc', sortIndex: 0 }
2301
+ ]
2302
+ });
2303
+ };
2304
+ var rows = useMemo(function () {
2305
+ return allProcedures
2306
+ .map(function (_a) {
2307
+ var ProcedureId = _a.ProcedureId, sProcedure = _a.sProcedure;
2308
+ return {
2309
+ ProcedureId: ProcedureId,
2310
+ sProcedure: sProcedure
2311
+ };
2312
+ });
2313
+ }, [allProcedures]);
2314
+ var columns = [
2315
+ {
2316
+ field: "ProcedureId",
2317
+ headerName: " ",
2318
+ flex: 1,
2319
+ maxWidth: 100,
2320
+ checkboxSelection: true,
2321
+ showDisabledCheckboxes: true,
2322
+ sortIndex: 1
2323
+ },
2324
+ {
2325
+ field: "sProcedure",
2326
+ headerName: "Name",
2327
+ flex: 4,
2328
+ sortIndex: 0,
2329
+ comparator: function (a, b, nodeA, nodeB, isInverted) {
2330
+ var _a;
2331
+ if (nodeA.isSelected() && !nodeB.isSelected()) {
2332
+ return -1;
2333
+ }
2334
+ else if (!nodeA.isSelected() && nodeB.isSelected()) {
2335
+ return 1;
2336
+ }
2337
+ else {
2338
+ return (_a = nodeA.data.sProcedure) === null || _a === void 0 ? void 0 : _a.localeCompare(nodeB.data.sProcedure);
2339
+ }
2340
+ }
2341
+ },
2342
+ ];
2343
+ var defaultColDef = useMemo(function () { return ({
2344
+ resizable: true,
2345
+ sortable: true,
2346
+ filter: true
2347
+ }); }, []);
2348
+ var onAgGridSelectionChanged = function (event) {
2349
+ sortRows(event);
2350
+ var selectedRows = event.api.getSelectedRows();
2351
+ onSelectionChanged(selectedRows);
2352
+ };
2353
+ var onFirstDataRendered = useCallback(function (params) {
2354
+ params.api.forEachNode(function (node) {
2355
+ node.setSelected(!!node.data && !isNil(proceduresOfProfile.find(function (p) { return p.ProcedureId === node.data.ProcedureId; })));
2356
+ });
2357
+ sortRows(params);
2358
+ }, [sortRows]);
2359
+ var onGridReady = useCallback(function (event) {
2360
+ setGridApi(event.api);
2361
+ setColumnApi(event.columnApi);
2362
+ }, [setGridApi]);
2363
+ useEffect(function () {
2364
+ gridApi === null || gridApi === void 0 ? void 0 : gridApi.setQuickFilter(filterInput.trim());
2365
+ }, [filterInput, gridApi]);
2366
+ useEffect(function () {
2367
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
2368
+ var resp;
2369
+ return __generator(this, function (_a) {
2370
+ switch (_a.label) {
2371
+ case 0: return [4 /*yield*/, getProcedures()];
2372
+ case 1:
2373
+ resp = _a.sent();
2374
+ if (resp.ok)
2375
+ setAllProcedures(get$1(resp, "data.tables[0].rows", []));
2376
+ else
2377
+ setError(resp.message);
2378
+ return [2 /*return*/];
2379
+ }
2380
+ });
2381
+ }); })();
2382
+ }, []);
2383
+ return (React__default.createElement(React__default.Fragment, null,
2384
+ React__default.createElement(Grid$1, { md: 12, xs: 12, style: { width: "100rem", padding: "10px 0px" } },
2385
+ React__default.createElement(TextField, { id: "outlined-basic", label: "Filter...", variant: "outlined", style: { width: "100%" }, value: filterInput, onChange: handlerFilter })),
2386
+ React__default.createElement("div", { className: "ag-theme-balham", style: { width: "100%", height: "60vh" } },
2387
+ React__default.createElement(AgGridReact, { getRowId: function (params) { return params.data.ProcedureId; }, onGridReady: onGridReady, rowData: rows, columnDefs: columns, defaultColDef: defaultColDef, onFirstDataRendered: onFirstDataRendered, rowSelection: "multiple", rowMultiSelectWithClick: true, onSelectionChanged: onAgGridSelectionChanged })),
2388
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
2389
+ };
2390
+
2391
+ var useStyles$j = makeStyles(function (theme) {
2392
+ return createStyles({
2393
+ title: {
2394
+ fontSize: 15
2395
+ },
2396
+ modalTitle: {
2397
+ fontSize: 15,
2398
+ marginTop: theme.spacing(1)
2399
+ },
2400
+ chip: {
2401
+ margin: 2
2402
+ },
2403
+ errorLabel: {
2404
+ fontSize: 12,
2405
+ color: "#F44336"
2406
+ },
2407
+ error: {
2408
+ marginBottom: "15px"
2409
+ },
2410
+ textError: {
2411
+ listStyle: "none",
2412
+ padding: 0,
2413
+ margin: 0
2414
+ }
2415
+ });
2416
+ });
2417
+ var ProceduresOfProfile = function (_a) {
2418
+ var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide;
2419
+ useStyles$j();
2420
+ var _b = useState(null), proceduresOfProfile = _b[0], setProceduresOfProfile = _b[1];
2421
+ var _c = useState(false), open = _c[0], setOpen = _c[1];
2422
+ var _d = useState(true), isLoading = _d[0], setIsLoading = _d[1];
2423
+ var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
2424
+ var _f = useState([]), proceduresSelected = _f[0], setProceduresSelected = _f[1];
2425
+ var _g = useState(""), error = _g[0], setError = _g[1];
2426
+ var _h = useForm({ defaultValues: INITIAL_VALUES$2 }), handleSubmit = _h.handleSubmit; _h.formState.errors;
2427
+ var handleClose = function (event, reason) {
2428
+ if (reason === 'clickaway') {
2429
+ return;
2430
+ }
2431
+ setOpen(false);
2432
+ };
2433
+ var onSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
2434
+ var resp;
2435
+ return __generator(this, function (_a) {
2436
+ switch (_a.label) {
2437
+ case 0:
2438
+ setIsSubmitLoading(true);
2439
+ return [4 /*yield*/, upsertProfilesProcedures(profileForEdit, proceduresSelected)];
2440
+ case 1:
2441
+ resp = _a.sent();
2442
+ if (!resp.ok) {
2443
+ setError(resp.message);
2444
+ }
2445
+ else {
2446
+ setOpen(true);
2447
+ onHide(true);
2448
+ }
2449
+ setIsSubmitLoading(false);
2450
+ return [2 /*return*/];
2451
+ }
2452
+ });
2453
+ }); };
2454
+ useEffect(function () {
2455
+ if (show) {
2456
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
2457
+ var resp;
2458
+ return __generator(this, function (_a) {
2459
+ switch (_a.label) {
2460
+ case 0:
2461
+ setIsLoading(true);
2462
+ setIsSubmitLoading(false);
2463
+ if (!profileForEdit) return [3 /*break*/, 2];
2464
+ return [4 /*yield*/, getProceduresByProfileId(profileForEdit)];
2465
+ case 1:
2466
+ resp = _a.sent();
2467
+ if (resp.ok)
2468
+ setProceduresOfProfile(get$1(resp, "data.tables[0].rows", []));
2469
+ else
2470
+ setError(resp.message);
2471
+ setIsLoading(false);
2472
+ _a.label = 2;
2473
+ case 2: return [2 /*return*/];
2474
+ }
2475
+ });
2476
+ }); })();
2477
+ }
2478
+ }, [show]);
2479
+ return (React.createElement(React.Fragment, null,
2480
+ React.createElement(Modal$2, __assign({}, { show: show }, { onHide: function () { return onHide(false); }, size: "lg", "aria-labelledby": "contained-modal-title-vcenter", centered: true }),
2481
+ React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
2482
+ React.createElement(Modal$2.Header, { closeButton: true, style: { padding: "10px 30px" } },
2483
+ React.createElement(Modal$2.Title, { id: "contained-modal-title-vcenter", style: { margin: "20px 0 0" } }, profileForEdit === null || profileForEdit === void 0 ? void 0 :
2484
+ profileForEdit.ProfileName,
2485
+ " Profile")),
2486
+ React.createElement(Modal$2.Body, { style: { padding: "15px 30px" } },
2487
+ isLoading && (React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "60px" } },
2488
+ React.createElement(CircularProgress$1, { size: "3rem" }))),
2489
+ !error && !isLoading && proceduresOfProfile &&
2490
+ React.createElement(DataTable, { proceduresOfProfile: proceduresOfProfile, onSelectionChanged: setProceduresSelected })),
2491
+ React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } }, !isLoading && (React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
2492
+ React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2493
+ React.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(false); } }, "Cancel")),
2494
+ React.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
2495
+ React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress$1, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: 'submit' }, "Save"))))))),
2496
+ React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
2497
+ React.createElement(Alert, { severity: "info", onClose: handleClose }, "The procedures of profile was edited successfully")),
2498
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
2499
+ };
2500
+
2570
2501
  var useStyles$i = makeStyles(function (theme) {
2571
2502
  return createStyles({
2572
2503
  root: {
@@ -2602,25 +2533,37 @@ var useStyles$i = makeStyles(function (theme) {
2602
2533
  var TableProfiles = function (_a) {
2603
2534
  var getProfilesFromAPI = _a.getProfilesFromAPI, isLoading = _a.isLoading;
2604
2535
  var _b = useState(false), modalCreateActive = _b[0], setModalCreateActive = _b[1];
2605
- var _c = useState(false), modalEditPermissionsProfile = _c[0], setModalEditPermissionsProfile = _c[1];
2606
- var _d = useState(false), modalDeleteProfile = _d[0], setModalDeleteProfile = _d[1];
2607
- var _e = useState(null), profileForEdit = _e[0], setProfileForEdit = _e[1];
2608
- var _f = useState(null), profileForDelete = _f[0], setProfileForDelete = _f[1];
2536
+ var _c = useState(false), modalEditProfile = _c[0], setModalEditProfile = _c[1];
2537
+ var _d = useState(false), modalProceduresProfile = _d[0], setModalProceduresProfile = _d[1];
2538
+ var _e = useState(false), modalDeleteProfile = _e[0], setModalDeleteProfile = _e[1];
2539
+ var _f = useState(null), profileForEdit = _f[0], setProfileForEdit = _f[1];
2540
+ var _g = useState(null), profileForDelete = _g[0], setProfileForDelete = _g[1];
2609
2541
  var classes = useStyles$i();
2610
- var _g = useTableData$2({
2542
+ var _h = useTableData$2({
2611
2543
  setModalDeleteProfile: setModalDeleteProfile,
2612
- setModalEditPermissionsProfile: setModalEditPermissionsProfile,
2544
+ setModalEditProfile: setModalEditProfile,
2545
+ setModalProceduresProfile: setModalProceduresProfile,
2613
2546
  setProfileForDelete: setProfileForDelete,
2614
2547
  setProfileForEdit: setProfileForEdit
2615
- }), rows = _g.rows, columns = _g.columns;
2548
+ }), rows = _h.rows, columns = _h.columns;
2616
2549
  return (React.createElement(Grid, { container: true, justifyContent: "center" },
2617
2550
  React.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" } },
2618
2551
  React.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0 20px", fontWeight: 600 } }, "Profile Management")),
2619
2552
  React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", className: classes.root },
2620
2553
  React.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" }, className: classes.relative },
2621
- React.createElement(CreateProfile, { show: modalCreateActive, onHide: function () { return setModalCreateActive(false); }, getProfilesFromAPI: getProfilesFromAPI }),
2622
- React.createElement(EditProfile, { show: modalEditPermissionsProfile, profileForEdit: profileForEdit, onHide: function (shouldUpdate) {
2623
- setModalEditPermissionsProfile(false);
2554
+ React.createElement(CreateProfile, { show: modalCreateActive, onHide: function (shouldUpdate) {
2555
+ setModalCreateActive(false);
2556
+ if (shouldUpdate)
2557
+ getProfilesFromAPI().then(function () { });
2558
+ } }),
2559
+ React.createElement(EditProfile, { show: modalEditProfile, profileForEdit: profileForEdit, onHide: function (shouldUpdate) {
2560
+ setModalEditProfile(false);
2561
+ setProfileForEdit(null);
2562
+ if (shouldUpdate)
2563
+ getProfilesFromAPI().then(function () { });
2564
+ } }),
2565
+ React.createElement(ProceduresOfProfile, { show: modalProceduresProfile, profileForEdit: profileForEdit, onHide: function (shouldUpdate) {
2566
+ setModalProceduresProfile(false);
2624
2567
  setProfileForEdit(null);
2625
2568
  if (shouldUpdate)
2626
2569
  getProfilesFromAPI().then(function () { });
@@ -2641,6 +2584,7 @@ var TableProfiles = function (_a) {
2641
2584
  var Profiles = function (prop) {
2642
2585
  var _a = useProfilesContext(), state = _a.state, actions = _a.actions;
2643
2586
  var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
2587
+ var _c = useState(""), error = _c[0], setError = _c[1];
2644
2588
  var getProfilesFromAPI = function () { return __awaiter(void 0, void 0, void 0, function () {
2645
2589
  var resp;
2646
2590
  return __generator(this, function (_a) {
@@ -2655,7 +2599,7 @@ var Profiles = function (prop) {
2655
2599
  setIsLoading(false);
2656
2600
  }
2657
2601
  else {
2658
- console.log("something happened!");
2602
+ setError(resp.message);
2659
2603
  }
2660
2604
  return [2 /*return*/];
2661
2605
  }
@@ -2665,10 +2609,12 @@ var Profiles = function (prop) {
2665
2609
  getProfilesFromAPI();
2666
2610
  }, []);
2667
2611
  if (state.profiles) {
2668
- return (React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
2669
- React.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: 0 } },
2670
- React.createElement(Paper, { elevation: 1, style: { width: "100%", padding: "10px 0 20px", borderRadius: "0.75rem" } },
2671
- React.createElement(TableProfiles, { isLoading: isLoading, getProfilesFromAPI: getProfilesFromAPI })))));
2612
+ return (React.createElement(React.Fragment, null,
2613
+ React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
2614
+ React.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: 0 } },
2615
+ React.createElement(Paper, { elevation: 1, style: { width: "100%", padding: "10px 0 20px", borderRadius: "0.75rem" } },
2616
+ React.createElement(TableProfiles, { isLoading: isLoading, getProfilesFromAPI: getProfilesFromAPI })))),
2617
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
2672
2618
  }
2673
2619
  return React.createElement(LazyLoading, null);
2674
2620
  };
@@ -2904,9 +2850,6 @@ var useStyles$h = makeStyles(function (theme) {
2904
2850
  fontSize: 15,
2905
2851
  marginTop: theme.spacing(1)
2906
2852
  },
2907
- permissionsPicker: {
2908
- padding: "0"
2909
- },
2910
2853
  chip: {
2911
2854
  margin: 2
2912
2855
  },
@@ -3117,9 +3060,6 @@ var useStyles$g = makeStyles(function (theme) {
3117
3060
  fontSize: 15,
3118
3061
  marginTop: theme.spacing(1)
3119
3062
  },
3120
- permissionsPicker: {
3121
- padding: "0"
3122
- },
3123
3063
  chip: {
3124
3064
  margin: 2
3125
3065
  },
@@ -3287,9 +3227,6 @@ var useStyles$f = makeStyles(function (theme) {
3287
3227
  fontSize: 15,
3288
3228
  marginTop: theme.spacing(1)
3289
3229
  },
3290
- permissionsPicker: {
3291
- padding: "0"
3292
- },
3293
3230
  chip: {
3294
3231
  margin: 2
3295
3232
  },
@@ -4416,7 +4353,7 @@ var CreateNewAssetDialog = function (_a) {
4416
4353
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4417
4354
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4418
4355
  var field = _a.field;
4419
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4356
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4420
4357
  } }))))),
4421
4358
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginTop: "15px" } },
4422
4359
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
@@ -4529,12 +4466,12 @@ var ViewerAssetDialog = function (_a) {
4529
4466
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4530
4467
  React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4531
4468
  var field = _a.field;
4532
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsBranch", color: "primary", disabled: true }), label: "Has Children" }));
4469
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsBranch", color: "primary", disabled: true }), label: "Has Children" }));
4533
4470
  } })),
4534
4471
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4535
4472
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4536
4473
  var field = _a.field;
4537
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary", disabled: true }), label: "Can be Default Asset" }));
4474
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary", disabled: true }), label: "Can be Default Asset" }));
4538
4475
  } }))))))))))));
4539
4476
  };
4540
4477
 
@@ -4782,12 +4719,12 @@ var EditAssetDialog = function (_a) {
4782
4719
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4783
4720
  React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4784
4721
  var field = _a.field;
4785
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
4722
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
4786
4723
  } })),
4787
4724
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4788
4725
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4789
4726
  var field = _a.field;
4790
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4727
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4791
4728
  } })))))),
4792
4729
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
4793
4730
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
@@ -5466,7 +5403,7 @@ var CreateUser = function (_a) {
5466
5403
  React.createElement(Grid, { item: true, xs: 12, md: 6 },
5467
5404
  React.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5468
5405
  var field = _a.field;
5469
- return (React.createElement(FormControlLabel, { className: classes.checkbox, control: React.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5406
+ return (React.createElement(FormControlLabel$1, { className: classes.checkbox, control: React.createElement(Checkbox$1, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5470
5407
  } }))))),
5471
5408
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5472
5409
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5604,7 +5541,7 @@ var EditUser = function (_a) {
5604
5541
  React.createElement(Grid, { item: true, xs: 12, md: 6 },
5605
5542
  React.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5606
5543
  var field = _a.field;
5607
- return (React.createElement(FormControlLabel, { className: classes.checkbox, control: React.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5544
+ return (React.createElement(FormControlLabel$1, { className: classes.checkbox, control: React.createElement(Checkbox$1, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5608
5545
  } }))))))),
5609
5546
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5610
5547
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5724,7 +5661,7 @@ var DeleteUser = function (_a) {
5724
5661
  React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
5725
5662
  React__default.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5726
5663
  var field = _a.field;
5727
- return (React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5664
+ return (React__default.createElement(FormControlLabel$1, { control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5728
5665
  } }))))))),
5729
5666
  React__default.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5730
5667
  React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5825,50 +5762,6 @@ var useTableData = function (_a) {
5825
5762
  return { rows: rows, columns: columns };
5826
5763
  };
5827
5764
 
5828
- var styles = function (theme) {
5829
- return createStyles({
5830
- root: {
5831
- margin: 0,
5832
- padding: theme.spacing(2)
5833
- },
5834
- closeButton: {
5835
- position: 'absolute',
5836
- right: theme.spacing(1),
5837
- top: theme.spacing(1),
5838
- color: theme.palette.grey[500]
5839
- }
5840
- });
5841
- };
5842
- var DialogTitle = withStyles(styles)(function (props) {
5843
- var children = props.children, classes = props.classes, onClose = props.onClose, other = __rest(props, ["children", "classes", "onClose"]);
5844
- return (React__default.createElement(DialogTitle$1, __assign({ disableTypography: true, style: { display: "flex", flexWrap: 'nowrap', justifyContent: 'space-between', alignItems: 'baseline' } }, other),
5845
- React__default.createElement(Typography$1, { variant: "h6" }, children),
5846
- onClose ? (React__default.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: onClose },
5847
- React__default.createElement(CloseIcon, null))) : React__default.createElement(React__default.Fragment, null)));
5848
- });
5849
- var DialogContent = withStyles(function (theme) { return ({
5850
- root: {
5851
- padding: theme.spacing(2),
5852
- minWidth: 300
5853
- }
5854
- }); })(DialogContent$1);
5855
- var DialogActions = withStyles(function (theme) { return ({
5856
- root: {
5857
- margin: 0,
5858
- padding: theme.spacing(1)
5859
- }
5860
- }); })(DialogActions$1);
5861
- function Modal(_a) {
5862
- var children = _a.children, title = _a.title, handleClose = _a.handleClose, open = _a.open, _b = _a.id, id = _b === void 0 ? 'mesf-modal' : _b, _c = _a.maxWidth, maxWidth = _c === void 0 ? 'lg' : _c;
5863
- return (React__default.createElement(Dialog, { onClose: function () { return handleClose(); }, "aria-labelledby": id, open: open, maxWidth: maxWidth, style: { minWidth: 320 } },
5864
- React__default.createElement(DialogTitle, { id: id, onClose: function () { return handleClose(); } }, title),
5865
- children));
5866
- }
5867
- var Modal$1 = Object.assign(Modal, {
5868
- Content: DialogContent,
5869
- Actions: DialogActions
5870
- });
5871
-
5872
5765
  var ChangePassword$1 = function (_a) {
5873
5766
  var show = _a.show, userId = _a.userId, onHide = _a.onHide;
5874
5767
  var _b = useState(''), password = _b[0], setPasswordText = _b[1];
@@ -6331,6 +6224,62 @@ var MESApiService = /** @class */ (function () {
6331
6224
  });
6332
6225
  });
6333
6226
  };
6227
+ MESApiService.prototype.callV2 = function (procedure, parameters, database) {
6228
+ if (database === void 0) { database = ''; }
6229
+ return __awaiter(this, void 0, void 0, function () {
6230
+ var data, formattedParameters;
6231
+ var _this = this;
6232
+ return __generator(this, function (_a) {
6233
+ data = {};
6234
+ formattedParameters = [];
6235
+ parameters.forEach(function (element) {
6236
+ var formattedParameter = {};
6237
+ formattedParameter.name = element.name;
6238
+ if (element.value === null || element.value === undefined)
6239
+ formattedParameter.value = null;
6240
+ else
6241
+ formattedParameter.value = element.value;
6242
+ formattedParameters.push(formattedParameter);
6243
+ });
6244
+ data.method = procedure;
6245
+ data.dataBaseName = database;
6246
+ data.parameters = formattedParameters;
6247
+ Date.prototype.toJSON = function () { return moment(this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
6248
+ return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/Execute', {
6249
+ method: "POST",
6250
+ mode: "cors",
6251
+ headers: {
6252
+ "Content-Type": "application/json",
6253
+ 'Authorization': 'Bearer ' + getTokenFromLS()
6254
+ },
6255
+ body: JSON.stringify(data)
6256
+ })
6257
+ .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
6258
+ var resp;
6259
+ return __generator(this, function (_a) {
6260
+ switch (_a.label) {
6261
+ case 0:
6262
+ if (response.status === 401) {
6263
+ window.location.href = "".concat(base$2, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
6264
+ }
6265
+ return [4 /*yield*/, response.json()];
6266
+ case 1:
6267
+ resp = _a.sent();
6268
+ if (!response.ok) {
6269
+ throw new Error(resp.message);
6270
+ }
6271
+ return [2 /*return*/, resp];
6272
+ }
6273
+ });
6274
+ }); })["catch"](function (err) {
6275
+ console.log('fromCatch', err);
6276
+ _this.hasErrors = true;
6277
+ _this.error = err;
6278
+ return err;
6279
+ })];
6280
+ });
6281
+ });
6282
+ };
6334
6283
  MESApiService.prototype.callJSON = function (procedure, parameters, database) {
6335
6284
  if (database === void 0) { database = ''; }
6336
6285
  return __awaiter(this, void 0, void 0, function () {