@dexteel/mesf-core 4.27.0 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "4.27.0"
2
+ ".": "4.29.0"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,34 @@
1
+ # Changelog
2
+
3
+ ## [4.29.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.28.0...@dexteel/mesf-core-v4.29.0) (2025-05-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * **account-page:** Refactor account page, using MaterialUI ([#384](https://github.com/dexteel/mesf-core-frontend/issues/384)) ([16e00f5](https://github.com/dexteel/mesf-core-frontend/commit/16e00f5a73087e1df80b60721b51c1232a427f38))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **devops:** Remove tsc package in favor of typescript cli ([4b5f7bc](https://github.com/dexteel/mesf-core-frontend/commit/4b5f7bceaecbd1d57408f3e24034e6967a2a8727))
14
+
15
+ ## [4.28.0] - 2025-04-16
16
+
17
+
18
+
19
+ # Changelog
20
+
21
+ ## [4.28.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.27.0...@dexteel/mesf-core-v4.28.0) (2025-04-16)
22
+
23
+
24
+ ### Features
25
+
26
+ * **tree-picker-control-v2:** Show full path of node selected ([#373](https://github.com/dexteel/mesf-core-frontend/issues/373)) ([8ca434b](https://github.com/dexteel/mesf-core-frontend/commit/8ca434b29d1d41c1d2aed6087a52cc999f4e7452))
27
+
28
+ ## [4.27.0] - 2025-04-01
29
+
30
+
31
+
1
32
  # Changelog
2
33
 
3
34
  ## [4.27.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.26.5...@dexteel/mesf-core-v4.27.0) (2025-03-31)
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  export declare const AuthContext: React.Context<{
3
- getUserName: () => string;
3
+ getUserName: () => any;
4
4
  saveUserData: (userToken: any) => void;
5
5
  clearUserData: () => void;
6
6
  getFirstName: () => any;
@@ -1,2 +1,4 @@
1
+ import "ag-grid-community/styles/ag-grid.css";
2
+ import "ag-grid-community/styles/ag-theme-material.css";
1
3
  import React from "react";
2
4
  export declare const Account: () => React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  export declare const getTokenFromLS: () => string;
2
2
  export declare function useToken(): {
3
- getUserName: () => string;
3
+ getUserName: () => any;
4
4
  saveUserData: (userToken: any) => void;
5
5
  clearUserData: () => void;
6
6
  getFirstName: () => any;
@@ -6,6 +6,7 @@ type TreePickerControlProps = {
6
6
  setListAssetDrawings?: Function;
7
7
  onSuccess?: (success: boolean) => void;
8
8
  showClearButton?: boolean;
9
+ showFullPath?: boolean;
9
10
  disabled?: boolean;
10
11
  dataSource: TreeNode;
11
12
  [key: string]: any;
package/dist/index.esm.js CHANGED
@@ -1,5 +1,9 @@
1
1
  export { LicenseManager } from 'ag-grid-enterprise';
2
2
  import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, SvgIcon, Collapse, Typography as Typography$1, Checkbox, TextField, InputAdornment, IconButton as IconButton$1, MenuItem, Card, CardContent, CardActions, CircularProgress, Snackbar, FormControlLabel, Switch, Paper, InputLabel, Select, FormHelperText, DialogContentText, Badge, useTheme, FormControl, Input, Chip, Tooltip, ListItemIcon, Box, List, ListItem, ListItemText, MenuList, Divider, debounce } from '@material-ui/core';
3
+ import LockIcon from '@material-ui/icons/Lock';
4
+ import 'ag-grid-community/styles/ag-grid.css';
5
+ import 'ag-grid-community/styles/ag-theme-material.css';
6
+ import { AgGridReact } from 'ag-grid-react';
3
7
  import { isNil, get, isEmpty, values, round, isNaN, isNumber } from 'lodash-es';
4
8
  import * as React from 'react';
5
9
  import React__default, { useState, useRef, useEffect, useMemo, Component, createContext, useContext, useCallback, lazy, Suspense } from 'react';
@@ -15,7 +19,6 @@ import { useComplexState } from 'use-complex-state';
15
19
  import { createSlice } from '@reduxjs/toolkit';
16
20
  import { DndProvider } from 'react-dnd';
17
21
  import { HTML5Backend } from 'react-dnd-html5-backend';
18
- import { AgGridReact } from 'ag-grid-react';
19
22
  import MomentUtils from '@date-io/moment';
20
23
  import { MuiPickersUtilsProvider, KeyboardDatePicker, KeyboardTimePicker } from '@material-ui/pickers';
21
24
  import moment$7 from 'moment';
@@ -33,7 +36,6 @@ import FormatListBulletedSharpIcon from '@material-ui/icons/FormatListBulletedSh
33
36
  import axios from 'axios';
34
37
  import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
35
38
  import zoomPlugin from 'chartjs-plugin-zoom';
36
- import LockIcon from '@material-ui/icons/Lock';
37
39
  import SaveIcon from '@material-ui/icons/Save';
38
40
  import Button$1 from '@material-ui/core/Button';
39
41
  import Popover from '@material-ui/core/Popover';
@@ -62,7 +64,6 @@ import { useSpring, animated } from '@react-spring/web';
62
64
  import { DataGrid, GridOverlay } from '@material-ui/data-grid';
63
65
  import { format, fromZonedTime, formatInTimeZone } from 'date-fns-tz';
64
66
  import { findIana } from 'windows-iana';
65
- import 'ag-grid-community/styles/ag-grid.css';
66
67
  import RefreshIcon from '@material-ui/icons/Refresh';
67
68
  import ReplayIcon from '@material-ui/icons/Replay';
68
69
  import ToggleOfIcon from '@material-ui/icons/ToggleOff';
@@ -713,10 +714,35 @@ function findNameById(node, id) {
713
714
  }
714
715
  return null;
715
716
  }
717
+ function getNodePath(node, nodeId, parentPath, isRoot) {
718
+ if (parentPath === void 0) { parentPath = ""; }
719
+ if (isRoot === void 0) { isRoot = true; }
720
+ if (node.id === nodeId) {
721
+ if (isRoot) {
722
+ return "";
723
+ }
724
+ return parentPath ? "".concat(parentPath, "/").concat(node.name) : node.name;
725
+ }
726
+ if (node.children && node.children.length > 0) {
727
+ for (var _i = 0, _a = node.children; _i < _a.length; _i++) {
728
+ var child = _a[_i];
729
+ var currentPath = isRoot
730
+ ? ""
731
+ : parentPath
732
+ ? "".concat(parentPath, "/").concat(node.name)
733
+ : node.name;
734
+ var foundPath = getNodePath(child, nodeId, currentPath, false);
735
+ if (foundPath !== null) {
736
+ return foundPath;
737
+ }
738
+ }
739
+ }
740
+ return null;
741
+ }
716
742
  var TreePickerControlV2 = function (props) {
717
743
  var classes = useStyles$A();
718
- var value = props.value, onSelect = props.onSelect; props.styleLabel; var dataSource = props.dataSource; props.getOptionName; var _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var _c = props.multipleSelectNodes, multipleSelectNodes = _c === void 0 ? false : _c, _d = props.showClearButton, showClearButton = _d === void 0 ? false : _d, showAssetTree = props.showAssetTree, onHide = props.onHide, _e = props.listAssetDrawings, listAssetDrawings = _e === void 0 ? [] : _e, onSuccess = props.onSuccess, isLoading = props.isLoading, _f = props.disabled, disabled = _f === void 0 ? false : _f, other = __rest(props, ["value", "onSelect", "styleLabel", "dataSource", "getOptionName", "inputTitle", "showPath", "multipleSelectNodes", "showClearButton", "showAssetTree", "onHide", "listAssetDrawings", "onSuccess", "isLoading", "disabled"]);
719
- var _g = useState(false), open = _g[0], setOpen = _g[1];
744
+ var value = props.value, onSelect = props.onSelect; props.styleLabel; var dataSource = props.dataSource; props.getOptionName; var _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var _c = props.multipleSelectNodes, multipleSelectNodes = _c === void 0 ? false : _c, _d = props.showClearButton, showClearButton = _d === void 0 ? false : _d, _e = props.showFullPath, showFullPath = _e === void 0 ? false : _e, showAssetTree = props.showAssetTree, onHide = props.onHide, _f = props.listAssetDrawings, listAssetDrawings = _f === void 0 ? [] : _f, onSuccess = props.onSuccess, isLoading = props.isLoading, _g = props.disabled, disabled = _g === void 0 ? false : _g, other = __rest(props, ["value", "onSelect", "styleLabel", "dataSource", "getOptionName", "inputTitle", "showPath", "multipleSelectNodes", "showClearButton", "showFullPath", "showAssetTree", "onHide", "listAssetDrawings", "onSuccess", "isLoading", "disabled"]);
745
+ var _h = useState(false), open = _h[0], setOpen = _h[1];
720
746
  var handleClickListItem = function (event) {
721
747
  event.stopPropagation();
722
748
  if (disabled)
@@ -732,10 +758,11 @@ var TreePickerControlV2 = function (props) {
732
758
  }
733
759
  };
734
760
  var description = useMemo(function () { return findNameById(dataSource, value) || ""; }, [dataSource, value]);
761
+ var fullPath = useMemo(function () { return getNodePath(dataSource, value) || ""; }, [dataSource, value]);
735
762
  return (React__default.createElement(Grid, { container: true, className: classes.root },
736
763
  !showAssetTree ? (React__default.createElement(Grid, { container: true, item: true, md: 12, xs: 12, style: { position: "relative" }, title: props.description },
737
764
  React__default.createElement(Grid, { item: true, style: { position: "relative", width: "100%" } },
738
- React__default.createElement(TextField, { id: "treePickerTextField", label: inputTitle || "", variant: "outlined", value: description, margin: "dense", autoComplete: "off", fullWidth: true, disabled: true, InputProps: {
765
+ React__default.createElement(TextField, { id: "treePickerTextField", label: inputTitle || "", variant: "outlined", value: showFullPath ? fullPath : description, margin: "dense", autoComplete: "off", fullWidth: true, disabled: true, InputProps: {
739
766
  style: {
740
767
  color: disabled ? "grey" : "black",
741
768
  cursor: "pointer",
@@ -8828,8 +8855,7 @@ function ChangePassword(props) {
8828
8855
  var _a = React__default.useState(""), password = _a[0], setPassword = _a[1];
8829
8856
  var _b = React__default.useState(""), confirmPassword = _b[0], setConfirmPassword = _b[1];
8830
8857
  var _c = React__default.useState(false), canChange = _c[0], setCanChange = _c[1];
8831
- var _d = React__default.useState(false), showError = _d[0], setShowError = _d[1];
8832
- var _e = React__default.useState(undefined), error = _e[0], setError = _e[1];
8858
+ var _d = React__default.useState(""), error = _d[0], setError = _d[1];
8833
8859
  //functions
8834
8860
  var handleCancel = function () {
8835
8861
  onClose(false);
@@ -8839,7 +8865,6 @@ function ChangePassword(props) {
8839
8865
  var apiService_1 = new MESApiService();
8840
8866
  apiService_1.changePassword(userId, password).then(function (response) {
8841
8867
  if (apiService_1.hasErrors) {
8842
- setShowError(true);
8843
8868
  setError(apiService_1.error);
8844
8869
  }
8845
8870
  else {
@@ -8859,30 +8884,19 @@ function ChangePassword(props) {
8859
8884
  setPassword("");
8860
8885
  setConfirmPassword("");
8861
8886
  }, [userId, open]);
8862
- return (React__default.createElement(Dialog$1, { onClose: function () { }, "aria-label": "Change Password", maxWidth: "xs", "aria-labelledby": "confirmation-dialog-title", open: open },
8863
- React__default.createElement(DialogTitle$1, { id: "confirmation-dialog-title" }, "Change Password"),
8864
- React__default.createElement(DialogContent$1, { dividers: true },
8865
- React__default.createElement(Alert$1, { show: showError, variant: "danger", dismissible: true, onClose: function () {
8866
- setShowError(false);
8867
- setError(undefined);
8868
- } },
8869
- React__default.createElement("strong", null, "There was an error"),
8870
- React__default.createElement("p", null,
8871
- " ",
8872
- error === undefined
8873
- ? "There was an error"
8874
- : error.internalError.message === undefined
8875
- ? error.internalError
8876
- : error.internalError.message)),
8877
- React__default.createElement("div", { className: "row" },
8878
- React__default.createElement("div", { className: "col-md-12 px-3 py-1" },
8879
- React__default.createElement(SimplePasswordControl, { title: "Password", styleLabel: { minWidth: "150px" }, onChange: setPassword, name: "password", value: password }))),
8880
- React__default.createElement("div", { className: "row" },
8881
- React__default.createElement("div", { className: "col-md-12 px-3 py-1" },
8882
- React__default.createElement(SimplePasswordControl, { title: "Confirm Password", styleLabel: { minWidth: "150px" }, onChange: setConfirmPassword, name: "confirmPassword", value: confirmPassword })))),
8883
- React__default.createElement(DialogActions$1, null,
8884
- React__default.createElement(Button, { autoFocus: true, onClick: handleCancel, color: "primary" }, "Cancel"),
8885
- React__default.createElement(Button, { onClick: handleOk, color: "primary", disabled: !canChange }, "Change Password"))));
8887
+ return (React__default.createElement(React__default.Fragment, null,
8888
+ React__default.createElement(Dialog$1, { onClose: function () { }, "aria-label": "Change Password", maxWidth: "xs", "aria-labelledby": "confirmation-dialog-title", open: open },
8889
+ React__default.createElement(DialogTitle$1, { id: "confirmation-dialog-title" }, "Change Password"),
8890
+ React__default.createElement(DialogContent$1, { dividers: true },
8891
+ React__default.createElement(Grid, { container: true, spacing: 2 },
8892
+ React__default.createElement(Grid, { item: true, md: 12 },
8893
+ React__default.createElement(TextField, { "aria-readonly": true, label: "Password", value: password, onChange: function (e) { return setPassword(e.target.value); }, variant: "outlined", size: "small", fullWidth: true, style: { minWidth: "150px" } })),
8894
+ React__default.createElement(Grid, { item: true, md: 12 },
8895
+ React__default.createElement(TextField, { "aria-readonly": true, label: "Confirm Password", value: confirmPassword, onChange: function (e) { return setConfirmPassword(e.target.value); }, variant: "outlined", size: "small", fullWidth: true, style: { minWidth: "150px" } })))),
8896
+ React__default.createElement(DialogActions$1, null,
8897
+ React__default.createElement(Button, { autoFocus: true, onClick: handleCancel, color: "primary" }, "Cancel"),
8898
+ React__default.createElement(Button, { onClick: handleOk, color: "primary", variant: "contained", disabled: !canChange }, "Change Password"))),
8899
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
8886
8900
  }
8887
8901
 
8888
8902
  var UserInitialState = {
@@ -8957,9 +8971,7 @@ function useToken() {
8957
8971
  var getUserName = function () {
8958
8972
  var sessionData = localStorage.getItem("userMESData");
8959
8973
  var userData = JSON.parse(sessionData);
8960
- return (((userData || {}).lastName || "") +
8961
- ", " +
8962
- ((userData || {}).firstName || ""));
8974
+ return (userData || {}).username || "";
8963
8975
  };
8964
8976
  var getFirstName = function () {
8965
8977
  var sessionData = localStorage.getItem("userMESData");
@@ -9007,12 +9019,15 @@ var Account = function () {
9007
9019
  var _e = useState(""), userName = _e[0], setUserName = _e[1];
9008
9020
  var _f = useState(false), userIsDomain = _f[0], setUserIsDomain = _f[1];
9009
9021
  var _g = useState(false), userIsActive = _g[0], setUserIsActive = _g[1];
9010
- var _h = useState(""), userProfiles = _h[0], setUserProfiles = _h[1];
9011
- var _j = useState(""), userPermissions = _j[0], setUserPermissions = _j[1];
9012
- var _k = useState(""), userProcedures = _k[0], setUserProcedures = _k[1];
9013
- var _l = useState(false), open = _l[0], setOpen = _l[1];
9014
- var _m = useState(false), showSuccess = _m[0], setShowSuccess = _m[1];
9015
- var _o = useState(""), successMessage = _o[0], setSuccessMessage = _o[1];
9022
+ var _h = useState(false), open = _h[0], setOpen = _h[1];
9023
+ var _j = useState(false), showSuccess = _j[0], setShowSuccess = _j[1];
9024
+ var _k = useState(""), successMessage = _k[0], setSuccessMessage = _k[1];
9025
+ var _l = useState([]), userProfiles = _l[0], setUserProfiles = _l[1];
9026
+ var _m = useState(""), profileQuickFilter = _m[0], setProfileQuickFilter = _m[1];
9027
+ var _o = useState(null), profileGridApi = _o[0], setProfileGridApi = _o[1];
9028
+ var _p = useState([]), userPermissions = _p[0], setUserPermissions = _p[1];
9029
+ var _q = useState(""), permissionQuickFilter = _q[0], setPermissionQuickFilter = _q[1];
9030
+ var _r = useState(null), permissionGridApi = _r[0], setPermissionGridApi = _r[1];
9016
9031
  var changePassword = function () {
9017
9032
  setOpen(true);
9018
9033
  };
@@ -9023,19 +9038,30 @@ var Account = function () {
9023
9038
  }
9024
9039
  setOpen(false);
9025
9040
  };
9026
- var stringToList = function (s) {
9027
- s = s.replace(/,/g, "\n");
9028
- s = s.replace(/ *\([^)]*\) */g, "");
9029
- return s;
9030
- };
9041
+ var profilesColumnDefs = [
9042
+ {
9043
+ field: "profile",
9044
+ headerName: "",
9045
+ minWidth: 20,
9046
+ flex: 1
9047
+ },
9048
+ ];
9049
+ var permissionColumnDefs = [
9050
+ {
9051
+ field: "permission",
9052
+ headerName: "",
9053
+ minWidth: 20,
9054
+ flex: 1
9055
+ },
9056
+ ];
9031
9057
  var loadUserData = function () { return __awaiter(void 0, void 0, void 0, function () {
9032
- var resp, userData;
9033
- var _a, _b, _c, _d, _e, _f, _g, _h;
9034
- return __generator(this, function (_j) {
9035
- switch (_j.label) {
9058
+ var resp, userData, profiles, permissions;
9059
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
9060
+ return __generator(this, function (_k) {
9061
+ switch (_k.label) {
9036
9062
  case 0: return [4 /*yield*/, getUser(userId, userParam)];
9037
9063
  case 1:
9038
- resp = _j.sent();
9064
+ resp = _k.sent();
9039
9065
  if (resp.ok) {
9040
9066
  userData = get(resp, "data.tables[0].rows", null);
9041
9067
  setUserName((_a = userData[0]) === null || _a === void 0 ? void 0 : _a.UserName);
@@ -9043,9 +9069,18 @@ var Account = function () {
9043
9069
  setUserFirstName((_c = userData[0]) === null || _c === void 0 ? void 0 : _c.FirstName);
9044
9070
  setUserIsDomain((_d = userData[0]) === null || _d === void 0 ? void 0 : _d.AuthTypeId);
9045
9071
  setUserIsActive((_e = userData[0]) === null || _e === void 0 ? void 0 : _e.IsActive);
9046
- setUserProfiles(stringToList(((_f = userData[0]) === null || _f === void 0 ? void 0 : _f.Profiles) || ""));
9047
- setUserProcedures(stringToList(((_g = userData[0]) === null || _g === void 0 ? void 0 : _g.Procedures) || ""));
9048
- setUserPermissions(stringToList(((_h = userData[0]) === null || _h === void 0 ? void 0 : _h.Permissions) || ""));
9072
+ profiles = ((_f = userData[0]) === null || _f === void 0 ? void 0 : _f.Profiles)
9073
+ ? (_g = userData[0]) === null || _g === void 0 ? void 0 : _g.Profiles.split(",").map(function (profile) { return ({ profile: profile.trim() }); }).sort(function (a, b) {
9074
+ return a.profile.localeCompare(b.profile);
9075
+ })
9076
+ : [];
9077
+ setUserProfiles(profiles);
9078
+ permissions = ((_h = userData[0]) === null || _h === void 0 ? void 0 : _h.Permissions)
9079
+ ? (_j = userData[0]) === null || _j === void 0 ? void 0 : _j.Permissions.split(",").map(function (permission) { return ({ permission: permission.trim() }); }).sort(function (a, b) {
9080
+ return a.permission.localeCompare(b.permission);
9081
+ })
9082
+ : [];
9083
+ setUserPermissions(permissions);
9049
9084
  }
9050
9085
  else {
9051
9086
  setError(resp.message);
@@ -9079,34 +9114,42 @@ var Account = function () {
9079
9114
  }, [showSuccess]);
9080
9115
  return (React__default.createElement(React__default.Fragment, null,
9081
9116
  React__default.createElement(GenericPanel, { title: "Account Configuration", showPromptSuccess: showSuccess, successMessage: successMessage },
9082
- React__default.createElement("div", { className: "row" },
9083
- React__default.createElement("div", { className: "col-md-3 px-3 py-1" },
9084
- React__default.createElement(SimpleTextControl, { title: "Username", styleLabel: { minWidth: "110px" }, styleTextBox: { maxWidth: "200px", minWidth: "100px" }, readOnly: true, name: "userName", value: userName, styleGeneral: { display: "flex" } })),
9085
- React__default.createElement("div", { className: "col-md-4 px-3 py-1" },
9086
- React__default.createElement("button", { className: "btn btn-primary mes-button-primary", onClick: changePassword },
9087
- React__default.createElement("i", { className: "fas fa-lock pr-1" }),
9088
- "Change Password"),
9089
- React__default.createElement(ChangePassword, { open: open, onClose: closeChangePassword, userId: userId }))),
9090
- React__default.createElement("div", { className: "row" },
9091
- React__default.createElement("div", { className: "col-md-3 px-3 py-1" },
9092
- React__default.createElement(SimpleTextControl, { title: "Name", styleLabel: { minWidth: "110px" }, styleTextBox: { maxWidth: "200px", minWidth: "100px" }, readOnly: true, name: "firstName", value: userFirstName, styleGeneral: { display: "flex" } })),
9093
- React__default.createElement("div", { className: "col-md-3 px-3 py-1" },
9094
- React__default.createElement(SimpleTextControl, { title: "Lastname", styleLabel: { minWidth: "110px" }, styleTextBox: { maxWidth: "200px", minWidth: "100px" }, readOnly: true, name: "lastName", value: userLastName, styleGeneral: { display: "flex" } }))),
9095
- React__default.createElement("div", { className: "row" },
9096
- React__default.createElement("div", { className: "col-md-3 px-3 py-1" },
9097
- React__default.createElement(CheckBoxControl, { value: userIsDomain, title: "Domain User", readOnly: true, styleTextBox: { maxWidth: "300px" }, disabled: true })),
9098
- React__default.createElement("div", { className: "col-md-3 px-3 py-1" },
9099
- React__default.createElement(CheckBoxControl, { value: userIsActive, title: "Active", readOnly: true, styleTextBox: { maxWidth: "300px" }, disabled: true }))),
9100
- React__default.createElement("div", { className: "row" },
9101
- React__default.createElement("div", { className: "col-md-4" },
9102
- React__default.createElement(Typography$1, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Profiles"),
9103
- React__default.createElement("textarea", { className: "form-control", placeholder: userProfiles, readOnly: true, style: { height: "50vh" } })),
9104
- React__default.createElement("div", { className: "col-md-4" },
9105
- React__default.createElement(Typography$1, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Permissions"),
9106
- React__default.createElement("textarea", { className: "form-control", placeholder: userPermissions, readOnly: true, style: { height: "50vh" } })),
9107
- React__default.createElement("div", { className: "col-md-4" },
9108
- React__default.createElement(Typography$1, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Procedures"),
9109
- React__default.createElement("textarea", { className: "form-control", placeholder: userProcedures, readOnly: true, style: { height: "50vh" } })))),
9117
+ React__default.createElement(Grid, { container: true, spacing: 2, style: { marginTop: 10 } },
9118
+ React__default.createElement(Grid, { item: true, md: 12, component: Paper, style: { padding: 10 } },
9119
+ React__default.createElement(Grid, { container: true, md: 12, spacing: 2 },
9120
+ React__default.createElement(Grid, { item: true, xs: 12, md: 3 },
9121
+ React__default.createElement(TextField, { "aria-readonly": true, label: "Username", value: userName, variant: "outlined", size: "small", fullWidth: true })),
9122
+ React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9123
+ React__default.createElement(Button, { onClick: changePassword, variant: "contained", color: "primary", startIcon: React__default.createElement(LockIcon, null) }, "Change Password"),
9124
+ React__default.createElement(ChangePassword, { open: open, onClose: closeChangePassword, userId: userId }))),
9125
+ React__default.createElement(Grid, { container: true, md: 12, spacing: 2 },
9126
+ React__default.createElement(Grid, { item: true, xs: 12, md: 3 },
9127
+ React__default.createElement(TextField, { "aria-readonly": true, label: "Name", value: userFirstName, variant: "outlined", size: "small", fullWidth: true })),
9128
+ React__default.createElement(Grid, { item: true, xs: 12, md: 3 },
9129
+ React__default.createElement(TextField, { "aria-readonly": true, label: "Last Name", value: userLastName, variant: "outlined", size: "small", fullWidth: true }))),
9130
+ React__default.createElement(Grid, { item: true, container: true, md: 12, spacing: 2 },
9131
+ React__default.createElement(Grid, { item: true, xs: 12, md: 3 },
9132
+ React__default.createElement(FormControlLabel, { style: { margin: 0 }, control: React__default.createElement(Checkbox, { "aria-readonly": true, checked: userIsDomain, name: "DomainUser", disabled: true }), label: "Domain User" })),
9133
+ React__default.createElement(Grid, { item: true, xs: 12, md: 3 },
9134
+ React__default.createElement(FormControlLabel, { style: { margin: 0 }, control: React__default.createElement(Checkbox, { "aria-readonly": true, checked: userIsActive, name: "Active", disabled: true }), label: "Active" })))),
9135
+ React__default.createElement(Grid, { item: true, md: 12, component: Paper, style: { marginTop: 4, padding: 10 } },
9136
+ React__default.createElement(Grid, { container: true, md: 12, spacing: 2 },
9137
+ React__default.createElement(Grid, { item: true, xs: 12, md: 4 },
9138
+ React__default.createElement(Typography$1, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Profiles"),
9139
+ React__default.createElement(TextField, { label: "Search", value: profileQuickFilter, onChange: function (e) {
9140
+ setProfileQuickFilter(e.target.value);
9141
+ profileGridApi === null || profileGridApi === void 0 ? void 0 : profileGridApi.setQuickFilter(e.target.value);
9142
+ }, variant: "outlined", size: "small", fullWidth: true }),
9143
+ React__default.createElement("div", { style: { height: "43vh", width: "100%", marginTop: 5 }, className: "ag-theme-material" },
9144
+ React__default.createElement(AgGridReact, { rowData: userProfiles, rowHeight: 30, headerHeight: 0, columnDefs: profilesColumnDefs, animateRows: true, suppressRowClickSelection: true, onGridReady: function (params) { return setProfileGridApi(params.api); } }))),
9145
+ React__default.createElement(Grid, { item: true, xs: 12, md: 8 },
9146
+ React__default.createElement(Typography$1, { gutterBottom: true, variant: "h5", component: "h2", className: "pt-1" }, "Permissions"),
9147
+ React__default.createElement(TextField, { label: "Search", value: permissionQuickFilter, onChange: function (e) {
9148
+ setPermissionQuickFilter(e.target.value);
9149
+ permissionGridApi === null || permissionGridApi === void 0 ? void 0 : permissionGridApi.setQuickFilter(e.target.value);
9150
+ }, variant: "outlined", size: "small", fullWidth: true }),
9151
+ React__default.createElement("div", { style: { height: "43vh", width: "100%", marginTop: 5 }, className: "ag-theme-material" },
9152
+ React__default.createElement(AgGridReact, { rowData: userPermissions, rowHeight: 30, headerHeight: 0, columnDefs: permissionColumnDefs, animateRows: true, suppressRowClickSelection: true, onGridReady: function (params) { return setPermissionGridApi(params.api); } }))))))),
9110
9153
  React__default.createElement(ErrorModal, { error: error, onHide: function () {
9111
9154
  setError("");
9112
9155
  } })));