@dexteel/mesf-core 4.23.0 → 4.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release-please.yml +0 -6
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +19 -0
- package/dist/configuration/pages/realtime/client/index.d.ts +3 -0
- package/dist/configuration/pages/realtime/client/types.d.ts +15 -0
- package/dist/configuration/pages/realtime/config/index.d.ts +4 -0
- package/dist/index.esm.js +503 -203
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { LicenseManager } from 'ag-grid-enterprise';
|
|
2
|
-
import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, SvgIcon, Collapse, Typography as Typography$1, Checkbox, TextField, InputAdornment, IconButton as IconButton$1, MenuItem, Select, Card, CardContent, CardActions, Snackbar, CircularProgress, Paper, InputLabel, FormHelperText, DialogContentText, FormControlLabel, Badge, useTheme, FormControl, Input, Chip, Tooltip, ListItemIcon,
|
|
2
|
+
import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, SvgIcon, Collapse, Typography as Typography$1, Checkbox, TextField, InputAdornment, IconButton as IconButton$1, MenuItem, Select, Card, CardContent, CardActions, Snackbar, CircularProgress, Paper, InputLabel, FormHelperText, DialogContentText, FormControlLabel, Badge, useTheme, FormControl, Input, Chip, Tooltip, ListItemIcon, Box, List, ListItem, ListItemText, MenuList, Divider, debounce } from '@material-ui/core';
|
|
3
3
|
import { get as get$1, isNil as isNil$1, isEmpty, values, round, isNaN, isNumber } from 'lodash-es';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import React__default, { useState, useRef, useEffect, useMemo, Component, createContext, useContext, useCallback, lazy, Suspense } from 'react';
|
|
6
|
-
import { ArrowRight, ArrowBackRounded, ArrowForwardRounded, SkipNext, ChevronLeft, ChevronRight } from '@material-ui/icons';
|
|
6
|
+
import { ArrowRight, ArrowBackRounded, ArrowForwardRounded, SkipNext, ChevronLeft, ChevronRight, Send } from '@material-ui/icons';
|
|
7
7
|
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
|
8
8
|
import { Outlet, useParams, useNavigate, useSearchParams, Link, Navigate, Routes, Route, BrowserRouter } from 'react-router-dom';
|
|
9
9
|
import { Alert as Alert$1, Modal as Modal$1, Navbar, Container, Nav, NavDropdown } from 'react-bootstrap';
|
|
@@ -22,15 +22,17 @@ import moment$4 from 'moment';
|
|
|
22
22
|
import EditIcon from '@material-ui/icons/Edit';
|
|
23
23
|
import PlaylistAddIcon from '@material-ui/icons/PlaylistAdd';
|
|
24
24
|
import { isNil, get } from 'lodash';
|
|
25
|
+
import { HubConnectionBuilder, LogLevel as LogLevel$1 } from '@microsoft/signalr';
|
|
26
|
+
import { Alert as Alert$3, Autocomplete } from '@material-ui/lab';
|
|
27
|
+
import { useForm, Controller } from 'react-hook-form';
|
|
28
|
+
import 'ag-grid-community/styles/ag-theme-material.min.css';
|
|
25
29
|
import DeleteIcon from '@material-ui/icons/Delete';
|
|
26
30
|
import FormatListBulletedSharpIcon from '@material-ui/icons/FormatListBulletedSharp';
|
|
27
|
-
import { useForm, Controller } from 'react-hook-form';
|
|
28
31
|
import axios from 'axios';
|
|
29
32
|
import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
|
|
30
33
|
import zoomPlugin from 'chartjs-plugin-zoom';
|
|
31
34
|
import LockIcon from '@material-ui/icons/Lock';
|
|
32
35
|
import SaveIcon from '@material-ui/icons/Save';
|
|
33
|
-
import { Alert as Alert$3, Autocomplete } from '@material-ui/lab';
|
|
34
36
|
import Button$1 from '@material-ui/core/Button';
|
|
35
37
|
import Popover from '@material-ui/core/Popover';
|
|
36
38
|
import CreateIcon from '@material-ui/icons/Create';
|
|
@@ -573,7 +575,7 @@ var ModalTreeFilterControl = function (props) {
|
|
|
573
575
|
React__default.createElement(Button, { onClick: handleOk, color: "primary" }, "OK"))));
|
|
574
576
|
};
|
|
575
577
|
|
|
576
|
-
var useStyles$
|
|
578
|
+
var useStyles$B = makeStyles(function (theme) { return ({
|
|
577
579
|
root: {
|
|
578
580
|
width: "100%",
|
|
579
581
|
backgroundColor: theme.palette.background.paper,
|
|
@@ -589,7 +591,7 @@ var useStyles$z = makeStyles(function (theme) { return ({
|
|
|
589
591
|
}
|
|
590
592
|
}); });
|
|
591
593
|
var TreePickerControl = function (props) {
|
|
592
|
-
var classes = useStyles$
|
|
594
|
+
var classes = useStyles$B();
|
|
593
595
|
var onSelect = props.onSelect, value = props.value; props.styleLabel; var dataSource = props.dataSource, _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var _c = props.multipleSelectNodes, multipleSelectNodes = _c === void 0 ? false : _c, _d = props.showClearButton, showClearButton = _d === void 0 ? false : _d, showAssetTree = props.showAssetTree, onHide = props.onHide, _e = props.listAssetDrawings, listAssetDrawings = _e === void 0 ? [] : _e, onSuccess = props.onSuccess, isLoading = props.isLoading, other = __rest(props, ["onSelect", "value", "styleLabel", "dataSource", "inputTitle", "showPath", "multipleSelectNodes", "showClearButton", "showAssetTree", "onHide", "listAssetDrawings", "onSuccess", "isLoading"]);
|
|
594
596
|
var _f = useState(showAssetTree || false), open = _f[0], setOpen = _f[1];
|
|
595
597
|
var handleClickListItem = function (e) {
|
|
@@ -673,7 +675,7 @@ var TreePickerControl = function (props) {
|
|
|
673
675
|
}, onHide: onHide, id: "modal-treeview-filter", title: props.title, keepMounted: true, open: open, onClose: handleClose, isLoading: isLoading, value: value, data: dataSource, onBackdropClick: function () { return setOpen(false); }, multipleSelectNodes: multipleSelectNodes, listAssetDrawings: listAssetDrawings, setListAssetDrawings: listAssetDrawings, onSuccess: onSuccess }, other)))));
|
|
674
676
|
};
|
|
675
677
|
|
|
676
|
-
var useStyles$
|
|
678
|
+
var useStyles$A = makeStyles(function (theme) { return ({
|
|
677
679
|
root: {
|
|
678
680
|
width: "100%",
|
|
679
681
|
backgroundColor: theme.palette.background.paper
|
|
@@ -699,7 +701,7 @@ function findNameById(node, id) {
|
|
|
699
701
|
return null;
|
|
700
702
|
}
|
|
701
703
|
var TreePickerControlV2 = function (props) {
|
|
702
|
-
var classes = useStyles$
|
|
704
|
+
var classes = useStyles$A();
|
|
703
705
|
var value = props.value, onSelect = props.onSelect; props.styleLabel; var dataSource = props.dataSource; props.getOptionName; var _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var _c = props.multipleSelectNodes, multipleSelectNodes = _c === void 0 ? false : _c, _d = props.showClearButton, showClearButton = _d === void 0 ? false : _d, showAssetTree = props.showAssetTree, onHide = props.onHide, _e = props.listAssetDrawings, listAssetDrawings = _e === void 0 ? [] : _e, onSuccess = props.onSuccess, isLoading = props.isLoading, _f = props.disabled, disabled = _f === void 0 ? false : _f, other = __rest(props, ["value", "onSelect", "styleLabel", "dataSource", "getOptionName", "inputTitle", "showPath", "multipleSelectNodes", "showClearButton", "showAssetTree", "onHide", "listAssetDrawings", "onSuccess", "isLoading", "disabled"]);
|
|
704
706
|
var _g = useState(false), open = _g[0], setOpen = _g[1];
|
|
705
707
|
var handleClickListItem = function (event) {
|
|
@@ -1352,7 +1354,7 @@ var useJobsOptionsFunctions = function (_a) {
|
|
|
1352
1354
|
};
|
|
1353
1355
|
};
|
|
1354
1356
|
|
|
1355
|
-
var useStyles$
|
|
1357
|
+
var useStyles$z = makeStyles(function (theme) { return ({
|
|
1356
1358
|
buttons: {
|
|
1357
1359
|
opacity: 0,
|
|
1358
1360
|
transition: "opacity 0.1s ease-in-out",
|
|
@@ -1370,7 +1372,7 @@ var useStyles$x = makeStyles(function (theme) { return ({
|
|
|
1370
1372
|
var useJobsTableData = function (_a) {
|
|
1371
1373
|
var setRowSelected = _a.setRowSelected, showContextMenu = _a.showContextMenu;
|
|
1372
1374
|
var _b = useJobsContext().state, jobsData = _b.jobsData, blockButtons = _b.blockButtons;
|
|
1373
|
-
var classes = useStyles$
|
|
1375
|
+
var classes = useStyles$z();
|
|
1374
1376
|
var rows = jobsData.map(function (_a) {
|
|
1375
1377
|
var JobId = _a.JobId, sProcedure = _a.sProcedure, Running = _a.Running, LastStarted = _a.LastStarted, LastCounter = _a.LastCounter, Enabled = _a.Enabled, RestartAfterFailure = _a.RestartAfterFailure, PeriodTime = _a.PeriodTime, StartTime = _a.StartTime, NextExecutionTime = _a.NextExecutionTime;
|
|
1376
1378
|
return ({
|
|
@@ -1655,7 +1657,7 @@ var useJobsTableData = function (_a) {
|
|
|
1655
1657
|
return { rows: rows, columnDefs: columnDefs };
|
|
1656
1658
|
};
|
|
1657
1659
|
|
|
1658
|
-
var useStyles$
|
|
1660
|
+
var useStyles$y = makeStyles(function (theme) { return ({
|
|
1659
1661
|
root: {
|
|
1660
1662
|
"& .MuiDataGrid-row": {
|
|
1661
1663
|
cursor: "pointer"
|
|
@@ -1718,7 +1720,7 @@ var useStyles$w = makeStyles(function (theme) { return ({
|
|
|
1718
1720
|
}); });
|
|
1719
1721
|
var TableJobs = function (_a) {
|
|
1720
1722
|
var getJobsFromAPI = _a.getJobsFromAPI, isLoading = _a.isLoading;
|
|
1721
|
-
var classes = useStyles$
|
|
1723
|
+
var classes = useStyles$y();
|
|
1722
1724
|
var _b = useState(null), rowSelected = _b[0], setRowSelected = _b[1];
|
|
1723
1725
|
var _c = useState(false), snackbarLoading = _c[0], setSnackbarLoading = _c[1];
|
|
1724
1726
|
var _d = useState(false), snackbarSuccessfulMessage = _d[0], setSnackbarSuccessfulMessage = _d[1];
|
|
@@ -1982,7 +1984,7 @@ var SearchFilter = function (_a) {
|
|
|
1982
1984
|
React__default.createElement(FormHelperText, { style: { marginBottom: 10, marginTop: -15 } }, "Search by Source, Message or User")));
|
|
1983
1985
|
};
|
|
1984
1986
|
|
|
1985
|
-
var useStyles$
|
|
1987
|
+
var useStyles$x = makeStyles(function (theme) { return ({
|
|
1986
1988
|
title: {
|
|
1987
1989
|
fontSize: 15
|
|
1988
1990
|
},
|
|
@@ -1999,7 +2001,7 @@ var formatTime = function (nowTime) {
|
|
|
1999
2001
|
};
|
|
2000
2002
|
var ModalLogSelected = function (_a) {
|
|
2001
2003
|
var show = _a.show, onHide = _a.onHide, selectedLog = _a.selectedLog;
|
|
2002
|
-
var classes = useStyles$
|
|
2004
|
+
var classes = useStyles$x();
|
|
2003
2005
|
return (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
|
|
2004
2006
|
React__default.createElement(MesfModal, { title: "LOG DETAILS", open: show, handleClose: function () { return onHide(false); }, maxWidth: "md", id: "log-details-modal" },
|
|
2005
2007
|
React__default.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
|
|
@@ -2055,7 +2057,7 @@ var ModalLogSelected = function (_a) {
|
|
|
2055
2057
|
React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(true); } }, "Close")))))));
|
|
2056
2058
|
};
|
|
2057
2059
|
|
|
2058
|
-
var useStyles$
|
|
2060
|
+
var useStyles$w = makeStyles(function (theme) { return ({
|
|
2059
2061
|
buttons: {
|
|
2060
2062
|
opacity: 0,
|
|
2061
2063
|
transition: "opacity 0.1s ease-in-out",
|
|
@@ -2073,7 +2075,7 @@ var useStyles$u = makeStyles(function (theme) { return ({
|
|
|
2073
2075
|
var useLogTableData = function () {
|
|
2074
2076
|
var _a;
|
|
2075
2077
|
var state = useLogsContext().state;
|
|
2076
|
-
var classes = useStyles$
|
|
2078
|
+
var classes = useStyles$w();
|
|
2077
2079
|
var formatTime = function (nowTime) {
|
|
2078
2080
|
return (nowTime.toLocaleDateString("en-US") + " " + nowTime.toLocaleTimeString());
|
|
2079
2081
|
};
|
|
@@ -2194,7 +2196,7 @@ var ButtonWithLoading = function (_a) {
|
|
|
2194
2196
|
children));
|
|
2195
2197
|
};
|
|
2196
2198
|
|
|
2197
|
-
var useStyles$
|
|
2199
|
+
var useStyles$v = makeStyles(function (theme) { return ({
|
|
2198
2200
|
root: {
|
|
2199
2201
|
"& .MuiDataGrid-row": {
|
|
2200
2202
|
cursor: "pointer"
|
|
@@ -2288,7 +2290,7 @@ var useLogsOptionsFunctions = function (_a) {
|
|
|
2288
2290
|
var TableLogs = function (_a) {
|
|
2289
2291
|
var isLoading = _a.isLoading; _a.rowData; var refreshData = _a.refreshData;
|
|
2290
2292
|
var _b = useLogsContext(), _c = _b.state.searchData, Start = _c.Start, End = _c.End, Search = _c.Search, LogTypeCode = _c.LogTypeCode, _d = _b.actions, setLogTypeCodeFilter = _d.setLogTypeCodeFilter, setEndFilter = _d.setEndFilter, setStartFilter = _d.setStartFilter, setSearchFilter = _d.setSearchFilter;
|
|
2291
|
-
var classes = useStyles$
|
|
2293
|
+
var classes = useStyles$v();
|
|
2292
2294
|
var gridStyle = useMemo(function () { return ({ height: "100%", width: "100%" }); }, []);
|
|
2293
2295
|
var _e = useState(null); _e[0]; var setGridAPI = _e[1];
|
|
2294
2296
|
var _f = useState(false), showLogModal = _f[0], setShowLogModal = _f[1];
|
|
@@ -2578,7 +2580,7 @@ var deleteProfile = function (profileId) { return __awaiter(void 0, void 0, void
|
|
|
2578
2580
|
});
|
|
2579
2581
|
}); };
|
|
2580
2582
|
|
|
2581
|
-
var useStyles$
|
|
2583
|
+
var useStyles$u = makeStyles(function (theme) { return ({
|
|
2582
2584
|
title: {
|
|
2583
2585
|
fontSize: 15
|
|
2584
2586
|
},
|
|
@@ -2601,7 +2603,7 @@ var CreateProfile = function (_a) {
|
|
|
2601
2603
|
var _d = useState(""), message = _d[0], setMessage = _d[1];
|
|
2602
2604
|
var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
|
|
2603
2605
|
var _f = useState(""), error = _f[0], setError = _f[1];
|
|
2604
|
-
var classes = useStyles$
|
|
2606
|
+
var classes = useStyles$u();
|
|
2605
2607
|
var _g = useForm({ defaultValues: INITIAL_VALUES$3 }), register = _g.register, handleSubmit = _g.handleSubmit, reset = _g.reset, errors = _g.formState.errors;
|
|
2606
2608
|
var onSubmit = function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2607
2609
|
var res;
|
|
@@ -2836,7 +2838,7 @@ var DataTable = function (_a) {
|
|
|
2836
2838
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
|
|
2837
2839
|
};
|
|
2838
2840
|
|
|
2839
|
-
var useStyles$
|
|
2841
|
+
var useStyles$t = makeStyles(function (theme) { return ({
|
|
2840
2842
|
root: {
|
|
2841
2843
|
"& .MuiFormLabel-asterisk": {
|
|
2842
2844
|
display: "none"
|
|
@@ -2845,7 +2847,7 @@ var useStyles$r = makeStyles(function (theme) { return ({
|
|
|
2845
2847
|
}); });
|
|
2846
2848
|
var ActionsOfProfile = function (_a) {
|
|
2847
2849
|
var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide;
|
|
2848
|
-
var classes = useStyles$
|
|
2850
|
+
var classes = useStyles$t();
|
|
2849
2851
|
var _b = useState(null), actionsOfProfile = _b[0], setActionsOfProfile = _b[1];
|
|
2850
2852
|
var _c = useState(false), open = _c[0], setOpen = _c[1];
|
|
2851
2853
|
var _d = useState(true), isLoading = _d[0], setIsLoading = _d[1];
|
|
@@ -3033,7 +3035,7 @@ var ProfilesProvider = function (_a) {
|
|
|
3033
3035
|
return (React__default.createElement(ProfilesContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
3034
3036
|
};
|
|
3035
3037
|
|
|
3036
|
-
var useStyles$
|
|
3038
|
+
var useStyles$s = makeStyles(function (theme) { return ({
|
|
3037
3039
|
buttons: {
|
|
3038
3040
|
opacity: 0,
|
|
3039
3041
|
transition: "opacity 0.1s ease-in-out",
|
|
@@ -3051,7 +3053,7 @@ var useStyles$q = makeStyles(function (theme) { return ({
|
|
|
3051
3053
|
var useTableData$3 = function (_a) {
|
|
3052
3054
|
var setProfileId = _a.setProfileId, setModalProceduresProfile = _a.setModalProceduresProfile, setModalDeleteProfile = _a.setModalDeleteProfile, showContextMenu = _a.showContextMenu;
|
|
3053
3055
|
var state = useProfilesContext().state;
|
|
3054
|
-
var classes = useStyles$
|
|
3056
|
+
var classes = useStyles$s();
|
|
3055
3057
|
var rows = state.profiles.map(function (_a) {
|
|
3056
3058
|
var ProfileId = _a.ProfileId, ProfileName = _a.ProfileName;
|
|
3057
3059
|
return ({
|
|
@@ -3123,7 +3125,7 @@ var useTableData$3 = function (_a) {
|
|
|
3123
3125
|
return { rows: rows, columnDefs: columnDefs };
|
|
3124
3126
|
};
|
|
3125
3127
|
|
|
3126
|
-
var useStyles$
|
|
3128
|
+
var useStyles$r = makeStyles(function (theme) { return ({
|
|
3127
3129
|
root: {
|
|
3128
3130
|
"& .ag-icon-menu": {
|
|
3129
3131
|
display: "none"
|
|
@@ -3195,7 +3197,7 @@ var TableProfiles = function (_a) {
|
|
|
3195
3197
|
var _e = useState(null), profile = _e[0], setProfile = _e[1];
|
|
3196
3198
|
var gridStyle = useMemo(function () { return ({ height: "100%", width: "100%" }); }, []);
|
|
3197
3199
|
var _f = useState(null), gridApi = _f[0], setGridApi = _f[1];
|
|
3198
|
-
var classes = useStyles$
|
|
3200
|
+
var classes = useStyles$r();
|
|
3199
3201
|
var loadingOverlayComponent = useMemo(function () {
|
|
3200
3202
|
return LazyLoading;
|
|
3201
3203
|
}, []);
|
|
@@ -3434,7 +3436,7 @@ var DeleteShiftParameters = function (PatternStart) { return __awaiter(void 0, v
|
|
|
3434
3436
|
});
|
|
3435
3437
|
}); };
|
|
3436
3438
|
|
|
3437
|
-
var useStyles$
|
|
3439
|
+
var useStyles$q = makeStyles(function (theme) { return ({
|
|
3438
3440
|
title: {
|
|
3439
3441
|
fontSize: 15
|
|
3440
3442
|
},
|
|
@@ -3460,7 +3462,7 @@ var CreateShift = function (_a) {
|
|
|
3460
3462
|
var _d = useState(false), open = _d[0], setOpen = _d[1];
|
|
3461
3463
|
var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
|
|
3462
3464
|
var _f = useState(""), error = _f[0], setError = _f[1];
|
|
3463
|
-
var classes = useStyles$
|
|
3465
|
+
var classes = useStyles$q();
|
|
3464
3466
|
var shiftTableData = useShiftsCrewsContext().state.shiftTableData;
|
|
3465
3467
|
var _g = useForm({
|
|
3466
3468
|
defaultValues: shiftTableData ? shiftTableData : INITIAL_VALUES$2
|
|
@@ -3662,7 +3664,7 @@ var CreateShift = function (_a) {
|
|
|
3662
3664
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The shift was created successfully"))));
|
|
3663
3665
|
};
|
|
3664
3666
|
|
|
3665
|
-
var useStyles$
|
|
3667
|
+
var useStyles$p = makeStyles(function (theme) { return ({
|
|
3666
3668
|
title: {
|
|
3667
3669
|
fontSize: 15
|
|
3668
3670
|
},
|
|
@@ -3688,7 +3690,7 @@ var DeleteShift = function (_a) {
|
|
|
3688
3690
|
var _c = useState(false), open = _c[0], setOpen = _c[1];
|
|
3689
3691
|
var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
|
|
3690
3692
|
var _e = useState(false), deleteAlert = _e[0], setDeleteAlert = _e[1];
|
|
3691
|
-
var classes = useStyles$
|
|
3693
|
+
var classes = useStyles$p();
|
|
3692
3694
|
var shiftTableData = useShiftsCrewsContext().state.shiftTableData;
|
|
3693
3695
|
var _f = useState(""), error = _f[0], setError = _f[1];
|
|
3694
3696
|
var _g = useForm({ defaultValues: INITIAL_VALUES$2 }), control = _g.control, setValue = _g.setValue, reset = _g.reset, watch = _g.watch, errors = _g.formState.errors;
|
|
@@ -3827,7 +3829,7 @@ var DeleteShift = function (_a) {
|
|
|
3827
3829
|
React.createElement(Alert, { severity: "warning", onClose: handleClose }, "The shift was deleted successfully"))));
|
|
3828
3830
|
};
|
|
3829
3831
|
|
|
3830
|
-
var useStyles$
|
|
3832
|
+
var useStyles$o = makeStyles(function (theme) { return ({
|
|
3831
3833
|
title: {
|
|
3832
3834
|
fontSize: 15
|
|
3833
3835
|
},
|
|
@@ -3854,7 +3856,7 @@ var EditShift = function (_a) {
|
|
|
3854
3856
|
var _d = useState(""), error = _d[0], setError = _d[1];
|
|
3855
3857
|
var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
|
|
3856
3858
|
var _f = useState(false), initialShiftPerDayAndCrewsNumber = _f[0], setInitialShiftPerDayAndCrewsNumber = _f[1];
|
|
3857
|
-
var classes = useStyles$
|
|
3859
|
+
var classes = useStyles$o();
|
|
3858
3860
|
var shiftTableData = useShiftsCrewsContext().state.shiftTableData;
|
|
3859
3861
|
var _g = useForm({ defaultValues: INITIAL_VALUES$2 }), control = _g.control, setValue = _g.setValue, handleSubmit = _g.handleSubmit, reset = _g.reset, watch = _g.watch, errors = _g.formState.errors;
|
|
3860
3862
|
// Progress bar
|
|
@@ -4122,7 +4124,7 @@ var useShiftsOptionsFunctions = function (_a) {
|
|
|
4122
4124
|
};
|
|
4123
4125
|
};
|
|
4124
4126
|
|
|
4125
|
-
var useStyles$
|
|
4127
|
+
var useStyles$n = makeStyles(function (theme) { return ({
|
|
4126
4128
|
root: {
|
|
4127
4129
|
opacity: 0,
|
|
4128
4130
|
transition: "opacity 0.1s ease-in-out",
|
|
@@ -4141,7 +4143,7 @@ var useTableData$2 = function (_a) {
|
|
|
4141
4143
|
var _b;
|
|
4142
4144
|
var setOpenModalEditShift = _a.setOpenModalEditShift, setOpenModalDeleteShift = _a.setOpenModalDeleteShift, showContextMenu = _a.showContextMenu;
|
|
4143
4145
|
var _c = useShiftsCrewsContext(), state = _c.state, actions = _c.actions;
|
|
4144
|
-
var classes = useStyles$
|
|
4146
|
+
var classes = useStyles$n();
|
|
4145
4147
|
var rows = (_b = state.shifts) === null || _b === void 0 ? void 0 : _b.map(function (_a) {
|
|
4146
4148
|
var PatternStart = _a.PatternStart, ShiftCodes = _a.ShiftCodes, Crews = _a.Crews, PatternDays = _a.PatternDays, CrewRotation = _a.CrewRotation, Comments = _a.Comments, CanEdit = _a.CanEdit;
|
|
4147
4149
|
return ({
|
|
@@ -4252,7 +4254,7 @@ var useTableData$2 = function (_a) {
|
|
|
4252
4254
|
return { rows: rows, columnDefs: columnDefs };
|
|
4253
4255
|
};
|
|
4254
4256
|
|
|
4255
|
-
var useStyles$
|
|
4257
|
+
var useStyles$m = makeStyles(function (theme) { return ({
|
|
4256
4258
|
root: {
|
|
4257
4259
|
"& .ag-icon-menu": {
|
|
4258
4260
|
display: "none"
|
|
@@ -4302,7 +4304,7 @@ var useStyles$k = makeStyles(function (theme) { return ({
|
|
|
4302
4304
|
}); });
|
|
4303
4305
|
var TableShiftsCrews = function (_a) {
|
|
4304
4306
|
_a.isLoading; var getShiftsCrewsFromAPI = _a.getShiftsCrewsFromAPI;
|
|
4305
|
-
var classes = useStyles$
|
|
4307
|
+
var classes = useStyles$m();
|
|
4306
4308
|
var _b = useState(false), openModalNew = _b[0], setOpenModalNew = _b[1];
|
|
4307
4309
|
var _c = useState(false), openModalEditShift = _c[0], setOpenModalEditShift = _c[1];
|
|
4308
4310
|
var _d = useState(false), openModalDeleteShift = _d[0], setOpenModalDeleteShift = _d[1];
|
|
@@ -4806,7 +4808,7 @@ var useAssetCodes = function () {
|
|
|
4806
4808
|
return { loadFilterAssets: loadFilterAssets };
|
|
4807
4809
|
};
|
|
4808
4810
|
|
|
4809
|
-
var useStyles$
|
|
4811
|
+
var useStyles$l = makeStyles(function (theme) { return ({
|
|
4810
4812
|
root: {
|
|
4811
4813
|
"& .input-group-text": {
|
|
4812
4814
|
display: "none"
|
|
@@ -4849,7 +4851,7 @@ var useStyles$j = makeStyles(function (theme) { return ({
|
|
|
4849
4851
|
}); });
|
|
4850
4852
|
var CreateNewAssetDialog = function (_a) {
|
|
4851
4853
|
var show = _a.show, onHide = _a.onHide;
|
|
4852
|
-
var classes = useStyles$
|
|
4854
|
+
var classes = useStyles$l();
|
|
4853
4855
|
var _b = useState(true), fullWidth = _b[0]; _b[1];
|
|
4854
4856
|
var _c = useState("sm"), maxWidth = _c[0]; _c[1];
|
|
4855
4857
|
var _d = useState(false), assetCreatedSuccess = _d[0], setAssetCreatedSuccess = _d[1];
|
|
@@ -4968,7 +4970,7 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
4968
4970
|
React__default.createElement(Alert$2, { severity: "info", onClose: handleClose }, "Document created succesfully"))));
|
|
4969
4971
|
};
|
|
4970
4972
|
|
|
4971
|
-
var useStyles$
|
|
4973
|
+
var useStyles$k = makeStyles(function (theme) { return ({
|
|
4972
4974
|
root: {
|
|
4973
4975
|
"& .input-group-text": {
|
|
4974
4976
|
display: "none"
|
|
@@ -5016,7 +5018,7 @@ var useStyles$i = makeStyles(function (theme) { return ({
|
|
|
5016
5018
|
}); });
|
|
5017
5019
|
var EditAssetDialog = function (_a) {
|
|
5018
5020
|
var show = _a.show, onHide = _a.onHide;
|
|
5019
|
-
var classes = useStyles$
|
|
5021
|
+
var classes = useStyles$k();
|
|
5020
5022
|
var _b = useState(true), fullWidth = _b[0]; _b[1];
|
|
5021
5023
|
var _c = useState("sm"), maxWidth = _c[0]; _c[1];
|
|
5022
5024
|
var _d = useState(false), assetEditedSuccess = _d[0], setAssetEditedSuccess = _d[1];
|
|
@@ -5136,7 +5138,7 @@ var EditAssetDialog = function (_a) {
|
|
|
5136
5138
|
React__default.createElement(Alert$3, { severity: "info", onClose: handleClose }, "Document created succesfully")))))))));
|
|
5137
5139
|
};
|
|
5138
5140
|
|
|
5139
|
-
var useStyles$
|
|
5141
|
+
var useStyles$j = makeStyles(function (theme) { return ({
|
|
5140
5142
|
root: {
|
|
5141
5143
|
"& .input-group-text": {
|
|
5142
5144
|
display: "none"
|
|
@@ -5180,7 +5182,7 @@ var useStyles$h = makeStyles(function (theme) { return ({
|
|
|
5180
5182
|
}); });
|
|
5181
5183
|
var RemoveAssetDialog = function (_a) {
|
|
5182
5184
|
var show = _a.show, onHide = _a.onHide;
|
|
5183
|
-
var classes = useStyles$
|
|
5185
|
+
var classes = useStyles$j();
|
|
5184
5186
|
var _b = useState(true), fullWidth = _b[0]; _b[1];
|
|
5185
5187
|
var _c = useState("sm"), maxWidth = _c[0]; _c[1];
|
|
5186
5188
|
var _d = useState(false), assetRemovedSuccess = _d[0], setAssetRemovedSuccess = _d[1];
|
|
@@ -5239,7 +5241,7 @@ var RemoveAssetDialog = function (_a) {
|
|
|
5239
5241
|
React__default.createElement(Alert$2, { severity: "info", onClose: handleClose }, "Asset removed succesfully"))));
|
|
5240
5242
|
};
|
|
5241
5243
|
|
|
5242
|
-
var useStyles$
|
|
5244
|
+
var useStyles$i = makeStyles(function (theme) { return ({
|
|
5243
5245
|
root: {
|
|
5244
5246
|
"& .input-group-text": {
|
|
5245
5247
|
display: "none"
|
|
@@ -5290,7 +5292,7 @@ var useStyles$g = makeStyles(function (theme) { return ({
|
|
|
5290
5292
|
}); });
|
|
5291
5293
|
var ViewerAssetDialog = function (_a) {
|
|
5292
5294
|
var show = _a.show, onHide = _a.onHide;
|
|
5293
|
-
var classes = useStyles$
|
|
5295
|
+
var classes = useStyles$i();
|
|
5294
5296
|
var _b = useState(true), fullWidth = _b[0]; _b[1];
|
|
5295
5297
|
var _c = useState("sm"), maxWidth = _c[0]; _c[1];
|
|
5296
5298
|
var _d = useConfigurationAssetContext().state, dataToCreateAsset = _d.dataToCreateAsset, assetNodeSelectedInTree = _d.assetNodeSelectedInTree;
|
|
@@ -5463,7 +5465,7 @@ var TypeIcon = function (props) {
|
|
|
5463
5465
|
}
|
|
5464
5466
|
};
|
|
5465
5467
|
|
|
5466
|
-
var useStyles$
|
|
5468
|
+
var useStyles$h = makeStyles(function (theme) { return ({
|
|
5467
5469
|
root: {
|
|
5468
5470
|
alignItems: "center",
|
|
5469
5471
|
backgroundColor: "#1967d2",
|
|
@@ -5488,7 +5490,7 @@ var useStyles$f = makeStyles(function (theme) { return ({
|
|
|
5488
5490
|
}); });
|
|
5489
5491
|
var CustomDragPreview$1 = function (props) {
|
|
5490
5492
|
var _a;
|
|
5491
|
-
var classes = useStyles$
|
|
5493
|
+
var classes = useStyles$h();
|
|
5492
5494
|
var item = props.monitorProps.item;
|
|
5493
5495
|
return (React__default.createElement("div", { className: classes.root },
|
|
5494
5496
|
React__default.createElement("div", { className: classes.icon },
|
|
@@ -5496,7 +5498,7 @@ var CustomDragPreview$1 = function (props) {
|
|
|
5496
5498
|
React__default.createElement("div", { className: classes.label }, item.text)));
|
|
5497
5499
|
};
|
|
5498
5500
|
|
|
5499
|
-
var useStyles$
|
|
5501
|
+
var useStyles$g = makeStyles(function (theme) { return ({
|
|
5500
5502
|
root: {
|
|
5501
5503
|
alignItems: "center",
|
|
5502
5504
|
display: "flex",
|
|
@@ -5543,7 +5545,7 @@ var CustomNode = function (_a) {
|
|
|
5543
5545
|
var _c = useConfigurationAssetContext(), openAssets = _c.state.openAssets, setOpenAssets = _c.actions.setOpenAssets;
|
|
5544
5546
|
var _d = props.node, id = _d.id, droppable = _d.droppable, data = _d.data;
|
|
5545
5547
|
var indent = props.depth * 24;
|
|
5546
|
-
var classes = useStyles$
|
|
5548
|
+
var classes = useStyles$g();
|
|
5547
5549
|
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
5548
5550
|
var handleClick = function (e) {
|
|
5549
5551
|
props.onClick(e, props.node);
|
|
@@ -5598,7 +5600,7 @@ var CustomNode = function (_a) {
|
|
|
5598
5600
|
React__default.createElement(Typography$1, { variant: "body2" }, props.node.text))));
|
|
5599
5601
|
};
|
|
5600
5602
|
|
|
5601
|
-
var useStyles$
|
|
5603
|
+
var useStyles$f = makeStyles(function (theme) { return ({
|
|
5602
5604
|
root: {
|
|
5603
5605
|
alignItems: "flex-start",
|
|
5604
5606
|
backgroundColor: "#1967d2",
|
|
@@ -5630,7 +5632,7 @@ var useStyles$d = makeStyles(function (theme) { return ({
|
|
|
5630
5632
|
}
|
|
5631
5633
|
}); });
|
|
5632
5634
|
var MultipleDragPreview = function (props) {
|
|
5633
|
-
var classes = useStyles$
|
|
5635
|
+
var classes = useStyles$f();
|
|
5634
5636
|
return (React__default.createElement(Badge, { classes: { badge: classes.badge }, color: "error", badgeContent: props.dragSources.length, anchorOrigin: { vertical: "top", horizontal: "right" } },
|
|
5635
5637
|
React__default.createElement("div", { className: classes.root, "data-testid": "custom-drag-preview" }, props.dragSources.map(function (node) {
|
|
5636
5638
|
var _a;
|
|
@@ -5641,7 +5643,7 @@ var MultipleDragPreview = function (props) {
|
|
|
5641
5643
|
}))));
|
|
5642
5644
|
};
|
|
5643
5645
|
|
|
5644
|
-
var useStyles$
|
|
5646
|
+
var useStyles$e = makeStyles(function (theme) { return ({
|
|
5645
5647
|
root: {},
|
|
5646
5648
|
contextMenu: {
|
|
5647
5649
|
backgroundColor: "#F8F8F8",
|
|
@@ -5687,7 +5689,7 @@ var useStyles$c = makeStyles(function (theme) { return ({
|
|
|
5687
5689
|
}); });
|
|
5688
5690
|
var AssetViewComponent = function () {
|
|
5689
5691
|
var _a = useState([]), selectedNodes = _a[0], setSelectedNodes = _a[1];
|
|
5690
|
-
var classes = useStyles$
|
|
5692
|
+
var classes = useStyles$e();
|
|
5691
5693
|
var _b = useState(false), isDragging = _b[0], setIsDragging = _b[1];
|
|
5692
5694
|
var _c = useState(false), isCtrlPressing = _c[0], setIsCtrlPressing = _c[1];
|
|
5693
5695
|
var _d = useState(false), isDoubleClick = _d[0], setIsDoubleClick = _d[1];
|
|
@@ -6100,7 +6102,7 @@ var INITIAL_VALUES$1 = {
|
|
|
6100
6102
|
Profiles: []
|
|
6101
6103
|
};
|
|
6102
6104
|
|
|
6103
|
-
var useStyles$
|
|
6105
|
+
var useStyles$d = makeStyles(function (theme) { return ({
|
|
6104
6106
|
root: {
|
|
6105
6107
|
"& .MuiSelect-select": {
|
|
6106
6108
|
minHeight: "40px"
|
|
@@ -6133,7 +6135,7 @@ var MenuProps$1 = {
|
|
|
6133
6135
|
};
|
|
6134
6136
|
var AuthTypeSelector = function (_a) {
|
|
6135
6137
|
var value = _a.value, onChange = _a.onChange, disabled = _a.disabled;
|
|
6136
|
-
var classes = useStyles$
|
|
6138
|
+
var classes = useStyles$d();
|
|
6137
6139
|
var _b = useState([]), authTypes = _b[0], setAuthTypes = _b[1];
|
|
6138
6140
|
var _c = useState(true), isLoading = _c[0], setIsLoading = _c[1];
|
|
6139
6141
|
var theme = useTheme();
|
|
@@ -6169,7 +6171,7 @@ var AuthTypeSelector = function (_a) {
|
|
|
6169
6171
|
React.createElement(Chip, { key: "selected-authType-".concat(selected), label: selectedAuthTypeName, className: classes.chip }))); }, MenuProps: MenuProps$1 }, authTypes.map(function (authType) { return (React.createElement(MenuItem, { key: "auth-".concat(authType.AuthTypeId), value: authType.AuthTypeId, style: getStyles(authType.AuthTypeId, authTypes, theme) }, authType.Name)); })))) : (React.createElement(React.Fragment, null))));
|
|
6170
6172
|
};
|
|
6171
6173
|
|
|
6172
|
-
var useStyles$
|
|
6174
|
+
var useStyles$c = makeStyles(function (theme) { return ({
|
|
6173
6175
|
root: {
|
|
6174
6176
|
"& .MuiSelect-select": {
|
|
6175
6177
|
height: "auto",
|
|
@@ -6210,7 +6212,7 @@ var MenuProps = {
|
|
|
6210
6212
|
};
|
|
6211
6213
|
var ProfilesPicker = function (_a) {
|
|
6212
6214
|
var value = _a.value, onChange = _a.onChange; _a.userIdForDelete; var setprofileError = _a.setprofileError, disabled = _a.disabled;
|
|
6213
|
-
var classes = useStyles$
|
|
6215
|
+
var classes = useStyles$c();
|
|
6214
6216
|
var theme = useTheme();
|
|
6215
6217
|
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
6216
6218
|
var _c = useState([]), profiles = _c[0], setProfiles = _c[1];
|
|
@@ -6250,7 +6252,7 @@ var ProfilesPicker = function (_a) {
|
|
|
6250
6252
|
React__default.createElement(Select, { autoWidth: true, labelId: "demo-mutiple-chip-label", id: "demo-mutiple-chip", multiple: true, value: value, onChange: onChange, input: React__default.createElement(Input, { id: "select-multiple-chip" }), renderValue: function (selected) { return (React__default.createElement("div", { className: classes.chips }, selected.map(function (profileId) { return (React__default.createElement(Chip, { key: "selected-profile-".concat(profileId), label: getProfileNameById(profileId), className: classes.chip })); }))); }, MenuProps: MenuProps }, profiles.map(function (profile) { return (React__default.createElement(MenuItem, { key: "profile-".concat(profile.ProfileId), value: profile.ProfileId, style: getStyles(profile.ProfileId, profiles, theme) }, profile.ProfileName.replaceAll("Profile", ""))); })))) : (React__default.createElement(React__default.Fragment, null))));
|
|
6251
6253
|
};
|
|
6252
6254
|
|
|
6253
|
-
var useStyles$
|
|
6255
|
+
var useStyles$b = makeStyles(function (theme) { return ({
|
|
6254
6256
|
checkbox: {
|
|
6255
6257
|
userSelect: "none"
|
|
6256
6258
|
},
|
|
@@ -6272,7 +6274,7 @@ var CreateUser = function (_a) {
|
|
|
6272
6274
|
var _f = useState(false), isSubmitLoading = _f[0], setIsSubmitLoading = _f[1];
|
|
6273
6275
|
var _g = useState(""), error = _g[0], setError = _g[1];
|
|
6274
6276
|
var _h = useState(""), profileError = _h[0], setprofileError = _h[1];
|
|
6275
|
-
var classes = useStyles$
|
|
6277
|
+
var classes = useStyles$b();
|
|
6276
6278
|
var _j = useForm({ defaultValues: INITIAL_VALUES$1 }), register = _j.register, control = _j.control, handleSubmit = _j.handleSubmit, reset = _j.reset, watch = _j.watch, errors = _j.formState.errors;
|
|
6277
6279
|
var handleClose = function (event, reason) {
|
|
6278
6280
|
if (reason === "clickaway") {
|
|
@@ -6487,7 +6489,7 @@ var DeleteUser = function (_a) {
|
|
|
6487
6489
|
React__default.createElement(ErrorModal, { error: profileError, onHide: function () { return setprofileError(""); }, title: "Error Choosing Profile" })));
|
|
6488
6490
|
};
|
|
6489
6491
|
|
|
6490
|
-
var useStyles$
|
|
6492
|
+
var useStyles$a = makeStyles(function (theme) { return ({
|
|
6491
6493
|
checkbox: {
|
|
6492
6494
|
userSelect: "none"
|
|
6493
6495
|
},
|
|
@@ -6506,7 +6508,7 @@ var useStyles$8 = makeStyles(function (theme) { return ({
|
|
|
6506
6508
|
var EditUser = function (_a) {
|
|
6507
6509
|
var _b, _c, _d;
|
|
6508
6510
|
var userId = _a.userId, show = _a.show, onHide = _a.onHide;
|
|
6509
|
-
var classes = useStyles$
|
|
6511
|
+
var classes = useStyles$a();
|
|
6510
6512
|
var _e = useState(false), open = _e[0], setOpen = _e[1];
|
|
6511
6513
|
var _f = useState(false), isLoading = _f[0], setIsLoading = _f[1];
|
|
6512
6514
|
var _g = useState(false), isSubmitLoading = _g[0], setIsSubmitLoading = _g[1];
|
|
@@ -6657,7 +6659,7 @@ var UsersProvider = function (_a) {
|
|
|
6657
6659
|
return (React__default.createElement(UsersContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
6658
6660
|
};
|
|
6659
6661
|
|
|
6660
|
-
var useStyles$
|
|
6662
|
+
var useStyles$9 = makeStyles(function (theme) { return ({
|
|
6661
6663
|
buttons: {
|
|
6662
6664
|
opacity: 0,
|
|
6663
6665
|
transition: "opacity 0.1s ease-in-out",
|
|
@@ -6673,7 +6675,7 @@ var useStyles$7 = makeStyles(function (theme) { return ({
|
|
|
6673
6675
|
}
|
|
6674
6676
|
}); });
|
|
6675
6677
|
var buttonsCellRenderer = function (params) {
|
|
6676
|
-
var classes = useStyles$
|
|
6678
|
+
var classes = useStyles$9();
|
|
6677
6679
|
var setUserId = params.setUserId, setOpenModalEditDataUser = params.setOpenModalEditDataUser, setOpenModalDeleteUser = params.setOpenModalDeleteUser, setOpenModalChangePasswordd = params.setOpenModalChangePasswordd, showContextMenu = params.showContextMenu;
|
|
6678
6680
|
return (React__default.createElement(Grid, { container: true, style: {
|
|
6679
6681
|
height: "100%",
|
|
@@ -6872,7 +6874,7 @@ var useUsersOptionsFunctions = function (_a) {
|
|
|
6872
6874
|
};
|
|
6873
6875
|
};
|
|
6874
6876
|
|
|
6875
|
-
var useStyles$
|
|
6877
|
+
var useStyles$8 = makeStyles(function (theme) { return ({
|
|
6876
6878
|
root: {
|
|
6877
6879
|
"& .ag-icon-menu": {
|
|
6878
6880
|
display: "none"
|
|
@@ -6943,7 +6945,7 @@ var TableUsers = function (_a) {
|
|
|
6943
6945
|
var _c = useState(false), openModalEditDataUser = _c[0], setOpenModalEditDataUser = _c[1];
|
|
6944
6946
|
var _d = useState(false), openModalDeleteUser = _d[0], setOpenModalDeleteUser = _d[1];
|
|
6945
6947
|
var _e = useState(false), openModalChangePassword = _e[0], setOpenModalChangePasswordd = _e[1];
|
|
6946
|
-
var classes = useStyles$
|
|
6948
|
+
var classes = useStyles$8();
|
|
6947
6949
|
var _f = useState(null), userId = _f[0], setUserId = _f[1];
|
|
6948
6950
|
var _g = useState(null), gridApi = _g[0], setGridApi = _g[1];
|
|
6949
6951
|
var loadingOverlayComponent = useMemo(function () {
|
|
@@ -7163,6 +7165,107 @@ var Configuration$1 = /** @class */ (function () {
|
|
|
7163
7165
|
return Configuration;
|
|
7164
7166
|
}());
|
|
7165
7167
|
|
|
7168
|
+
var _a;
|
|
7169
|
+
var base$2 = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
|
|
7170
|
+
function renewToken() {
|
|
7171
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7172
|
+
var refreshToken, config, fd, response, token;
|
|
7173
|
+
return __generator(this, function (_a) {
|
|
7174
|
+
switch (_a.label) {
|
|
7175
|
+
case 0:
|
|
7176
|
+
refreshToken = localStorage.getItem("refreshToken");
|
|
7177
|
+
if (!refreshToken) {
|
|
7178
|
+
throw new Error("refresh token does not exist");
|
|
7179
|
+
}
|
|
7180
|
+
config = new Configuration$1();
|
|
7181
|
+
fd = new FormData();
|
|
7182
|
+
fd.append("refreshToken", refreshToken);
|
|
7183
|
+
return [4 /*yield*/, axios.post("".concat(config.API_AUTH_URL, "/refresh"), fd, {
|
|
7184
|
+
headers: {
|
|
7185
|
+
"Content-Type": "application/json"
|
|
7186
|
+
},
|
|
7187
|
+
params: {
|
|
7188
|
+
refreshToken: refreshToken
|
|
7189
|
+
}
|
|
7190
|
+
})];
|
|
7191
|
+
case 1:
|
|
7192
|
+
response = _a.sent();
|
|
7193
|
+
token = response.data.result;
|
|
7194
|
+
if (token) {
|
|
7195
|
+
return [2 /*return*/, [token, refreshToken]];
|
|
7196
|
+
}
|
|
7197
|
+
else {
|
|
7198
|
+
throw new Error("Token is not valid");
|
|
7199
|
+
}
|
|
7200
|
+
}
|
|
7201
|
+
});
|
|
7202
|
+
});
|
|
7203
|
+
}
|
|
7204
|
+
function isUnauthorizedError(error) {
|
|
7205
|
+
var status = error.response.status;
|
|
7206
|
+
return status === 499 || status === 499; // custom status code
|
|
7207
|
+
}
|
|
7208
|
+
var axiosInstance = axios.create({
|
|
7209
|
+
headers: {
|
|
7210
|
+
Authorization: "Bearer ".concat((_a = localStorage.getItem("token")) !== null && _a !== void 0 ? _a : "")
|
|
7211
|
+
}
|
|
7212
|
+
});
|
|
7213
|
+
var refreshingFunc;
|
|
7214
|
+
axiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7215
|
+
var originalConfig, token, _a, newToken, newRefreshToken, innerError_1, err_1;
|
|
7216
|
+
return __generator(this, function (_b) {
|
|
7217
|
+
switch (_b.label) {
|
|
7218
|
+
case 0:
|
|
7219
|
+
originalConfig = error.config;
|
|
7220
|
+
if (originalConfig.headers.MESF_Retries === 1) {
|
|
7221
|
+
localStorage.removeItem("token");
|
|
7222
|
+
localStorage.removeItem("refreshToken");
|
|
7223
|
+
window.location.href = "".concat(base$2, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7224
|
+
return [2 /*return*/, Promise.reject(error)];
|
|
7225
|
+
}
|
|
7226
|
+
token = getTokenFromLS();
|
|
7227
|
+
if (!token || !isUnauthorizedError(error)) {
|
|
7228
|
+
return [2 /*return*/, Promise.reject(error)];
|
|
7229
|
+
}
|
|
7230
|
+
_b.label = 1;
|
|
7231
|
+
case 1:
|
|
7232
|
+
_b.trys.push([1, 7, 8, 9]);
|
|
7233
|
+
if (!refreshingFunc)
|
|
7234
|
+
refreshingFunc = renewToken();
|
|
7235
|
+
return [4 /*yield*/, refreshingFunc];
|
|
7236
|
+
case 2:
|
|
7237
|
+
_a = _b.sent(), newToken = _a[0], newRefreshToken = _a[1];
|
|
7238
|
+
localStorage.setItem("token", newToken);
|
|
7239
|
+
localStorage.setItem("refreshToken", newRefreshToken);
|
|
7240
|
+
axiosInstance.defaults.headers.Authorization = "Bearer ".concat(newToken);
|
|
7241
|
+
originalConfig.headers.Authorization = "Bearer ".concat(newToken);
|
|
7242
|
+
originalConfig.headers.MESF_Retries = 1;
|
|
7243
|
+
_b.label = 3;
|
|
7244
|
+
case 3:
|
|
7245
|
+
_b.trys.push([3, 5, , 6]);
|
|
7246
|
+
return [4 /*yield*/, axios.request(originalConfig)];
|
|
7247
|
+
case 4: return [2 /*return*/, _b.sent()];
|
|
7248
|
+
case 5:
|
|
7249
|
+
innerError_1 = _b.sent();
|
|
7250
|
+
if (isUnauthorizedError(innerError_1)) {
|
|
7251
|
+
return [2 /*return*/, Promise.reject(innerError_1)];
|
|
7252
|
+
}
|
|
7253
|
+
return [2 /*return*/, Promise.reject(innerError_1)];
|
|
7254
|
+
case 6: return [3 /*break*/, 9];
|
|
7255
|
+
case 7:
|
|
7256
|
+
err_1 = _b.sent();
|
|
7257
|
+
localStorage.removeItem("token");
|
|
7258
|
+
localStorage.removeItem("refreshToken");
|
|
7259
|
+
window.location.href = "".concat(base$2, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7260
|
+
return [2 /*return*/, Promise.reject(err_1)];
|
|
7261
|
+
case 8:
|
|
7262
|
+
refreshingFunc = undefined;
|
|
7263
|
+
return [7 /*endfinally*/];
|
|
7264
|
+
case 9: return [2 /*return*/];
|
|
7265
|
+
}
|
|
7266
|
+
});
|
|
7267
|
+
}); });
|
|
7268
|
+
|
|
7166
7269
|
var getError = function (error) {
|
|
7167
7270
|
var arrayOfErrors = values(get$1(error, "response.data.errors", null));
|
|
7168
7271
|
var allErrors = "";
|
|
@@ -7214,7 +7317,7 @@ var FetchError = /** @class */ (function (_super) {
|
|
|
7214
7317
|
return FetchError;
|
|
7215
7318
|
}(Error));
|
|
7216
7319
|
|
|
7217
|
-
var base$
|
|
7320
|
+
var base$1 = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
|
|
7218
7321
|
var MESApiService = /** @class */ (function () {
|
|
7219
7322
|
function MESApiService() {
|
|
7220
7323
|
this.config = new Configuration$1();
|
|
@@ -7428,7 +7531,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7428
7531
|
})
|
|
7429
7532
|
.then(function (response) {
|
|
7430
7533
|
if (response.status === 499 || response.status === 401) {
|
|
7431
|
-
window.location.href = "".concat(base$
|
|
7534
|
+
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7432
7535
|
}
|
|
7433
7536
|
isError = {
|
|
7434
7537
|
ok: response.ok,
|
|
@@ -7452,7 +7555,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7452
7555
|
MESApiService.prototype.callV2 = function (procedure, parameters, database) {
|
|
7453
7556
|
if (database === void 0) { database = ""; }
|
|
7454
7557
|
return __awaiter(this, void 0, void 0, function () {
|
|
7455
|
-
var data, formattedParameters, response,
|
|
7558
|
+
var data, formattedParameters, response, err_1;
|
|
7456
7559
|
return __generator(this, function (_a) {
|
|
7457
7560
|
switch (_a.label) {
|
|
7458
7561
|
case 0:
|
|
@@ -7475,38 +7578,17 @@ var MESApiService = /** @class */ (function () {
|
|
|
7475
7578
|
}; // eslint-disable-line
|
|
7476
7579
|
_a.label = 1;
|
|
7477
7580
|
case 1:
|
|
7478
|
-
_a.trys.push([1,
|
|
7479
|
-
return [4 /*yield*/,
|
|
7480
|
-
method: "POST",
|
|
7481
|
-
mode: "cors",
|
|
7482
|
-
headers: {
|
|
7483
|
-
"Content-Type": "application/json",
|
|
7484
|
-
Authorization: "Bearer " + getTokenFromLS()
|
|
7485
|
-
},
|
|
7486
|
-
body: JSON.stringify(data)
|
|
7487
|
-
})];
|
|
7581
|
+
_a.trys.push([1, 3, , 4]);
|
|
7582
|
+
return [4 /*yield*/, axiosInstance.post(this.config.API_PROCEDURE_URL + "/Execute", data)];
|
|
7488
7583
|
case 2:
|
|
7489
7584
|
response = _a.sent();
|
|
7490
|
-
|
|
7491
|
-
window.location.href = "".concat(base$2, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7492
|
-
}
|
|
7493
|
-
return [4 /*yield*/, response.json()];
|
|
7585
|
+
return [2 /*return*/, { ok: true, data: response.data }];
|
|
7494
7586
|
case 3:
|
|
7495
|
-
resp = _a.sent();
|
|
7496
|
-
if (!response.ok) {
|
|
7497
|
-
return [2 /*return*/, {
|
|
7498
|
-
ok: false,
|
|
7499
|
-
message: resp.message
|
|
7500
|
-
}];
|
|
7501
|
-
}
|
|
7502
|
-
return [2 /*return*/, { ok: true, data: resp }];
|
|
7503
|
-
case 4:
|
|
7504
7587
|
err_1 = _a.sent();
|
|
7505
|
-
// console.log("fromCatch", err);
|
|
7506
7588
|
this.hasErrors = true;
|
|
7507
7589
|
this.error = err_1;
|
|
7508
|
-
return [2 /*return*/, { ok: false, message: err_1
|
|
7509
|
-
case
|
|
7590
|
+
return [2 /*return*/, { ok: false, message: getError(err_1) }];
|
|
7591
|
+
case 4: return [2 /*return*/];
|
|
7510
7592
|
}
|
|
7511
7593
|
});
|
|
7512
7594
|
});
|
|
@@ -7548,7 +7630,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7548
7630
|
})
|
|
7549
7631
|
.then(function (response) {
|
|
7550
7632
|
if (response.status === 499 || response.status === 401) {
|
|
7551
|
-
window.location.href = "".concat(base$
|
|
7633
|
+
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7552
7634
|
}
|
|
7553
7635
|
isError = {
|
|
7554
7636
|
ok: response.ok,
|
|
@@ -7609,7 +7691,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7609
7691
|
})
|
|
7610
7692
|
.then(function (response) {
|
|
7611
7693
|
if (response.status === 499 || response.status === 401) {
|
|
7612
|
-
window.location.href = "".concat(base$
|
|
7694
|
+
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7613
7695
|
}
|
|
7614
7696
|
isError = {
|
|
7615
7697
|
ok: response.ok,
|
|
@@ -7668,7 +7750,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7668
7750
|
})
|
|
7669
7751
|
.then(function (response) {
|
|
7670
7752
|
if (response.status === 499 || response.status === 401) {
|
|
7671
|
-
window.location.href = "".concat(base$
|
|
7753
|
+
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7672
7754
|
}
|
|
7673
7755
|
isError = {
|
|
7674
7756
|
ok: response.ok,
|
|
@@ -7744,7 +7826,7 @@ var MESApiService = /** @class */ (function () {
|
|
|
7744
7826
|
})
|
|
7745
7827
|
.then(function (response) {
|
|
7746
7828
|
if (response.status === 499 || response.status === 401) {
|
|
7747
|
-
window.location.href = "".concat(base$
|
|
7829
|
+
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
7748
7830
|
}
|
|
7749
7831
|
isError = {
|
|
7750
7832
|
ok: response.ok,
|
|
@@ -8202,7 +8284,7 @@ var getShiftsRangeByParameters = function (period, Start, End, StartShiftId, End
|
|
|
8202
8284
|
});
|
|
8203
8285
|
};
|
|
8204
8286
|
|
|
8205
|
-
var useStyles$
|
|
8287
|
+
var useStyles$7 = makeStyles(function (theme) {
|
|
8206
8288
|
var _a, _b, _c;
|
|
8207
8289
|
return ({
|
|
8208
8290
|
container: {
|
|
@@ -8250,7 +8332,7 @@ var moment = getMomentTz();
|
|
|
8250
8332
|
var ShiftPeriodNavigatorControl = function (_a) {
|
|
8251
8333
|
var _b;
|
|
8252
8334
|
var value = _a.value, onChange = _a.onChange, _c = _a.showShiftAndCrews, showShiftAndCrews = _c === void 0 ? true : _c, _d = _a.dateFormat, dateFormat = _d === void 0 ? "MM/DD/YYYY HH:mm a" : _d, _e = _a.periodOptions, periodOptions = _e === void 0 ? DEFAULT_PERIOD_OPTIONS : _e;
|
|
8253
|
-
var classes = useStyles$
|
|
8335
|
+
var classes = useStyles$7();
|
|
8254
8336
|
var _f = useState(((_b = periodOptions[0]) === null || _b === void 0 ? void 0 : _b.value) || "Day"), period = _f[0], setPeriod = _f[1];
|
|
8255
8337
|
var _g = useState(false), loadingShiftPeriodList = _g[0], setLoadingShiftPeriodList = _g[1];
|
|
8256
8338
|
var _h = useState(""); _h[0]; var setError = _h[1];
|
|
@@ -8465,7 +8547,7 @@ var ShiftPeriodNavigatorControl = function (_a) {
|
|
|
8465
8547
|
React__default.createElement(SkipNextIcon, null)))));
|
|
8466
8548
|
};
|
|
8467
8549
|
|
|
8468
|
-
var useStyles$
|
|
8550
|
+
var useStyles$6 = makeStyles(function (theme) { return ({
|
|
8469
8551
|
contextMenu: {
|
|
8470
8552
|
backgroundColor: "#fff",
|
|
8471
8553
|
borderRadius: "2px",
|
|
@@ -8557,7 +8639,7 @@ var useContextMenuMESF = function () { return useContext(ContextMenuMESFContext)
|
|
|
8557
8639
|
|
|
8558
8640
|
var ContextMenu$1 = function () {
|
|
8559
8641
|
var _a = useContextMenuMESF(), show = _a.show, position = _a.position, options = _a.options;
|
|
8560
|
-
var classes = useStyles$
|
|
8642
|
+
var classes = useStyles$6();
|
|
8561
8643
|
var menuRef = useRef(null);
|
|
8562
8644
|
var _b = useState("0"), x = _b[0], setX = _b[1];
|
|
8563
8645
|
var _c = useState("0"), y = _c[0], setY = _c[1];
|
|
@@ -8660,107 +8742,6 @@ function ChangePassword(props) {
|
|
|
8660
8742
|
React__default.createElement(Button, { onClick: handleOk, color: "primary", disabled: !canChange }, "Change Password"))));
|
|
8661
8743
|
}
|
|
8662
8744
|
|
|
8663
|
-
var _a;
|
|
8664
|
-
var base$1 = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
|
|
8665
|
-
function renewToken() {
|
|
8666
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
8667
|
-
var refreshToken, config, fd, response, token;
|
|
8668
|
-
return __generator(this, function (_a) {
|
|
8669
|
-
switch (_a.label) {
|
|
8670
|
-
case 0:
|
|
8671
|
-
refreshToken = localStorage.getItem("refreshToken");
|
|
8672
|
-
if (!refreshToken) {
|
|
8673
|
-
throw new Error("refresh token does not exist");
|
|
8674
|
-
}
|
|
8675
|
-
config = new Configuration$1();
|
|
8676
|
-
fd = new FormData();
|
|
8677
|
-
fd.append("refreshToken", refreshToken);
|
|
8678
|
-
return [4 /*yield*/, axios.post("".concat(config.API_AUTH_URL, "/refresh"), fd, {
|
|
8679
|
-
headers: {
|
|
8680
|
-
"Content-Type": "application/json"
|
|
8681
|
-
},
|
|
8682
|
-
params: {
|
|
8683
|
-
refreshToken: refreshToken
|
|
8684
|
-
}
|
|
8685
|
-
})];
|
|
8686
|
-
case 1:
|
|
8687
|
-
response = _a.sent();
|
|
8688
|
-
token = response.data.result;
|
|
8689
|
-
if (token) {
|
|
8690
|
-
return [2 /*return*/, [token, refreshToken]];
|
|
8691
|
-
}
|
|
8692
|
-
else {
|
|
8693
|
-
throw new Error("Token is not valid");
|
|
8694
|
-
}
|
|
8695
|
-
}
|
|
8696
|
-
});
|
|
8697
|
-
});
|
|
8698
|
-
}
|
|
8699
|
-
function isUnauthorizedError(error) {
|
|
8700
|
-
var status = error.response.status;
|
|
8701
|
-
return status === 499 || status === 499; // custom status code
|
|
8702
|
-
}
|
|
8703
|
-
var axiosInstance = axios.create({
|
|
8704
|
-
headers: {
|
|
8705
|
-
Authorization: "Bearer ".concat((_a = localStorage.getItem("token")) !== null && _a !== void 0 ? _a : "")
|
|
8706
|
-
}
|
|
8707
|
-
});
|
|
8708
|
-
var refreshingFunc;
|
|
8709
|
-
axiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8710
|
-
var originalConfig, token, _a, newToken, newRefreshToken, innerError_1, err_1;
|
|
8711
|
-
return __generator(this, function (_b) {
|
|
8712
|
-
switch (_b.label) {
|
|
8713
|
-
case 0:
|
|
8714
|
-
originalConfig = error.config;
|
|
8715
|
-
if (originalConfig.headers.MESF_Retries === 1) {
|
|
8716
|
-
localStorage.removeItem("token");
|
|
8717
|
-
localStorage.removeItem("refreshToken");
|
|
8718
|
-
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
8719
|
-
return [2 /*return*/, Promise.reject(error)];
|
|
8720
|
-
}
|
|
8721
|
-
token = getTokenFromLS();
|
|
8722
|
-
if (!token || !isUnauthorizedError(error)) {
|
|
8723
|
-
return [2 /*return*/, Promise.reject(error)];
|
|
8724
|
-
}
|
|
8725
|
-
_b.label = 1;
|
|
8726
|
-
case 1:
|
|
8727
|
-
_b.trys.push([1, 7, 8, 9]);
|
|
8728
|
-
if (!refreshingFunc)
|
|
8729
|
-
refreshingFunc = renewToken();
|
|
8730
|
-
return [4 /*yield*/, refreshingFunc];
|
|
8731
|
-
case 2:
|
|
8732
|
-
_a = _b.sent(), newToken = _a[0], newRefreshToken = _a[1];
|
|
8733
|
-
localStorage.setItem("token", newToken);
|
|
8734
|
-
localStorage.setItem("refreshToken", newRefreshToken);
|
|
8735
|
-
axiosInstance.defaults.headers.Authorization = "Bearer ".concat(newToken);
|
|
8736
|
-
originalConfig.headers.Authorization = "Bearer ".concat(newToken);
|
|
8737
|
-
originalConfig.headers.MESF_Retries = 1;
|
|
8738
|
-
_b.label = 3;
|
|
8739
|
-
case 3:
|
|
8740
|
-
_b.trys.push([3, 5, , 6]);
|
|
8741
|
-
return [4 /*yield*/, axios.request(originalConfig)];
|
|
8742
|
-
case 4: return [2 /*return*/, _b.sent()];
|
|
8743
|
-
case 5:
|
|
8744
|
-
innerError_1 = _b.sent();
|
|
8745
|
-
if (isUnauthorizedError(innerError_1)) {
|
|
8746
|
-
return [2 /*return*/, Promise.reject(innerError_1)];
|
|
8747
|
-
}
|
|
8748
|
-
return [2 /*return*/, Promise.reject(innerError_1)];
|
|
8749
|
-
case 6: return [3 /*break*/, 9];
|
|
8750
|
-
case 7:
|
|
8751
|
-
err_1 = _b.sent();
|
|
8752
|
-
localStorage.removeItem("token");
|
|
8753
|
-
localStorage.removeItem("refreshToken");
|
|
8754
|
-
window.location.href = "".concat(base$1, "logout?message=Session%20expired&redirectTo=").concat(window.location.href);
|
|
8755
|
-
return [2 /*return*/, Promise.reject(err_1)];
|
|
8756
|
-
case 8:
|
|
8757
|
-
refreshingFunc = undefined;
|
|
8758
|
-
return [7 /*endfinally*/];
|
|
8759
|
-
case 9: return [2 /*return*/];
|
|
8760
|
-
}
|
|
8761
|
-
});
|
|
8762
|
-
}); });
|
|
8763
|
-
|
|
8764
8745
|
var UserInitialState = {
|
|
8765
8746
|
userLastName: "",
|
|
8766
8747
|
userId: null,
|
|
@@ -9522,6 +9503,309 @@ function Header$1(_a) {
|
|
|
9522
9503
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
|
|
9523
9504
|
}
|
|
9524
9505
|
|
|
9506
|
+
var useStyles$5 = makeStyles(function (theme) { return ({
|
|
9507
|
+
root: {
|
|
9508
|
+
width: "100%",
|
|
9509
|
+
maxWidth: 800,
|
|
9510
|
+
margin: "0 auto",
|
|
9511
|
+
padding: theme.spacing(3)
|
|
9512
|
+
},
|
|
9513
|
+
messageList: {
|
|
9514
|
+
height: 400,
|
|
9515
|
+
overflow: "auto",
|
|
9516
|
+
marginBottom: theme.spacing(2),
|
|
9517
|
+
padding: theme.spacing(2),
|
|
9518
|
+
backgroundColor: theme.palette.background["default"]
|
|
9519
|
+
},
|
|
9520
|
+
messageForm: {
|
|
9521
|
+
display: "flex",
|
|
9522
|
+
gap: theme.spacing(2)
|
|
9523
|
+
},
|
|
9524
|
+
messageInput: {
|
|
9525
|
+
flexGrow: 1
|
|
9526
|
+
},
|
|
9527
|
+
timestamp: {
|
|
9528
|
+
color: theme.palette.text.secondary,
|
|
9529
|
+
fontSize: "0.8rem"
|
|
9530
|
+
},
|
|
9531
|
+
statusChip: {
|
|
9532
|
+
marginBottom: theme.spacing(2)
|
|
9533
|
+
}
|
|
9534
|
+
}); });
|
|
9535
|
+
var ChatComponent = function () {
|
|
9536
|
+
var classes = useStyles$5();
|
|
9537
|
+
var _a = useState("/ws"), hubUrl = _a[0]; _a[1];
|
|
9538
|
+
var _b = useState(null), connection = _b[0], setConnection = _b[1];
|
|
9539
|
+
var _c = useState({
|
|
9540
|
+
isConnected: false
|
|
9541
|
+
}), connectionState = _c[0], setConnectionState = _c[1];
|
|
9542
|
+
var _d = useState([]), messages = _d[0], setMessages = _d[1];
|
|
9543
|
+
var _e = useState(""), user = _e[0], setUser = _e[1];
|
|
9544
|
+
var _f = useState(""), message = _f[0], setMessage = _f[1];
|
|
9545
|
+
var messageEndRef = useRef(null);
|
|
9546
|
+
var latestMessages = useRef([]);
|
|
9547
|
+
latestMessages.current = messages;
|
|
9548
|
+
var scrollToBottom = function () {
|
|
9549
|
+
var _a;
|
|
9550
|
+
(_a = messageEndRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: "smooth" });
|
|
9551
|
+
};
|
|
9552
|
+
useEffect(function () {
|
|
9553
|
+
scrollToBottom();
|
|
9554
|
+
}, [messages]);
|
|
9555
|
+
var startConnection = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9556
|
+
var newConnection, err_1;
|
|
9557
|
+
return __generator(this, function (_a) {
|
|
9558
|
+
switch (_a.label) {
|
|
9559
|
+
case 0:
|
|
9560
|
+
_a.trys.push([0, 2, , 3]);
|
|
9561
|
+
newConnection = new HubConnectionBuilder()
|
|
9562
|
+
.withUrl(hubUrl)
|
|
9563
|
+
.withAutomaticReconnect()
|
|
9564
|
+
.configureLogging(LogLevel$1.Information)
|
|
9565
|
+
.build();
|
|
9566
|
+
newConnection.on("ReceiveMessage", function (user, message) {
|
|
9567
|
+
var newMessage = {
|
|
9568
|
+
user: user,
|
|
9569
|
+
message: message,
|
|
9570
|
+
timestamp: new Date()
|
|
9571
|
+
};
|
|
9572
|
+
setMessages(function (prev) { return __spreadArray(__spreadArray([], prev, true), [newMessage], false); });
|
|
9573
|
+
});
|
|
9574
|
+
newConnection.on("UserConnected", function (connectionId) {
|
|
9575
|
+
console.log("User connected: ".concat(connectionId));
|
|
9576
|
+
setConnectionState(function (prev) { return (__assign(__assign({}, prev), { isConnected: true, connectionId: connectionId })); });
|
|
9577
|
+
});
|
|
9578
|
+
newConnection.on("UserDisconnected", function (connectionId) {
|
|
9579
|
+
console.log("User disconnected: ".concat(connectionId));
|
|
9580
|
+
if (connectionId === connectionState.connectionId) {
|
|
9581
|
+
setConnectionState(function (prev) { return (__assign(__assign({}, prev), { isConnected: false, connectionId: undefined })); });
|
|
9582
|
+
}
|
|
9583
|
+
});
|
|
9584
|
+
return [4 /*yield*/, newConnection.start()];
|
|
9585
|
+
case 1:
|
|
9586
|
+
_a.sent();
|
|
9587
|
+
setConnection(newConnection);
|
|
9588
|
+
console.log("SignalR Connected");
|
|
9589
|
+
return [3 /*break*/, 3];
|
|
9590
|
+
case 2:
|
|
9591
|
+
err_1 = _a.sent();
|
|
9592
|
+
console.error("SignalR Connection Error:", err_1);
|
|
9593
|
+
setConnectionState(function (prev) { return (__assign(__assign({}, prev), { isConnected: false, error: err_1 })); });
|
|
9594
|
+
return [3 /*break*/, 3];
|
|
9595
|
+
case 3: return [2 /*return*/];
|
|
9596
|
+
}
|
|
9597
|
+
});
|
|
9598
|
+
}); }, [hubUrl]);
|
|
9599
|
+
useEffect(function () {
|
|
9600
|
+
startConnection();
|
|
9601
|
+
return function () {
|
|
9602
|
+
connection === null || connection === void 0 ? void 0 : connection.stop();
|
|
9603
|
+
};
|
|
9604
|
+
}, [startConnection]);
|
|
9605
|
+
var sendMessage = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9606
|
+
var err_2;
|
|
9607
|
+
return __generator(this, function (_a) {
|
|
9608
|
+
switch (_a.label) {
|
|
9609
|
+
case 0:
|
|
9610
|
+
e.preventDefault();
|
|
9611
|
+
if (!connection || !message || !user)
|
|
9612
|
+
return [2 /*return*/];
|
|
9613
|
+
_a.label = 1;
|
|
9614
|
+
case 1:
|
|
9615
|
+
_a.trys.push([1, 3, , 4]);
|
|
9616
|
+
return [4 /*yield*/, connection.invoke("SendMessage", user, message)];
|
|
9617
|
+
case 2:
|
|
9618
|
+
_a.sent();
|
|
9619
|
+
setMessage("");
|
|
9620
|
+
return [3 /*break*/, 4];
|
|
9621
|
+
case 3:
|
|
9622
|
+
err_2 = _a.sent();
|
|
9623
|
+
console.error("Error sending message:", err_2);
|
|
9624
|
+
return [3 /*break*/, 4];
|
|
9625
|
+
case 4: return [2 /*return*/];
|
|
9626
|
+
}
|
|
9627
|
+
});
|
|
9628
|
+
}); };
|
|
9629
|
+
return (React__default.createElement(Paper, { className: classes.root, elevation: 3 },
|
|
9630
|
+
React__default.createElement(Box, { mb: 2 },
|
|
9631
|
+
React__default.createElement(Chip, { label: connectionState.isConnected ? "Connected" : "Disconnected", color: connectionState.isConnected ? "primary" : "default", className: classes.statusChip }),
|
|
9632
|
+
connectionState.error && (React__default.createElement(Typography$1, { color: "error" },
|
|
9633
|
+
"Error: ",
|
|
9634
|
+
connectionState.error.message))),
|
|
9635
|
+
React__default.createElement(Paper, { className: classes.messageList, variant: "outlined" },
|
|
9636
|
+
React__default.createElement(List, null,
|
|
9637
|
+
messages.map(function (msg, index) { return (React__default.createElement(ListItem, { key: index },
|
|
9638
|
+
React__default.createElement(ListItemText, { primary: React__default.createElement(Typography$1, null,
|
|
9639
|
+
React__default.createElement("strong", null,
|
|
9640
|
+
msg.user,
|
|
9641
|
+
":"),
|
|
9642
|
+
" ",
|
|
9643
|
+
msg.message), secondary: React__default.createElement("span", { className: classes.timestamp }, msg.timestamp.toLocaleTimeString()) }))); }),
|
|
9644
|
+
React__default.createElement("div", { ref: messageEndRef }))),
|
|
9645
|
+
React__default.createElement("form", { onSubmit: sendMessage, className: classes.messageForm },
|
|
9646
|
+
React__default.createElement(TextField, { value: user, onChange: function (e) { return setUser(e.target.value); }, label: "Your name", variant: "outlined", size: "small" }),
|
|
9647
|
+
React__default.createElement(TextField, { className: classes.messageInput, value: message, onChange: function (e) { return setMessage(e.target.value); }, label: "Type a message", variant: "outlined", size: "small" }),
|
|
9648
|
+
React__default.createElement(Button, { type: "submit", variant: "contained", color: "primary", disabled: !connectionState.isConnected || !user || !message, endIcon: React__default.createElement(Send, null) }, "Send"))));
|
|
9649
|
+
};
|
|
9650
|
+
|
|
9651
|
+
var useStyles$4 = makeStyles(function (theme) { return ({
|
|
9652
|
+
root: {
|
|
9653
|
+
height: "100vh",
|
|
9654
|
+
padding: theme.spacing(4)
|
|
9655
|
+
},
|
|
9656
|
+
header: {
|
|
9657
|
+
marginBottom: theme.spacing(4),
|
|
9658
|
+
display: "flex",
|
|
9659
|
+
justifyContent: "space-between",
|
|
9660
|
+
alignItems: "center"
|
|
9661
|
+
},
|
|
9662
|
+
gridContainer: {
|
|
9663
|
+
height: "75%",
|
|
9664
|
+
width: "100%"
|
|
9665
|
+
},
|
|
9666
|
+
autocomplete: {
|
|
9667
|
+
marginTop: theme.spacing(2),
|
|
9668
|
+
marginBottom: theme.spacing(2)
|
|
9669
|
+
}
|
|
9670
|
+
}); });
|
|
9671
|
+
var QueryCacheInvalidations = function () {
|
|
9672
|
+
var classes = useStyles$4();
|
|
9673
|
+
var _a = useState([]), rowData = _a[0], setRowData = _a[1];
|
|
9674
|
+
var _b = useState([]), actions = _b[0], setActions = _b[1];
|
|
9675
|
+
var _c = useState(""), modal = _c[0], setModal = _c[1];
|
|
9676
|
+
var _d = useState(null); _d[0]; var setSelectedRow = _d[1];
|
|
9677
|
+
var _e = useState(""); _e[0]; var setNotification = _e[1];
|
|
9678
|
+
var _f = useState(false), isLoading = _f[0], setIsLoading = _f[1];
|
|
9679
|
+
var _g = useForm({
|
|
9680
|
+
defaultValues: {
|
|
9681
|
+
source: null,
|
|
9682
|
+
targets: []
|
|
9683
|
+
}
|
|
9684
|
+
}), control = _g.control, reset = _g.reset, handleSubmit = _g.handleSubmit; _g.setValue;
|
|
9685
|
+
var columnDefs = [
|
|
9686
|
+
{ field: "SourceId", headerName: "Source ID" },
|
|
9687
|
+
{ field: "Source", headerName: "Source" },
|
|
9688
|
+
{ field: "TargetsCSV", headerName: "Targets" },
|
|
9689
|
+
{
|
|
9690
|
+
headerName: "Actions",
|
|
9691
|
+
cellRenderer: function (params) { return (React__default.createElement(Box, null,
|
|
9692
|
+
React__default.createElement(Button, { variant: "contained", color: "primary", onClick: function () { return handleEdit(params.data); } }, "Edit"))); }
|
|
9693
|
+
},
|
|
9694
|
+
];
|
|
9695
|
+
var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9696
|
+
var api, resp, error_1;
|
|
9697
|
+
return __generator(this, function (_a) {
|
|
9698
|
+
switch (_a.label) {
|
|
9699
|
+
case 0:
|
|
9700
|
+
_a.trys.push([0, 2, , 3]);
|
|
9701
|
+
api = new MESApiService();
|
|
9702
|
+
return [4 /*yield*/, api.callV2("[SYSTEM].[GetQueryCacheInvalidations]", [])];
|
|
9703
|
+
case 1:
|
|
9704
|
+
resp = _a.sent();
|
|
9705
|
+
if (resp.ok && resp.data) {
|
|
9706
|
+
setRowData(resp.data.tables[0].rows);
|
|
9707
|
+
setActions(resp.data.tables[1].rows);
|
|
9708
|
+
}
|
|
9709
|
+
else {
|
|
9710
|
+
setNotification("Failed to fetch data");
|
|
9711
|
+
}
|
|
9712
|
+
return [3 /*break*/, 3];
|
|
9713
|
+
case 2:
|
|
9714
|
+
error_1 = _a.sent();
|
|
9715
|
+
setNotification("Failed to fetch data");
|
|
9716
|
+
console.error("Fetch error:", error_1);
|
|
9717
|
+
return [3 /*break*/, 3];
|
|
9718
|
+
case 3: return [2 /*return*/];
|
|
9719
|
+
}
|
|
9720
|
+
});
|
|
9721
|
+
}); };
|
|
9722
|
+
useEffect(function () {
|
|
9723
|
+
fetchData();
|
|
9724
|
+
}, []);
|
|
9725
|
+
var handleAdd = function () {
|
|
9726
|
+
reset({
|
|
9727
|
+
source: null,
|
|
9728
|
+
targets: []
|
|
9729
|
+
});
|
|
9730
|
+
setModal("add");
|
|
9731
|
+
};
|
|
9732
|
+
var handleEdit = function (row) {
|
|
9733
|
+
setSelectedRow(row);
|
|
9734
|
+
var targetsIds = row.TargetsCSV.split(",").map(Number);
|
|
9735
|
+
reset({
|
|
9736
|
+
source: actions.find(function (a) { return a.ActionId === row.SourceId; }) || null,
|
|
9737
|
+
targets: actions.filter(function (a) { return targetsIds.includes(a.ActionId); })
|
|
9738
|
+
});
|
|
9739
|
+
setModal("edit");
|
|
9740
|
+
};
|
|
9741
|
+
var onSubmit = function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9742
|
+
var api, resp, error_2;
|
|
9743
|
+
return __generator(this, function (_a) {
|
|
9744
|
+
switch (_a.label) {
|
|
9745
|
+
case 0:
|
|
9746
|
+
if (!data.source)
|
|
9747
|
+
return [2 /*return*/];
|
|
9748
|
+
setIsLoading(true);
|
|
9749
|
+
_a.label = 1;
|
|
9750
|
+
case 1:
|
|
9751
|
+
_a.trys.push([1, 3, , 4]);
|
|
9752
|
+
api = new MESApiService();
|
|
9753
|
+
return [4 /*yield*/, api.callV2("[SYSTEM].[UpsertQueryCacheInvalidations]", [
|
|
9754
|
+
{
|
|
9755
|
+
name: "SourceId",
|
|
9756
|
+
value: data.source.ActionId
|
|
9757
|
+
},
|
|
9758
|
+
{
|
|
9759
|
+
name: "TargetsCSV",
|
|
9760
|
+
value: data.targets.map(function (t) { return t.ActionId; }).join(",")
|
|
9761
|
+
},
|
|
9762
|
+
])];
|
|
9763
|
+
case 2:
|
|
9764
|
+
resp = _a.sent();
|
|
9765
|
+
if (resp.ok) {
|
|
9766
|
+
setNotification("Operation successful");
|
|
9767
|
+
setModal("");
|
|
9768
|
+
fetchData();
|
|
9769
|
+
}
|
|
9770
|
+
else {
|
|
9771
|
+
setNotification("Operation failed");
|
|
9772
|
+
}
|
|
9773
|
+
return [3 /*break*/, 4];
|
|
9774
|
+
case 3:
|
|
9775
|
+
error_2 = _a.sent();
|
|
9776
|
+
setNotification("Failed to perform operation");
|
|
9777
|
+
console.error("Operation error:", error_2);
|
|
9778
|
+
return [3 /*break*/, 4];
|
|
9779
|
+
case 4:
|
|
9780
|
+
setIsLoading(false);
|
|
9781
|
+
return [2 /*return*/];
|
|
9782
|
+
}
|
|
9783
|
+
});
|
|
9784
|
+
}); };
|
|
9785
|
+
return (React__default.createElement(Box, { className: classes.root },
|
|
9786
|
+
React__default.createElement(Box, { className: classes.header },
|
|
9787
|
+
React__default.createElement(Typography$1, { variant: "h4", component: "h2" }, "Query Cache Invalidations"),
|
|
9788
|
+
React__default.createElement(Button, { variant: "contained", color: "primary", onClick: handleAdd }, "Add New")),
|
|
9789
|
+
React__default.createElement(Box, { className: "".concat(classes.gridContainer, " ag-theme-material") },
|
|
9790
|
+
React__default.createElement(AgGridReact, { rowData: rowData, columnDefs: columnDefs, defaultColDef: { flex: 1 } })),
|
|
9791
|
+
React__default.createElement(MesfModal, { title: modal === "add" ? "Add Cache Invalidation" : "Edit Cache Invalidation", open: ["add", "edit"].includes(modal), handleClose: function () { return setModal(""); } },
|
|
9792
|
+
React__default.createElement("form", { onSubmit: handleSubmit(onSubmit) },
|
|
9793
|
+
React__default.createElement(MesfModal.Content, { dividers: true },
|
|
9794
|
+
React__default.createElement(Grid, { container: true, spacing: 3 },
|
|
9795
|
+
React__default.createElement(Grid, { item: true, xs: 12 },
|
|
9796
|
+
React__default.createElement(Controller, { control: control, name: "source", render: function (params) { return (React__default.createElement(Autocomplete, { options: actions, getOptionLabel: function (option) { return "".concat(option.ActionName); }, value: params.field.value, onChange: function (_, value) { return params.field.onChange(value); }, renderInput: function (params) { return (React__default.createElement(TextField, __assign({}, params, { label: "Select Source Action", variant: "outlined" }))); }, className: classes.autocomplete, disabled: modal === "edit" })); } })),
|
|
9797
|
+
React__default.createElement(Grid, { item: true, xs: 12 },
|
|
9798
|
+
React__default.createElement(Controller, { control: control, name: "targets", render: function (params) { return (React__default.createElement(Autocomplete, { multiple: true, options: actions.filter(function (a) { var _a; return a.ActionId !== ((_a = control._formValues.source) === null || _a === void 0 ? void 0 : _a.ActionId); }), getOptionLabel: function (option) { return option.ActionName; }, value: params.field.value, onChange: function (_, value) {
|
|
9799
|
+
params.field.onChange(value);
|
|
9800
|
+
}, renderInput: function (params) { return (React__default.createElement(TextField, __assign({}, params, { label: "Select Target Actions", variant: "outlined" }))); }, className: classes.autocomplete })); } })))),
|
|
9801
|
+
React__default.createElement(MesfModal.Actions, null,
|
|
9802
|
+
React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
|
|
9803
|
+
React__default.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
|
|
9804
|
+
React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return setModal(""); } }, "Cancel")),
|
|
9805
|
+
React__default.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
|
|
9806
|
+
React__default.createElement(Button, { fullWidth: true, startIcon: isLoading && React__default.createElement(CircularProgress, { size: "1rem" }), disabled: isLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))))));
|
|
9807
|
+
};
|
|
9808
|
+
|
|
9525
9809
|
var SettingsInitialState = {
|
|
9526
9810
|
settings: [],
|
|
9527
9811
|
settingSelected: null
|
|
@@ -10302,6 +10586,16 @@ function Configuration() {
|
|
|
10302
10586
|
path: "settings",
|
|
10303
10587
|
sidebar: function () { return React__default.createElement("div", null, "Settings"); },
|
|
10304
10588
|
main: function () { return React__default.createElement(Settings, null); }
|
|
10589
|
+
},
|
|
10590
|
+
{
|
|
10591
|
+
path: "real-time/client",
|
|
10592
|
+
sidebar: function () { return React__default.createElement("div", null, "Client"); },
|
|
10593
|
+
main: function () { return React__default.createElement(ChatComponent, null); }
|
|
10594
|
+
},
|
|
10595
|
+
{
|
|
10596
|
+
path: "real-time/config",
|
|
10597
|
+
sidebar: function () { return React__default.createElement("div", null, "Config"); },
|
|
10598
|
+
main: function () { return React__default.createElement(QueryCacheInvalidations, null); }
|
|
10305
10599
|
}
|
|
10306
10600
|
], customConfiguration, true);
|
|
10307
10601
|
return (React__default.createElement(GenericPanel, { title: "Configuration", description: "" },
|
|
@@ -10320,6 +10614,12 @@ function Configuration() {
|
|
|
10320
10614
|
React__default.createElement(MenuItem, { selected: option === "profiles", className: "p-0" },
|
|
10321
10615
|
React__default.createElement(Link, { to: "/configuration/profiles", className: "nav-link" }, "Profiles"))),
|
|
10322
10616
|
React__default.createElement(CustomSidebar, { option: option }),
|
|
10617
|
+
React__default.createElement("h3", { className: "mes-menu-group" }, "Real Time"),
|
|
10618
|
+
React__default.createElement(MenuList, { className: "mes-submenu" },
|
|
10619
|
+
React__default.createElement(MenuItem, { selected: option === "real-time", className: "p-0" },
|
|
10620
|
+
React__default.createElement(Link, { to: "/configuration/real-time/client", className: "nav-link" }, "Client")),
|
|
10621
|
+
React__default.createElement(MenuItem, { selected: option === "real-time", className: "p-0" },
|
|
10622
|
+
React__default.createElement(Link, { to: "/configuration/real-time/config", className: "nav-link" }, "Config"))),
|
|
10323
10623
|
React__default.createElement("h3", { className: "mes-menu-group" }, "Maintenance"),
|
|
10324
10624
|
React__default.createElement(MenuList, { className: "mes-submenu" },
|
|
10325
10625
|
React__default.createElement(MenuItem, { selected: option === "logs", className: "p-0" },
|
|
@@ -13469,5 +13769,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
|
|
|
13469
13769
|
AreaSelector: AreaSelector
|
|
13470
13770
|
});
|
|
13471
13771
|
|
|
13472
|
-
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, ContextMenu$1 as ContextMenu, ContextMenuMESFProvider, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useContextMenuMESF, useShiftNavigator, useShiftNavigatorManager, useStyles$
|
|
13772
|
+
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, ContextMenu$1 as ContextMenu, ContextMenuMESFProvider, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useContextMenuMESF, useShiftNavigator, useShiftNavigatorManager, useStyles$6 as useStyles, useToken, useUTLSettingsContext, useUserContext };
|
|
13473
13773
|
//# sourceMappingURL=index.esm.js.map
|