@dexteel/mesf-core 5.12.0 → 5.13.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.
Files changed (28) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +49 -0
  3. package/CLAUDE.md +89 -0
  4. package/dist/configuration/pages/asset/components/dialogs/create-new-asset-dialog.d.ts +2 -1
  5. package/dist/configuration/pages/asset/components/dialogs/edit-asset-dialog.d.ts +2 -1
  6. package/dist/configuration/pages/asset/components/dialogs/remove-asset-dialog.d.ts +2 -1
  7. package/dist/configuration/pages/asset/components/dialogs/viewer-asset-dialog.d.ts +2 -1
  8. package/dist/configuration/pages/job/components/JobsTable/JobsDetails.d.ts +2 -1
  9. package/dist/configuration/pages/log/components/ModalLogSelected/ModalLogSelected.d.ts +2 -1
  10. package/dist/configuration/pages/profiles/components/Create/CreateProfile.d.ts +2 -1
  11. package/dist/configuration/pages/profiles/components/Delete/DeleteProfile.d.ts +2 -1
  12. package/dist/configuration/pages/profiles/components/ProceduresOfProfile/ActionsOfProfile.d.ts +2 -1
  13. package/dist/configuration/pages/settings/components/upsertDelete/CreateSetting.d.ts +2 -1
  14. package/dist/configuration/pages/settings/components/upsertDelete/DeleteSetting.d.ts +2 -1
  15. package/dist/configuration/pages/settings/components/upsertDelete/EditSetting.d.ts +2 -1
  16. package/dist/configuration/pages/shifCrew/components/Create/CreateShift.d.ts +2 -1
  17. package/dist/configuration/pages/shifCrew/components/Delete/DeleteShift.d.ts +2 -1
  18. package/dist/configuration/pages/shifCrew/components/Edit/EditShift.d.ts +2 -1
  19. package/dist/configuration/pages/users/components/ChangePassword/ChangePassword.d.ts +2 -1
  20. package/dist/configuration/pages/users/components/Create/CreateUser.d.ts +2 -1
  21. package/dist/configuration/pages/users/components/Delete/DeleteUser.d.ts +2 -1
  22. package/dist/configuration/pages/users/components/EditUser/EditUser.d.ts +2 -1
  23. package/dist/helmet/HelmetDexteel.d.ts +4 -0
  24. package/dist/helmet/HelmetDexteelContext.d.ts +11 -0
  25. package/dist/index.d.ts +13 -12
  26. package/dist/index.esm.js +718 -656
  27. package/dist/index.esm.js.map +1 -1
  28. package/package.json +2 -1
package/dist/index.esm.js CHANGED
@@ -1,8 +1,10 @@
1
+ import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
2
+ export * from '@microsoft/signalr';
1
3
  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, TextField, Paper, List, ListItem, ListItemIcon, ListItemText, Chip, SvgIcon, Collapse, Typography as Typography$1, Checkbox, InputAdornment, IconButton as IconButton$1, MenuItem, Box, Card, CardContent, CardActions, Tooltip, FormControl, InputLabel, Select, CircularProgress, Snackbar, FormControlLabel, Switch, DialogContentText, Popover, MenuList, Badge, useTheme, Input, Divider, CssBaseline, AppBar, Toolbar, Container, Menu, Hidden, Drawer, useMediaQuery, ListSubheader, debounce, createTheme, ThemeProvider } from '@material-ui/core';
4
+ import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, TextField, Paper, List, ListItem, ListItemIcon, ListItemText, Chip, SvgIcon, Collapse, Typography as Typography$1, Checkbox, InputAdornment, IconButton as IconButton$1, MenuItem, Box, Card, CardContent, CardActions, Tooltip, FormControl, InputLabel, Select, CircularProgress, Snackbar, FormControlLabel, Switch, DialogContentText, Popover, MenuList, Badge, useTheme, Input, Divider, CssBaseline, AppBar, Toolbar, Container, Menu, createTheme, Hidden, Drawer, useMediaQuery, ListSubheader, debounce, ThemeProvider } from '@material-ui/core';
3
5
  import { values, get, isNil, isEmpty, round, isNaN as isNaN$1, isNumber } from 'lodash-es';
4
6
  import * as React from 'react';
5
- import React__default, { useState, useRef, useEffect, useMemo, Component, createContext, useContext, useCallback, lazy, Suspense } from 'react';
7
+ import React__default, { createContext, useContext, useState, useRef, useEffect, useMemo, Component, useCallback, lazy, Suspense } from 'react';
6
8
  import IconButton from '@material-ui/core/IconButton';
7
9
  import CloseIcon from '@material-ui/icons/Close';
8
10
  import Alert$3 from '@material-ui/lab/Alert';
@@ -10,14 +12,8 @@ import { ArrowBackRounded, ArrowForwardRounded, SkipNext, ChevronLeft, ChevronRi
10
12
  import { DatePicker } from '@mui/x-date-pickers/DatePicker';
11
13
  import moment$2 from 'moment-timezone';
12
14
  import { useParams, useNavigate, useSearchParams, Link, Navigate, Routes, Route, useLocation, BrowserRouter } from 'react-router-dom';
13
- import { ClearIcon, DatePicker as DatePicker$1, CalendarIcon, DateTimePicker, LocalizationProvider } from '@mui/x-date-pickers';
14
- import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
15
- import MenuIcon from '@material-ui/icons/Menu';
16
- import Settings$1 from '@material-ui/icons/Settings';
17
- import ShowChartIcon from '@material-ui/icons/ShowChart';
18
15
  import AccountCircleIcon from '@material-ui/icons/AccountCircle';
19
- import { DndProvider } from 'react-dnd';
20
- import { HTML5Backend } from 'react-dnd-html5-backend';
16
+ import { Helmet, HelmetProvider } from 'react-helmet-async';
21
17
  import { themeMaterial } from 'ag-grid-community';
22
18
  import { AgGridReact } from 'ag-grid-react';
23
19
  import MomentUtils from '@date-io/moment';
@@ -26,16 +22,21 @@ import moment$3 from 'moment';
26
22
  import { isNil as isNil$1, get as get$1 } from 'lodash';
27
23
  import EditIcon from '@material-ui/icons/Edit';
28
24
  import PlaylistAddIcon from '@material-ui/icons/PlaylistAdd';
29
- import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
30
- export * from '@microsoft/signalr';
31
- import { Alert as Alert$2, Autocomplete } from '@material-ui/lab';
25
+ import { DndProvider } from 'react-dnd';
26
+ import { HTML5Backend } from 'react-dnd-html5-backend';
32
27
  import { useForm, Controller } from 'react-hook-form';
33
- import SearchIcon from '@material-ui/icons/Search';
28
+ import DeleteIcon from '@material-ui/icons/Delete';
29
+ import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
34
30
  import { useComplexState } from 'use-complex-state';
35
31
  import { createSlice } from '@reduxjs/toolkit';
36
- import DeleteIcon from '@material-ui/icons/Delete';
32
+ import { ClearIcon, DatePicker as DatePicker$1, CalendarIcon, DateTimePicker, LocalizationProvider } from '@mui/x-date-pickers';
33
+ import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
34
+ import MenuIcon from '@material-ui/icons/Menu';
35
+ import Settings$1 from '@material-ui/icons/Settings';
36
+ import ShowChartIcon from '@material-ui/icons/ShowChart';
37
+ import { Alert as Alert$2, Autocomplete } from '@material-ui/lab';
38
+ import SearchIcon from '@material-ui/icons/Search';
37
39
  import FormatListBulletedSharpIcon from '@material-ui/icons/FormatListBulletedSharp';
38
- import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
39
40
  import axios from 'axios';
40
41
  import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
41
42
  import zoomPlugin from 'chartjs-plugin-zoom';
@@ -251,6 +252,30 @@ var ErrorModal = function (_a) {
251
252
  } }, "Ok")))))) : null;
252
253
  };
253
254
 
255
+ // Create a new context file: src/context/HelmetContext.tsx
256
+ var HelmetDexteelContext = createContext(undefined);
257
+ var HelmetDexteelProvider = function (_a) {
258
+ var navbarTitle = _a.navbarTitle, children = _a.children;
259
+ return (React__default.createElement(HelmetDexteelContext.Provider, { value: { navbarTitle: navbarTitle } }, children));
260
+ };
261
+ var useHelmetDexteel = function () {
262
+ var context = useContext(HelmetDexteelContext);
263
+ if (context === undefined) {
264
+ throw new Error("useHelmet must be used within a HelmetProvider");
265
+ }
266
+ return context;
267
+ };
268
+
269
+ var HelmetDexteel = function (_a) {
270
+ var title = _a.title, props = __rest(_a, ["title"]);
271
+ var navbarTitle = useHelmetDexteel().navbarTitle;
272
+ return (React__default.createElement(Helmet, __assign({ defer: false }, props),
273
+ React__default.createElement("title", null,
274
+ title,
275
+ " - ",
276
+ navbarTitle)));
277
+ };
278
+
254
279
  var BarChartControl = function (props) {
255
280
  var height = props.height, minWidth = props.minWidth, data = props.data, keys = props.keys, indexBy = props.indexBy, legendX = props.legendX, legendY = props.legendY, colors = props.colors, other = __rest(props, ["height", "minWidth", "data", "keys", "indexBy", "legendX", "legendY", "colors"]);
256
281
  return (React__default.createElement(React__default.Fragment, null,
@@ -2488,7 +2513,7 @@ var OnEnableJob = function (_a) {
2488
2513
  };
2489
2514
 
2490
2515
  var JobDetails = function (_a) {
2491
- var job = _a.job, modal = _a.modal, onHide = _a.onHide;
2516
+ var job = _a.job, modal = _a.modal, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
2492
2517
  var _b = useState(false), isSubmitLoading = _b[0], setIsSubmitLoading = _b[1];
2493
2518
  var _c = useState(""), error = _c[0], setError = _c[1];
2494
2519
  var _d = useState(false), openSnackbar = _d[0], setOpenSnackbar = _d[1];
@@ -2536,6 +2561,7 @@ var JobDetails = function (_a) {
2536
2561
  }
2537
2562
  }, [modal, job]);
2538
2563
  return (React__default.createElement(React__default.Fragment, null,
2564
+ (modal == "update" || modal == "create") && (React__default.createElement(HelmetDexteel, { title: "".concat(modal == "update" ? job === null || job === void 0 ? void 0 : job.sProcedure : "New Job").concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
2539
2565
  (job === null || modal !== "update") && modal !== "create" ? (React__default.createElement("div", { style: {
2540
2566
  display: "flex",
2541
2567
  justifyContent: "center",
@@ -3028,7 +3054,7 @@ var TableJobs = function (_a) {
3028
3054
  } }))),
3029
3055
  React.createElement(Grid, { item: true, md: 6, xs: 12 },
3030
3056
  React.createElement(Paper, { elevation: 2, style: { height: "70vh", width: "100%", padding: 15 }, className: "".concat(classes.table, " ag-theme-material") },
3031
- React.createElement(JobDetails, { job: jobSelected, modal: showModal, onHide: onDetailsHide }))))),
3057
+ React.createElement(JobDetails, { job: jobSelected, modal: showModal, onHide: onDetailsHide, suffixTitle: "System Jobs" }))))),
3032
3058
  React.createElement(ResetJob, { show: showModal === "reset", onHide: function (shouldUpdate) { return __awaiter(void 0, void 0, void 0, function () {
3033
3059
  return __generator(this, function (_a) {
3034
3060
  switch (_a.label) {
@@ -3097,10 +3123,12 @@ var Jobs = function (prop) {
3097
3123
  useEffect(function () {
3098
3124
  getJobsFromAPI();
3099
3125
  }, []);
3100
- return (React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
3101
- React.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: 0 } },
3102
- React.createElement(TableJobs, { isLoading: isLoading, getJobsFromAPI: getJobsFromAPI })),
3103
- React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
3126
+ return (React.createElement(React.Fragment, null,
3127
+ React.createElement(HelmetDexteel, { title: "System Jobs" }),
3128
+ React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
3129
+ React.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: 0 } },
3130
+ React.createElement(TableJobs, { isLoading: isLoading, getJobsFromAPI: getJobsFromAPI })),
3131
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }))));
3104
3132
  };
3105
3133
 
3106
3134
  var JobsPage = function (props) {
@@ -3314,37 +3342,40 @@ var formatTime = function (nowTime) {
3314
3342
  return date.toLocaleDateString() + " " + date.toLocaleTimeString();
3315
3343
  };
3316
3344
  var ModalLogSelected = function (_a) {
3317
- var show = _a.show, onHide = _a.onHide, selectedLog = _a.selectedLog;
3345
+ var _b;
3346
+ var show = _a.show, onHide = _a.onHide, selectedLog = _a.selectedLog, suffixTitle = _a.suffixTitle;
3318
3347
  var classes = useStyles$z();
3319
- return (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
3320
- React__default.createElement(MesfModal, { title: "LOG DETAILS", open: show, handleClose: function () { return onHide(false); }, maxWidth: "md", id: "log-details-modal" },
3321
- React__default.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
3322
- React__default.createElement(Grid, { container: true, spacing: 1, alignItems: "flex-start" },
3323
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3324
- React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "User", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.User, InputProps: {
3325
- readOnly: true,
3326
- } })),
3327
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3328
- React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Time", defaultValue: formatTime(selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Timestamp), InputProps: {
3329
- readOnly: true,
3330
- } })),
3331
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3332
- React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Source", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Source, InputProps: {
3333
- readOnly: true,
3334
- } })),
3335
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3336
- React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Type", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.LogTypeCode, InputProps: {
3337
- readOnly: true,
3338
- } })),
3339
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { paddingRight: 20, paddingLeft: 5, marginBottom: 20 } },
3340
- React__default.createElement(Card, { variant: "outlined", style: { backgroundColor: "#E9F2F8" } },
3341
- React__default.createElement(CardContent, null,
3342
- React__default.createElement(Typography$1, { className: classes.messageTitle }, "Message:"),
3343
- React__default.createElement(Typography$1, { style: { fontSize: 17 } }, selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Message)))))),
3344
- React__default.createElement(MesfModal.Actions, { style: { padding: "20px 30px 30px" } },
3345
- React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
3346
- React__default.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
3347
- React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(true); } }, "Close")))))));
3348
+ return (React__default.createElement(React__default.Fragment, null,
3349
+ show && (React__default.createElement(HelmetDexteel, { title: "".concat((_b = selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Source) !== null && _b !== void 0 ? _b : "", " - Log Details").concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
3350
+ React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
3351
+ React__default.createElement(MesfModal, { title: "LOG DETAILS", open: show, handleClose: function () { return onHide(false); }, maxWidth: "md", id: "log-details-modal" },
3352
+ React__default.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
3353
+ React__default.createElement(Grid, { container: true, spacing: 1, alignItems: "flex-start" },
3354
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3355
+ React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "User", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.User, InputProps: {
3356
+ readOnly: true,
3357
+ } })),
3358
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3359
+ React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Time", defaultValue: formatTime(selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Timestamp), InputProps: {
3360
+ readOnly: true,
3361
+ } })),
3362
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3363
+ React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Source", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Source, InputProps: {
3364
+ readOnly: true,
3365
+ } })),
3366
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingRight: 20, paddingLeft: 5 } },
3367
+ React__default.createElement(TextField, { variant: "standard", fullWidth: true, margin: "dense", label: "Type", defaultValue: selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.LogTypeCode, InputProps: {
3368
+ readOnly: true,
3369
+ } })),
3370
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { paddingRight: 20, paddingLeft: 5, marginBottom: 20 } },
3371
+ React__default.createElement(Card, { variant: "outlined", style: { backgroundColor: "#E9F2F8" } },
3372
+ React__default.createElement(CardContent, null,
3373
+ React__default.createElement(Typography$1, { className: classes.messageTitle }, "Message:"),
3374
+ React__default.createElement(Typography$1, { style: { fontSize: 17 } }, selectedLog === null || selectedLog === void 0 ? void 0 : selectedLog.Message)))))),
3375
+ React__default.createElement(MesfModal.Actions, { style: { padding: "20px 30px 30px" } },
3376
+ React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
3377
+ React__default.createElement(Grid, { item: true, md: 3, xs: 12, style: { margin: 0 } },
3378
+ React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return onHide(true); } }, "Close"))))))));
3348
3379
  };
3349
3380
 
3350
3381
  var moment$1 = getMomentTz();
@@ -3624,7 +3655,7 @@ var TableLogs = function (_a) {
3624
3655
  }, [Start, End, LogTypeCode]);
3625
3656
  return (React.createElement(Grid, { spacing: 0, container: true, justifyContent: "center", alignItems: "center", className: classes.root },
3626
3657
  React.createElement(Grid, { item: true, md: 12, xs: 12, className: classes.filters },
3627
- React.createElement(ModalLogSelected, { show: showLogModal, onHide: function () { return setShowLogModal(false); }, selectedLog: selectedLog }),
3658
+ React.createElement(ModalLogSelected, { show: showLogModal, onHide: function () { return setShowLogModal(false); }, selectedLog: selectedLog, suffixTitle: "MES and System Logs" }),
3628
3659
  React.createElement(Typography$1, { variant: "h5", style: { fontWeight: 600 } }, "MES and System Logs"),
3629
3660
  React.createElement(Grid, { container: true, direction: "row", spacing: 1 },
3630
3661
  React.createElement(Grid, { item: true, md: 12, xs: 12 },
@@ -3717,6 +3748,7 @@ var Logs = function (prop) {
3717
3748
  getLogsFromAPI();
3718
3749
  }, []);
3719
3750
  return (React__default.createElement(React__default.Fragment, null,
3751
+ React__default.createElement(HelmetDexteel, { title: "MES and System Logs" }),
3720
3752
  React__default.createElement(TableLogs, { isLoading: loading, rowData: state.logs, refreshData: getLogsFromAPI }),
3721
3753
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
3722
3754
  };
@@ -3849,7 +3881,7 @@ var useStyles$x = makeStyles(function (theme) { return ({
3849
3881
  }); });
3850
3882
  var CreateProfile = function (_a) {
3851
3883
  var _b;
3852
- var show = _a.show, onHide = _a.onHide;
3884
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
3853
3885
  var _c = useState(false), openSnackbar = _c[0], setOpenSnackbar = _c[1];
3854
3886
  var _d = useState(""), message = _d[0], setMessage = _d[1];
3855
3887
  var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
@@ -3889,6 +3921,7 @@ var CreateProfile = function (_a) {
3889
3921
  }
3890
3922
  }, [show]);
3891
3923
  return (React.createElement(React.Fragment, null,
3924
+ show && (React.createElement(HelmetDexteel, { title: "New Profile".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
3892
3925
  React.createElement(Grid, { container: true },
3893
3926
  React.createElement(Grid, { item: true },
3894
3927
  React.createElement(MesfModal, { title: "NEW PROFILE", open: show, handleClose: function () { return onHide(false); }, id: "create-profile-modal", maxWidth: "md" },
@@ -3911,7 +3944,7 @@ var CreateProfile = function (_a) {
3911
3944
  };
3912
3945
 
3913
3946
  var DeleteProfile = function (_a) {
3914
- var profile = _a.profile, show = _a.show, onHide = _a.onHide;
3947
+ var profile = _a.profile, show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
3915
3948
  var _b = useState(false), open = _b[0], setOpen = _b[1];
3916
3949
  var _c = useState(""), error = _c[0], setError = _c[1];
3917
3950
  var _d = useState(true), isLoading = _d[0], setIsLoading = _d[1];
@@ -3953,6 +3986,7 @@ var DeleteProfile = function (_a) {
3953
3986
  });
3954
3987
  }); };
3955
3988
  return (React__default.createElement(React__default.Fragment, null,
3989
+ show && (React__default.createElement(HelmetDexteel, { title: "Delete Profile".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
3956
3990
  React__default.createElement(MesfModal, { title: "DELETE PROFILE", open: show, handleClose: function () { return onHide(false); }, id: "delete-profile-modal", maxWidth: "md" },
3957
3991
  React__default.createElement("form", null,
3958
3992
  React__default.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
@@ -4098,7 +4132,7 @@ var useStyles$w = makeStyles(function (theme) { return ({
4098
4132
  },
4099
4133
  }); });
4100
4134
  var ActionsOfProfile = function (_a) {
4101
- var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide;
4135
+ var profileForEdit = _a.profileForEdit, show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
4102
4136
  var classes = useStyles$w();
4103
4137
  var _b = useState(null), actionsOfProfile = _b[0], setActionsOfProfile = _b[1];
4104
4138
  var _c = useState(false), open = _c[0], setOpen = _c[1];
@@ -4179,6 +4213,7 @@ var ActionsOfProfile = function (_a) {
4179
4213
  }
4180
4214
  }, [show]);
4181
4215
  return (React.createElement(React.Fragment, null,
4216
+ show && (React.createElement(HelmetDexteel, { title: "Edit Profile".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
4182
4217
  React.createElement(MesfModal, { title: "EDIT PROFILE", open: show, handleClose: function () { return onHide(false); }, id: "edit-profile-modal", maxWidth: "xl" },
4183
4218
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
4184
4219
  React.createElement(MesfModal.Content, { style: { padding: "0 30px 15px" } },
@@ -4519,19 +4554,19 @@ var TableProfiles = function (_a) {
4519
4554
  setModalCreateActive(false);
4520
4555
  if (shouldUpdate)
4521
4556
  getProfilesFromAPI().then(function () { });
4522
- } }),
4557
+ }, suffixTitle: "Profile Management" }),
4523
4558
  React.createElement(DeleteProfile, { show: modalDeleteProfile, profile: profile, onHide: function (shouldUpdate) {
4524
4559
  setModalDeleteProfile(false);
4525
4560
  setProfile(null);
4526
4561
  if (shouldUpdate)
4527
4562
  getProfilesFromAPI().then(function () { });
4528
- } }),
4563
+ }, suffixTitle: "Profile Management" }),
4529
4564
  React.createElement(ActionsOfProfile, { show: modalProceduresProfile, profileForEdit: profile, onHide: function (shouldUpdate) {
4530
4565
  setModalProceduresProfile(false);
4531
4566
  setProfile(null);
4532
4567
  if (shouldUpdate)
4533
4568
  getProfilesFromAPI().then(function () { });
4534
- } })));
4569
+ }, suffixTitle: "Profile Management" })));
4535
4570
  };
4536
4571
 
4537
4572
  var Profiles = function (prop) {
@@ -4564,6 +4599,7 @@ var Profiles = function (prop) {
4564
4599
  }, []);
4565
4600
  if (state.profiles) {
4566
4601
  return (React.createElement(React.Fragment, null,
4602
+ React.createElement(HelmetDexteel, { title: "Profile Management" }),
4567
4603
  React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
4568
4604
  React.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: 0 } },
4569
4605
  React.createElement(TableProfiles, { isLoading: isLoading, getProfilesFromAPI: getProfilesFromAPI }))),
@@ -4702,7 +4738,7 @@ var useStyles$t = makeStyles(function (theme) { return ({
4702
4738
  }); });
4703
4739
  var CreateShift = function (_a) {
4704
4740
  var _b, _c;
4705
- var show = _a.show, onHide = _a.onHide;
4741
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
4706
4742
  var _d = useState(false), open = _d[0], setOpen = _d[1];
4707
4743
  var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
4708
4744
  var _f = useState(""), error = _f[0], setError = _f[1];
@@ -4759,6 +4795,7 @@ var CreateShift = function (_a) {
4759
4795
  }
4760
4796
  }, [show]);
4761
4797
  return (React.createElement(React.Fragment, null,
4798
+ show && (React.createElement(HelmetDexteel, { title: "New Shift/Crew".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
4762
4799
  React.createElement(Grid, { container: true },
4763
4800
  React.createElement(Grid, { item: true },
4764
4801
  React.createElement(MesfModal, { title: "NEW SHIFT/CREW", open: show, handleClose: function () { return onHide(false); }, id: "create-shift-modal", maxWidth: "md" },
@@ -4930,7 +4967,7 @@ var useStyles$s = makeStyles(function (theme) { return ({
4930
4967
  }); });
4931
4968
  var DeleteShift = function (_a) {
4932
4969
  var _b;
4933
- var show = _a.show, onHide = _a.onHide;
4970
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
4934
4971
  var _c = useState(false), open = _c[0], setOpen = _c[1];
4935
4972
  var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
4936
4973
  var _e = useState(false), deleteAlert = _e[0], setDeleteAlert = _e[1];
@@ -4987,6 +5024,7 @@ var DeleteShift = function (_a) {
4987
5024
  }
4988
5025
  }, [show]);
4989
5026
  return (React.createElement(React.Fragment, null,
5027
+ show && (React.createElement(HelmetDexteel, { title: "Delete Shift".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
4990
5028
  React.createElement(Grid, { container: true },
4991
5029
  React.createElement(Grid, { item: true },
4992
5030
  React.createElement(MesfModal, { title: "DELETE SHIFT", open: show, handleClose: function () { return onHide(false); }, id: "delete-shift-MesfModal", maxWidth: "md" },
@@ -5095,7 +5133,7 @@ var useStyles$r = makeStyles(function (theme) { return ({
5095
5133
  }); });
5096
5134
  var EditShift = function (_a) {
5097
5135
  var _b;
5098
- var show = _a.show, onHide = _a.onHide;
5136
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
5099
5137
  var _c = useState(false), open = _c[0], setOpen = _c[1];
5100
5138
  var _d = useState(""), error = _d[0], setError = _d[1];
5101
5139
  var _e = useState(false), isSubmitLoading = _e[0], setIsSubmitLoading = _e[1];
@@ -5161,6 +5199,7 @@ var EditShift = function (_a) {
5161
5199
  setValue("NumberOfCrews", crewsCodes.length);
5162
5200
  }, [initialShiftPerDayAndCrewsNumber]);
5163
5201
  return (React.createElement(React.Fragment, null,
5202
+ show && (React.createElement(HelmetDexteel, { title: "Edit Shift".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
5164
5203
  React.createElement(Grid, { container: true },
5165
5204
  React.createElement(Grid, { item: true },
5166
5205
  React.createElement(MesfModal, { title: "EDIT SHIFT", open: show, handleClose: function () { return onHide(false); }, id: "edit-shift-modal", maxWidth: "md" },
@@ -5610,17 +5649,17 @@ var TableShiftsCrews = function (_a) {
5610
5649
  setOpenModalNew(false);
5611
5650
  if (shouldUpdate)
5612
5651
  getShiftsCrewsFromAPI();
5613
- } }),
5652
+ }, suffixTitle: "Shifts / Crew" }),
5614
5653
  React.createElement(EditShift, { show: openModalEditShift, onHide: function (shouldUpdate) {
5615
5654
  setOpenModalEditShift(false);
5616
5655
  if (shouldUpdate)
5617
5656
  getShiftsCrewsFromAPI();
5618
- } }),
5657
+ }, suffixTitle: "Shifts / Crew" }),
5619
5658
  React.createElement(DeleteShift, { show: openModalDeleteShift, onHide: function (shouldUpdate) {
5620
5659
  setOpenModalDeleteShift(false);
5621
5660
  if (shouldUpdate)
5622
5661
  getShiftsCrewsFromAPI();
5623
- } }),
5662
+ }, suffixTitle: "Shifts / Crew" }),
5624
5663
  React.createElement(Grid, { component: Paper, item: true, md: 12, xs: 12, style: {
5625
5664
  height: "70vh",
5626
5665
  } },
@@ -5668,6 +5707,7 @@ var ShiftsCrews = function (prop) {
5668
5707
  React.createElement(TableShiftsCrews, { isLoading: isLoading, getShiftsCrewsFromAPI: getShiftsCrewsFromAPI })));
5669
5708
  }
5670
5709
  return (React.createElement(React.Fragment, null,
5710
+ React.createElement(HelmetDexteel, { title: "Shifts and Crews" }),
5671
5711
  React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", style: { height: "70vh", width: "100%" } },
5672
5712
  React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }),
5673
5713
  React.createElement(LazyLoading, null))));
@@ -6091,7 +6131,7 @@ var useStyles$o = makeStyles(function (theme) { return ({
6091
6131
  },
6092
6132
  }); });
6093
6133
  var CreateNewAssetDialog = function (_a) {
6094
- var show = _a.show, onHide = _a.onHide;
6134
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
6095
6135
  var classes = useStyles$o();
6096
6136
  var _b = useState(true), fullWidth = _b[0]; _b[1];
6097
6137
  var _c = useState("sm"), maxWidth = _c[0]; _c[1];
@@ -6170,54 +6210,56 @@ var CreateNewAssetDialog = function (_a) {
6170
6210
  }
6171
6211
  }
6172
6212
  }, [show]);
6173
- return (React__default.createElement("div", { className: classes.root },
6174
- React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6175
- React__default.createElement("form", { onSubmit: handleFormSubmit },
6176
- React__default.createElement(Grid, { container: true, style: { padding: "15px 0 20px", height: "50%" } },
6177
- React__default.createElement(Grid, { container: true, item: true },
6178
- React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6179
- React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, "NEW ASSET"))),
6180
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6181
- React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6213
+ return (React__default.createElement(React__default.Fragment, null,
6214
+ show && (React__default.createElement(HelmetDexteel, { title: "New Asset".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
6215
+ React__default.createElement("div", { className: classes.root },
6216
+ React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6217
+ React__default.createElement("form", { onSubmit: handleFormSubmit },
6218
+ React__default.createElement(Grid, { container: true, style: { padding: "15px 0 20px", height: "50%" } },
6219
+ React__default.createElement(Grid, { container: true, item: true },
6182
6220
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6183
- React__default.createElement(Controller, { name: "AssetName", control: control, rules: {
6184
- validate: {
6185
- notEmpty: function (value) { return value.trim() !== ""; },
6186
- },
6187
- }, render: function (_a) {
6188
- var _b;
6189
- var _c = _a.field, onChange = _c.onChange, value = _c.value;
6190
- return (React__default.createElement(React__default.Fragment, null,
6191
- React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value }),
6192
- ((_b = errors.AssetName) === null || _b === void 0 ? void 0 : _b.type) === "notEmpty" && (React__default.createElement("span", { className: classes.errorLabel }, "Asset Name is required"))));
6193
- } })),
6194
- React__default.createElement(Grid, { container: true },
6195
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6196
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6197
- React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) {
6198
- var value = _a.field.value;
6199
- return (React__default.createElement(TreePickerControlV2, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: value, onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }));
6200
- } }))),
6201
- React__default.createElement(Grid, { container: true, style: { marginTop: "10px 0", padding: "0" } },
6202
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6203
- React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6204
- var field = _a.field;
6205
- return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6206
- return field.onChange(e.target.checked);
6207
- }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
6208
- } }))))),
6209
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginTop: "15px" } },
6210
- React__default.createElement(DialogActions$1, { style: { padding: "0px 24px" } },
6211
- React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
6212
- React__default.createElement(Grid, { container: true, item: true, style: {
6213
- marginLeft: "auto",
6214
- marginTop: 5,
6215
- marginBottom: 0,
6216
- } },
6217
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingLeft: "0", paddingRight: "16px" } },
6218
- React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return handleCancel(); } }, "Cancel")),
6219
- React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
6220
- React__default.createElement(Button, { fullWidth: true, startIcon: isCreateSubmitLoading && (React__default.createElement(CircularProgress, { size: "1rem" })), disabled: isCreateSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))))))),
6221
+ React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, "NEW ASSET"))),
6222
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6223
+ React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6224
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6225
+ React__default.createElement(Controller, { name: "AssetName", control: control, rules: {
6226
+ validate: {
6227
+ notEmpty: function (value) { return value.trim() !== ""; },
6228
+ },
6229
+ }, render: function (_a) {
6230
+ var _b;
6231
+ var _c = _a.field, onChange = _c.onChange, value = _c.value;
6232
+ return (React__default.createElement(React__default.Fragment, null,
6233
+ React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value }),
6234
+ ((_b = errors.AssetName) === null || _b === void 0 ? void 0 : _b.type) === "notEmpty" && (React__default.createElement("span", { className: classes.errorLabel }, "Asset Name is required"))));
6235
+ } })),
6236
+ React__default.createElement(Grid, { container: true },
6237
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6238
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6239
+ React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) {
6240
+ var value = _a.field.value;
6241
+ return (React__default.createElement(TreePickerControlV2, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: value, onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }));
6242
+ } }))),
6243
+ React__default.createElement(Grid, { container: true, style: { marginTop: "10px 0", padding: "0" } },
6244
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6245
+ React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6246
+ var field = _a.field;
6247
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6248
+ return field.onChange(e.target.checked);
6249
+ }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
6250
+ } }))))),
6251
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginTop: "15px" } },
6252
+ React__default.createElement(DialogActions$1, { style: { padding: "0px 24px" } },
6253
+ React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
6254
+ React__default.createElement(Grid, { container: true, item: true, style: {
6255
+ marginLeft: "auto",
6256
+ marginTop: 5,
6257
+ marginBottom: 0,
6258
+ } },
6259
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingLeft: "0", paddingRight: "16px" } },
6260
+ React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return handleCancel(); } }, "Cancel")),
6261
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
6262
+ React__default.createElement(Button, { fullWidth: true, startIcon: isCreateSubmitLoading && (React__default.createElement(CircularProgress, { size: "1rem" })), disabled: isCreateSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))))))))),
6221
6263
  React__default.createElement(ErrorModal, { error: errorCreateAsset, onHide: function () { return setErrorCreateAsset(""); } }),
6222
6264
  React__default.createElement(Snackbar, { open: assetCreatedSuccess, autoHideDuration: 2500, onClose: handleClose },
6223
6265
  React__default.createElement(Alert$3, { severity: "info", onClose: handleClose }, "Document created successfully"))));
@@ -6270,7 +6312,7 @@ var useStyles$n = makeStyles(function (theme) { return ({
6270
6312
  },
6271
6313
  }); });
6272
6314
  var EditAssetDialog = function (_a) {
6273
- var show = _a.show, onHide = _a.onHide;
6315
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
6274
6316
  var classes = useStyles$n();
6275
6317
  var _b = useState(true), fullWidth = _b[0]; _b[1];
6276
6318
  var _c = useState("sm"), maxWidth = _c[0]; _c[1];
@@ -6336,59 +6378,61 @@ var EditAssetDialog = function (_a) {
6336
6378
  setValue("CanBeDefaultAsset", assetNodeFromApi === null || assetNodeFromApi === void 0 ? void 0 : assetNodeFromApi.CanBeDefaultAsset);
6337
6379
  }
6338
6380
  }, [show]);
6339
- return (React__default.createElement("div", { className: classes.root },
6340
- React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6341
- React__default.createElement("form", { onSubmit: handleFormSubmit },
6342
- React__default.createElement(Grid, { container: true, style: { padding: "15px 0 20px", height: "50%" } },
6343
- React__default.createElement(Grid, { container: true, item: true },
6344
- React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6345
- React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
6346
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6347
- React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6381
+ return (React__default.createElement(React__default.Fragment, null,
6382
+ show && (React__default.createElement(HelmetDexteel, { title: "Edit Asset".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
6383
+ React__default.createElement("div", { className: classes.root },
6384
+ React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6385
+ React__default.createElement("form", { onSubmit: handleFormSubmit },
6386
+ React__default.createElement(Grid, { container: true, style: { padding: "15px 0 20px", height: "50%" } },
6387
+ React__default.createElement(Grid, { container: true, item: true },
6348
6388
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6349
- React__default.createElement(Controller, { name: "AssetName", control: control, render: function (_a) {
6350
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
6351
- return (React__default.createElement(React__default.Fragment, null,
6352
- React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value })));
6353
- } })),
6354
- React__default.createElement(Grid, { container: true },
6355
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6356
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6357
- React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement("div", { title: "Parent Asset: ".concat(parentAsset) },
6358
- React__default.createElement(TreePickerControl, { inputTitle: parentAsset
6359
- ? "Parent Asset: ".concat(parentAsset)
6360
- : "Parent Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) ||
6361
- "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }))); } })),
6362
- React__default.createElement(Grid, { container: true, style: { marginTop: "10px", padding: "0px" } },
6363
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6364
- React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
6365
- var field = _a.field;
6366
- return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6367
- return field.onChange(e.target.checked);
6368
- }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
6369
- } })),
6370
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6371
- React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6372
- var field = _a.field;
6373
- return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6374
- return field.onChange(e.target.checked);
6375
- }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
6376
- } })))))),
6377
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
6378
- React__default.createElement(DialogActions$1, { style: { padding: "0px 24px" } },
6379
- React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
6380
- React__default.createElement(Grid, { container: true, item: true, style: {
6381
- marginLeft: "auto",
6382
- marginTop: 5,
6383
- marginBottom: 0,
6384
- } },
6385
- React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingLeft: "0", paddingRight: "16px" } },
6386
- React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return handleCancel(); } }, "Cancel")),
6387
- React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
6388
- React__default.createElement(Button, { fullWidth: true, startIcon: isEditSubmitLoading && (React__default.createElement(CircularProgress, { size: "1rem" })), disabled: isEditSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))),
6389
- React__default.createElement(ErrorModal, { error: errorEditAsset, onHide: function () { return setErrorEditAsset(""); } }),
6390
- React__default.createElement(Snackbar, { open: assetEditedSuccess, autoHideDuration: 2500, onClose: handleClose },
6391
- React__default.createElement(Alert$2, { severity: "info", onClose: handleClose }, "Document created succesfully")))))))));
6389
+ React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
6390
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6391
+ React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6392
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6393
+ React__default.createElement(Controller, { name: "AssetName", control: control, render: function (_a) {
6394
+ var _b = _a.field, onChange = _b.onChange, value = _b.value;
6395
+ return (React__default.createElement(React__default.Fragment, null,
6396
+ React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value })));
6397
+ } })),
6398
+ React__default.createElement(Grid, { container: true },
6399
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6400
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6401
+ React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement("div", { title: "Parent Asset: ".concat(parentAsset) },
6402
+ React__default.createElement(TreePickerControl, { inputTitle: parentAsset
6403
+ ? "Parent Asset: ".concat(parentAsset)
6404
+ : "Parent Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) ||
6405
+ "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }))); } })),
6406
+ React__default.createElement(Grid, { container: true, style: { marginTop: "10px", padding: "0px" } },
6407
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6408
+ React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
6409
+ var field = _a.field;
6410
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6411
+ return field.onChange(e.target.checked);
6412
+ }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
6413
+ } })),
6414
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6415
+ React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6416
+ var field = _a.field;
6417
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6418
+ return field.onChange(e.target.checked);
6419
+ }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
6420
+ } })))))),
6421
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
6422
+ React__default.createElement(DialogActions$1, { style: { padding: "0px 24px" } },
6423
+ React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
6424
+ React__default.createElement(Grid, { container: true, item: true, style: {
6425
+ marginLeft: "auto",
6426
+ marginTop: 5,
6427
+ marginBottom: 0,
6428
+ } },
6429
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12, style: { paddingLeft: "0", paddingRight: "16px" } },
6430
+ React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return handleCancel(); } }, "Cancel")),
6431
+ React__default.createElement(Grid, { item: true, md: 6, xs: 12 },
6432
+ React__default.createElement(Button, { fullWidth: true, startIcon: isEditSubmitLoading && (React__default.createElement(CircularProgress, { size: "1rem" })), disabled: isEditSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))))))))),
6433
+ React__default.createElement(ErrorModal, { error: errorEditAsset, onHide: function () { return setErrorEditAsset(""); } }),
6434
+ React__default.createElement(Snackbar, { open: assetEditedSuccess, autoHideDuration: 2500, onClose: handleClose },
6435
+ React__default.createElement(Alert$2, { severity: "info", onClose: handleClose }, "Document created succesfully"))));
6392
6436
  };
6393
6437
 
6394
6438
  var useStyles$m = makeStyles(function (theme) { return ({
@@ -6434,7 +6478,7 @@ var useStyles$m = makeStyles(function (theme) { return ({
6434
6478
  },
6435
6479
  }); });
6436
6480
  var RemoveAssetDialog = function (_a) {
6437
- var show = _a.show, onHide = _a.onHide;
6481
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
6438
6482
  var classes = useStyles$m();
6439
6483
  var _b = useState(true), fullWidth = _b[0]; _b[1];
6440
6484
  var _c = useState("sm"), maxWidth = _c[0]; _c[1];
@@ -6475,6 +6519,7 @@ var RemoveAssetDialog = function (_a) {
6475
6519
  });
6476
6520
  }); };
6477
6521
  return (React__default.createElement(React__default.Fragment, null,
6522
+ show && (React__default.createElement(HelmetDexteel, { title: "Delete Asset".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
6478
6523
  React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6479
6524
  React__default.createElement(DialogTitle$1, { id: "responsive-dialog-title" }, "WARNING"),
6480
6525
  React__default.createElement(DialogContent$1, null,
@@ -6544,7 +6589,7 @@ var useStyles$l = makeStyles(function (theme) { return ({
6544
6589
  },
6545
6590
  }); });
6546
6591
  var ViewerAssetDialog = function (_a) {
6547
- var show = _a.show, onHide = _a.onHide;
6592
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
6548
6593
  var classes = useStyles$l();
6549
6594
  var _b = useState(true), fullWidth = _b[0]; _b[1];
6550
6595
  var _c = useState("sm"), maxWidth = _c[0]; _c[1];
@@ -6570,43 +6615,45 @@ var ViewerAssetDialog = function (_a) {
6570
6615
  setValue("CanBeDefaultAsset", assetNodeFromApi === null || assetNodeFromApi === void 0 ? void 0 : assetNodeFromApi.CanBeDefaultAsset);
6571
6616
  }
6572
6617
  }, [show]);
6573
- return (React__default.createElement("div", { className: classes.root },
6574
- React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6575
- React__default.createElement("form", { onSubmit: function () { } },
6576
- React__default.createElement(Grid, { container: true, style: { padding: "15px 0", height: "50%" } },
6577
- React__default.createElement(Grid, { container: true, item: true },
6578
- React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6579
- React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
6580
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6581
- React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6618
+ return (React__default.createElement(React__default.Fragment, null,
6619
+ show && (React__default.createElement(HelmetDexteel, { title: "View Asset".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
6620
+ React__default.createElement("div", { className: classes.root },
6621
+ React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, open: show, onClose: function () { return handleCancel(); }, disableEnforceFocus: true, className: classes.root },
6622
+ React__default.createElement("form", { onSubmit: function () { } },
6623
+ React__default.createElement(Grid, { container: true, style: { padding: "15px 0", height: "50%" } },
6624
+ React__default.createElement(Grid, { container: true, item: true },
6582
6625
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6583
- React__default.createElement(Controller, { name: "AssetName", control: control, render: function (_a) {
6584
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
6585
- return (React__default.createElement(React__default.Fragment, null,
6586
- React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value, disabled: true })));
6587
- } })),
6588
- React__default.createElement(Grid, { container: true },
6589
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6590
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6591
- React__default.createElement(Controller, { name: "ParentAssetName", control: control, render: function (_a) {
6592
- var _b = _a.field, onChange = _b.onChange, value = _b.value;
6593
- return (React__default.createElement(React__default.Fragment, null, value ? (React__default.createElement(TextField, { label: "Parent Asset", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value || "", disabled: true })) : (React__default.createElement(React__default.Fragment, null))));
6594
- } }))),
6595
- React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
6596
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6597
- React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
6598
- var field = _a.field;
6599
- return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6600
- return field.onChange(e.target.checked);
6601
- }, name: "IsBranch", color: "primary", disabled: true }), label: "Has Children" }));
6602
- } })),
6603
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6604
- React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6605
- var field = _a.field;
6606
- return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6607
- return field.onChange(e.target.checked);
6608
- }, name: "CanBeDefaultAsset", color: "primary", disabled: true }), label: "Can be Default Asset" }));
6609
- } })))))))))));
6626
+ React__default.createElement(Typography$1, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
6627
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
6628
+ React__default.createElement(DialogContent$1, { dividers: true, style: { padding: "10px 24px 0" } },
6629
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
6630
+ React__default.createElement(Controller, { name: "AssetName", control: control, render: function (_a) {
6631
+ var _b = _a.field, onChange = _b.onChange, value = _b.value;
6632
+ return (React__default.createElement(React__default.Fragment, null,
6633
+ React__default.createElement(TextField, { label: "Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value, disabled: true })));
6634
+ } })),
6635
+ React__default.createElement(Grid, { container: true },
6636
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
6637
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
6638
+ React__default.createElement(Controller, { name: "ParentAssetName", control: control, render: function (_a) {
6639
+ var _b = _a.field, onChange = _b.onChange, value = _b.value;
6640
+ return (React__default.createElement(React__default.Fragment, null, value ? (React__default.createElement(TextField, { label: "Parent Asset", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value || "", disabled: true })) : (React__default.createElement(React__default.Fragment, null))));
6641
+ } }))),
6642
+ React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
6643
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6644
+ React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
6645
+ var field = _a.field;
6646
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6647
+ return field.onChange(e.target.checked);
6648
+ }, name: "IsBranch", color: "primary", disabled: true }), label: "Has Children" }));
6649
+ } })),
6650
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
6651
+ React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
6652
+ var field = _a.field;
6653
+ return (React__default.createElement(FormControlLabel, { className: classes.checkbox, control: React__default.createElement(Checkbox, { checked: field.value, onChange: function (e) {
6654
+ return field.onChange(e.target.checked);
6655
+ }, name: "CanBeDefaultAsset", color: "primary", disabled: true }), label: "Can be Default Asset" }));
6656
+ } }))))))))))));
6610
6657
  };
6611
6658
 
6612
6659
  var useAssetActions = function (_a) {
@@ -7297,109 +7344,111 @@ var AssetViewComponent = function () {
7297
7344
  var openAssetsArray = useMemo(function () {
7298
7345
  return Object.keys(openAssets).map(function (el) { return Number.parseInt(el); });
7299
7346
  }, [openAssets]);
7300
- return (React__default.createElement("div", { style: { width: "100%", height: "100%" } },
7301
- React__default.createElement("div", { onClick: handleClick },
7302
- React__default.createElement("div", { onContextMenu: handleCreateNewContextMenu },
7303
- React__default.createElement("div", null,
7304
- React__default.createElement(Grid, { spacing: 0, container: true, justifyContent: "flex-start", alignItems: "flex-start", className: classes.root },
7305
- React__default.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0 20px 20px", fontWeight: 600 } }, "Assets Tree"),
7306
- isLoading ? (React__default.createElement(Grid, { container: true, style: { width: "100%", height: "100%" } },
7307
- React__default.createElement(Grid, { item: true, xs: 12, md: 12, style: {
7308
- height: "71vh",
7309
- justifyContent: "center",
7310
- alignItems: "center",
7311
- } },
7312
- React__default.createElement("div", { style: {
7313
- width: "100%",
7314
- height: "100%",
7315
- display: "flex",
7347
+ return (React__default.createElement(React__default.Fragment, null,
7348
+ React__default.createElement(HelmetDexteel, { title: "Assets Tree" }),
7349
+ React__default.createElement("div", { style: { width: "100%", height: "100%" } },
7350
+ React__default.createElement("div", { onClick: handleClick },
7351
+ React__default.createElement("div", { onContextMenu: handleCreateNewContextMenu },
7352
+ React__default.createElement("div", null,
7353
+ React__default.createElement(Grid, { spacing: 0, container: true, justifyContent: "flex-start", alignItems: "flex-start", className: classes.root },
7354
+ React__default.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0 20px 20px", fontWeight: 600 } }, "Assets Tree"),
7355
+ isLoading ? (React__default.createElement(Grid, { container: true, style: { width: "100%", height: "100%" } },
7356
+ React__default.createElement(Grid, { item: true, xs: 12, md: 12, style: {
7357
+ height: "71vh",
7316
7358
  justifyContent: "center",
7317
7359
  alignItems: "center",
7318
7360
  } },
7319
- React__default.createElement(LazyLoading, null))))) : (React__default.createElement(Paper, { elevation: 2, style: {
7320
- width: "100%",
7321
- padding: "15px 20px 10px",
7322
- borderRadius: "0.75rem",
7323
- } },
7324
- React__default.createElement(AssetSearchInput, { assetNodes: allAssetNodes, onSearchResultClick: handleSearchResultClick }),
7325
- React__default.createElement(Grid, { container: true, alignItems: "center" },
7326
- React__default.createElement(Grid, { container: true, style: {
7327
- height: "71vh",
7328
- overflowY: "auto",
7329
- paddingBottom: 10,
7330
- } },
7331
- React__default.createElement(Grid, null,
7332
- React__default.createElement(Tree, { rootId: -1, initialOpen: openAssetsArray, tree: allAssetNodes, enableAnimateExpand: true, classes: {
7333
- root: classes.assetRoot,
7334
- dropTarget: classes.dropTarget,
7335
- }, onDrop: handleDrop, onDragStart: handleDragStart, onDragEnd: handleDragEnd, canDrop: function (asset, options) {
7336
- return !selectedNodes.some(function (selectedNode) {
7337
- return selectedNode.id === options.dropTargetId;
7338
- });
7339
- }, render: function (node, options) {
7340
- var selected = selectedNodes.some(function (selectedNode) { return selectedNode.id === node.id; });
7341
- return (React__default.createElement(CustomNode, __assign({ setContextMenuOver: handleContextMenu, node: node }, options, { isSelected: selected, isDragging: selected && isDragging, onClick: handleCtrlClick, onDoubleClick: handleShowViewerAsset })));
7342
- }, dragPreviewRender: function (monitorProps) {
7343
- if (selectedNodes.length > 1) {
7344
- return (React__default.createElement(MultipleDragPreview, { dragSources: selectedNodes }));
7345
- }
7346
- return (React__default.createElement(CustomDragPreview$1, { monitorProps: monitorProps }));
7347
- } })))))),
7348
- React__default.createElement(CreateNewAssetDialog, { show: showCreateNewAssetDialog, onHide: function (shouldUpdate) {
7349
- setShowCreateNewAssetDialog(false);
7350
- if (shouldUpdate) {
7351
- searchAssets();
7352
- }
7353
- } }),
7354
- React__default.createElement(EditAssetDialog, { show: showEditAssetDialog, onHide: function (shouldUpdate) {
7355
- setShowEditAssetDialog(false);
7356
- if (shouldUpdate) {
7357
- searchAssets();
7358
- }
7359
- } }),
7360
- React__default.createElement(ViewerAssetDialog, { show: showViewerAssetDialog, onHide: function () { return handleOnHideViewer(); } }),
7361
- React__default.createElement(RemoveAssetDialog, { show: showRemoveAssetDialog, onHide: function (shouldUpdate) {
7362
- setShowRemoveAssetDialog(false);
7363
- if (shouldUpdate) {
7364
- searchAssets();
7365
- }
7366
- } })),
7367
- React__default.createElement(Snackbar, { open: updatedSuccessfullyMessage, autoHideDuration: 2500, onClose: handleClose },
7368
- React__default.createElement(Alert$2, { severity: "success", onClose: handleClose }, "Asset updated successfully"))),
7369
- showContextMenu && !isDoubleClick ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: y, left: x, padding: "6px 0" } },
7370
- React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowViewerAssetDialog(true); } },
7371
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7372
- React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7373
- React__default.createElement(FindInPageIcon, { style: { width: 18 } })),
7374
- React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7375
- React__default.createElement("div", { style: { marginLeft: 5 } }, "View Asset")))),
7376
- React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowEditAssetDialog(true); } },
7377
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7378
- React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7379
- React__default.createElement(EditIcon, { style: { width: 18 } })),
7380
- React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7381
- React__default.createElement("div", { style: { marginLeft: 5 } }, "Edit Asset")))),
7382
- React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowCreateNewAssetDialog(true); } },
7383
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7384
- React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7385
- React__default.createElement(AddBoxIcon, { style: { width: 18 } })),
7386
- React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7387
- React__default.createElement("div", { style: { marginLeft: 5 } }, "Create Asset")))),
7388
- (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsBranch) === false && (React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowRemoveAssetDialog(true); } },
7389
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7390
- React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7391
- React__default.createElement(DeleteIcon, { style: { width: 18 } })),
7392
- React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7393
- React__default.createElement("div", { style: { marginLeft: 5 } }, "Remove Asset"))))))) : (""),
7394
- showCreateNewContextMenu ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: y, left: x } },
7395
- React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowCreateNewAssetDialog(true); } },
7396
- React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7397
- React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7398
- React__default.createElement(AddBoxIcon, { style: { width: 18 } })),
7399
- React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7400
- React__default.createElement("div", { style: { marginLeft: 5 } }, "Create Asset")))))) : (""))),
7401
- React__default.createElement(ErrorModal, { error: errorUpdate, onHide: function () { return setErrorUpdate(""); } }),
7402
- React__default.createElement(ErrorModal, { error: searchError, onHide: function () { return setSearchError(""); } })));
7361
+ React__default.createElement("div", { style: {
7362
+ width: "100%",
7363
+ height: "100%",
7364
+ display: "flex",
7365
+ justifyContent: "center",
7366
+ alignItems: "center",
7367
+ } },
7368
+ React__default.createElement(LazyLoading, null))))) : (React__default.createElement(Paper, { elevation: 2, style: {
7369
+ width: "100%",
7370
+ padding: "15px 20px 10px",
7371
+ borderRadius: "0.75rem",
7372
+ } },
7373
+ React__default.createElement(AssetSearchInput, { assetNodes: allAssetNodes, onSearchResultClick: handleSearchResultClick }),
7374
+ React__default.createElement(Grid, { container: true, alignItems: "center" },
7375
+ React__default.createElement(Grid, { container: true, style: {
7376
+ height: "71vh",
7377
+ overflowY: "auto",
7378
+ paddingBottom: 10,
7379
+ } },
7380
+ React__default.createElement(Grid, null,
7381
+ React__default.createElement(Tree, { rootId: -1, initialOpen: openAssetsArray, tree: allAssetNodes, enableAnimateExpand: true, classes: {
7382
+ root: classes.assetRoot,
7383
+ dropTarget: classes.dropTarget,
7384
+ }, onDrop: handleDrop, onDragStart: handleDragStart, onDragEnd: handleDragEnd, canDrop: function (asset, options) {
7385
+ return !selectedNodes.some(function (selectedNode) {
7386
+ return selectedNode.id === options.dropTargetId;
7387
+ });
7388
+ }, render: function (node, options) {
7389
+ var selected = selectedNodes.some(function (selectedNode) { return selectedNode.id === node.id; });
7390
+ return (React__default.createElement(CustomNode, __assign({ setContextMenuOver: handleContextMenu, node: node }, options, { isSelected: selected, isDragging: selected && isDragging, onClick: handleCtrlClick, onDoubleClick: handleShowViewerAsset })));
7391
+ }, dragPreviewRender: function (monitorProps) {
7392
+ if (selectedNodes.length > 1) {
7393
+ return (React__default.createElement(MultipleDragPreview, { dragSources: selectedNodes }));
7394
+ }
7395
+ return (React__default.createElement(CustomDragPreview$1, { monitorProps: monitorProps }));
7396
+ } })))))),
7397
+ React__default.createElement(CreateNewAssetDialog, { show: showCreateNewAssetDialog, onHide: function (shouldUpdate) {
7398
+ setShowCreateNewAssetDialog(false);
7399
+ if (shouldUpdate) {
7400
+ searchAssets();
7401
+ }
7402
+ }, suffixTitle: "Assets Tree" }),
7403
+ React__default.createElement(EditAssetDialog, { show: showEditAssetDialog, onHide: function (shouldUpdate) {
7404
+ setShowEditAssetDialog(false);
7405
+ if (shouldUpdate) {
7406
+ searchAssets();
7407
+ }
7408
+ }, suffixTitle: "Assets Tree" }),
7409
+ React__default.createElement(ViewerAssetDialog, { show: showViewerAssetDialog, onHide: function () { return handleOnHideViewer(); }, suffixTitle: "Assets Tree" }),
7410
+ React__default.createElement(RemoveAssetDialog, { show: showRemoveAssetDialog, onHide: function (shouldUpdate) {
7411
+ setShowRemoveAssetDialog(false);
7412
+ if (shouldUpdate) {
7413
+ searchAssets();
7414
+ }
7415
+ }, suffixTitle: "Assets Tree" })),
7416
+ React__default.createElement(Snackbar, { open: updatedSuccessfullyMessage, autoHideDuration: 2500, onClose: handleClose },
7417
+ React__default.createElement(Alert$2, { severity: "success", onClose: handleClose }, "Asset updated successfully"))),
7418
+ showContextMenu && !isDoubleClick ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: y, left: x, padding: "6px 0" } },
7419
+ React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowViewerAssetDialog(true); } },
7420
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7421
+ React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7422
+ React__default.createElement(FindInPageIcon, { style: { width: 18 } })),
7423
+ React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7424
+ React__default.createElement("div", { style: { marginLeft: 5 } }, "View Asset")))),
7425
+ React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowEditAssetDialog(true); } },
7426
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7427
+ React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7428
+ React__default.createElement(EditIcon, { style: { width: 18 } })),
7429
+ React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7430
+ React__default.createElement("div", { style: { marginLeft: 5 } }, "Edit Asset")))),
7431
+ React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowCreateNewAssetDialog(true); } },
7432
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7433
+ React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7434
+ React__default.createElement(AddBoxIcon, { style: { width: 18 } })),
7435
+ React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7436
+ React__default.createElement("div", { style: { marginLeft: 5 } }, "Create Asset")))),
7437
+ (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsBranch) === false && (React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowRemoveAssetDialog(true); } },
7438
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7439
+ React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7440
+ React__default.createElement(DeleteIcon, { style: { width: 18 } })),
7441
+ React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7442
+ React__default.createElement("div", { style: { marginLeft: 5 } }, "Remove Asset"))))))) : (""),
7443
+ showCreateNewContextMenu ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: y, left: x } },
7444
+ React__default.createElement(MenuItem, { className: classes.menuItem, onClick: function () { return setShowCreateNewAssetDialog(true); } },
7445
+ React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
7446
+ React__default.createElement(Grid, { item: true, md: 2, xs: 3 },
7447
+ React__default.createElement(AddBoxIcon, { style: { width: 18 } })),
7448
+ React__default.createElement(Grid, { item: true, md: 9, xs: 9 },
7449
+ React__default.createElement("div", { style: { marginLeft: 5 } }, "Create Asset")))))) : (""))),
7450
+ React__default.createElement(ErrorModal, { error: errorUpdate, onHide: function () { return setErrorUpdate(""); } }),
7451
+ React__default.createElement(ErrorModal, { error: searchError, onHide: function () { return setSearchError(""); } }))));
7403
7452
  };
7404
7453
 
7405
7454
  var ConfigurationAssetComponent = function () {
@@ -7632,7 +7681,7 @@ var useStyles$e = makeStyles(function (theme) { return ({
7632
7681
  }); });
7633
7682
  var CreateUser = function (_a) {
7634
7683
  var _b, _c, _d;
7635
- var show = _a.show, onHide = _a.onHide;
7684
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
7636
7685
  var _e = useState(false), open = _e[0], setOpen = _e[1];
7637
7686
  var _f = useState(false), isSubmitLoading = _f[0], setIsSubmitLoading = _f[1];
7638
7687
  var _g = useState(""), error = _g[0], setError = _g[1];
@@ -7684,6 +7733,7 @@ var CreateUser = function (_a) {
7684
7733
  }
7685
7734
  }, [show]);
7686
7735
  return (React.createElement(React.Fragment, null,
7736
+ show && (React.createElement(HelmetDexteel, { title: "New User".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
7687
7737
  React.createElement(MesfModal, { title: "NEW USER", open: show, handleClose: function () { return onHide(false); }, id: "create-user-modal", maxWidth: "md" },
7688
7738
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
7689
7739
  React.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
@@ -7733,7 +7783,7 @@ var CreateUser = function (_a) {
7733
7783
  };
7734
7784
 
7735
7785
  var DeleteUser = function (_a) {
7736
- var userId = _a.userId, show = _a.show, onHide = _a.onHide;
7786
+ var userId = _a.userId, show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
7737
7787
  var _b = useState(false), open = _b[0], setOpen = _b[1];
7738
7788
  var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
7739
7789
  var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
@@ -7812,6 +7862,7 @@ var DeleteUser = function (_a) {
7812
7862
  }
7813
7863
  }, [show]);
7814
7864
  return (React__default.createElement(React__default.Fragment, null,
7865
+ show && (React__default.createElement(HelmetDexteel, { title: "Delete User".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
7815
7866
  React__default.createElement(MesfModal, { title: "DELETE USER", open: show, handleClose: function () { return onHide(false); }, id: "delete-user-modal", maxWidth: "md" },
7816
7867
  React__default.createElement("form", null,
7817
7868
  React__default.createElement(MesfModal.Content, { style: { padding: "15px 30px" } },
@@ -8205,7 +8256,7 @@ var useStyles$d = makeStyles(function (theme) { return ({
8205
8256
  }); });
8206
8257
  var EditUser = function (_a) {
8207
8258
  var _b, _c, _d;
8208
- var userId = _a.userId, show = _a.show, onHide = _a.onHide;
8259
+ var userId = _a.userId, show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
8209
8260
  var classes = useStyles$d();
8210
8261
  var _e = useState(false), open = _e[0], setOpen = _e[1];
8211
8262
  var _f = useState(false), isLoading = _f[0], setIsLoading = _f[1];
@@ -8298,6 +8349,7 @@ var EditUser = function (_a) {
8298
8349
  }
8299
8350
  }, [show]);
8300
8351
  return (React.createElement(React.Fragment, null,
8352
+ show && (React.createElement(HelmetDexteel, { title: "Edit User".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
8301
8353
  React.createElement(MesfModal, { title: "EDIT USER", open: show, handleClose: function () { return onHide(false); }, id: "edit-user-modal", maxWidth: "md" },
8302
8354
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
8303
8355
  React.createElement(MesfModal.Content, { className: classes.modalBody, style: { padding: "15px 30px" } },
@@ -8677,26 +8729,26 @@ var TableUsers = function (_a) {
8677
8729
  setUserId(null);
8678
8730
  if (shouldUpdate)
8679
8731
  getUsersFromAPI();
8680
- } }),
8732
+ }, suffixTitle: "User Management" }),
8681
8733
  React.createElement(EditUser, { show: openModalEditDataUser, userId: userId, onHide: function (shouldUpdate) {
8682
8734
  setOpenModalEditDataUser(false);
8683
8735
  setUserId(null);
8684
8736
  if (shouldUpdate)
8685
8737
  getUsersFromAPI();
8686
- } }),
8738
+ }, suffixTitle: "User Management" }),
8687
8739
  React.createElement(ChangePassword$1, { show: openModalChangePassword, userId: userId, onHide: function (shouldUpdate) {
8688
8740
  setOpenModalChangePasswordd(false);
8689
8741
  setUserId(null);
8690
8742
  if (shouldUpdate) {
8691
8743
  getUsersFromAPI();
8692
8744
  }
8693
- } }),
8745
+ }, suffixTitle: "User Management" }),
8694
8746
  React.createElement(DeleteUser, { show: openModalDeleteUser, userId: userId, onHide: function (shouldUpdate) {
8695
8747
  setOpenModalDeleteUser(false);
8696
8748
  setUserId(null);
8697
8749
  if (shouldUpdate)
8698
8750
  getUsersFromAPI();
8699
- } })));
8751
+ }, suffixTitle: "User Management" })));
8700
8752
  };
8701
8753
 
8702
8754
  var Users = function (prop) {
@@ -8726,10 +8778,12 @@ var Users = function (prop) {
8726
8778
  useEffect(function () {
8727
8779
  getUsersFromAPI();
8728
8780
  }, []);
8729
- return (React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
8730
- React.createElement(Grid, { item: true, xs: 12 },
8731
- React.createElement(TableUsers, { isLoading: isLoading, getUsersFromAPI: getUsersFromAPI })),
8732
- React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
8781
+ return (React.createElement(React.Fragment, null,
8782
+ React.createElement(HelmetDexteel, { title: "User Management" }),
8783
+ React.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
8784
+ React.createElement(Grid, { item: true, xs: 12 },
8785
+ React.createElement(TableUsers, { isLoading: isLoading, getUsersFromAPI: getUsersFromAPI })),
8786
+ React.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }))));
8733
8787
  };
8734
8788
 
8735
8789
  var UsersPage = function (props) {
@@ -9560,7 +9614,7 @@ var getUserPermissionsFromAPI = function (_a) { return __awaiter(void 0, [_a], v
9560
9614
  }); };
9561
9615
 
9562
9616
  var ChangePassword$1 = function (_a) {
9563
- var show = _a.show, userId = _a.userId, onHide = _a.onHide;
9617
+ var show = _a.show, userId = _a.userId, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
9564
9618
  var _b = useState(""), password = _b[0], setPasswordText = _b[1];
9565
9619
  var _c = useState(false), isDirty = _c[0], setIsDirty = _c[1];
9566
9620
  var handleSubmit = useCallback(function (ev) { return __awaiter(void 0, void 0, void 0, function () {
@@ -9584,6 +9638,7 @@ var ChangePassword$1 = function (_a) {
9584
9638
  }, [show]);
9585
9639
  if (userId) {
9586
9640
  return (React.createElement(React.Fragment, null,
9641
+ show && (React.createElement(HelmetDexteel, { title: "Change Password".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
9587
9642
  React.createElement(MesfModal, { title: "Change password", open: show, handleClose: function () { return onHide(false); }, maxWidth: "lg" },
9588
9643
  React.createElement(Grid, { container: true },
9589
9644
  React.createElement(Grid, { item: true, md: 12, xs: 12 },
@@ -9768,94 +9823,96 @@ var Account = function () {
9768
9823
  closeMessage();
9769
9824
  }
9770
9825
  }, [showSuccess]);
9771
- return (React__default.createElement(Box, { p: 3, maxWidth: "100%" },
9772
- showSuccess && (React__default.createElement(Paper, { elevation: 2, style: {
9773
- padding: 16,
9774
- marginBottom: 16,
9775
- backgroundColor: "#c8e6c9",
9776
- color: "#1b5e20",
9777
- display: "flex",
9778
- alignItems: "center",
9779
- } },
9780
- React__default.createElement(Typography$1, null, successMessage))),
9781
- React__default.createElement(Box, null,
9782
- React__default.createElement(Typography$1, { variant: "h5", component: "h1", gutterBottom: true, style: { fontWeight: 600, marginBottom: 16 } }, "Account Configuration"),
9783
- React__default.createElement(Grid, { container: true, spacing: 3 },
9784
- React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
9785
- React__default.createElement(Paper, { style: { padding: 24, height: "100%", minHeight: "350px" } },
9786
- React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Account Information"),
9787
- React__default.createElement(Box, { mb: 2 },
9788
- React__default.createElement(TextField, { label: "Username", value: userName, variant: "outlined", fullWidth: true, style: {
9789
- pointerEvents: "none",
9790
- cursor: "default",
9791
- }, InputProps: {
9792
- readOnly: true,
9793
- }, tabIndex: -1 })),
9794
- React__default.createElement(Box, { mt: 3, display: "flex", flexDirection: "column", style: { gap: 4 } },
9795
- React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: userIsDomain, disabled: true }), label: "Domain User" }),
9796
- React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: userIsActive, disabled: true }), label: "Active Account" })))),
9797
- React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
9798
- React__default.createElement(Paper, { style: { padding: 24, height: "100%", minHeight: "350px" } },
9799
- React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Personal Details"),
9800
- React__default.createElement(Box, { mb: 2 },
9801
- React__default.createElement(TextField, { label: "First Name", value: editFirstName, variant: "outlined", fullWidth: true, onChange: function (e) { return setEditFirstName(e.target.value); }, onKeyDown: handleKeyDown, error: !editFirstName.trim(), helperText: !editFirstName.trim() ? "First name is required" : "" })),
9802
- React__default.createElement(Box, { mb: 2 },
9803
- React__default.createElement(TextField, { label: "Last Name", value: editLastName, variant: "outlined", fullWidth: true, onChange: function (e) { return setEditLastName(e.target.value); }, onKeyDown: handleKeyDown, error: !editLastName.trim(), helperText: !editLastName.trim() ? "Last name is required" : "" })),
9804
- React__default.createElement(Divider, { style: { margin: "24px 0 20px" } }),
9805
- React__default.createElement(Box, { mt: 2, display: "flex", flexDirection: "column", style: { gap: 8 } },
9806
- React__default.createElement(Button, { fullWidth: true, startIcon: isSaving && React__default.createElement(CircularProgress, { size: "1rem" }), disabled: !hasChanges() ||
9807
- isSaving ||
9808
- !editFirstName.trim() ||
9809
- !editLastName.trim(), variant: "contained", color: "primary", onClick: handleSave, style: { marginBottom: "8px" } }, "Save Changes"),
9810
- React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "primary", onClick: function () { return setShowPasswordModal(true); } }, "Change Password"))))),
9811
- React__default.createElement(Paper, { elevation: 2, style: { padding: 24, marginBottom: 24, marginTop: 24 } },
9812
- React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Permissions & Access"),
9826
+ return (React__default.createElement(React__default.Fragment, null,
9827
+ React__default.createElement(HelmetDexteel, { title: "Account Configuration" }),
9828
+ React__default.createElement(Box, { p: 3, maxWidth: "100%" },
9829
+ showSuccess && (React__default.createElement(Paper, { elevation: 2, style: {
9830
+ padding: 16,
9831
+ marginBottom: 16,
9832
+ backgroundColor: "#c8e6c9",
9833
+ color: "#1b5e20",
9834
+ display: "flex",
9835
+ alignItems: "center",
9836
+ } },
9837
+ React__default.createElement(Typography$1, null, successMessage))),
9838
+ React__default.createElement(Box, null,
9839
+ React__default.createElement(Typography$1, { variant: "h5", component: "h1", gutterBottom: true, style: { fontWeight: 600, marginBottom: 16 } }, "Account Configuration"),
9813
9840
  React__default.createElement(Grid, { container: true, spacing: 3 },
9814
- React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9815
- React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "Assigned Profiles"),
9816
- React__default.createElement("textarea", { style: {
9817
- width: "100%",
9818
- minHeight: "300px",
9819
- padding: 16,
9820
- fontFamily: "inherit",
9821
- fontSize: "14px",
9822
- lineHeight: "1.5",
9823
- border: "2px solid #e0e0e0",
9824
- borderRadius: 8,
9825
- backgroundColor: "#fff",
9826
- resize: "vertical",
9827
- outline: "none",
9828
- }, placeholder: "No profiles assigned", readOnly: true, value: userProfiles })),
9829
- React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9830
- React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "System Permissions"),
9831
- React__default.createElement("textarea", { style: {
9832
- width: "100%",
9833
- minHeight: "300px",
9834
- padding: 16,
9835
- fontFamily: "inherit",
9836
- fontSize: "14px",
9837
- lineHeight: "1.5",
9838
- border: "2px solid #e0e0e0",
9839
- borderRadius: 8,
9840
- backgroundColor: "#fff",
9841
- resize: "vertical",
9842
- outline: "none",
9843
- }, placeholder: "No permissions assigned", readOnly: true, value: userPermissions })),
9844
- React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9845
- React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "Available Procedures"),
9846
- React__default.createElement("textarea", { style: {
9847
- width: "100%",
9848
- minHeight: "300px",
9849
- padding: 16,
9850
- fontFamily: "inherit",
9851
- fontSize: "14px",
9852
- lineHeight: "1.5",
9853
- border: "2px solid #e0e0e0",
9854
- borderRadius: 8,
9855
- backgroundColor: "#fff",
9856
- resize: "vertical",
9857
- outline: "none",
9858
- }, placeholder: "No procedures available", readOnly: true, value: userProcedures }))))),
9841
+ React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
9842
+ React__default.createElement(Paper, { style: { padding: 24, height: "100%", minHeight: "350px" } },
9843
+ React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Account Information"),
9844
+ React__default.createElement(Box, { mb: 2 },
9845
+ React__default.createElement(TextField, { label: "Username", value: userName, variant: "outlined", fullWidth: true, style: {
9846
+ pointerEvents: "none",
9847
+ cursor: "default",
9848
+ }, InputProps: {
9849
+ readOnly: true,
9850
+ }, tabIndex: -1 })),
9851
+ React__default.createElement(Box, { mt: 3, display: "flex", flexDirection: "column", style: { gap: 4 } },
9852
+ React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: userIsDomain, disabled: true }), label: "Domain User" }),
9853
+ React__default.createElement(FormControlLabel, { control: React__default.createElement(Checkbox, { checked: userIsActive, disabled: true }), label: "Active Account" })))),
9854
+ React__default.createElement(Grid, { item: true, xs: 12, md: 6 },
9855
+ React__default.createElement(Paper, { style: { padding: 24, height: "100%", minHeight: "350px" } },
9856
+ React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Personal Details"),
9857
+ React__default.createElement(Box, { mb: 2 },
9858
+ React__default.createElement(TextField, { label: "First Name", value: editFirstName, variant: "outlined", fullWidth: true, onChange: function (e) { return setEditFirstName(e.target.value); }, onKeyDown: handleKeyDown, error: !editFirstName.trim(), helperText: !editFirstName.trim() ? "First name is required" : "" })),
9859
+ React__default.createElement(Box, { mb: 2 },
9860
+ React__default.createElement(TextField, { label: "Last Name", value: editLastName, variant: "outlined", fullWidth: true, onChange: function (e) { return setEditLastName(e.target.value); }, onKeyDown: handleKeyDown, error: !editLastName.trim(), helperText: !editLastName.trim() ? "Last name is required" : "" })),
9861
+ React__default.createElement(Divider, { style: { margin: "24px 0 20px" } }),
9862
+ React__default.createElement(Box, { mt: 2, display: "flex", flexDirection: "column", style: { gap: 8 } },
9863
+ React__default.createElement(Button, { fullWidth: true, startIcon: isSaving && React__default.createElement(CircularProgress, { size: "1rem" }), disabled: !hasChanges() ||
9864
+ isSaving ||
9865
+ !editFirstName.trim() ||
9866
+ !editLastName.trim(), variant: "contained", color: "primary", onClick: handleSave, style: { marginBottom: "8px" } }, "Save Changes"),
9867
+ React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "primary", onClick: function () { return setShowPasswordModal(true); } }, "Change Password"))))),
9868
+ React__default.createElement(Paper, { elevation: 2, style: { padding: 24, marginBottom: 24, marginTop: 24 } },
9869
+ React__default.createElement(Typography$1, { variant: "h6", gutterBottom: true, style: { marginBottom: 24, fontWeight: 600 } }, "Permissions & Access"),
9870
+ React__default.createElement(Grid, { container: true, spacing: 3 },
9871
+ React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9872
+ React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "Assigned Profiles"),
9873
+ React__default.createElement("textarea", { style: {
9874
+ width: "100%",
9875
+ minHeight: "300px",
9876
+ padding: 16,
9877
+ fontFamily: "inherit",
9878
+ fontSize: "14px",
9879
+ lineHeight: "1.5",
9880
+ border: "2px solid #e0e0e0",
9881
+ borderRadius: 8,
9882
+ backgroundColor: "#fff",
9883
+ resize: "vertical",
9884
+ outline: "none",
9885
+ }, placeholder: "No profiles assigned", readOnly: true, value: userProfiles })),
9886
+ React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9887
+ React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "System Permissions"),
9888
+ React__default.createElement("textarea", { style: {
9889
+ width: "100%",
9890
+ minHeight: "300px",
9891
+ padding: 16,
9892
+ fontFamily: "inherit",
9893
+ fontSize: "14px",
9894
+ lineHeight: "1.5",
9895
+ border: "2px solid #e0e0e0",
9896
+ borderRadius: 8,
9897
+ backgroundColor: "#fff",
9898
+ resize: "vertical",
9899
+ outline: "none",
9900
+ }, placeholder: "No permissions assigned", readOnly: true, value: userPermissions })),
9901
+ React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9902
+ React__default.createElement(Typography$1, { variant: "body1", gutterBottom: true, color: "textSecondary" }, "Available Procedures"),
9903
+ React__default.createElement("textarea", { style: {
9904
+ width: "100%",
9905
+ minHeight: "300px",
9906
+ padding: 16,
9907
+ fontFamily: "inherit",
9908
+ fontSize: "14px",
9909
+ lineHeight: "1.5",
9910
+ border: "2px solid #e0e0e0",
9911
+ borderRadius: 8,
9912
+ backgroundColor: "#fff",
9913
+ resize: "vertical",
9914
+ outline: "none",
9915
+ }, placeholder: "No procedures available", readOnly: true, value: userProcedures })))))),
9859
9916
  React__default.createElement(ErrorModal, { error: error, onHide: function () {
9860
9917
  setError("");
9861
9918
  } }),
@@ -10434,40 +10491,6 @@ function Logout() {
10434
10491
  React__default.createElement("div", null, "logging out!!!")));
10435
10492
  }
10436
10493
 
10437
- var RouterContext = createContext(function () { return React__default.createElement(React__default.Fragment, null); });
10438
- var ConfigurationContext = createContext([
10439
- [],
10440
- function () { return React__default.createElement(React__default.Fragment, null); },
10441
- ]);
10442
- var NavbarContext = createContext(function () { return React__default.createElement(React__default.Fragment, null); });
10443
-
10444
- var useSearchAssets = function (setError) {
10445
- var _a = useAssetContext().actions, setAllAssets = _a.setAllAssets, setAreasList = _a.setAreasList;
10446
- var searchAssets = function () {
10447
- getAssets().then(function (res) { return __awaiter(void 0, void 0, void 0, function () {
10448
- var rows, areas;
10449
- return __generator(this, function (_a) {
10450
- switch (_a.label) {
10451
- case 0:
10452
- if (!res.ok) return [3 /*break*/, 2];
10453
- rows = get(res, "data.tables[0].rows", []);
10454
- return [4 /*yield*/, rows.filter(function (asset) { return asset.CanBeDefaultAsset; })];
10455
- case 1:
10456
- areas = _a.sent();
10457
- setAllAssets(rows);
10458
- setAreasList(areas);
10459
- return [3 /*break*/, 3];
10460
- case 2:
10461
- setError(res.message);
10462
- _a.label = 3;
10463
- case 3: return [2 /*return*/];
10464
- }
10465
- });
10466
- }); });
10467
- };
10468
- return { searchAssets: searchAssets };
10469
- };
10470
-
10471
10494
  var useStyles$6 = makeStyles(function (theme) { return ({
10472
10495
  container: {
10473
10496
  display: "flex",
@@ -10528,6 +10551,173 @@ var TimeAndUserMenu = function (_a) {
10528
10551
  React__default.createElement(MenuItem, { component: "a", href: "logout" }, "Logout"))));
10529
10552
  };
10530
10553
 
10554
+ var ButtonWithLoading = function (_a) {
10555
+ var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
10556
+ return (React__default.createElement(Button, __assign({}, props, { disabled: isLoading }),
10557
+ isLoading && React__default.createElement(CircularProgress, { size: "1rem" }),
10558
+ children));
10559
+ };
10560
+
10561
+ var UTLSettingsInitialState = {
10562
+ serverTimeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
10563
+ settings: {},
10564
+ };
10565
+ var UTLSettingsReducer = createSlice({
10566
+ name: "__",
10567
+ initialState: UTLSettingsInitialState,
10568
+ reducers: {
10569
+ setServerTimeZone: function (state, _a) {
10570
+ var payload = _a.payload;
10571
+ state.serverTimeZone = payload;
10572
+ },
10573
+ setSetting: function (state, _a) {
10574
+ var payload = _a.payload;
10575
+ state.settings[payload.key] = payload.value;
10576
+ },
10577
+ initSettings: function (state, _a) {
10578
+ var payload = _a.payload;
10579
+ state.settings = payload.reduce(function (acc, cur) {
10580
+ if (cur.SettingName.trim().toLowerCase() === "timezone") {
10581
+ var timeService = TimeService.getInstance();
10582
+ timeService.setTimeZone(cur.Value);
10583
+ }
10584
+ acc[cur.SettingName.trim()] = cur.Value;
10585
+ return acc;
10586
+ }, {});
10587
+ },
10588
+ },
10589
+ });
10590
+
10591
+ var UTLSettingsContext = createContext({
10592
+ state: UTLSettingsReducer.getInitialState(),
10593
+ actions: UTLSettingsReducer.actions,
10594
+ isLoading: true,
10595
+ });
10596
+ var useUTLSettingsContext = function () { return useContext(UTLSettingsContext); };
10597
+ var UTLSettingsProvider = function (_a) {
10598
+ var children = _a.children;
10599
+ var _b = useComplexState({
10600
+ initialState: UTLSettingsReducer.getInitialState(),
10601
+ reducers: UTLSettingsReducer.caseReducers,
10602
+ }), state = _b[0], actions = _b[1];
10603
+ var _c = useState(true), isLoading = _c[0], setIsLoading = _c[1];
10604
+ var searchUTLSettings = function () { return __awaiter(void 0, void 0, void 0, function () {
10605
+ var res, settings, settingsTrimmed;
10606
+ return __generator(this, function (_a) {
10607
+ switch (_a.label) {
10608
+ case 0: return [4 /*yield*/, getUTLSettings()];
10609
+ case 1:
10610
+ res = _a.sent();
10611
+ if (res.ok) {
10612
+ settings = get(res, "data.tables[0].rows", []);
10613
+ settingsTrimmed = settings.map(function (setting) { return (__assign(__assign({}, setting), { SettingName: setting.SettingName.trim() })); });
10614
+ actions.initSettings(settingsTrimmed);
10615
+ }
10616
+ else {
10617
+ console.error(res.message);
10618
+ }
10619
+ return [2 /*return*/];
10620
+ }
10621
+ });
10622
+ }); };
10623
+ useEffect(function () {
10624
+ setIsLoading(true);
10625
+ searchUTLSettings().then(function () {
10626
+ setIsLoading(false);
10627
+ });
10628
+ }, []);
10629
+ useMesfRealtime({
10630
+ onReceiveMessage: function (author, message) {
10631
+ if (message === "UTL.GetSettings") {
10632
+ searchUTLSettings();
10633
+ }
10634
+ },
10635
+ });
10636
+ return (React__default.createElement(UTLSettingsContext.Provider, { value: { state: state, actions: actions, isLoading: isLoading } }, children));
10637
+ };
10638
+
10639
+ var themeMESF = createTheme({
10640
+ palette: {
10641
+ type: "light",
10642
+ primary: {
10643
+ main: "#3f51b5",
10644
+ },
10645
+ secondary: {
10646
+ main: "#f50057",
10647
+ },
10648
+ },
10649
+ typography: {
10650
+ // Modify base font size
10651
+ fontSize: 14,
10652
+ // Customize specific variants
10653
+ h6: {
10654
+ fontSize: "1.1rem",
10655
+ fontWeight: 500,
10656
+ },
10657
+ subtitle1: {
10658
+ fontSize: "0.875rem",
10659
+ },
10660
+ body1: {
10661
+ fontSize: "0.875rem",
10662
+ },
10663
+ body2: {
10664
+ fontSize: "0.875rem",
10665
+ },
10666
+ },
10667
+ overrides: {
10668
+ MuiListItemText: {
10669
+ primary: {
10670
+ fontSize: "0.875rem",
10671
+ },
10672
+ },
10673
+ MuiListSubheader: {
10674
+ root: {
10675
+ fontSize: "0.875rem",
10676
+ fontWeight: 600,
10677
+ },
10678
+ },
10679
+ MuiListItemIcon: {
10680
+ root: {
10681
+ minWidth: "40px",
10682
+ },
10683
+ },
10684
+ },
10685
+ });
10686
+
10687
+ var RouterContext = createContext(function () { return React__default.createElement(React__default.Fragment, null); });
10688
+ var ConfigurationContext = createContext([
10689
+ [],
10690
+ function () { return React__default.createElement(React__default.Fragment, null); },
10691
+ ]);
10692
+ var NavbarContext = createContext(function () { return React__default.createElement(React__default.Fragment, null); });
10693
+
10694
+ var useSearchAssets = function (setError) {
10695
+ var _a = useAssetContext().actions, setAllAssets = _a.setAllAssets, setAreasList = _a.setAreasList;
10696
+ var searchAssets = function () {
10697
+ getAssets().then(function (res) { return __awaiter(void 0, void 0, void 0, function () {
10698
+ var rows, areas;
10699
+ return __generator(this, function (_a) {
10700
+ switch (_a.label) {
10701
+ case 0:
10702
+ if (!res.ok) return [3 /*break*/, 2];
10703
+ rows = get(res, "data.tables[0].rows", []);
10704
+ return [4 /*yield*/, rows.filter(function (asset) { return asset.CanBeDefaultAsset; })];
10705
+ case 1:
10706
+ areas = _a.sent();
10707
+ setAllAssets(rows);
10708
+ setAreasList(areas);
10709
+ return [3 /*break*/, 3];
10710
+ case 2:
10711
+ setError(res.message);
10712
+ _a.label = 3;
10713
+ case 3: return [2 /*return*/];
10714
+ }
10715
+ });
10716
+ }); });
10717
+ };
10718
+ return { searchAssets: searchAssets };
10719
+ };
10720
+
10531
10721
  var AreaSelector$1 = lazy(function () {
10532
10722
  return Promise.resolve().then(function () { return areaSelector; }).then(function (mod) { return ({
10533
10723
  default: mod.AreaSelector,
@@ -10783,26 +10973,28 @@ var ChatComponent = function () {
10783
10973
  }
10784
10974
  });
10785
10975
  }); };
10786
- return (React__default.createElement(Paper, { className: classes.root, elevation: 3 },
10787
- React__default.createElement(Box, { mb: 2 },
10788
- React__default.createElement(Chip, { label: connectionState.isConnected ? "Connected" : "Disconnected", color: connectionState.isConnected ? "primary" : "default", className: classes.statusChip }),
10789
- connectionState.error && (React__default.createElement(Typography$1, { color: "error" },
10790
- "Error: ",
10791
- connectionState.error.message))),
10792
- React__default.createElement(Paper, { className: classes.messageList, variant: "outlined" },
10793
- React__default.createElement(List, null,
10794
- messages.map(function (msg, index) { return (React__default.createElement(ListItem, { key: index },
10795
- React__default.createElement(ListItemText, { primary: React__default.createElement(Typography$1, null,
10796
- React__default.createElement("strong", null,
10797
- msg.user,
10798
- ":"),
10799
- " ",
10800
- msg.message), secondary: React__default.createElement("span", { className: classes.timestamp }, msg.timestamp.toLocaleTimeString()) }))); }),
10801
- React__default.createElement("div", { ref: messageEndRef }))),
10802
- React__default.createElement("form", { onSubmit: sendMessage, className: classes.messageForm },
10803
- React__default.createElement(TextField, { value: user, onChange: function (e) { return setUser(e.target.value); }, label: "Your name", variant: "outlined", size: "small" }),
10804
- 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" }),
10805
- React__default.createElement(Button, { type: "submit", variant: "contained", color: "primary", disabled: !connectionState.isConnected || !user || !message, endIcon: React__default.createElement(Send, null) }, "Send"))));
10976
+ return (React__default.createElement(React__default.Fragment, null,
10977
+ React__default.createElement(HelmetDexteel, { title: "Client - Real Time" }),
10978
+ React__default.createElement(Paper, { className: classes.root, elevation: 3 },
10979
+ React__default.createElement(Box, { mb: 2 },
10980
+ React__default.createElement(Chip, { label: connectionState.isConnected ? "Connected" : "Disconnected", color: connectionState.isConnected ? "primary" : "default", className: classes.statusChip }),
10981
+ connectionState.error && (React__default.createElement(Typography$1, { color: "error" },
10982
+ "Error: ",
10983
+ connectionState.error.message))),
10984
+ React__default.createElement(Paper, { className: classes.messageList, variant: "outlined" },
10985
+ React__default.createElement(List, null,
10986
+ messages.map(function (msg, index) { return (React__default.createElement(ListItem, { key: index },
10987
+ React__default.createElement(ListItemText, { primary: React__default.createElement(Typography$1, null,
10988
+ React__default.createElement("strong", null,
10989
+ msg.user,
10990
+ ":"),
10991
+ " ",
10992
+ msg.message), secondary: React__default.createElement("span", { className: classes.timestamp }, msg.timestamp.toLocaleTimeString()) }))); }),
10993
+ React__default.createElement("div", { ref: messageEndRef }))),
10994
+ React__default.createElement("form", { onSubmit: sendMessage, className: classes.messageForm },
10995
+ React__default.createElement(TextField, { value: user, onChange: function (e) { return setUser(e.target.value); }, label: "Your name", variant: "outlined", size: "small" }),
10996
+ 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" }),
10997
+ React__default.createElement(Button, { type: "submit", variant: "contained", color: "primary", disabled: !connectionState.isConnected || !user || !message, endIcon: React__default.createElement(Send, null) }, "Send")))));
10806
10998
  };
10807
10999
 
10808
11000
  var QueryCacheInvalidations = function () {
@@ -10936,38 +11128,43 @@ var QueryCacheInvalidations = function () {
10936
11128
  }
10937
11129
  });
10938
11130
  }); };
10939
- return (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
10940
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" } },
10941
- React__default.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0", fontWeight: 600 } }, "Query Cache Invalidations")),
11131
+ return (React__default.createElement(React__default.Fragment, null,
11132
+ React__default.createElement(HelmetDexteel, { title: "Query Cache Invalidations - Real Time" }),
11133
+ ["add", "edit"].includes(modal) && (React__default.createElement(HelmetDexteel, { title: "".concat(modal === "add" ? "Add Cache Invalidation" : "Edit Cache Invalidation", " - Query Cache Invalidations") })),
10942
11134
  React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
10943
11135
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" } },
10944
- React__default.createElement(Grid, { component: Paper, item: true, md: 12, xs: 12, style: {
10945
- height: "70vh",
10946
- } },
10947
- React__default.createElement(AgGridReact, { gridOptions: {
10948
- theme: themeMaterial,
10949
- }, ref: gridRef, rowData: rowData, columnDefs: columnDefs, defaultColDef: defaultColDef, rowHeight: 34, headerHeight: 34, animateRows: true, rowSelection: "single", onRowDoubleClicked: function (event) {
10950
- handleEdit(event.data);
10951
- } })),
10952
- React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { marginTop: 10 } },
10953
- React__default.createElement(Grid, { item: true, md: 2, xs: 12 },
10954
- React__default.createElement(Button, { variant: "contained", color: "primary", onClick: handleAdd, fullWidth: true }, "ADD NEW"))))),
10955
- React__default.createElement(MesfModal, { title: modal === "add" ? "Add Cache Invalidation" : "Edit Cache Invalidation", open: ["add", "edit"].includes(modal), handleClose: function () { return setModal(""); } },
10956
- React__default.createElement("form", { onSubmit: handleSubmit(onSubmit) },
10957
- React__default.createElement(MesfModal.Content, { dividers: true },
10958
- React__default.createElement(Grid, { container: true, spacing: 3 },
10959
- React__default.createElement(Grid, { item: true, xs: 12 },
10960
- 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" }))); }, style: { marginTop: 16, marginBottom: 16 }, disabled: modal === "edit" })); } })),
10961
- React__default.createElement(Grid, { item: true, xs: 12 },
10962
- 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) {
10963
- params.field.onChange(value);
10964
- }, renderInput: function (params) { return (React__default.createElement(TextField, __assign({}, params, { label: "Select Target Actions", variant: "outlined" }))); }, style: { marginTop: 16, marginBottom: 16 } })); } })))),
10965
- React__default.createElement(MesfModal.Actions, null,
10966
- React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
10967
- React__default.createElement(Grid, { item: true, md: 3, xs: 12 },
10968
- React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return setModal(""); } }, "Cancel")),
10969
- React__default.createElement(Grid, { item: true, md: 3, xs: 12 },
10970
- React__default.createElement(Button, { fullWidth: true, startIcon: isLoading && React__default.createElement(CircularProgress, { size: "1rem" }), disabled: isLoading, variant: "contained", color: "primary", type: "submit" }, "Save"))))))));
11136
+ React__default.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0", fontWeight: 600 } }, "Query Cache Invalidations")),
11137
+ React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
11138
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" } },
11139
+ React__default.createElement(Grid, { component: Paper, item: true, md: 12, xs: 12, style: {
11140
+ height: "70vh",
11141
+ } },
11142
+ React__default.createElement(AgGridReact, { gridOptions: {
11143
+ theme: themeMaterial,
11144
+ }, ref: gridRef, rowData: rowData, columnDefs: columnDefs, defaultColDef: defaultColDef, rowHeight: 34, headerHeight: 34, animateRows: true, rowSelection: "single", onRowDoubleClicked: function (event) {
11145
+ handleEdit(event.data);
11146
+ } })),
11147
+ React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { marginTop: 10 } },
11148
+ React__default.createElement(Grid, { item: true, md: 2, xs: 12 },
11149
+ React__default.createElement(Button, { variant: "contained", color: "primary", onClick: handleAdd, fullWidth: true }, "ADD NEW"))))),
11150
+ React__default.createElement(MesfModal, { title: modal === "add"
11151
+ ? "Add Cache Invalidation"
11152
+ : "Edit Cache Invalidation", open: ["add", "edit"].includes(modal), handleClose: function () { return setModal(""); } },
11153
+ React__default.createElement("form", { onSubmit: handleSubmit(onSubmit) },
11154
+ React__default.createElement(MesfModal.Content, { dividers: true },
11155
+ React__default.createElement(Grid, { container: true, spacing: 3 },
11156
+ React__default.createElement(Grid, { item: true, xs: 12 },
11157
+ 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" }))); }, style: { marginTop: 16, marginBottom: 16 }, disabled: modal === "edit" })); } })),
11158
+ React__default.createElement(Grid, { item: true, xs: 12 },
11159
+ 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) {
11160
+ params.field.onChange(value);
11161
+ }, renderInput: function (params) { return (React__default.createElement(TextField, __assign({}, params, { label: "Select Target Actions", variant: "outlined" }))); }, style: { marginTop: 16, marginBottom: 16 } })); } })))),
11162
+ React__default.createElement(MesfModal.Actions, null,
11163
+ React__default.createElement(Grid, { container: true, spacing: 2, justifyContent: "flex-end" },
11164
+ React__default.createElement(Grid, { item: true, md: 3, xs: 12 },
11165
+ React__default.createElement(Button, { fullWidth: true, variant: "contained", color: "default", onClick: function () { return setModal(""); } }, "Cancel")),
11166
+ React__default.createElement(Grid, { item: true, md: 3, xs: 12 },
11167
+ React__default.createElement(Button, { fullWidth: true, startIcon: isLoading && React__default.createElement(CircularProgress, { size: "1rem" }), disabled: isLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))))));
10971
11168
  };
10972
11169
 
10973
11170
  var SettingsInitialState = {
@@ -11280,7 +11477,7 @@ var useStyles$1 = makeStyles(function (theme) { return ({
11280
11477
  },
11281
11478
  }); });
11282
11479
  var CreateSetting = function (_a) {
11283
- var show = _a.show, onHide = _a.onHide;
11480
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
11284
11481
  var _b = useState(false), open = _b[0], setOpen = _b[1];
11285
11482
  var _c = useState(false), isSubmitLoading = _c[0], setIsSubmitLoading = _c[1];
11286
11483
  var _d = useState(""), error = _d[0], setError = _d[1];
@@ -11324,9 +11521,10 @@ var CreateSetting = function (_a) {
11324
11521
  }
11325
11522
  }, [show]);
11326
11523
  return (React.createElement(React.Fragment, null,
11524
+ show && (React.createElement(HelmetDexteel, { title: "New Setting".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
11327
11525
  React.createElement(Grid, { container: true },
11328
11526
  React.createElement(Grid, { item: true },
11329
- React.createElement(MesfModal, { title: "NEW SETTING/CREW", open: show, handleClose: function () { return onHide(false); }, id: "create-setting-modal", maxWidth: "md" },
11527
+ React.createElement(MesfModal, { title: "NEW SETTING", open: show, handleClose: function () { return onHide(false); }, id: "create-setting-modal", maxWidth: "md" },
11330
11528
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
11331
11529
  React.createElement(MesfModal.Content, { style: { padding: "15px 30px 0" } },
11332
11530
  React.createElement(Grid, { container: true, spacing: 2 },
@@ -11386,7 +11584,7 @@ makeStyles(function (theme) { return ({
11386
11584
  },
11387
11585
  }); });
11388
11586
  var DeleteSetting = function (_a) {
11389
- var show = _a.show, onHide = _a.onHide;
11587
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
11390
11588
  var _b = useState(false), open = _b[0], setOpen = _b[1];
11391
11589
  var _c = useState(false), isSubmitLoading = _c[0], setIsSubmitLoading = _c[1];
11392
11590
  var _d = useState(""), error = _d[0], setError = _d[1];
@@ -11434,9 +11632,10 @@ var DeleteSetting = function (_a) {
11434
11632
  }
11435
11633
  }, [show]);
11436
11634
  return (React.createElement(React.Fragment, null,
11635
+ show && (React.createElement(HelmetDexteel, { title: "Delete Setting".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
11437
11636
  React.createElement(Grid, { container: true },
11438
11637
  React.createElement(Grid, { item: true },
11439
- React.createElement(MesfModal, { title: "DELETE SETTING/CREW", open: show, handleClose: function () { return onHide(false); }, id: "delete-setting-modal", maxWidth: "md" },
11638
+ React.createElement(MesfModal, { title: "DELETE SETTING", open: show, handleClose: function () { return onHide(false); }, id: "delete-setting-modal", maxWidth: "md" },
11440
11639
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
11441
11640
  React.createElement(MesfModal.Content, { style: { padding: "15px 30px 0" } },
11442
11641
  React.createElement(Grid, { container: true, spacing: 2 },
@@ -11490,7 +11689,7 @@ makeStyles(function (theme) { return ({
11490
11689
  },
11491
11690
  }); });
11492
11691
  var EditSetting = function (_a) {
11493
- var show = _a.show, onHide = _a.onHide;
11692
+ var show = _a.show, onHide = _a.onHide, suffixTitle = _a.suffixTitle;
11494
11693
  var _b = useState(false), open = _b[0], setOpen = _b[1];
11495
11694
  var _c = useState(false), isSubmitLoading = _c[0], setIsSubmitLoading = _c[1];
11496
11695
  var _d = useState(""), error = _d[0], setError = _d[1];
@@ -11538,9 +11737,10 @@ var EditSetting = function (_a) {
11538
11737
  }
11539
11738
  }, [show]);
11540
11739
  return (React.createElement(React.Fragment, null,
11740
+ show && (React.createElement(HelmetDexteel, { title: "Edit Setting".concat(suffixTitle ? " - ".concat(suffixTitle) : "") })),
11541
11741
  React.createElement(Grid, { container: true },
11542
11742
  React.createElement(Grid, { item: true },
11543
- React.createElement(MesfModal, { title: "EDIT SETTING/CREW", open: show, handleClose: function () { return onHide(false); }, id: "edit-setting-modal", maxWidth: "md" },
11743
+ React.createElement(MesfModal, { title: "EDIT SETTING", open: show, handleClose: function () { return onHide(false); }, id: "edit-setting-modal", maxWidth: "md" },
11544
11744
  React.createElement("form", { onSubmit: handleSubmit(onSubmit) },
11545
11745
  React.createElement(MesfModal.Content, { style: { padding: "15px 30px 0" } },
11546
11746
  React.createElement(Grid, { container: true, spacing: 2 },
@@ -11664,17 +11864,17 @@ var TableSettings = function (_a) {
11664
11864
  setOpenModalNew(false);
11665
11865
  if (shouldUpdate)
11666
11866
  getSettingsFromAPI();
11667
- } }),
11867
+ }, suffixTitle: "Settings" }),
11668
11868
  React__default.createElement(EditSetting, { show: openModalEditSetting, onHide: function (shouldUpdate) {
11669
11869
  setOpenModalEditSetting(false);
11670
11870
  if (shouldUpdate)
11671
11871
  getSettingsFromAPI();
11672
- } }),
11872
+ }, suffixTitle: "Settings" }),
11673
11873
  React__default.createElement(DeleteSetting, { show: openModalDeleteSetting, onHide: function (shouldUpdate) {
11674
11874
  setOpenModalDeleteSetting(false);
11675
11875
  if (shouldUpdate)
11676
11876
  getSettingsFromAPI();
11677
- } })),
11877
+ }, suffixTitle: "Settings" })),
11678
11878
  React__default.createElement(Grid, { container: true, justifyContent: "flex-end" },
11679
11879
  React__default.createElement(Grid, { item: true, md: 2, xs: 12, style: {
11680
11880
  display: "flex",
@@ -11712,6 +11912,7 @@ var SettingsPage = function () {
11712
11912
  getSettingsFromAPI();
11713
11913
  }, []);
11714
11914
  return (React__default.createElement(React__default.Fragment, null,
11915
+ React__default.createElement(HelmetDexteel, { title: "Settings" }),
11715
11916
  React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center" },
11716
11917
  React__default.createElement(TableSettings, { rows: state.settings, isLoading: isLoading, getSettingsFromAPI: getSettingsFromAPI })),
11717
11918
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
@@ -12057,13 +12258,6 @@ var ColorPicker = function (_a) {
12057
12258
  } })); })))));
12058
12259
  };
12059
12260
 
12060
- var ButtonWithLoading = function (_a) {
12061
- var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
12062
- return (React__default.createElement(Button, __assign({}, props, { disabled: isLoading }),
12063
- isLoading && React__default.createElement(CircularProgress, { size: "1rem" }),
12064
- children));
12065
- };
12066
-
12067
12261
  var TrendingsInitialState = {
12068
12262
  timeScopeStart: moment$3(new Date()).subtract(1, "days").toDate(),
12069
12263
  timeScopeEnd: new Date(),
@@ -14809,6 +15003,7 @@ var TrendingsPage = function (props) {
14809
15003
  getTagsFromAPI();
14810
15004
  }, []);
14811
15005
  return (React__default.createElement(React__default.Fragment, null,
15006
+ React__default.createElement(HelmetDexteel, { title: "Trending Chart" }),
14812
15007
  React__default.createElement(Box, { p: 3, style: { maxWidth: "100%" } },
14813
15008
  React__default.createElement(Paper, null,
14814
15009
  React__default.createElement(Grid, { container: true, spacing: 3, style: { padding: "20px" } },
@@ -14886,94 +15081,6 @@ var Navigation = function (_a) {
14886
15081
  React__default.createElement(MESFMainContainer, null)));
14887
15082
  };
14888
15083
 
14889
- var useSearchUTLSettings = function (_a) {
14890
- var onError = _a.onError;
14891
- var initSettings = useUTLSettingsContext().actions.initSettings;
14892
- var searchUTLSettings = function () { return __awaiter(void 0, void 0, void 0, function () {
14893
- var res, settings;
14894
- return __generator(this, function (_a) {
14895
- switch (_a.label) {
14896
- case 0: return [4 /*yield*/, getUTLSettings()];
14897
- case 1:
14898
- res = _a.sent();
14899
- if (res.ok) {
14900
- settings = get(res, "data.tables[0].rows", []);
14901
- initSettings(settings);
14902
- }
14903
- else {
14904
- onError(res.message);
14905
- }
14906
- return [2 /*return*/];
14907
- }
14908
- });
14909
- }); };
14910
- return { searchUTLSettings: searchUTLSettings };
14911
- };
14912
-
14913
- var UTLSettingsInitialState = {
14914
- serverTimeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
14915
- settings: {},
14916
- };
14917
- var UTLSettingsReducer = createSlice({
14918
- name: "__",
14919
- initialState: UTLSettingsInitialState,
14920
- reducers: {
14921
- setServerTimeZone: function (state, _a) {
14922
- var payload = _a.payload;
14923
- state.serverTimeZone = payload;
14924
- },
14925
- setSetting: function (state, _a) {
14926
- var payload = _a.payload;
14927
- state.settings[payload.key] = payload.value;
14928
- },
14929
- initSettings: function (state, _a) {
14930
- var payload = _a.payload;
14931
- state.settings = payload.reduce(function (acc, cur) {
14932
- if (cur.SettingName.trim() === "TimeZone") {
14933
- var timeService = TimeService.getInstance();
14934
- timeService.setTimeZone(cur.Value);
14935
- }
14936
- acc[cur.SettingName.trim()] = cur.Value;
14937
- return acc;
14938
- }, {});
14939
- },
14940
- },
14941
- });
14942
-
14943
- var UTLSettingsContext = createContext({
14944
- state: UTLSettingsReducer.getInitialState(),
14945
- actions: UTLSettingsReducer.actions,
14946
- isLoading: true,
14947
- });
14948
- var useUTLSettingsContext = function () { return useContext(UTLSettingsContext); };
14949
- var UTLSettingsProvider = function (_a) {
14950
- var children = _a.children;
14951
- var _b = useComplexState({
14952
- initialState: UTLSettingsReducer.getInitialState(),
14953
- reducers: UTLSettingsReducer.caseReducers,
14954
- }), state = _b[0], actions = _b[1];
14955
- var _c = useState(true), isLoading = _c[0], setIsLoading = _c[1];
14956
- var searchUTLSettings = useSearchUTLSettings({
14957
- onError: console.error,
14958
- }).searchUTLSettings;
14959
- useEffect(function () {
14960
- setIsLoading(true);
14961
- searchUTLSettings().then(function () {
14962
- setIsLoading(false);
14963
- });
14964
- }, []);
14965
- useMesfRealtime({
14966
- onReceiveMessage: function (author, message) {
14967
- if (message === "UTL.GetSettings") {
14968
- searchUTLSettings().then(function () {
14969
- // setIsLoading(false);
14970
- });
14971
- }
14972
- },
14973
- });
14974
- return (React__default.createElement(UTLSettingsContext.Provider, { value: { state: state, actions: actions, isLoading: isLoading } }, children));
14975
- };
14976
-
14977
15084
  var ProvidersLoader = function (_a) {
14978
15085
  var children = _a.children;
14979
15086
  var isUsersLoading = useUserContext().isLoading;
@@ -14983,61 +15090,13 @@ var ProvidersLoader = function (_a) {
14983
15090
  display: "flex",
14984
15091
  justifyContent: "center",
14985
15092
  alignItems: "center",
14986
- height: "100vh",
15093
+ height: "80vh",
14987
15094
  } },
14988
15095
  React__default.createElement(CircularProgress, null)));
14989
15096
  }
14990
15097
  return React__default.createElement(React__default.Fragment, null, children);
14991
15098
  };
14992
15099
 
14993
- var themeMESF = createTheme({
14994
- palette: {
14995
- type: "light",
14996
- primary: {
14997
- main: "#3f51b5",
14998
- },
14999
- secondary: {
15000
- main: "#f50057",
15001
- },
15002
- },
15003
- typography: {
15004
- // Modify base font size
15005
- fontSize: 14,
15006
- // Customize specific variants
15007
- h6: {
15008
- fontSize: "1.1rem",
15009
- fontWeight: 500,
15010
- },
15011
- subtitle1: {
15012
- fontSize: "0.875rem",
15013
- },
15014
- body1: {
15015
- fontSize: "0.875rem",
15016
- },
15017
- body2: {
15018
- fontSize: "0.875rem",
15019
- },
15020
- },
15021
- overrides: {
15022
- MuiListItemText: {
15023
- primary: {
15024
- fontSize: "0.875rem",
15025
- },
15026
- },
15027
- MuiListSubheader: {
15028
- root: {
15029
- fontSize: "0.875rem",
15030
- fontWeight: 600,
15031
- },
15032
- },
15033
- MuiListItemIcon: {
15034
- root: {
15035
- minWidth: "40px",
15036
- },
15037
- },
15038
- },
15039
- });
15040
-
15041
15100
  var timezone = TimeService.getInstance().getServerTimeZone();
15042
15101
  moment$2.tz.setDefault(timezone);
15043
15102
  var base = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
@@ -15045,22 +15104,24 @@ function MESFMain(_a) {
15045
15104
  var authentication = _a.authentication, routes = _a.routes, navbar = _a.navbar, _b = _a.navbarTitle, navbarTitle = _b === void 0 ? "MESF" : _b, configurations = _a.configurations, _c = _a.showAreaSelector, showAreaSelector = _c === void 0 ? false : _c, _d = _a.showTrendingsIcon, showTrendingsIcon = _d === void 0 ? true : _d, _e = _a.byPassHeaderRoutes, byPassHeaderRoutes = _e === void 0 ? [] : _e, _f = _a.plantAssetId, plantAssetId = _f === void 0 ? 1 : _f, _g = _a.theme, theme = _g === void 0 ? themeMESF : _g;
15046
15105
  return (React__default.createElement(React__default.Fragment, null,
15047
15106
  React__default.createElement(CssBaseline, null),
15048
- React__default.createElement(ThemeProvider, { theme: theme },
15049
- React__default.createElement(AuthProvider, { authConfig: authentication },
15050
- React__default.createElement(LocalizationProvider, { dateAdapter: AdapterMoment, dateLibInstance: moment$2 },
15051
- React__default.createElement(UserProvider, null,
15052
- React__default.createElement(UTLSettingsProvider, null,
15053
- React__default.createElement(ProvidersLoader, null,
15054
- React__default.createElement(AssetProvider, { plantAssetId: plantAssetId },
15055
- React__default.createElement(RouterContext.Provider, { value: routes },
15056
- React__default.createElement(NavbarContext.Provider, { value: navbar },
15057
- React__default.createElement(ConfigurationContext.Provider, { value: configurations },
15058
- React__default.createElement(ShiftNavigatorProvider, null,
15059
- React__default.createElement(ContextMenuMESFProvider, null,
15060
- React__default.createElement(BrowserRouter, { basename: base },
15061
- React__default.createElement(Routes, null,
15062
- React__default.createElement(Route, { path: "/logout", element: React__default.createElement(Logout, null) })),
15063
- React__default.createElement(Navigation, { showAreaSelector: showAreaSelector, showTrendingsIcon: showTrendingsIcon, navbarTitle: navbarTitle, byPassHeaderRoutes: byPassHeaderRoutes }))))))))))))))));
15107
+ React__default.createElement(HelmetProvider, null,
15108
+ React__default.createElement(HelmetDexteelProvider, { navbarTitle: navbarTitle },
15109
+ React__default.createElement(ThemeProvider, { theme: theme },
15110
+ React__default.createElement(AuthProvider, { authConfig: authentication },
15111
+ React__default.createElement(LocalizationProvider, { dateAdapter: AdapterMoment, dateLibInstance: moment$2 },
15112
+ React__default.createElement(UserProvider, null,
15113
+ React__default.createElement(UTLSettingsProvider, null,
15114
+ React__default.createElement(ProvidersLoader, null,
15115
+ React__default.createElement(AssetProvider, { plantAssetId: plantAssetId },
15116
+ React__default.createElement(RouterContext.Provider, { value: routes },
15117
+ React__default.createElement(NavbarContext.Provider, { value: navbar },
15118
+ React__default.createElement(ConfigurationContext.Provider, { value: configurations },
15119
+ React__default.createElement(ShiftNavigatorProvider, null,
15120
+ React__default.createElement(ContextMenuMESFProvider, null,
15121
+ React__default.createElement(BrowserRouter, { basename: base },
15122
+ React__default.createElement(Routes, null,
15123
+ React__default.createElement(Route, { path: "/logout", element: React__default.createElement(Logout, null) })),
15124
+ React__default.createElement(Navigation, { showAreaSelector: showAreaSelector, showTrendingsIcon: showTrendingsIcon, navbarTitle: navbarTitle, byPassHeaderRoutes: byPassHeaderRoutes }))))))))))))))))));
15064
15125
  }
15065
15126
 
15066
15127
  var useDefaultAreaId = function (setError) {
@@ -15187,6 +15248,7 @@ var AreaSelector = function () {
15187
15248
  React__default.createElement("div", { className: classes.areaLink },
15188
15249
  React__default.createElement(PersonPinCircleIcon, { className: classes.areaIcon }),
15189
15250
  defaultAreaName))),
15251
+ open && React__default.createElement(HelmetDexteel, { title: "Change Default Area" }),
15190
15252
  React__default.createElement(Dialog$1, { fullWidth: fullWidth, maxWidth: maxWidth, onClose: handleClose, "aria-labelledby": "confirmation-dialog-title", open: open, className: classes.root },
15191
15253
  React__default.createElement(DialogTitle$1, { id: "confirmation-dialog-title" }, "AREA"),
15192
15254
  React__default.createElement(DialogContent$1, { dividers: true },
@@ -15212,5 +15274,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
15212
15274
  AreaSelector: AreaSelector
15213
15275
  });
15214
15276
 
15215
- 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, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, TimeAndUserMenu, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUserPermissionsFromAPI, getUsers, renewToken, setPassword, setProfilesToUser, themeMESF, upsertUser, useAssetContext, useContextMenuMESF, useHasPermission, useHasProfile, useMesfRealtime, useShiftNavigator, useShiftNavigatorManager, useStyles$C as useStyles, useToken, useUTLSettingsContext, useUserContext };
15277
+ 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, HelmetDexteel, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, TimeAndUserMenu, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUserPermissionsFromAPI, getUsers, renewToken, setPassword, setProfilesToUser, themeMESF, upsertUser, useAssetContext, useContextMenuMESF, useHasPermission, useHasProfile, useMesfRealtime, useShiftNavigator, useShiftNavigatorManager, useStyles$C as useStyles, useToken, useUTLSettingsContext, useUserContext };
15216
15278
  //# sourceMappingURL=index.esm.js.map