@dexteel/mesf-core 7.4.0 → 7.5.1
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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +24 -0
- package/dist/configuration/pages/shifCrew/repositories/ShiftsCrewsRepository.d.ts +1 -1
- package/dist/index.esm.js +252 -216
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/navigation/hooks/useDefaultAreaId.d.ts +0 -1
package/dist/index.esm.js
CHANGED
|
@@ -5,9 +5,9 @@ import { styled, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1,
|
|
|
5
5
|
import { useMutation, useQueryClient, useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import React__default, { createContext, useContext, useState, useRef, useEffect, useMemo, Component, useCallback, lazy, Suspense } from 'react';
|
|
8
|
+
import SearchIcon from '@mui/icons-material/Search';
|
|
9
|
+
import { AgGridReact } from 'ag-grid-react';
|
|
8
10
|
import CloseIcon from '@mui/icons-material/Close';
|
|
9
|
-
import Alert$4 from '@mui/lab/Alert';
|
|
10
|
-
import IconButton from '@mui/material/IconButton';
|
|
11
11
|
import GetAppIcon from '@mui/icons-material/GetApp';
|
|
12
12
|
import { ArrowRight, ArrowBackRounded, ArrowForwardRounded, SkipNext, ChevronLeft, ChevronRight, Cloud, Timeline, Send, Menu as Menu$1, People, Storage, Group, Assignment, Chat, ViewList, Build, Settings as Settings$2, FastRewind, FastForward, ZoomIn, Restore, Lock, Create, Delete, Folder, InsertChart, Search, PlaylistAdd, DragIndicator, Save, AttachFile, CloudUpload, GetApp } from '@mui/icons-material';
|
|
13
13
|
import { DatePicker as DatePicker$1 } from '@mui/x-date-pickers/DatePicker';
|
|
@@ -17,11 +17,6 @@ import { values, get, isNil, isEmpty, round, isNaN as isNaN$1, isNumber } from '
|
|
|
17
17
|
import moment$8 from 'moment';
|
|
18
18
|
import SkipNextIcon from '@mui/icons-material/SkipNext';
|
|
19
19
|
import { ClearIcon, DateTimePicker, LocalizationProvider, DatePicker, CalendarIcon, ArrowDropDownIcon } from '@mui/x-date-pickers';
|
|
20
|
-
import { Alert as Alert$2, AlertTitle, Autocomplete } from '@mui/lab';
|
|
21
|
-
import AccountCircleIcon from '@mui/icons-material/AccountCircle';
|
|
22
|
-
import { Helmet, HelmetProvider } from 'react-helmet-async';
|
|
23
|
-
import SearchIcon from '@mui/icons-material/Search';
|
|
24
|
-
import { AgGridReact } from 'ag-grid-react';
|
|
25
20
|
import { useForm, Controller } from 'react-hook-form';
|
|
26
21
|
import { createPart, themeMaterial, provideGlobalGridOptions } from 'ag-grid-community';
|
|
27
22
|
import DeleteIcon from '@mui/icons-material/Delete';
|
|
@@ -29,6 +24,19 @@ import EditIcon from '@mui/icons-material/Edit';
|
|
|
29
24
|
import PlaylistAddIcon from '@mui/icons-material/PlaylistAdd';
|
|
30
25
|
import FormatListBulletedSharpIcon from '@mui/icons-material/FormatListBulletedSharp';
|
|
31
26
|
import LockOutlinedIcon from '@mui/icons-material/LockOutlined';
|
|
27
|
+
import Alert$4 from '@mui/lab/Alert';
|
|
28
|
+
import IconButton from '@mui/material/IconButton';
|
|
29
|
+
import { Alert as Alert$2, AlertTitle, Autocomplete } from '@mui/lab';
|
|
30
|
+
import AccountCircleIcon from '@mui/icons-material/AccountCircle';
|
|
31
|
+
import { Helmet, HelmetProvider } from 'react-helmet-async';
|
|
32
|
+
import { isAncestor, Tree, DndProvider as DndProvider$1 } from '@minoru/react-dnd-treeview';
|
|
33
|
+
import AccountTreeIcon from '@mui/icons-material/AccountTree';
|
|
34
|
+
import Settings$1 from '@mui/icons-material/Settings';
|
|
35
|
+
import DescriptionIcon from '@mui/icons-material/Description';
|
|
36
|
+
import FolderIcon from '@mui/icons-material/Folder';
|
|
37
|
+
import ImageIcon from '@mui/icons-material/Image';
|
|
38
|
+
import ListAltIcon from '@mui/icons-material/ListAlt';
|
|
39
|
+
import FindInPageIcon from '@mui/icons-material/FindInPage';
|
|
32
40
|
import PersonOutlineIcon from '@mui/icons-material/PersonOutline';
|
|
33
41
|
import LockIcon from '@mui/icons-material/Lock';
|
|
34
42
|
import PersonIcon from '@mui/icons-material/Person';
|
|
@@ -44,13 +52,10 @@ import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
|
44
52
|
import { useComplexState } from 'use-complex-state';
|
|
45
53
|
import { createSlice } from '@reduxjs/toolkit';
|
|
46
54
|
import MenuIcon from '@mui/icons-material/Menu';
|
|
47
|
-
import Settings$1 from '@mui/icons-material/Settings';
|
|
48
55
|
import ShowChartIcon from '@mui/icons-material/ShowChart';
|
|
49
56
|
import axios from 'axios';
|
|
50
57
|
import { LocalizationProvider as LocalizationProvider$1 } from '@mui/x-date-pickers/LocalizationProvider';
|
|
51
58
|
import { DataGrid, GridOverlay } from '@mui/x-data-grid';
|
|
52
|
-
import { isAncestor, Tree, DndProvider as DndProvider$1 } from '@minoru/react-dnd-treeview';
|
|
53
|
-
import FolderIcon from '@mui/icons-material/Folder';
|
|
54
59
|
import InsertChartIcon from '@mui/icons-material/InsertChart';
|
|
55
60
|
import ReactECharts from 'echarts-for-react';
|
|
56
61
|
import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
|
|
@@ -66,7 +71,6 @@ import MarkdownIt from 'markdown-it';
|
|
|
66
71
|
import MdEditor, { PluginComponent } from 'react-markdown-editor-lite';
|
|
67
72
|
import 'react-markdown-editor-lite/lib/index.css';
|
|
68
73
|
import { useDropzone } from 'react-dropzone';
|
|
69
|
-
import AccountTreeIcon from '@mui/icons-material/AccountTree';
|
|
70
74
|
import PersonPinCircleIcon from '@mui/icons-material/PersonPinCircle';
|
|
71
75
|
import Dialog from '@mui/material/Dialog';
|
|
72
76
|
import Typography from '@mui/material/Typography';
|
|
@@ -76,10 +80,6 @@ import { TreeItem, SimpleTreeView } from '@mui/x-tree-view';
|
|
|
76
80
|
import '@react-spring/web';
|
|
77
81
|
import { format, fromZonedTime, formatInTimeZone } from 'date-fns-tz';
|
|
78
82
|
import { findIana } from 'windows-iana';
|
|
79
|
-
import DescriptionIcon from '@mui/icons-material/Description';
|
|
80
|
-
import ImageIcon from '@mui/icons-material/Image';
|
|
81
|
-
import ListAltIcon from '@mui/icons-material/ListAlt';
|
|
82
|
-
import FindInPageIcon from '@mui/icons-material/FindInPage';
|
|
83
83
|
|
|
84
84
|
/******************************************************************************
|
|
85
85
|
Copyright (c) Microsoft Corporation.
|
|
@@ -958,24 +958,16 @@ function findNameById(node, id) {
|
|
|
958
958
|
}
|
|
959
959
|
return null;
|
|
960
960
|
}
|
|
961
|
-
function getNodePath(node, nodeId, parentPath
|
|
961
|
+
function getNodePath(node, nodeId, parentPath) {
|
|
962
962
|
if (parentPath === void 0) { parentPath = ""; }
|
|
963
|
-
|
|
963
|
+
var currentPath = parentPath ? "".concat(parentPath, "/").concat(node.name) : node.name;
|
|
964
964
|
if (node.id === nodeId) {
|
|
965
|
-
|
|
966
|
-
return "";
|
|
967
|
-
}
|
|
968
|
-
return parentPath ? "".concat(parentPath, "/").concat(node.name) : node.name;
|
|
965
|
+
return currentPath;
|
|
969
966
|
}
|
|
970
967
|
if (node.children && node.children.length > 0) {
|
|
971
968
|
for (var _i = 0, _a = node.children; _i < _a.length; _i++) {
|
|
972
969
|
var child = _a[_i];
|
|
973
|
-
var
|
|
974
|
-
? ""
|
|
975
|
-
: parentPath
|
|
976
|
-
? "".concat(parentPath, "/").concat(node.name)
|
|
977
|
-
: node.name;
|
|
978
|
-
var foundPath = getNodePath(child, nodeId, currentPath, false);
|
|
970
|
+
var foundPath = getNodePath(child, nodeId, currentPath);
|
|
979
971
|
if (foundPath !== null) {
|
|
980
972
|
return foundPath;
|
|
981
973
|
}
|
|
@@ -1038,7 +1030,7 @@ var TreePickerControlV2 = function (props) {
|
|
|
1038
1030
|
left: 0,
|
|
1039
1031
|
right: 0,
|
|
1040
1032
|
cursor: "pointer",
|
|
1041
|
-
}, onClick: handleClickListItem }))) : (React__default.createElement("div", null)),
|
|
1033
|
+
}, title: fullPath, onClick: handleClickListItem }))) : (React__default.createElement("div", null)),
|
|
1042
1034
|
React__default.createElement(Grid2, { size: { xs: 12, md: 12 } },
|
|
1043
1035
|
React__default.createElement(ModalTreeFilterControl, __assign({ classes: {
|
|
1044
1036
|
paper: {
|
|
@@ -2833,7 +2825,7 @@ var CreateProfile = function (_a) {
|
|
|
2833
2825
|
React.createElement(Button, { fullWidth: true, variant: "contained", color: "inherit", onClick: function () { return onHide(false); } }, "Cancel")),
|
|
2834
2826
|
React.createElement(Grid2, { size: { md: 3, xs: 12 }, style: { margin: 0 } },
|
|
2835
2827
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))))),
|
|
2836
|
-
React.createElement(Snackbar, { open: openSnackbar, autoHideDuration: 2500, onClose: handleClose },
|
|
2828
|
+
React.createElement(Snackbar, { open: openSnackbar, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
2837
2829
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, message)),
|
|
2838
2830
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Creating Profile" })));
|
|
2839
2831
|
};
|
|
@@ -2912,7 +2904,7 @@ var DeleteProfile = function (_a) {
|
|
|
2912
2904
|
React__default.createElement(DialogActions$1, { style: { padding: "16px 24px" } },
|
|
2913
2905
|
React__default.createElement(Button, { onClick: function () { return setDeleteAlert(false); }, autoFocus: true, color: "inherit" }, "CANCEL"),
|
|
2914
2906
|
React__default.createElement(Button, { startIcon: isSubmitLoading && React__default.createElement(CircularProgress, { size: "1rem" }), autoFocus: true, color: "secondary", onClick: function () { return onDelete(profile === null || profile === void 0 ? void 0 : profile.ProfileId); } }, "Delete"))))),
|
|
2915
|
-
React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
2907
|
+
React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
2916
2908
|
React__default.createElement(Alert, { severity: "success", onClose: handleClose }, "The profile was deleted successfully")),
|
|
2917
2909
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Deleting Profile" })));
|
|
2918
2910
|
};
|
|
@@ -3160,9 +3152,9 @@ var ActionsOfProfile = function (_a) {
|
|
|
3160
3152
|
React.createElement(Button, { fullWidth: true, variant: "contained", color: "inherit", onClick: function () { return onHide(false); } }, "Cancel")),
|
|
3161
3153
|
React.createElement(Grid2, { size: { md: 3, xs: 12 }, style: { margin: 0 } },
|
|
3162
3154
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))))),
|
|
3163
|
-
React.createElement(Snackbar, { open: showActionsSnackbar, autoHideDuration: 2500, onClose: handleClose },
|
|
3155
|
+
React.createElement(Snackbar, { open: showActionsSnackbar, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
3164
3156
|
React.createElement(Alert, { severity: "info", onClose: handleClose }, "The actions of the profile were edited successfully")),
|
|
3165
|
-
React.createElement(Snackbar, { open: showNameSnackbar, autoHideDuration: 2500, onClose: handleClose },
|
|
3157
|
+
React.createElement(Snackbar, { open: showNameSnackbar, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
3166
3158
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The name of the profile were edited successfully")),
|
|
3167
3159
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Editing Profile" }),
|
|
3168
3160
|
React.createElement(ErrorModal, { error: nameError, onHide: function () { return setNameError(""); }, title: "Error Editing Profile" })));
|
|
@@ -3449,31 +3441,39 @@ var getShiftParameters = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
3449
3441
|
}
|
|
3450
3442
|
});
|
|
3451
3443
|
}); };
|
|
3452
|
-
var upsertShiftParameters = function (_a) {
|
|
3453
|
-
var
|
|
3454
|
-
var
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3444
|
+
var upsertShiftParameters = function (_a) {
|
|
3445
|
+
var args_1 = [];
|
|
3446
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
3447
|
+
args_1[_i - 1] = arguments[_i];
|
|
3448
|
+
}
|
|
3449
|
+
return __awaiter(void 0, __spreadArray([_a], args_1, true), void 0, function (_b, isUpdate) {
|
|
3450
|
+
var apiService, parameters, resp;
|
|
3451
|
+
var PatternStart = _b.PatternStart, ShiftCodes = _b.ShiftCodes, Crews = _b.Crews, CrewRotation = _b.CrewRotation, Comments = _b.Comments;
|
|
3452
|
+
if (isUpdate === void 0) { isUpdate = false; }
|
|
3453
|
+
return __generator(this, function (_c) {
|
|
3454
|
+
switch (_c.label) {
|
|
3455
|
+
case 0:
|
|
3456
|
+
apiService = new MESApiService();
|
|
3457
|
+
parameters = [
|
|
3458
|
+
{ name: "AssetId", value: null },
|
|
3459
|
+
{ name: "PatternStart", value: PatternStart },
|
|
3460
|
+
{ name: "ShiftCodes", value: ShiftCodes },
|
|
3461
|
+
{ name: "Crews", value: Crews },
|
|
3462
|
+
{ name: "CrewRotation", value: CrewRotation },
|
|
3463
|
+
{ name: "Comments", value: Comments },
|
|
3464
|
+
{ name: "IsUpdate", value: isUpdate },
|
|
3465
|
+
];
|
|
3466
|
+
return [4 /*yield*/, apiService.callV2("[MES].[UpsertShiftParameters]", parameters)];
|
|
3467
|
+
case 1:
|
|
3468
|
+
resp = _c.sent();
|
|
3469
|
+
if (!resp.ok) {
|
|
3470
|
+
throw new Error(resp.message || "Error when upsert shift");
|
|
3471
|
+
}
|
|
3472
|
+
return [2 /*return*/];
|
|
3473
|
+
}
|
|
3474
|
+
});
|
|
3475
3475
|
});
|
|
3476
|
-
}
|
|
3476
|
+
};
|
|
3477
3477
|
var deleteShiftParameters = function (PatternStart) { return __awaiter(void 0, void 0, void 0, function () {
|
|
3478
3478
|
var apiService, parameters, resp;
|
|
3479
3479
|
return __generator(this, function (_a) {
|
|
@@ -3721,7 +3721,7 @@ var CreateShift = function (_a) {
|
|
|
3721
3721
|
React.createElement(Grid2, { size: { md: 3, xs: 12 } },
|
|
3722
3722
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))),
|
|
3723
3723
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Creating Shift" }),
|
|
3724
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
3724
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
3725
3725
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The shift was created successfully"))));
|
|
3726
3726
|
};
|
|
3727
3727
|
|
|
@@ -3877,7 +3877,7 @@ var DeleteShift = function (_a) {
|
|
|
3877
3877
|
React.createElement(Button, { onClick: function () { return setDeleteAlert(false); }, autoFocus: true, color: "inherit" }, "CANCEL"),
|
|
3878
3878
|
React.createElement(Button, { startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), autoFocus: true, color: "secondary", onClick: function () { return onDelete(patternStart); } }, "Delete"))))),
|
|
3879
3879
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }),
|
|
3880
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
3880
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
3881
3881
|
React.createElement(Alert, { severity: "warning", onClose: handleClose }, "The shift was deleted successfully"))));
|
|
3882
3882
|
};
|
|
3883
3883
|
|
|
@@ -3894,7 +3894,10 @@ var EditShift = function (_a) {
|
|
|
3894
3894
|
return ((crewRotation === null || crewRotation === void 0 ? void 0 : crewRotation.length) / maxCrewRotationLength) * 100;
|
|
3895
3895
|
};
|
|
3896
3896
|
var createShift = useMutation({
|
|
3897
|
-
mutationFn:
|
|
3897
|
+
mutationFn: function (_a) {
|
|
3898
|
+
var shiftData = _a.shiftData, isUpdate = _a.isUpdate;
|
|
3899
|
+
return upsertShiftParameters(shiftData, isUpdate);
|
|
3900
|
+
},
|
|
3898
3901
|
onSuccess: function () {
|
|
3899
3902
|
setOpen(true);
|
|
3900
3903
|
onHide(true);
|
|
@@ -3911,7 +3914,7 @@ var EditShift = function (_a) {
|
|
|
3911
3914
|
switch (_a.label) {
|
|
3912
3915
|
case 0:
|
|
3913
3916
|
setIsSubmitLoading(true);
|
|
3914
|
-
return [4 /*yield*/, createShift.mutate(data)];
|
|
3917
|
+
return [4 /*yield*/, createShift.mutate({ shiftData: data, isUpdate: true })];
|
|
3915
3918
|
case 1:
|
|
3916
3919
|
_a.sent();
|
|
3917
3920
|
return [2 /*return*/];
|
|
@@ -4106,7 +4109,7 @@ var EditShift = function (_a) {
|
|
|
4106
4109
|
React.createElement(Grid2, { size: { md: 3, xs: 12 }, style: { margin: 0 } },
|
|
4107
4110
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))),
|
|
4108
4111
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }),
|
|
4109
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
4112
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
4110
4113
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The shift was created successfully"))));
|
|
4111
4114
|
};
|
|
4112
4115
|
|
|
@@ -5756,7 +5759,7 @@ var TreeAsset = function () {
|
|
|
5756
5759
|
}
|
|
5757
5760
|
return (React__default.createElement(CustomDragPreview$1, { monitorProps: monitorProps }));
|
|
5758
5761
|
} }))))))),
|
|
5759
|
-
React__default.createElement(Snackbar, { open: updatedSuccessfullyMessage, autoHideDuration: 2500, onClose: handleClose },
|
|
5762
|
+
React__default.createElement(Snackbar, { open: updatedSuccessfullyMessage, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
5760
5763
|
React__default.createElement(Alert$2, { severity: "success", onClose: handleClose }, "Asset updated successfully")),
|
|
5761
5764
|
React__default.createElement(CreateNewAssetDialog, { assetNodeSelectedInTree: assetNodeSelectedInTree, show: showDialog === "new", onHide: function (shouldUpdate) { return __awaiter(void 0, void 0, void 0, function () {
|
|
5762
5765
|
return __generator(this, function (_a) {
|
|
@@ -7740,79 +7743,34 @@ var INITIAL_VALUES$1 = {
|
|
|
7740
7743
|
Permissions: [],
|
|
7741
7744
|
};
|
|
7742
7745
|
|
|
7743
|
-
var AssetInitialState = {
|
|
7744
|
-
areasList: [],
|
|
7745
|
-
allAssets: [],
|
|
7746
|
-
plantAssetId: 1,
|
|
7747
|
-
};
|
|
7748
|
-
var AssetReducer = createSlice({
|
|
7749
|
-
name: "__",
|
|
7750
|
-
initialState: AssetInitialState,
|
|
7751
|
-
reducers: {
|
|
7752
|
-
setAreasList: function (state, _a) {
|
|
7753
|
-
var payload = _a.payload;
|
|
7754
|
-
state.areasList = payload;
|
|
7755
|
-
},
|
|
7756
|
-
setAllAssets: function (state, _a) {
|
|
7757
|
-
var payload = _a.payload;
|
|
7758
|
-
state.allAssets = payload;
|
|
7759
|
-
},
|
|
7760
|
-
setPlantAssetId: function (state, _a) {
|
|
7761
|
-
var payload = _a.payload;
|
|
7762
|
-
state.plantAssetId = payload;
|
|
7763
|
-
},
|
|
7764
|
-
},
|
|
7765
|
-
});
|
|
7766
|
-
|
|
7767
|
-
var AssetContext = createContext({
|
|
7768
|
-
state: AssetReducer.getInitialState(),
|
|
7769
|
-
actions: AssetReducer.actions,
|
|
7770
|
-
});
|
|
7771
|
-
var useAssetContext = function () { return useContext(AssetContext); };
|
|
7772
|
-
var AssetProvider = function (_a) {
|
|
7773
|
-
var children = _a.children, _b = _a.plantAssetId, plantAssetId = _b === void 0 ? 1 : _b;
|
|
7774
|
-
var _c = useComplexState({
|
|
7775
|
-
initialState: {
|
|
7776
|
-
areasList: [],
|
|
7777
|
-
allAssets: [],
|
|
7778
|
-
plantAssetId: plantAssetId,
|
|
7779
|
-
},
|
|
7780
|
-
reducers: AssetReducer.caseReducers,
|
|
7781
|
-
}), state = _c[0], actions = _c[1];
|
|
7782
|
-
return (React__default.createElement(AssetContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
7783
|
-
};
|
|
7784
|
-
|
|
7785
7746
|
var AssetSelector = function (_a) {
|
|
7786
7747
|
var value = _a.value, onChange = _a.onChange, _b = _a.disabled, disabled = _b === void 0 ? false : _b;
|
|
7787
|
-
var _c =
|
|
7788
|
-
var
|
|
7789
|
-
var
|
|
7790
|
-
if (!hasAssets) {
|
|
7791
|
-
return "";
|
|
7792
|
-
}
|
|
7793
|
-
if (isNil(value)) {
|
|
7794
|
-
return plantAssetId;
|
|
7795
|
-
}
|
|
7796
|
-
return value;
|
|
7797
|
-
}, [value, hasAssets, plantAssetId]);
|
|
7748
|
+
var _c = searchAssets(), assets = _c.data, isLoading = _c.isLoading;
|
|
7749
|
+
var areasList = React__default.useMemo(function () { var _a; return (_a = assets === null || assets === void 0 ? void 0 : assets.filter(function (a) { return a.CanBeDefaultAsset; })) !== null && _a !== void 0 ? _a : []; }, [assets]);
|
|
7750
|
+
var hasAssets = areasList.length > 0;
|
|
7798
7751
|
var handleChange = function (event) {
|
|
7799
7752
|
var selectedValue = event.target.value;
|
|
7800
|
-
if (selectedValue === "") {
|
|
7753
|
+
if (selectedValue === "" || selectedValue === 0) {
|
|
7801
7754
|
onChange(null);
|
|
7802
7755
|
}
|
|
7803
7756
|
else {
|
|
7804
7757
|
onChange(Number(selectedValue));
|
|
7805
7758
|
}
|
|
7806
7759
|
};
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7760
|
+
if (isLoading) {
|
|
7761
|
+
return (React__default.createElement(FormControl, { variant: "outlined", fullWidth: true, size: "small", disabled: true },
|
|
7762
|
+
React__default.createElement(InputLabel, null, "Default Asset"),
|
|
7763
|
+
React__default.createElement(Select, { value: "", label: "Default Asset" },
|
|
7764
|
+
React__default.createElement(MenuItem, { value: "" },
|
|
7765
|
+
React__default.createElement(CircularProgress, { size: 20 })))));
|
|
7766
|
+
}
|
|
7812
7767
|
return (React__default.createElement(FormControl, { variant: "outlined", fullWidth: true, size: "small", disabled: disabled },
|
|
7813
7768
|
React__default.createElement(InputLabel, null, "Default Asset"),
|
|
7814
|
-
React__default.createElement(Select, { value:
|
|
7815
|
-
React__default.createElement(
|
|
7769
|
+
React__default.createElement(Select, { value: isNil(value) ? "" : value, onChange: handleChange, label: "Default Asset" },
|
|
7770
|
+
React__default.createElement(MenuItem, { value: "" },
|
|
7771
|
+
React__default.createElement("em", null, "None")),
|
|
7772
|
+
hasAssets &&
|
|
7773
|
+
areasList.map(function (area) { return (React__default.createElement(MenuItem, { key: area === null || area === void 0 ? void 0 : area.AssetId, value: area === null || area === void 0 ? void 0 : area.AssetId }, area === null || area === void 0 ? void 0 : area.AssetName)); }))));
|
|
7816
7774
|
};
|
|
7817
7775
|
|
|
7818
7776
|
var searchAuthTypes = function () {
|
|
@@ -7936,12 +7894,36 @@ var CreateUser = function (_a) {
|
|
|
7936
7894
|
setOpen(false);
|
|
7937
7895
|
};
|
|
7938
7896
|
var UserName = watch("UserName");
|
|
7897
|
+
var profilesIds = watch("ProfilesId");
|
|
7898
|
+
var setProfiles = useMutation({
|
|
7899
|
+
mutationFn: setProfilesToUser,
|
|
7900
|
+
onError: function (error) {
|
|
7901
|
+
setError(error.message);
|
|
7902
|
+
},
|
|
7903
|
+
});
|
|
7939
7904
|
var createUser = useMutation({
|
|
7940
7905
|
mutationFn: upsertUser,
|
|
7941
|
-
onSuccess: function () {
|
|
7942
|
-
|
|
7943
|
-
|
|
7944
|
-
|
|
7906
|
+
onSuccess: function (userCreatedId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7907
|
+
return __generator(this, function (_a) {
|
|
7908
|
+
switch (_a.label) {
|
|
7909
|
+
case 0:
|
|
7910
|
+
_a.trys.push([0, 2, , 3]);
|
|
7911
|
+
return [4 /*yield*/, setProfiles.mutateAsync({
|
|
7912
|
+
UserId: userCreatedId,
|
|
7913
|
+
profileIds: profilesIds,
|
|
7914
|
+
})];
|
|
7915
|
+
case 1:
|
|
7916
|
+
_a.sent();
|
|
7917
|
+
setOpen(true);
|
|
7918
|
+
onHide(true);
|
|
7919
|
+
return [3 /*break*/, 3];
|
|
7920
|
+
case 2:
|
|
7921
|
+
_a.sent();
|
|
7922
|
+
return [3 /*break*/, 3];
|
|
7923
|
+
case 3: return [2 /*return*/];
|
|
7924
|
+
}
|
|
7925
|
+
});
|
|
7926
|
+
}); },
|
|
7945
7927
|
onError: function (error) {
|
|
7946
7928
|
setError(error.message);
|
|
7947
7929
|
},
|
|
@@ -8017,7 +7999,7 @@ var CreateUser = function (_a) {
|
|
|
8017
7999
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))),
|
|
8018
8000
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Creating User" }),
|
|
8019
8001
|
React.createElement(ErrorModal, { error: profileError, onHide: function () { return setprofileError(""); }, title: "Error Choosing Profile" })),
|
|
8020
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
8002
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
8021
8003
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The user was created successfully"))));
|
|
8022
8004
|
};
|
|
8023
8005
|
|
|
@@ -8135,7 +8117,7 @@ var DeleteUser = function (_a) {
|
|
|
8135
8117
|
React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "inherit", onClick: function () { return onHide(false); } }, "CANCEL")),
|
|
8136
8118
|
React__default.createElement(Grid2, { size: { md: 3, xs: 12 }, style: { margin: 0 } },
|
|
8137
8119
|
React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "secondary", onClick: function () { return setDeleteAlert(true); } }, "DELETE")))))),
|
|
8138
|
-
React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
8120
|
+
React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
8139
8121
|
React__default.createElement(Alert, { severity: "warning", onClose: handleClose }, "The user was deleted successfully")),
|
|
8140
8122
|
React__default.createElement(MesfModal, { open: deleteAlert, title: "WARNING", handleClose: function () { return handleClose(); }, id: "responsive-dialog-title" },
|
|
8141
8123
|
React__default.createElement(MesfModal.Content, null, "Be careful, once deleted you will not be able to recover this user, are you sure you want to delete it?"),
|
|
@@ -8254,15 +8236,15 @@ var UserProvider = function (_a) {
|
|
|
8254
8236
|
return get(userData, "id", null);
|
|
8255
8237
|
};
|
|
8256
8238
|
var getUserPermissions = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8257
|
-
var userId, resp, permissionsArray, profilesArray, error_1;
|
|
8239
|
+
var userId, resp, permissionsArray, profilesArray, userDataResp, userData, error_1;
|
|
8258
8240
|
return __generator(this, function (_a) {
|
|
8259
8241
|
switch (_a.label) {
|
|
8260
8242
|
case 0:
|
|
8261
8243
|
userId = getUserId();
|
|
8262
|
-
if (!userId) return [3 /*break*/,
|
|
8244
|
+
if (!userId) return [3 /*break*/, 5];
|
|
8263
8245
|
_a.label = 1;
|
|
8264
8246
|
case 1:
|
|
8265
|
-
_a.trys.push([1,
|
|
8247
|
+
_a.trys.push([1, 4, , 5]);
|
|
8266
8248
|
return [4 /*yield*/, getUserPermissionsFromAPI({
|
|
8267
8249
|
UserId: userId,
|
|
8268
8250
|
})];
|
|
@@ -8278,12 +8260,22 @@ var UserProvider = function (_a) {
|
|
|
8278
8260
|
actions.setProfiles(profilesArray);
|
|
8279
8261
|
setProfilesLoaded(true);
|
|
8280
8262
|
}
|
|
8281
|
-
return [
|
|
8263
|
+
return [4 /*yield*/, getDataUser({ userId: userId })];
|
|
8282
8264
|
case 3:
|
|
8265
|
+
userDataResp = _a.sent();
|
|
8266
|
+
if (userDataResp && userDataResp.length > 0) {
|
|
8267
|
+
userData = userDataResp[0];
|
|
8268
|
+
if (typeof userData.DefaultAssetId === "number") {
|
|
8269
|
+
actions.setDefaultAreaId(userData.DefaultAssetId);
|
|
8270
|
+
}
|
|
8271
|
+
actions.setUserId(userId);
|
|
8272
|
+
}
|
|
8273
|
+
return [3 /*break*/, 5];
|
|
8274
|
+
case 4:
|
|
8283
8275
|
error_1 = _a.sent();
|
|
8284
8276
|
console.error("Failed to load permissions:", error_1);
|
|
8285
|
-
return [3 /*break*/,
|
|
8286
|
-
case
|
|
8277
|
+
return [3 /*break*/, 5];
|
|
8278
|
+
case 5: return [2 /*return*/];
|
|
8287
8279
|
}
|
|
8288
8280
|
});
|
|
8289
8281
|
}); };
|
|
@@ -8380,9 +8372,8 @@ var EditUser = function (_a) {
|
|
|
8380
8372
|
userId: userId,
|
|
8381
8373
|
}), rows = _j.data, isLoading = _j.isLoading, isError = _j.isError, e = _j.error, isSuccess = _j.isSuccess;
|
|
8382
8374
|
var getUserId = useToken().getUserId;
|
|
8383
|
-
var
|
|
8384
|
-
var _k =
|
|
8385
|
-
var _l = useForm({ defaultValues: INITIAL_VALUES$1 }), register = _l.register, control = _l.control, setValue = _l.setValue, handleSubmit = _l.handleSubmit, watch = _l.watch, errors = _l.formState.errors;
|
|
8375
|
+
var setDefaultAreaId = useUserContext().actions.setDefaultAreaId;
|
|
8376
|
+
var _k = useForm({ defaultValues: INITIAL_VALUES$1 }), register = _k.register, control = _k.control, setValue = _k.setValue, handleSubmit = _k.handleSubmit, watch = _k.watch, errors = _k.formState.errors;
|
|
8386
8377
|
var profilesIds = watch("ProfilesId");
|
|
8387
8378
|
var defaultAssetId = watch("DefaultAssetId");
|
|
8388
8379
|
var handleClose = function (event, reason) {
|
|
@@ -8400,26 +8391,29 @@ var EditUser = function (_a) {
|
|
|
8400
8391
|
var editUser = useMutation({
|
|
8401
8392
|
mutationFn: upsertUser,
|
|
8402
8393
|
onSuccess: function (userUpdatedId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8403
|
-
var currentLoggedUserId
|
|
8394
|
+
var currentLoggedUserId;
|
|
8404
8395
|
return __generator(this, function (_a) {
|
|
8405
8396
|
switch (_a.label) {
|
|
8406
|
-
case 0:
|
|
8407
|
-
|
|
8408
|
-
|
|
8409
|
-
|
|
8397
|
+
case 0:
|
|
8398
|
+
_a.trys.push([0, 2, , 3]);
|
|
8399
|
+
return [4 /*yield*/, setProfiles.mutateAsync({
|
|
8400
|
+
UserId: userUpdatedId,
|
|
8401
|
+
profileIds: profilesIds,
|
|
8402
|
+
})];
|
|
8410
8403
|
case 1:
|
|
8411
8404
|
_a.sent();
|
|
8412
8405
|
currentLoggedUserId = getUserId();
|
|
8413
|
-
if (currentLoggedUserId === userUpdatedId
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
setDefaultAreaId(defaultAssetId);
|
|
8417
|
-
setDefaultAreaName(selectedArea.AssetName);
|
|
8418
|
-
}
|
|
8406
|
+
if (currentLoggedUserId === userUpdatedId) {
|
|
8407
|
+
// Update context - the area-selector effect will update the name
|
|
8408
|
+
setDefaultAreaId(defaultAssetId);
|
|
8419
8409
|
}
|
|
8420
8410
|
onHide(true);
|
|
8421
8411
|
setOpen(true);
|
|
8422
|
-
return [
|
|
8412
|
+
return [3 /*break*/, 3];
|
|
8413
|
+
case 2:
|
|
8414
|
+
_a.sent();
|
|
8415
|
+
return [3 /*break*/, 3];
|
|
8416
|
+
case 3: return [2 /*return*/];
|
|
8423
8417
|
}
|
|
8424
8418
|
});
|
|
8425
8419
|
}); },
|
|
@@ -8516,7 +8510,7 @@ var EditUser = function (_a) {
|
|
|
8516
8510
|
React.createElement(Button, { fullWidth: true, variant: "contained", color: "inherit", onClick: function () { return onHide(false); } }, "Cancel")),
|
|
8517
8511
|
React.createElement(Grid2, { size: { md: 3, xs: 12 }, style: { margin: 0 } },
|
|
8518
8512
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading ? React.createElement(CircularProgress, { size: "1rem" }) : React.createElement(React.Fragment, null), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))),
|
|
8519
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
8513
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
8520
8514
|
React.createElement(Alert, { severity: "info", onClose: handleClose }, "The user was edited successfully")),
|
|
8521
8515
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Editing User" }),
|
|
8522
8516
|
React.createElement(ErrorModal, { error: profileError, onHide: function () { return setprofileError(""); }, title: "Error Choosing Profile" })));
|
|
@@ -8853,12 +8847,8 @@ var searchUser = function (_a) {
|
|
|
8853
8847
|
var userId = _a.userId;
|
|
8854
8848
|
return useQuery({
|
|
8855
8849
|
queryKey: ["user", userId],
|
|
8856
|
-
queryFn: function () {
|
|
8857
|
-
|
|
8858
|
-
return getDataUser({ userId: userId });
|
|
8859
|
-
}
|
|
8860
|
-
return [];
|
|
8861
|
-
},
|
|
8850
|
+
queryFn: function () { return getDataUser({ userId: userId }); },
|
|
8851
|
+
enabled: !!userId,
|
|
8862
8852
|
});
|
|
8863
8853
|
};
|
|
8864
8854
|
var Users = function () {
|
|
@@ -9306,7 +9296,7 @@ var LoginWithEmailAndPassword = function () {
|
|
|
9306
9296
|
boxShadow: function (theme) { return theme.shadows[4]; },
|
|
9307
9297
|
},
|
|
9308
9298
|
}, disabled: password.length === 0 || username.length === 0 }, "Login"),
|
|
9309
|
-
React__default.createElement(Snackbar, { open: showError, autoHideDuration: 6000, onClose: handleCloseError, anchorOrigin: { vertical: "
|
|
9299
|
+
React__default.createElement(Snackbar, { open: showError, autoHideDuration: 6000, onClose: handleCloseError, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
9310
9300
|
React__default.createElement(Alert$2, { severity: "error", variant: "filled", onClose: handleCloseError, action: React__default.createElement(IconButton$1, { size: "small", "aria-label": "close", color: "inherit", onClick: handleCloseError },
|
|
9311
9301
|
React__default.createElement(CloseIcon, { fontSize: "small" })) },
|
|
9312
9302
|
React__default.createElement(Typography$1, { variant: "subtitle2", style: { fontWeight: "bold" } }, "Bad credentials"),
|
|
@@ -9632,7 +9622,7 @@ function Login(_a) {
|
|
|
9632
9622
|
React__default.createElement(LoginWithWindowsAuthentication, null),
|
|
9633
9623
|
useAzureAD && (React__default.createElement(LoginWithAzureAD, { config: authConfig.AzureConfig })),
|
|
9634
9624
|
guestIsEnabled && React__default.createElement(LoginAsGuest, null))))))))),
|
|
9635
|
-
React__default.createElement(Snackbar, { open: open, autoHideDuration: 6000, onClose: handleClose, anchorOrigin: { vertical: "
|
|
9625
|
+
React__default.createElement(Snackbar, { open: open, autoHideDuration: 6000, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
9636
9626
|
React__default.createElement(Alert$2, { onClose: handleClose, severity: "info", variant: "filled" }, message))));
|
|
9637
9627
|
}
|
|
9638
9628
|
|
|
@@ -9736,6 +9726,48 @@ var ButtonWithLoading = function (_a) {
|
|
|
9736
9726
|
children));
|
|
9737
9727
|
};
|
|
9738
9728
|
|
|
9729
|
+
var AssetInitialState = {
|
|
9730
|
+
areasList: [],
|
|
9731
|
+
allAssets: [],
|
|
9732
|
+
plantAssetId: 1,
|
|
9733
|
+
};
|
|
9734
|
+
var AssetReducer = createSlice({
|
|
9735
|
+
name: "__",
|
|
9736
|
+
initialState: AssetInitialState,
|
|
9737
|
+
reducers: {
|
|
9738
|
+
setAreasList: function (state, _a) {
|
|
9739
|
+
var payload = _a.payload;
|
|
9740
|
+
state.areasList = payload;
|
|
9741
|
+
},
|
|
9742
|
+
setAllAssets: function (state, _a) {
|
|
9743
|
+
var payload = _a.payload;
|
|
9744
|
+
state.allAssets = payload;
|
|
9745
|
+
},
|
|
9746
|
+
setPlantAssetId: function (state, _a) {
|
|
9747
|
+
var payload = _a.payload;
|
|
9748
|
+
state.plantAssetId = payload;
|
|
9749
|
+
},
|
|
9750
|
+
},
|
|
9751
|
+
});
|
|
9752
|
+
|
|
9753
|
+
var AssetContext = createContext({
|
|
9754
|
+
state: AssetReducer.getInitialState(),
|
|
9755
|
+
actions: AssetReducer.actions,
|
|
9756
|
+
});
|
|
9757
|
+
var useAssetContext = function () { return useContext(AssetContext); };
|
|
9758
|
+
var AssetProvider = function (_a) {
|
|
9759
|
+
var children = _a.children, _b = _a.plantAssetId, plantAssetId = _b === void 0 ? 1 : _b;
|
|
9760
|
+
var _c = useComplexState({
|
|
9761
|
+
initialState: {
|
|
9762
|
+
areasList: [],
|
|
9763
|
+
allAssets: [],
|
|
9764
|
+
plantAssetId: plantAssetId,
|
|
9765
|
+
},
|
|
9766
|
+
reducers: AssetReducer.caseReducers,
|
|
9767
|
+
}), state = _c[0], actions = _c[1];
|
|
9768
|
+
return (React__default.createElement(AssetContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
9769
|
+
};
|
|
9770
|
+
|
|
9739
9771
|
var LogbookSettingsInitialState = {
|
|
9740
9772
|
entry: {
|
|
9741
9773
|
withAssetFilter: undefined,
|
|
@@ -10022,10 +10054,6 @@ var CreateSetting = function (_a) {
|
|
|
10022
10054
|
React.createElement(Grid2, { size: { xs: 12, md: 6 } },
|
|
10023
10055
|
React.createElement(Controller, { name: "Value", control: control, rules: {
|
|
10024
10056
|
required: "Value is required",
|
|
10025
|
-
pattern: {
|
|
10026
|
-
value: /^[A-Za-z0-9]+$/,
|
|
10027
|
-
message: "Only letters and numbers are allowed",
|
|
10028
|
-
},
|
|
10029
10057
|
}, render: function (_a) {
|
|
10030
10058
|
var field = _a.field, error = _a.fieldState.error;
|
|
10031
10059
|
return (React.createElement(TextField, __assign({}, field, { label: "Value", error: !!error, helperText: error ? error.message : null, autoComplete: "off" })));
|
|
@@ -10045,7 +10073,7 @@ var CreateSetting = function (_a) {
|
|
|
10045
10073
|
React.createElement(Grid2, { size: { md: 3, xs: 12 } },
|
|
10046
10074
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))))),
|
|
10047
10075
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error Creating Setting" }),
|
|
10048
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
10076
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
10049
10077
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The setting was created successfully"))));
|
|
10050
10078
|
};
|
|
10051
10079
|
|
|
@@ -10131,7 +10159,7 @@ var DeleteSetting = function (_a) {
|
|
|
10131
10159
|
React.createElement(Grid2, { size: { md: 3, xs: 12 } },
|
|
10132
10160
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "secondary", type: "submit" }, "Delete")))))))),
|
|
10133
10161
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error deleting Setting" }),
|
|
10134
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
10162
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
10135
10163
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The setting was deleted successfully"))));
|
|
10136
10164
|
};
|
|
10137
10165
|
|
|
@@ -10204,10 +10232,6 @@ var EditSetting = function (_a) {
|
|
|
10204
10232
|
React.createElement(Grid2, { size: { xs: 12, md: 6 } },
|
|
10205
10233
|
React.createElement(Controller, { name: "Value", control: control, rules: {
|
|
10206
10234
|
required: "Value is required",
|
|
10207
|
-
pattern: {
|
|
10208
|
-
value: /^[A-Za-z0-9]+$/,
|
|
10209
|
-
message: "Only letters and numbers are allowed",
|
|
10210
|
-
},
|
|
10211
10235
|
}, render: function (_a) {
|
|
10212
10236
|
var field = _a.field, error = _a.fieldState.error;
|
|
10213
10237
|
return (React.createElement(TextField, __assign({}, field, { label: "Value", error: !!error, helperText: error ? error.message : null, autoComplete: "off" })));
|
|
@@ -10227,7 +10251,7 @@ var EditSetting = function (_a) {
|
|
|
10227
10251
|
React.createElement(Grid2, { size: { md: 3, xs: 12 } },
|
|
10228
10252
|
React.createElement(Button, { fullWidth: true, startIcon: isSubmitLoading && React.createElement(CircularProgress, { size: "1rem" }), disabled: isSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))),
|
|
10229
10253
|
React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "Error updating Setting" }),
|
|
10230
|
-
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
10254
|
+
React.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
10231
10255
|
React.createElement(Alert, { severity: "success", onClose: handleClose }, "The setting was edited successfully"))));
|
|
10232
10256
|
};
|
|
10233
10257
|
|
|
@@ -11914,7 +11938,7 @@ var SaveUpdateDeleteViewModalV2 = function (_a) {
|
|
|
11914
11938
|
? "Save"
|
|
11915
11939
|
: "Save")))))),
|
|
11916
11940
|
React__default.createElement(ConfirmationDialogRaw, { title: "Confirmation", message: "Are you sure you want to delete permanently the view: ".concat((_d = (view || viewSelected)) === null || _d === void 0 ? void 0 : _d.ViewName, "?"), open: openDeleteDialog, onClose: deleteViewAction }),
|
|
11917
|
-
React__default.createElement(Snackbar, { open: snackbarOpen, autoHideDuration: 2500, onClose: handleSnackbarClose },
|
|
11941
|
+
React__default.createElement(Snackbar, { open: snackbarOpen, autoHideDuration: 2500, onClose: handleSnackbarClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
11918
11942
|
React__default.createElement(Alert$4, { elevation: 6, variant: "filled", severity: "success", onClose: handleSnackbarClose }, snackbarMessage)),
|
|
11919
11943
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
|
|
11920
11944
|
};
|
|
@@ -14536,11 +14560,17 @@ var TrendingChartV2 = function (_a) {
|
|
|
14536
14560
|
var useSeparateGrids = !opts.combinedView &&
|
|
14537
14561
|
processedData.analogTags.length > 0 &&
|
|
14538
14562
|
processedData.digitalTags.length > 0;
|
|
14539
|
-
// Generate a key that changes when grid structure changes
|
|
14563
|
+
// Generate a key that changes when grid structure changes or series count changes
|
|
14540
14564
|
// This forces React to remount the entire chart component, avoiding merge conflicts
|
|
14565
|
+
// Including series count ensures chart remounts when tags are added/removed
|
|
14541
14566
|
var chartKey = useMemo(function () {
|
|
14542
|
-
|
|
14543
|
-
|
|
14567
|
+
var seriesCount = processedData.analogSeries.length + processedData.digitalSeries.length;
|
|
14568
|
+
return "chart-".concat(useSeparateGrids ? "separate" : "combined", "-").concat(seriesCount);
|
|
14569
|
+
}, [
|
|
14570
|
+
useSeparateGrids,
|
|
14571
|
+
processedData.analogSeries.length,
|
|
14572
|
+
processedData.digitalSeries.length,
|
|
14573
|
+
]);
|
|
14544
14574
|
// Calculate cursor data (Y1, Y2, etc.)
|
|
14545
14575
|
var cursorData = useCursorData(cursor1Time, cursor2Time, series, viewTags);
|
|
14546
14576
|
// Update context with cursor data (use ref to prevent infinite loop)
|
|
@@ -17369,7 +17399,7 @@ var TableComponent = function (_a) {
|
|
|
17369
17399
|
setLoadViewOpen(false);
|
|
17370
17400
|
} })),
|
|
17371
17401
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }),
|
|
17372
|
-
React__default.createElement(Snackbar, { open: !!snackbarMessage, autoHideDuration: 800, onClose: handleCloseSnackbar },
|
|
17402
|
+
React__default.createElement(Snackbar, { open: !!snackbarMessage, autoHideDuration: 800, onClose: handleCloseSnackbar, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
17373
17403
|
React__default.createElement(Alert$3, { onClose: handleCloseSnackbar, severity: "success" }, snackbarMessage))));
|
|
17374
17404
|
};
|
|
17375
17405
|
|
|
@@ -19137,7 +19167,7 @@ var NotificationSnackBar = function (_a) {
|
|
|
19137
19167
|
useEffect(function () {
|
|
19138
19168
|
setOpen(!!message);
|
|
19139
19169
|
}, [message]);
|
|
19140
|
-
return (React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose },
|
|
19170
|
+
return (React__default.createElement(Snackbar, { open: open, autoHideDuration: 2500, onClose: handleClose, anchorOrigin: { vertical: "bottom", horizontal: "center" } },
|
|
19141
19171
|
React__default.createElement(Alert$4, { elevation: 6, variant: "filled", severity: severity, onClose: handleClose }, message)));
|
|
19142
19172
|
};
|
|
19143
19173
|
|
|
@@ -20048,6 +20078,7 @@ var Filters$1 = function (_a) {
|
|
|
20048
20078
|
var moment$3 = getMomentTz();
|
|
20049
20079
|
var Logbook$1 = function () {
|
|
20050
20080
|
var entry = useLogbookSettings().entry;
|
|
20081
|
+
var defaultAreaId = useUserContext().state.defaultAreaId;
|
|
20051
20082
|
var withAssetFilter = entry.withAssetFilter;
|
|
20052
20083
|
var filterAssets = entry.filterAssets;
|
|
20053
20084
|
var canEditAsset = entry.canEditAsset;
|
|
@@ -20069,7 +20100,8 @@ var Logbook$1 = function () {
|
|
|
20069
20100
|
var _b = useState(""), error = _b[0], setError = _b[1];
|
|
20070
20101
|
var _c = useState(""), show = _c[0], setShow = _c[1];
|
|
20071
20102
|
var _d = useState(""), quickFilter = _d[0], setQuickFilter = _d[1];
|
|
20072
|
-
var _e = useState(presetAssetId !== null && presetAssetId !== void 0 ? presetAssetId : null), assetId = _e[0], setAssetId = _e[1];
|
|
20103
|
+
var _e = useState(presetAssetId !== null && presetAssetId !== void 0 ? presetAssetId : (typeof defaultAreaId === "number" ? defaultAreaId : null)), assetId = _e[0], setAssetId = _e[1];
|
|
20104
|
+
var initializedAssetRef = useRef(false);
|
|
20073
20105
|
var _f = useState(null), selectedRowData = _f[0], setSelectedRowData = _f[1];
|
|
20074
20106
|
var _g = useState(false), showRemoveDialog = _g[0], setShowRemoveDialog = _g[1];
|
|
20075
20107
|
var _h = useContextMenuMESF(), registerConfig = _h.registerConfig, showContextMenu = _h.showContextMenu;
|
|
@@ -20210,6 +20242,15 @@ var Logbook$1 = function () {
|
|
|
20210
20242
|
setError(e.message);
|
|
20211
20243
|
}
|
|
20212
20244
|
}, [isError, e]);
|
|
20245
|
+
// Sync assetId with defaultAreaId when it becomes available (only once on initial load)
|
|
20246
|
+
useEffect(function () {
|
|
20247
|
+
if (!initializedAssetRef.current &&
|
|
20248
|
+
!presetAssetId &&
|
|
20249
|
+
typeof defaultAreaId === "number") {
|
|
20250
|
+
setAssetId(defaultAreaId);
|
|
20251
|
+
initializedAssetRef.current = true;
|
|
20252
|
+
}
|
|
20253
|
+
}, [defaultAreaId, presetAssetId]);
|
|
20213
20254
|
useEffect(function () {
|
|
20214
20255
|
if (shiftInfo) {
|
|
20215
20256
|
setShow("");
|
|
@@ -20670,6 +20711,7 @@ var Filters = function (_a) {
|
|
|
20670
20711
|
var moment$1 = getMomentTz();
|
|
20671
20712
|
var Logbook = function () {
|
|
20672
20713
|
var report = useLogbookSettings().report;
|
|
20714
|
+
var defaultAreaId = useUserContext().state.defaultAreaId;
|
|
20673
20715
|
var withAssetFilter = report.withAssetFilter;
|
|
20674
20716
|
var filterAssets = report.filterAssets;
|
|
20675
20717
|
var showAttachments = report.showAttachments;
|
|
@@ -20681,7 +20723,8 @@ var Logbook = function () {
|
|
|
20681
20723
|
var gridApiRef = useRef(null);
|
|
20682
20724
|
var _b = useState(""), error = _b[0], setError = _b[1];
|
|
20683
20725
|
var _c = useState(""), show = _c[0], setShow = _c[1];
|
|
20684
|
-
var _d = useState(null), assetId = _d[0], setAssetId = _d[1];
|
|
20726
|
+
var _d = useState(typeof defaultAreaId === "number" ? defaultAreaId : null), assetId = _d[0], setAssetId = _d[1];
|
|
20727
|
+
var initializedAssetRef = useRef(false);
|
|
20685
20728
|
var _e = useState(function () {
|
|
20686
20729
|
var startShiftIdParam = searchParams.get("startShiftId");
|
|
20687
20730
|
var endShiftIdParam = searchParams.get("endShiftId");
|
|
@@ -20808,6 +20851,13 @@ var Logbook = function () {
|
|
|
20808
20851
|
setError(e.message);
|
|
20809
20852
|
}
|
|
20810
20853
|
}, [isError, e]);
|
|
20854
|
+
// Sync assetId with defaultAreaId when it becomes available (only once on initial load)
|
|
20855
|
+
useEffect(function () {
|
|
20856
|
+
if (!initializedAssetRef.current && typeof defaultAreaId === "number") {
|
|
20857
|
+
setAssetId(defaultAreaId);
|
|
20858
|
+
initializedAssetRef.current = true;
|
|
20859
|
+
}
|
|
20860
|
+
}, [defaultAreaId]);
|
|
20811
20861
|
useEffect(function () {
|
|
20812
20862
|
var _a;
|
|
20813
20863
|
var startShiftIdParam = searchParams.get("startShiftId");
|
|
@@ -20988,35 +21038,15 @@ var logbookNavbar = [
|
|
|
20988
21038
|
},
|
|
20989
21039
|
];
|
|
20990
21040
|
|
|
20991
|
-
var useDefaultAreaId = function (setError) {
|
|
20992
|
-
var _a = useUserContext(), userId = _a.state.userId, setDefaultAreaId = _a.actions.setDefaultAreaId;
|
|
20993
|
-
var _b = searchUser({ userId: userId }), rows = _b.data, isError = _b.isError, e = _b.error;
|
|
20994
|
-
useEffect(function () {
|
|
20995
|
-
if (e && isError) {
|
|
20996
|
-
setError(e.message);
|
|
20997
|
-
}
|
|
20998
|
-
}, [e, isError]);
|
|
20999
|
-
return function () {
|
|
21000
|
-
if (userId && rows) {
|
|
21001
|
-
var userDefaultAreaId = get(rows, "[0]", null);
|
|
21002
|
-
if (userDefaultAreaId) {
|
|
21003
|
-
setDefaultAreaId(userDefaultAreaId);
|
|
21004
|
-
}
|
|
21005
|
-
}
|
|
21006
|
-
};
|
|
21007
|
-
};
|
|
21008
|
-
|
|
21009
21041
|
var AreaSelector = function () {
|
|
21010
21042
|
var _a = useState(false), open = _a[0], setOpen = _a[1];
|
|
21011
21043
|
var _b = useState(""), error = _b[0], setError = _b[1];
|
|
21012
|
-
var
|
|
21013
|
-
var
|
|
21014
|
-
var _f = searchAssets(), rows = _f.data; _f.isLoading; var isError = _f.isError, e = _f.error;
|
|
21044
|
+
var _c = useUserContext(), _d = _c.state, userId = _d.userId, defaultAreaId = _d.defaultAreaId, defaultAreaName = _d.defaultAreaName, _e = _c.actions, setDefaultAreaId = _e.setDefaultAreaId, setDefaultAreaName = _e.setDefaultAreaName;
|
|
21045
|
+
var _f = searchAssets(), rows = _f.data, isError = _f.isError, e = _f.error;
|
|
21015
21046
|
var areasList = rows === null || rows === void 0 ? void 0 : rows.filter(function (a) { return a.CanBeDefaultAsset; });
|
|
21016
21047
|
var fullWidth = React__default.useState(true)[0];
|
|
21017
21048
|
var _g = useState(defaultAreaId), defaultAreaIdToChange = _g[0], setDefaultAreaIdToChange = _g[1];
|
|
21018
21049
|
var _h = useState(defaultAreaName), defaultAreaNameToChange = _h[0], setDefaultAreaNameToChange = _h[1];
|
|
21019
|
-
var defaultAreaIdFromAPI = useDefaultAreaId(setError);
|
|
21020
21050
|
var onClose = function (value) { return setOpen(value); };
|
|
21021
21051
|
var changeAreaActive = function () {
|
|
21022
21052
|
setOpen(true);
|
|
@@ -21050,29 +21080,35 @@ var AreaSelector = function () {
|
|
|
21050
21080
|
return [2 /*return*/];
|
|
21051
21081
|
});
|
|
21052
21082
|
}); };
|
|
21053
|
-
useEffect(function () {
|
|
21054
|
-
setUserId(getUserId());
|
|
21055
|
-
}, []);
|
|
21056
|
-
useEffect(function () {
|
|
21057
|
-
defaultAreaIdFromAPI();
|
|
21058
|
-
}, [userId]);
|
|
21059
21083
|
useEffect(function () {
|
|
21060
21084
|
if (e && isError) {
|
|
21061
21085
|
setError(e.message);
|
|
21062
21086
|
}
|
|
21063
21087
|
}, [e, isError]);
|
|
21064
21088
|
useEffect(function () {
|
|
21065
|
-
if (
|
|
21066
|
-
|
|
21067
|
-
setDefaultAreaName(areaSelected === null || areaSelected === void 0 ? void 0 : areaSelected.AssetName);
|
|
21068
|
-
setDefaultAreaNameToChange(areaSelected === null || areaSelected === void 0 ? void 0 : areaSelected.AssetName);
|
|
21089
|
+
if (!areasList) {
|
|
21090
|
+
return;
|
|
21069
21091
|
}
|
|
21070
|
-
|
|
21071
|
-
|
|
21072
|
-
|
|
21073
|
-
|
|
21092
|
+
// Only update when defaultAreaId is explicitly set (not null/undefined)
|
|
21093
|
+
// This prevents resetting to "Plant" while data is still loading
|
|
21094
|
+
if (defaultAreaId !== null && defaultAreaId !== undefined) {
|
|
21095
|
+
var areaSelected = areasList.find(function (area) { return (area === null || area === void 0 ? void 0 : area.AssetId) === defaultAreaId; });
|
|
21096
|
+
if (areaSelected) {
|
|
21097
|
+
setDefaultAreaName(areaSelected.AssetName);
|
|
21098
|
+
}
|
|
21099
|
+
else {
|
|
21100
|
+
// Asset not found in list, default to Plant
|
|
21101
|
+
setDefaultAreaName("Plant");
|
|
21102
|
+
}
|
|
21074
21103
|
}
|
|
21075
21104
|
}, [defaultAreaId, areasList]);
|
|
21105
|
+
// Sync local state when modal opens
|
|
21106
|
+
useEffect(function () {
|
|
21107
|
+
if (open) {
|
|
21108
|
+
setDefaultAreaIdToChange(defaultAreaId);
|
|
21109
|
+
setDefaultAreaNameToChange(defaultAreaName || "Plant");
|
|
21110
|
+
}
|
|
21111
|
+
}, [open]);
|
|
21076
21112
|
return (React__default.createElement(React__default.Fragment, null,
|
|
21077
21113
|
React__default.createElement(Box, { mx: 2 },
|
|
21078
21114
|
React__default.createElement(IconButton$1, { color: "inherit", onClick: changeAreaActive, size: "small" },
|
|
@@ -21102,7 +21138,7 @@ var AreaSelector = function () {
|
|
|
21102
21138
|
},
|
|
21103
21139
|
} },
|
|
21104
21140
|
React__default.createElement(DialogTitle$1, { id: "confirmation-dialog-title" }, "AREA"),
|
|
21105
|
-
React__default.createElement(DialogContent$1, { dividers: true },
|
|
21141
|
+
React__default.createElement(DialogContent$1, { dividers: true, sx: { overflowY: "hidden" } },
|
|
21106
21142
|
React__default.createElement(Typography$1, { fontSize: 15, variant: "subtitle1", style: { marginBottom: 0 } }, "Current Area"),
|
|
21107
21143
|
React__default.createElement(Grid2, { container: true },
|
|
21108
21144
|
React__default.createElement(Grid2, { size: { xs: 12 }, style: { marginTop: 5 } },
|
|
@@ -21113,7 +21149,7 @@ var AreaSelector = function () {
|
|
|
21113
21149
|
height: "45vh",
|
|
21114
21150
|
border: "1px solid rgba(0, 0, 0, 0.26)",
|
|
21115
21151
|
borderRadius: "2px",
|
|
21116
|
-
overflowY: "
|
|
21152
|
+
overflowY: "auto",
|
|
21117
21153
|
} },
|
|
21118
21154
|
React__default.createElement(List, { dense: true, style: { padding: 0 } }, areasList === null || areasList === void 0 ? void 0 : areasList.map(function (area) { return (React__default.createElement(ListItemButton, { key: "Area-".concat(area === null || area === void 0 ? void 0 : area.AssetId), onClick: function () {
|
|
21119
21155
|
return handleChangeAreaId(area === null || area === void 0 ? void 0 : area.AssetId, area === null || area === void 0 ? void 0 : area.AssetName);
|