@dexteel/mesf-core 3.12.2 → 4.0.0-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 (23) 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/asset/models/AssetParameters.d.ts +2 -1
  6. package/dist/configuration/pages/asset/reducers/ConfigurationAssetReducer.d.ts +139 -16
  7. package/dist/configuration/pages/asset/repositories/ConfigurationAssetRepository.d.ts +1 -1
  8. package/dist/configuration/pages/profiles/components/Create/CreateProfile.d.ts +2 -3
  9. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ProceduresDataTable/index.d.ts +10 -0
  10. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ProceduresOfProfile.d.ts +9 -0
  11. package/dist/configuration/pages/profiles/components/ProfilesTable/customHooks/useTableData.d.ts +3 -6
  12. package/dist/configuration/pages/profiles/models/Procedure.d.ts +4 -0
  13. package/dist/configuration/pages/profiles/models/Profile.d.ts +0 -4
  14. package/dist/configuration/pages/profiles/repositories/ProfilesRepository.d.ts +28 -0
  15. package/dist/index.esm.js +739 -758
  16. package/dist/services/ApiService.d.ts +1 -0
  17. package/dist/utils/getError.d.ts +1 -0
  18. package/package.json +8 -3
  19. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useGetPermissionsEffect.d.ts +0 -7
  20. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useHandleAsignedPermission.d.ts +0 -6
  21. package/dist/configuration/pages/profiles/components/common/Permissions/hooks/useIsPermissionInherited.d.ts +0 -5
  22. package/dist/configuration/pages/profiles/components/common/Permissions/utils/PermissionsUtils.d.ts +0 -1
  23. 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,426 +1944,108 @@ 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) {
1947
+ var useStyles$m = makeStyles(function (theme) {
1966
1948
  return createStyles({
1967
- formControl: {
1968
- margin: "0 12px",
1969
- width: "50%",
1970
- userSelect: "none"
1949
+ title: {
1950
+ fontSize: 15
1971
1951
  },
1972
- chips: {
1973
- display: 'flex',
1974
- flexWrap: 'wrap'
1952
+ modalTitle: {
1953
+ fontSize: 15,
1954
+ marginTop: theme.spacing(1)
1975
1955
  },
1976
1956
  chip: {
1977
1957
  margin: 2
1978
1958
  },
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
- 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'
1959
+ errorLabel: {
1960
+ fontSize: 12,
1961
+ color: "#F44336"
2073
1962
  },
2074
- chip: {
2075
- margin: 2
1963
+ error: {
1964
+ marginBottom: "15px"
2076
1965
  },
2077
- noLabel: {
2078
- marginTop: theme.spacing(3)
1966
+ textError: {
1967
+ listStyle: "none",
1968
+ padding: 0,
1969
+ margin: 0
2079
1970
  }
2080
1971
  });
2081
1972
  });
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;
1973
+ var EditProfile = function (_a) {
1974
+ var _b;
1975
+ var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide;
2084
1976
  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
- return createStyles({
2140
- title: {
2141
- fontSize: 15
2142
- },
2143
- modalTitle: {
2144
- fontSize: 15,
2145
- marginTop: theme.spacing(1)
2146
- },
2147
- permissionsPicker: {
2148
- padding: "0"
2149
- },
2150
- chip: {
2151
- margin: 2
2152
- },
2153
- errorLabel: {
2154
- fontSize: 12,
2155
- color: "#F44336"
2156
- },
2157
- error: {
2158
- marginBottom: "15px"
2159
- },
2160
- textError: {
2161
- listStyle: "none",
2162
- padding: 0,
2163
- margin: 0
2164
- }
2165
- });
2166
- });
2167
- var EditProfile = function (_a) {
2168
- var _b;
2169
- 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
- });
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
  },
@@ -3600,28 +3537,145 @@ var ShiftsCrews = function (prop) {
3600
3537
  React.createElement(Paper, { elevation: 1, style: { width: "100%", padding: "10px 0 20px", borderRadius: "0.75rem" } },
3601
3538
  React.createElement(TableShiftsCrews, { isLoading: isLoading, getShiftsCrewsFromAPI: getShiftsCrewsFromAPI })))));
3602
3539
  }
3603
- return React.createElement(LazyLoading, null);
3604
- };
3605
-
3606
- var ShiftsCrewsPage = function (props) {
3607
- return (React.createElement(ShiftsCrewsProvider, null,
3608
- React.createElement(ShiftsCrews, null)));
3609
- };
3540
+ return React.createElement(LazyLoading, null);
3541
+ };
3542
+
3543
+ var ShiftsCrewsPage = function (props) {
3544
+ return (React.createElement(ShiftsCrewsProvider, null,
3545
+ React.createElement(ShiftsCrews, null)));
3546
+ };
3547
+
3548
+ var TypeIcon = function (props) {
3549
+ if (props.droppable) {
3550
+ return React__default.createElement(Folder, null);
3551
+ }
3552
+ switch (props.fileType) {
3553
+ case "image":
3554
+ return React__default.createElement(ImageIcon, null);
3555
+ case "csv":
3556
+ return React__default.createElement(ListAltIcon, null);
3557
+ case "text":
3558
+ return React__default.createElement(DescriptionIcon, null);
3559
+ default:
3560
+ return null;
3561
+ }
3562
+ };
3563
+
3564
+ var DATA_ASSET_INITIAL_VALUES = {
3565
+ AssetId: null,
3566
+ ParentAssetId: 1,
3567
+ AssetName: "",
3568
+ IsAsset: false,
3569
+ CanBeDefaultAsset: false,
3570
+ ParentAssetName: "",
3571
+ IsBranch: null
3572
+ };
3573
+
3574
+ var ConfigurationAssetInitialState = {
3575
+ openAssets: {},
3576
+ allAssetNodes: [],
3577
+ allNodesLoading: false,
3578
+ anchorPoint: {
3579
+ x: 0,
3580
+ y: 0
3581
+ },
3582
+ dataToCreateAsset: DATA_ASSET_INITIAL_VALUES,
3583
+ menuContextAssetId: undefined,
3584
+ showContextMenu: false,
3585
+ showCreateNewContextMenu: false,
3586
+ assetCodes: {},
3587
+ assetTreeId: 1,
3588
+ assetTreeName: null,
3589
+ assetNodeSelectedInTree: DATA_ASSET_INITIAL_VALUES,
3590
+ allAssetLoading: false
3591
+ };
3592
+ var ConfigurationAssetReducer = createSlice({
3593
+ name: "__",
3594
+ initialState: ConfigurationAssetInitialState,
3595
+ reducers: {
3596
+ setOpenAssets: function (state, _a) {
3597
+ var payload = _a.payload;
3598
+ state.openAssets = payload;
3599
+ },
3600
+ setAllAssetNodes: function (state, _a) {
3601
+ var payload = _a.payload;
3602
+ state.allAssetNodes = payload;
3603
+ },
3604
+ seAllNodesLoading: function (state, _a) {
3605
+ var payload = _a.payload;
3606
+ state.allNodesLoading = payload;
3607
+ },
3608
+ setAnchorPointX: function (state, _a) {
3609
+ var payload = _a.payload;
3610
+ state.anchorPoint.x = payload;
3611
+ },
3612
+ setAnchorPointY: function (state, _a) {
3613
+ var payload = _a.payload;
3614
+ state.anchorPoint.y = payload;
3615
+ },
3616
+ setMenuContextAssetId: function (state, _a) {
3617
+ var payload = _a.payload;
3618
+ state.menuContextAssetId = payload;
3619
+ },
3620
+ setShowContextMenu: function (state, _a) {
3621
+ var payload = _a.payload;
3622
+ state.showContextMenu = payload;
3623
+ },
3624
+ setShowCreateNewContextMenu: function (state, _a) {
3625
+ var payload = _a.payload;
3626
+ state.showCreateNewContextMenu = payload;
3627
+ },
3628
+ setDataToCreateAsset: function (state, _a) {
3629
+ var payload = _a.payload;
3630
+ state.dataToCreateAsset = payload;
3631
+ },
3632
+ setAssetNameToCreateAsset: function (state, _a) {
3633
+ var payload = _a.payload;
3634
+ state.dataToCreateAsset.AssetName = payload;
3635
+ },
3636
+ setAssetParentAssetIdToCreateAsset: function (state, _a) {
3637
+ var payload = _a.payload;
3638
+ state.dataToCreateAsset.ParentAssetId = payload;
3639
+ },
3640
+ setAssetTreeId: function (state, _a) {
3641
+ var payload = _a.payload;
3642
+ state.assetTreeId = payload;
3643
+ },
3644
+ setAssetTreeName: function (state, _a) {
3645
+ var payload = _a.payload;
3646
+ state.assetTreeName = payload;
3647
+ },
3648
+ setAssetCodes: function (state, _a) {
3649
+ var payload = _a.payload;
3650
+ state.assetCodes = payload;
3651
+ },
3652
+ setAssetNodeSelectedInTree: function (state, _a) {
3653
+ var payload = _a.payload;
3654
+ state.assetNodeSelectedInTree = payload;
3655
+ },
3656
+ setParentAssetNameInNodeSelectedInTree: function (state, _a) {
3657
+ var payload = _a.payload;
3658
+ state.assetNodeSelectedInTree.ParentAssetName = payload;
3659
+ },
3660
+ setAllAssetLoading: function (state, _a) {
3661
+ var payload = _a.payload;
3662
+ state.allAssetLoading = payload;
3663
+ }
3664
+ }
3665
+ });
3610
3666
 
3611
- var TypeIcon = function (props) {
3612
- if (props.droppable) {
3613
- return React__default.createElement(Folder, null);
3614
- }
3615
- switch (props.fileType) {
3616
- case "image":
3617
- return React__default.createElement(ImageIcon, null);
3618
- case "csv":
3619
- return React__default.createElement(ListAltIcon, null);
3620
- case "text":
3621
- return React__default.createElement(DescriptionIcon, null);
3622
- default:
3623
- return null;
3624
- }
3667
+ var ConfigurationAssetContext = createContext({
3668
+ state: ConfigurationAssetReducer.getInitialState(),
3669
+ actions: ConfigurationAssetReducer.actions
3670
+ });
3671
+ var useConfigurationAssetContext = function () { return useContext(ConfigurationAssetContext); };
3672
+ var ConfigurationAssetProvider = function (_a) {
3673
+ var children = _a.children;
3674
+ var _b = useComplexState({
3675
+ initialState: ConfigurationAssetReducer.getInitialState(),
3676
+ reducers: ConfigurationAssetReducer.caseReducers
3677
+ }), state = _b[0], actions = _b[1];
3678
+ return (React__default.createElement(ConfigurationAssetContext.Provider, { value: { state: state, actions: actions } }, children));
3625
3679
  };
3626
3680
 
3627
3681
  var useStyles$d = makeStyles$1(function (theme) { return ({
@@ -3668,7 +3722,8 @@ var useStyles$d = makeStyles$1(function (theme) { return ({
3668
3722
  var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
3669
3723
  var CustomNode = function (_a) {
3670
3724
  var setContextMenuOver = _a.setContextMenuOver, onDoubleClick = _a.onDoubleClick; _a.testIdPrefix; var isSelected = _a.isSelected, props = __rest(_a, ["setContextMenuOver", "onDoubleClick", "testIdPrefix", "isSelected"]);
3671
- var _c = props.node, id = _c.id, droppable = _c.droppable, data = _c.data;
3725
+ var _c = useConfigurationAssetContext(), openAssets = _c.state.openAssets, setOpenAssets = _c.actions.setOpenAssets;
3726
+ var _d = props.node, id = _d.id, droppable = _d.droppable, data = _d.data;
3672
3727
  var indent = props.depth * 24;
3673
3728
  var classes = useStyles$d();
3674
3729
  var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
@@ -3676,7 +3731,16 @@ var CustomNode = function (_a) {
3676
3731
  props.onClick(e, props.node);
3677
3732
  };
3678
3733
  var handleToggle = function (e) {
3734
+ var _a;
3679
3735
  e.stopPropagation();
3736
+ if (openAssets[id]) {
3737
+ var newOpenAssets = __assign({}, openAssets);
3738
+ delete newOpenAssets[id];
3739
+ setOpenAssets(newOpenAssets);
3740
+ }
3741
+ else {
3742
+ setOpenAssets(__assign(__assign({}, openAssets), (_a = {}, _a[id] = id, _a)));
3743
+ }
3680
3744
  props.onToggle();
3681
3745
  };
3682
3746
  var handleContextMenu = useCallback(function (ev) {
@@ -3821,7 +3885,7 @@ var updateAsset = function (AssetId, ParentAssetId) { return __awaiter(void 0, v
3821
3885
  }
3822
3886
  });
3823
3887
  }); };
3824
- var insertAsset = function (AssetName, ParentAssetId, IsAsset, CanBeDefaultAsset) { return __awaiter(void 0, void 0, void 0, function () {
3888
+ var insertAsset = function (AssetName, ParentAssetId, CanBeDefaultAsset) { return __awaiter(void 0, void 0, void 0, function () {
3825
3889
  var apiService, parameters, resp, e_2;
3826
3890
  return __generator(this, function (_a) {
3827
3891
  switch (_a.label) {
@@ -3830,7 +3894,6 @@ var insertAsset = function (AssetName, ParentAssetId, IsAsset, CanBeDefaultAsset
3830
3894
  parameters = [];
3831
3895
  parameters.push({ name: "AssetName", value: AssetName });
3832
3896
  parameters.push({ name: "ParentAssetId", value: ParentAssetId });
3833
- parameters.push({ name: "IsAsset", value: IsAsset });
3834
3897
  parameters.push({ name: "CanBeDefaultAsset", value: CanBeDefaultAsset });
3835
3898
  _a.label = 1;
3836
3899
  case 1:
@@ -3953,117 +4016,11 @@ var TransformAssetModelData = function (node) {
3953
4016
  return model;
3954
4017
  };
3955
4018
 
3956
- var DATA_ASSET_INITIAL_VALUES = {
3957
- AssetId: null,
3958
- ParentAssetId: 1,
3959
- AssetName: "",
3960
- IsAsset: false,
3961
- CanBeDefaultAsset: false,
3962
- ParentAssetName: "",
3963
- IsBranch: null
3964
- };
3965
-
3966
- var ConfigurationAssetInitialState = {
3967
- allAssetNodes: [],
3968
- allNodesLoading: false,
3969
- anchorPoint: {
3970
- x: 0,
3971
- y: 0
3972
- },
3973
- dataToCreateAsset: DATA_ASSET_INITIAL_VALUES,
3974
- menuContextAssetId: undefined,
3975
- showContextMenu: false,
3976
- showCreateNewContextMenu: false,
3977
- assetCodes: {},
3978
- assetTreeId: 1,
3979
- assetTreeName: null,
3980
- assetNodeSelectedInTree: DATA_ASSET_INITIAL_VALUES
3981
- };
3982
- var ConfigurationAssetReducer = createSlice({
3983
- name: "__",
3984
- initialState: ConfigurationAssetInitialState,
3985
- reducers: {
3986
- setAllAssetNodes: function (state, _a) {
3987
- var payload = _a.payload;
3988
- state.allAssetNodes = payload;
3989
- },
3990
- seAllNodesLoading: function (state, _a) {
3991
- var payload = _a.payload;
3992
- state.allNodesLoading = payload;
3993
- },
3994
- setAnchorPointX: function (state, _a) {
3995
- var payload = _a.payload;
3996
- state.anchorPoint.x = payload;
3997
- },
3998
- setAnchorPointY: function (state, _a) {
3999
- var payload = _a.payload;
4000
- state.anchorPoint.y = payload;
4001
- },
4002
- setMenuContextAssetId: function (state, _a) {
4003
- var payload = _a.payload;
4004
- state.menuContextAssetId = payload;
4005
- },
4006
- setShowContextMenu: function (state, _a) {
4007
- var payload = _a.payload;
4008
- state.showContextMenu = payload;
4009
- },
4010
- setShowCreateNewContextMenu: function (state, _a) {
4011
- var payload = _a.payload;
4012
- state.showCreateNewContextMenu = payload;
4013
- },
4014
- setDataToCreateAsset: function (state, _a) {
4015
- var payload = _a.payload;
4016
- state.dataToCreateAsset = payload;
4017
- },
4018
- setAssetNameToCreateAsset: function (state, _a) {
4019
- var payload = _a.payload;
4020
- state.dataToCreateAsset.AssetName = payload;
4021
- },
4022
- setAssetParentAssetIdToCreateAsset: function (state, _a) {
4023
- var payload = _a.payload;
4024
- state.dataToCreateAsset.ParentAssetId = payload;
4025
- },
4026
- setAssetTreeId: function (state, _a) {
4027
- var payload = _a.payload;
4028
- state.assetTreeId = payload;
4029
- },
4030
- setAssetTreeName: function (state, _a) {
4031
- var payload = _a.payload;
4032
- state.assetTreeName = payload;
4033
- },
4034
- setAssetCodes: function (state, _a) {
4035
- var payload = _a.payload;
4036
- state.assetCodes = payload;
4037
- },
4038
- setAssetNodeSelectedInTree: function (state, _a) {
4039
- var payload = _a.payload;
4040
- state.assetNodeSelectedInTree = payload;
4041
- },
4042
- setParentAssetNameInNodeSelectedInTree: function (state, _a) {
4043
- var payload = _a.payload;
4044
- state.assetNodeSelectedInTree.ParentAssetName = payload;
4045
- }
4046
- }
4047
- });
4048
-
4049
- var ConfigurationAssetContext = createContext({
4050
- state: ConfigurationAssetReducer.getInitialState(),
4051
- actions: ConfigurationAssetReducer.actions
4052
- });
4053
- var useConfigurationAssetContext = function () { return useContext(ConfigurationAssetContext); };
4054
- var ConfigurationAssetProvider = function (_a) {
4055
- var children = _a.children;
4056
- var _b = useComplexState({
4057
- initialState: ConfigurationAssetReducer.getInitialState(),
4058
- reducers: ConfigurationAssetReducer.caseReducers
4059
- }), state = _b[0], actions = _b[1];
4060
- return (React__default.createElement(ConfigurationAssetContext.Provider, { value: { state: state, actions: actions } }, children));
4061
- };
4062
-
4063
4019
  var useSearchAssets$1 = function () {
4064
4020
  var _a = useAssetContext().actions, setAllAssets = _a.setAllAssets, setAreasList = _a.setAreasList;
4065
- var setAllAssetNodes = useConfigurationAssetContext().actions.setAllAssetNodes;
4021
+ var _b = useConfigurationAssetContext().actions, setAllAssetNodes = _b.setAllAssetNodes, setAllAssetLoading = _b.setAllAssetLoading;
4066
4022
  var searchAssets = function () {
4023
+ setAllAssetLoading(true);
4067
4024
  getAssets().then(function (res) {
4068
4025
  var mydataSource = [];
4069
4026
  var rows = get$1(res, "data.tables[0].rows", []);
@@ -4075,6 +4032,7 @@ var useSearchAssets$1 = function () {
4075
4032
  mydataSource = __spreadArray(__spreadArray([], mydataSource, true), [code], false);
4076
4033
  });
4077
4034
  setAllAssetNodes(mydataSource);
4035
+ setAllAssetLoading(false);
4078
4036
  });
4079
4037
  };
4080
4038
  return { searchAssets: searchAssets };
@@ -4148,9 +4106,10 @@ var useAssetActions = function (_a) {
4148
4106
  return [2 /*return*/];
4149
4107
  }
4150
4108
  });
4151
- }); }, setTimeout(function () {
4109
+ }); });
4110
+ setTimeout(function () {
4152
4111
  searchAssets();
4153
- }, 100));
4112
+ }, 100);
4154
4113
  setChangedNodes([]);
4155
4114
  };
4156
4115
  var handleSingleSelect = function (node) {
@@ -4322,7 +4281,7 @@ var CreateNewAssetDialog = function (_a) {
4322
4281
  _a.label = 1;
4323
4282
  case 1:
4324
4283
  _a.trys.push([1, 3, , 4]);
4325
- return [4 /*yield*/, insertAsset(data.AssetName, data.ParentAssetId, data.IsAsset, data.CanBeDefaultAsset).then(function (res) {
4284
+ return [4 /*yield*/, insertAsset(data.AssetName, data.ParentAssetId, data.CanBeDefaultAsset).then(function (res) {
4326
4285
  if (res) {
4327
4286
  setIsSubmitLoading(false);
4328
4287
  setAssetCreatedSuccess(true);
@@ -4390,16 +4349,11 @@ var CreateNewAssetDialog = function (_a) {
4390
4349
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
4391
4350
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
4392
4351
  React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement(TreePickerControl, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) || "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false })); } }))),
4393
- React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
4394
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4395
- React__default.createElement(Controller, { name: "IsAsset", control: control, defaultValue: false, render: function (_a) {
4396
- var field = _a.field;
4397
- 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" }), label: "Is Asset" }));
4398
- } })),
4352
+ React__default.createElement(Grid, { container: true, style: { marginTop: "10px 0", padding: "0" } },
4399
4353
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4400
4354
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4401
4355
  var field = _a.field;
4402
- 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" }));
4403
4357
  } }))))),
4404
4358
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginTop: "15px" } },
4405
4359
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
@@ -4512,12 +4466,12 @@ var ViewerAssetDialog = function (_a) {
4512
4466
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4513
4467
  React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4514
4468
  var field = _a.field;
4515
- 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" }));
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" }));
4516
4470
  } })),
4517
4471
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4518
4472
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4519
4473
  var field = _a.field;
4520
- 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" }));
4521
4475
  } }))))))))))));
4522
4476
  };
4523
4477
 
@@ -4765,12 +4719,12 @@ var EditAssetDialog = function (_a) {
4765
4719
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4766
4720
  React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4767
4721
  var field = _a.field;
4768
- 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" }));
4769
4723
  } })),
4770
4724
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4771
4725
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4772
4726
  var field = _a.field;
4773
- 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" }));
4774
4728
  } })))))),
4775
4729
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
4776
4730
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
@@ -4817,11 +4771,20 @@ var AssetViewComponent = function () {
4817
4771
  var _b = useState(false), isDragging = _b[0], setIsDragging = _b[1];
4818
4772
  var _c = useState(false), isCtrlPressing = _c[0], setIsCtrlPressing = _c[1];
4819
4773
  var _d = useState(false), isDoubleClick = _d[0], setIsDoubleClick = _d[1];
4820
- var _e = useConfigurationAssetContext(), _f = _e.state, allAssetNodes = _f.allAssetNodes, showContextMenu = _f.showContextMenu, showCreateNewContextMenu = _f.showCreateNewContextMenu, assetNodeSelectedInTree = _f.assetNodeSelectedInTree, _g = _f.anchorPoint, x = _g.x, y = _g.y, _h = _e.actions, setShowContextMenu = _h.setShowContextMenu, setShowCreateNewContextMenu = _h.setShowCreateNewContextMenu, setMenuContextAssetId = _h.setMenuContextAssetId, setAnchorPointX = _h.setAnchorPointX, setAnchorPointY = _h.setAnchorPointY, setAssetNodeSelectedInTree = _h.setAssetNodeSelectedInTree;
4774
+ var _e = useConfigurationAssetContext(), _f = _e.state, allAssetNodes = _f.allAssetNodes, openAssets = _f.openAssets, showContextMenu = _f.showContextMenu, showCreateNewContextMenu = _f.showCreateNewContextMenu, assetNodeSelectedInTree = _f.assetNodeSelectedInTree, allAssetLoading = _f.allAssetLoading, _g = _f.anchorPoint, x = _g.x, y = _g.y, _h = _e.actions, setShowContextMenu = _h.setShowContextMenu, setShowCreateNewContextMenu = _h.setShowCreateNewContextMenu, setMenuContextAssetId = _h.setMenuContextAssetId, setAnchorPointX = _h.setAnchorPointX, setAnchorPointY = _h.setAnchorPointY, setAssetNodeSelectedInTree = _h.setAssetNodeSelectedInTree;
4821
4775
  var allAssets = useAssetContext().state.allAssets;
4822
4776
  var _j = useState([]), asset = _j[0], setAsset = _j[1];
4823
4777
  var _k = useState([]), originalAsset = _k[0], setOriginalAsset = _k[1];
4824
- var _l = useAssetActions({ asset: asset, selectedNodes: selectedNodes, originalAsset: originalAsset, setAsset: setAsset, setSelectedNodes: setSelectedNodes, setIsDragging: setIsDragging, isCtrlPressing: isCtrlPressing, setIsCtrlPressing: setIsCtrlPressing }), handleDrop = _l.handleDrop, handleUpdateAsset = _l.handleUpdateAsset, handleCtrlClick = _l.handleCtrlClick, handleDragStart = _l.handleDragStart, handleDragEnd = _l.handleDragEnd, changedNodes = _l.changedNodes, updatedSuccessfullyMessage = _l.updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage = _l.setUpdatedSuccessfullyMessage, showErrorMessage = _l.showErrorMessage, setShowErrorMessage = _l.setShowErrorMessage;
4778
+ var _l = useAssetActions({
4779
+ asset: asset,
4780
+ selectedNodes: selectedNodes,
4781
+ originalAsset: originalAsset,
4782
+ setAsset: setAsset,
4783
+ setSelectedNodes: setSelectedNodes,
4784
+ setIsDragging: setIsDragging,
4785
+ isCtrlPressing: isCtrlPressing,
4786
+ setIsCtrlPressing: setIsCtrlPressing
4787
+ }), handleDrop = _l.handleDrop, handleUpdateAsset = _l.handleUpdateAsset, handleCtrlClick = _l.handleCtrlClick, handleDragStart = _l.handleDragStart, handleDragEnd = _l.handleDragEnd, changedNodes = _l.changedNodes, updatedSuccessfullyMessage = _l.updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage = _l.setUpdatedSuccessfullyMessage, showErrorMessage = _l.showErrorMessage, setShowErrorMessage = _l.setShowErrorMessage;
4825
4788
  var _m = useState(false), showCreateNewAssetDialog = _m[0], setShowCreateNewAssetDialog = _m[1];
4826
4789
  var _o = useState(false), showViewerAssetDialog = _o[0], setShowViewerAssetDialog = _o[1];
4827
4790
  var _p = useState(false), showRemoveAssetDialog = _p[0], setShowRemoveAssetDialog = _p[1];
@@ -4910,17 +4873,23 @@ var AssetViewComponent = function () {
4910
4873
  useEffect(function () {
4911
4874
  searchAssets();
4912
4875
  }, []);
4876
+ var openAssetsArray = useMemo(function () {
4877
+ return Object.keys(openAssets).map(function (el) { return parseInt(el); });
4878
+ }, [openAssets]);
4913
4879
  return (React__default.createElement("div", { style: { width: "100%", height: "100%" } },
4914
4880
  React__default.createElement("div", { onClick: handleClick },
4915
4881
  React__default.createElement("div", { onContextMenu: handleCreateNewContextMenu },
4916
4882
  React__default.createElement("div", null,
4917
4883
  React__default.createElement(Grid$1, { container: true, className: classes.root, style: { padding: 20 } },
4918
4884
  React__default.createElement(Paper$1, { elevation: 1, style: { width: "100%", padding: "15px 20px", borderRadius: "0.75rem" } },
4919
- React__default.createElement(Paper$1, { elevation: 2, style: { width: "100%", padding: "15px 20px 10px", borderRadius: "0.75rem" } },
4885
+ allAssetLoading ? (React__default.createElement(Grid$1, { container: true, style: { width: "100%", height: "100%" } },
4886
+ React__default.createElement(Grid$1, { item: true, xs: 12, md: 12, style: { height: "70vh", justifyContent: "center", alignItems: "center" } },
4887
+ React__default.createElement("div", { style: { width: "100%", height: "100%", display: "flex", justifyContent: "center", alignItems: "center" } },
4888
+ React__default.createElement(LazyLoading, null))))) : (React__default.createElement(Paper$1, { elevation: 2, style: { width: "100%", padding: "15px 20px 10px", borderRadius: "0.75rem" } },
4920
4889
  React__default.createElement(Grid$1, { container: true, alignItems: "center" },
4921
4890
  React__default.createElement(Grid$1, { container: true, style: { height: "70vh", overflowY: "auto", paddingBottom: 10 } },
4922
4891
  React__default.createElement(Grid$1, null,
4923
- React__default.createElement(Tree, { rootId: 0, tree: asset, classes: {
4892
+ React__default.createElement(Tree, { rootId: 0, initialOpen: openAssetsArray, tree: asset, enableAnimateExpand: true, classes: {
4924
4893
  root: classes.assetRoot,
4925
4894
  dropTarget: classes.dropTarget
4926
4895
  }, onDrop: handleDrop, onDragStart: handleDragStart, onDragEnd: handleDragEnd, canDrop: function (asset, options) {
@@ -4933,7 +4902,7 @@ var AssetViewComponent = function () {
4933
4902
  return React__default.createElement(MultipleDragPreview, { dragSources: selectedNodes });
4934
4903
  }
4935
4904
  return React__default.createElement(CustomDragPreview, { monitorProps: monitorProps });
4936
- } }))))),
4905
+ } })))))),
4937
4906
  React__default.createElement(CreateNewAssetDialog, { show: showCreateNewAssetDialog, onHide: function () { return setShowCreateNewAssetDialog(false); } }),
4938
4907
  React__default.createElement(EditAssetDialog, { show: showEditAssetDialog, onHide: function () { return setShowEditAssetDialog(false); } }),
4939
4908
  React__default.createElement(ViewerAssetDialog, { show: showViewerAssetDialog, onHide: function () { setShowViewerAssetDialog(false); setIsDoubleClick(false); } }),
@@ -5428,7 +5397,7 @@ var CreateUser = function (_a) {
5428
5397
  React.createElement(Grid, { item: true, xs: 12, md: 6 },
5429
5398
  React.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5430
5399
  var field = _a.field;
5431
- return (React.createElement(FormControlLabel, { className: classes.checkbox, control: React.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5400
+ 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" }));
5432
5401
  } }))))),
5433
5402
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5434
5403
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5566,7 +5535,7 @@ var EditUser = function (_a) {
5566
5535
  React.createElement(Grid, { item: true, xs: 12, md: 6 },
5567
5536
  React.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5568
5537
  var field = _a.field;
5569
- return (React.createElement(FormControlLabel, { className: classes.checkbox, control: React.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5538
+ 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" }));
5570
5539
  } }))))))),
5571
5540
  React.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5572
5541
  React.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5686,7 +5655,7 @@ var DeleteUser = function (_a) {
5686
5655
  React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
5687
5656
  React__default.createElement(Controller, { name: "IsActive", control: control, render: function (_a) {
5688
5657
  var field = _a.field;
5689
- return (React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5658
+ return (React__default.createElement(FormControlLabel$1, { control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: field.onChange, name: "IsActive", color: "primary" }), label: "Active" }));
5690
5659
  } }))))))),
5691
5660
  React__default.createElement(Modal$2.Footer, { style: { padding: "20px 30px 30px" } },
5692
5661
  React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
@@ -5787,50 +5756,6 @@ var useTableData = function (_a) {
5787
5756
  return { rows: rows, columns: columns };
5788
5757
  };
5789
5758
 
5790
- var styles = function (theme) {
5791
- return createStyles({
5792
- root: {
5793
- margin: 0,
5794
- padding: theme.spacing(2)
5795
- },
5796
- closeButton: {
5797
- position: 'absolute',
5798
- right: theme.spacing(1),
5799
- top: theme.spacing(1),
5800
- color: theme.palette.grey[500]
5801
- }
5802
- });
5803
- };
5804
- var DialogTitle = withStyles(styles)(function (props) {
5805
- var children = props.children, classes = props.classes, onClose = props.onClose, other = __rest(props, ["children", "classes", "onClose"]);
5806
- return (React__default.createElement(DialogTitle$1, __assign({ disableTypography: true, style: { display: "flex", flexWrap: 'nowrap', justifyContent: 'space-between', alignItems: 'baseline' } }, other),
5807
- React__default.createElement(Typography$1, { variant: "h6" }, children),
5808
- onClose ? (React__default.createElement(IconButton, { "aria-label": "close", className: classes.closeButton, onClick: onClose },
5809
- React__default.createElement(CloseIcon, null))) : React__default.createElement(React__default.Fragment, null)));
5810
- });
5811
- var DialogContent = withStyles(function (theme) { return ({
5812
- root: {
5813
- padding: theme.spacing(2),
5814
- minWidth: 300
5815
- }
5816
- }); })(DialogContent$1);
5817
- var DialogActions = withStyles(function (theme) { return ({
5818
- root: {
5819
- margin: 0,
5820
- padding: theme.spacing(1)
5821
- }
5822
- }); })(DialogActions$1);
5823
- function Modal(_a) {
5824
- 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;
5825
- return (React__default.createElement(Dialog, { onClose: function () { return handleClose(); }, "aria-labelledby": id, open: open, maxWidth: maxWidth, style: { minWidth: 320 } },
5826
- React__default.createElement(DialogTitle, { id: id, onClose: function () { return handleClose(); } }, title),
5827
- children));
5828
- }
5829
- var Modal$1 = Object.assign(Modal, {
5830
- Content: DialogContent,
5831
- Actions: DialogActions
5832
- });
5833
-
5834
5759
  var ChangePassword$1 = function (_a) {
5835
5760
  var show = _a.show, userId = _a.userId, onHide = _a.onHide;
5836
5761
  var _b = useState(''), password = _b[0], setPasswordText = _b[1];
@@ -6293,6 +6218,62 @@ var MESApiService = /** @class */ (function () {
6293
6218
  });
6294
6219
  });
6295
6220
  };
6221
+ MESApiService.prototype.callV2 = function (procedure, parameters, database) {
6222
+ if (database === void 0) { database = ''; }
6223
+ return __awaiter(this, void 0, void 0, function () {
6224
+ var data, formattedParameters;
6225
+ var _this = this;
6226
+ return __generator(this, function (_a) {
6227
+ data = {};
6228
+ formattedParameters = [];
6229
+ parameters.forEach(function (element) {
6230
+ var formattedParameter = {};
6231
+ formattedParameter.name = element.name;
6232
+ if (element.value === null || element.value === undefined)
6233
+ formattedParameter.value = null;
6234
+ else
6235
+ formattedParameter.value = element.value;
6236
+ formattedParameters.push(formattedParameter);
6237
+ });
6238
+ data.method = procedure;
6239
+ data.dataBaseName = database;
6240
+ data.parameters = formattedParameters;
6241
+ Date.prototype.toJSON = function () { return moment(this).format('YYYY-MM-DDTHH:mm:ss'); }; // eslint-disable-line
6242
+ return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + '/Execute', {
6243
+ method: "POST",
6244
+ mode: "cors",
6245
+ headers: {
6246
+ "Content-Type": "application/json",
6247
+ 'Authorization': 'Bearer ' + getTokenFromLS()
6248
+ },
6249
+ body: JSON.stringify(data)
6250
+ })
6251
+ .then(function (response) { return __awaiter(_this, void 0, void 0, function () {
6252
+ var resp;
6253
+ return __generator(this, function (_a) {
6254
+ switch (_a.label) {
6255
+ case 0:
6256
+ if (response.status === 401) {
6257
+ window.location.href = "".concat(base$2, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
6258
+ }
6259
+ return [4 /*yield*/, response.json()];
6260
+ case 1:
6261
+ resp = _a.sent();
6262
+ if (!response.ok) {
6263
+ throw new Error(resp.message);
6264
+ }
6265
+ return [2 /*return*/, resp];
6266
+ }
6267
+ });
6268
+ }); })["catch"](function (err) {
6269
+ console.log('fromCatch', err);
6270
+ _this.hasErrors = true;
6271
+ _this.error = err;
6272
+ return err;
6273
+ })];
6274
+ });
6275
+ });
6276
+ };
6296
6277
  MESApiService.prototype.callJSON = function (procedure, parameters, database) {
6297
6278
  if (database === void 0) { database = ''; }
6298
6279
  return __awaiter(this, void 0, void 0, function () {