@dexteel/mesf-core 4.12.0 → 4.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release-please.yml +24 -0
- package/CHANGELOG.md +34 -0
- package/dist/configuration/pages/asset/models/AssetCode.d.ts +1 -0
- package/dist/index.esm.js +866 -815
- package/dist/index.esm.js.map +1 -1
- package/dist/models/Asset.d.ts +1 -0
- package/dist/pages/trendings/components/chart/TableComponent.d.ts +3 -3
- package/dist/pages/trendings/components/chart/hooks/useTagsDataTable.d.ts +3 -3
- package/dist/pages/trendings/components/chart/models/TrendingModels.d.ts +6 -0
- package/dist/pages/trendings/reducers/trendings.reducer.d.ts +8 -8
- package/dist/services/TimeService.d.ts +2 -0
- package/package.json +2 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { LicenseManager } from 'ag-grid-enterprise';
|
|
2
|
-
import { Typography, TextField, makeStyles as makeStyles$1, Button as Button$1, Grid as Grid$1, Dialog as Dialog$1, DialogTitle as DialogTitle$2, DialogContent as DialogContent$2, DialogContentText, DialogActions as DialogActions$2, FormHelperText, CircularProgress as CircularProgress$1, Badge, FormControlLabel, Checkbox, Snackbar as Snackbar$1, Paper as Paper$1, MenuItem as MenuItem$1, useTheme as useTheme$1, Tooltip,
|
|
3
|
-
import { values, get, isNil as isNil$1, isEmpty,
|
|
2
|
+
import { Typography, TextField, makeStyles as makeStyles$1, Button as Button$1, Grid as Grid$1, Dialog as Dialog$1, DialogTitle as DialogTitle$2, DialogContent as DialogContent$2, DialogContentText, DialogActions as DialogActions$2, FormHelperText, CircularProgress as CircularProgress$1, Badge, FormControlLabel, Checkbox, Snackbar as Snackbar$1, Paper as Paper$1, MenuItem as MenuItem$1, useTheme as useTheme$1, Tooltip, Divider, IconButton as IconButton$1, Box, FormControl as FormControl$1, Select as Select$1, debounce, createStyles as createStyles$1, List, ListItem, ListItemText } from '@material-ui/core';
|
|
3
|
+
import { values, get, isNil as isNil$1, isEmpty, round, isNaN, isNumber } from 'lodash-es';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import React__default, { useState, useRef, useEffect, useMemo, Component, createContext, useContext, useCallback, lazy, Suspense } from 'react';
|
|
6
6
|
import { Alert as Alert$1, Modal as Modal$1, Navbar, Container, Nav, NavDropdown } from 'react-bootstrap';
|
|
@@ -26,17 +26,17 @@ import moment from 'moment';
|
|
|
26
26
|
import axios from 'axios';
|
|
27
27
|
import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
|
|
28
28
|
import zoomPlugin from 'chartjs-plugin-zoom';
|
|
29
|
+
import SaveIcon from '@material-ui/icons/Save';
|
|
30
|
+
import LockIcon from '@material-ui/icons/Lock';
|
|
29
31
|
import { Alert as Alert$3, Autocomplete } from '@material-ui/lab';
|
|
30
32
|
import Popover from '@material-ui/core/Popover';
|
|
33
|
+
import CreateIcon from '@material-ui/icons/Create';
|
|
34
|
+
import DeleteIcon from '@material-ui/icons/Delete';
|
|
31
35
|
import { isAncestor, Tree, DndProvider as DndProvider$1 } from '@minoru/react-dnd-treeview';
|
|
32
36
|
import FolderIcon from '@material-ui/icons/Folder';
|
|
33
37
|
import InsertChartIcon from '@material-ui/icons/InsertChart';
|
|
34
38
|
import { ArrowRight, ChevronLeft, ChevronRight } from '@material-ui/icons';
|
|
35
39
|
import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';
|
|
36
|
-
import CreateIcon from '@material-ui/icons/Create';
|
|
37
|
-
import DeleteIcon from '@material-ui/icons/Delete';
|
|
38
|
-
import LockIcon from '@material-ui/icons/Lock';
|
|
39
|
-
import SaveIcon from '@material-ui/icons/Save';
|
|
40
40
|
import SkipNextIcon from '@material-ui/icons/SkipNext';
|
|
41
41
|
import { Line } from 'react-chartjs-2';
|
|
42
42
|
import PersonPinCircleIcon from '@material-ui/icons/PersonPinCircle';
|
|
@@ -79,6 +79,7 @@ import ListAltIcon from '@material-ui/icons/ListAlt';
|
|
|
79
79
|
import DescriptionIcon from '@material-ui/icons/Description';
|
|
80
80
|
import { format, fromZonedTime, formatInTimeZone } from 'date-fns-tz';
|
|
81
81
|
import { findIana } from 'windows-iana';
|
|
82
|
+
import moment$1 from 'moment-timezone';
|
|
82
83
|
import FormControlLabel$1 from '@material-ui/core/FormControlLabel';
|
|
83
84
|
import Checkbox$1 from '@material-ui/core/Checkbox';
|
|
84
85
|
import Input from '@material-ui/core/Input';
|
|
@@ -4622,7 +4623,6 @@ var AssetReducer = createSlice({
|
|
|
4622
4623
|
var payload = _a.payload;
|
|
4623
4624
|
state.areasList = payload;
|
|
4624
4625
|
},
|
|
4625
|
-
// ===========================
|
|
4626
4626
|
setAllAssets: function (state, _a) {
|
|
4627
4627
|
var payload = _a.payload;
|
|
4628
4628
|
state.allAssets = payload;
|
|
@@ -4704,28 +4704,29 @@ var useAssetCodes = function () {
|
|
|
4704
4704
|
}
|
|
4705
4705
|
// Use our mapping to locate the parent element in our data array
|
|
4706
4706
|
var parentEl = nodes[idMapping[el.parentId]];
|
|
4707
|
+
// Handle the case where the element has no parent
|
|
4708
|
+
if (!parentEl) {
|
|
4709
|
+
console.log(el);
|
|
4710
|
+
return;
|
|
4711
|
+
}
|
|
4707
4712
|
// Add our current el to its parent's `children` array
|
|
4708
|
-
|
|
4713
|
+
if (!parentEl['children']) {
|
|
4714
|
+
parentEl['children'] = [];
|
|
4715
|
+
}
|
|
4716
|
+
parentEl['children'] = __spreadArray(__spreadArray([], (parentEl['children'] || []), true), [el], false);
|
|
4709
4717
|
});
|
|
4710
4718
|
setAssetCodes(root);
|
|
4711
4719
|
};
|
|
4712
4720
|
var loadFilterAssets = function () {
|
|
4713
|
-
var
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
id: data.AssetId,
|
|
4723
|
-
parentId: data.ParentAssetId,
|
|
4724
|
-
name: data.AssetName,
|
|
4725
|
-
isLeaf: data.isLeaf,
|
|
4726
|
-
isActive: true
|
|
4727
|
-
};
|
|
4728
|
-
return model;
|
|
4721
|
+
var nodes = allAssets.map(function (el) { return ({
|
|
4722
|
+
id: el.AssetId,
|
|
4723
|
+
parentId: el.ParentAssetId,
|
|
4724
|
+
name: el.AssetName,
|
|
4725
|
+
isLeaf: !!el.IsLeaf,
|
|
4726
|
+
isActive: true,
|
|
4727
|
+
children: []
|
|
4728
|
+
}); });
|
|
4729
|
+
buildTreeAssets(nodes);
|
|
4729
4730
|
};
|
|
4730
4731
|
return { loadFilterAssets: loadFilterAssets };
|
|
4731
4732
|
};
|
|
@@ -7317,6 +7318,7 @@ var TimeService = /** @class */ (function () {
|
|
|
7317
7318
|
else {
|
|
7318
7319
|
this.timeZone = timeZone;
|
|
7319
7320
|
}
|
|
7321
|
+
moment$1.tz.setDefault(this.timeZone);
|
|
7320
7322
|
};
|
|
7321
7323
|
TimeService.prototype.toUTC = function (datetime, format$1) {
|
|
7322
7324
|
try {
|
|
@@ -7355,6 +7357,7 @@ var TimeService = /** @class */ (function () {
|
|
|
7355
7357
|
};
|
|
7356
7358
|
return TimeService;
|
|
7357
7359
|
}());
|
|
7360
|
+
var getMomentTz = function () { return moment$1; };
|
|
7358
7361
|
var dxtServerTimeZone = function () { return TimeService.getInstance().getServerTimeZone; };
|
|
7359
7362
|
var dxtToUTC = TimeService.getInstance().toUTC;
|
|
7360
7363
|
var dxtToLocalServerTime = TimeService.getInstance().toLocalServerTime;
|
|
@@ -8428,7 +8431,7 @@ var TrendingsInitialState = {
|
|
|
8428
8431
|
}
|
|
8429
8432
|
],
|
|
8430
8433
|
viewSelected: null,
|
|
8431
|
-
viewTags:
|
|
8434
|
+
viewTags: {},
|
|
8432
8435
|
shouldRefetchSeries: 1
|
|
8433
8436
|
};
|
|
8434
8437
|
var TrendingsReducer = createSlice({
|
|
@@ -8589,7 +8592,12 @@ var TrendingsReducer = createSlice({
|
|
|
8589
8592
|
},
|
|
8590
8593
|
setViewTagsAndRefetch: function (state, _a) {
|
|
8591
8594
|
var payload = _a.payload;
|
|
8592
|
-
|
|
8595
|
+
var newTags = structuredClone(payload);
|
|
8596
|
+
__spreadArray([], Object.values(payload), true).sort(function (a, b) { return b.order - a.order; })
|
|
8597
|
+
.forEach(function (vtMap, idx) {
|
|
8598
|
+
newTags[vtMap.viewTag.TagId]['order'] = idx;
|
|
8599
|
+
});
|
|
8600
|
+
state.viewTags = newTags;
|
|
8593
8601
|
state.shouldRefetchSeries += 1;
|
|
8594
8602
|
},
|
|
8595
8603
|
setGraphShouldUpdate: function (state) {
|
|
@@ -8763,6 +8771,13 @@ var ColorPicker = function (_a) {
|
|
|
8763
8771
|
} })); })))));
|
|
8764
8772
|
};
|
|
8765
8773
|
|
|
8774
|
+
var ButtonWithLoading = function (_a) {
|
|
8775
|
+
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
8776
|
+
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
8777
|
+
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
8778
|
+
children));
|
|
8779
|
+
};
|
|
8780
|
+
|
|
8766
8781
|
var getIhPath = function () { return localStorage.getItem('ihPath') || "[mssql2022].[IH_100020].[ih]"; };
|
|
8767
8782
|
//tags
|
|
8768
8783
|
var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -8965,861 +8980,863 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
|
|
|
8965
8980
|
});
|
|
8966
8981
|
}); };
|
|
8967
8982
|
|
|
8968
|
-
var
|
|
8969
|
-
|
|
8970
|
-
width: '25px',
|
|
8971
|
-
height: '25px',
|
|
8972
|
-
color: "white",
|
|
8973
|
-
display: 'flex',
|
|
8974
|
-
justifyContent: 'center',
|
|
8975
|
-
alignItems: 'center',
|
|
8976
|
-
cursor: 'pointer',
|
|
8977
|
-
border: "1px black solid"
|
|
8978
|
-
},
|
|
8979
|
-
root: {
|
|
8980
|
-
alignItems: "center",
|
|
8981
|
-
display: "flex",
|
|
8982
|
-
height: "32px"
|
|
8983
|
-
},
|
|
8984
|
-
customNodeRoot: {
|
|
8985
|
-
listStyleType: "none",
|
|
8986
|
-
margin: 0,
|
|
8987
|
-
padding: 0,
|
|
8988
|
-
'&:hover': {
|
|
8989
|
-
backgroundColor: "#f2f2f2"
|
|
8990
|
-
}
|
|
8991
|
-
},
|
|
8992
|
-
arrow: {
|
|
8993
|
-
alignItems: "center",
|
|
8994
|
-
cursor: "pointer",
|
|
8995
|
-
display: "flex",
|
|
8996
|
-
height: "24px",
|
|
8997
|
-
justifyContent: "center",
|
|
8998
|
-
width: "24px",
|
|
8999
|
-
transition: "transform linear 0.1s",
|
|
9000
|
-
transform: "rotate(0deg)"
|
|
9001
|
-
},
|
|
9002
|
-
"arrow > div": {
|
|
8983
|
+
var useTrendingStyles = makeStyles$1(function (theme) { return ({
|
|
8984
|
+
datetimePicker: {
|
|
9003
8985
|
alignItems: "center",
|
|
9004
|
-
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
|
|
9009
|
-
|
|
9010
|
-
|
|
9011
|
-
|
|
9012
|
-
|
|
9013
|
-
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
8986
|
+
"& .MuiInputBase-root": {
|
|
8987
|
+
color: "black",
|
|
8988
|
+
backgroundColor: "white",
|
|
8989
|
+
borderRadius: theme.shape.borderRadius,
|
|
8990
|
+
width: "90%",
|
|
8991
|
+
minWidth: "90%",
|
|
8992
|
+
maxWidth: "90%"
|
|
8993
|
+
},
|
|
8994
|
+
"& .MuiInputBase-input": {
|
|
8995
|
+
fontSize: "13px !important",
|
|
8996
|
+
height: "15px !important",
|
|
8997
|
+
paddingRight: "3px",
|
|
8998
|
+
paddingLeft: "3px"
|
|
8999
|
+
},
|
|
9000
|
+
"& .MuiInput-underline:before": {
|
|
9001
|
+
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9002
|
+
},
|
|
9003
|
+
padding: 0
|
|
9017
9004
|
},
|
|
9018
|
-
|
|
9019
|
-
|
|
9005
|
+
select: {
|
|
9006
|
+
"& .MuiInput-root": {
|
|
9007
|
+
width: "100%"
|
|
9008
|
+
},
|
|
9009
|
+
"& .MuiInputBase-root": {
|
|
9010
|
+
color: "black",
|
|
9011
|
+
backgroundColor: "white",
|
|
9012
|
+
borderRadius: theme.shape.borderRadius,
|
|
9013
|
+
minWidth: "100%"
|
|
9014
|
+
},
|
|
9015
|
+
"& .MuiInputBase-input": {
|
|
9016
|
+
fontSize: "14px !important",
|
|
9017
|
+
height: "15px !important"
|
|
9018
|
+
},
|
|
9019
|
+
"& .MuiInput-underline:before": {
|
|
9020
|
+
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9021
|
+
},
|
|
9022
|
+
padding: 0
|
|
9020
9023
|
},
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
flexDirection: "column"
|
|
9024
|
+
labelOptions: {
|
|
9025
|
+
paddingLeft: "2rem",
|
|
9026
|
+
userSelect: "none",
|
|
9027
|
+
"& > label": {
|
|
9028
|
+
display: "flex",
|
|
9029
|
+
alignItems: "center",
|
|
9030
|
+
gap: "5px"
|
|
9031
|
+
},
|
|
9032
|
+
'& input[type="checkbox"]': {
|
|
9033
|
+
zoom: 1.5
|
|
9034
|
+
}
|
|
9033
9035
|
},
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9036
|
+
isPublicCheckbox: {
|
|
9037
|
+
userSelect: "none",
|
|
9038
|
+
paddingLeft: '1rem',
|
|
9039
|
+
"& > label": {
|
|
9040
|
+
display: "flex",
|
|
9041
|
+
alignItems: "center",
|
|
9042
|
+
gap: "15px"
|
|
9043
|
+
},
|
|
9044
|
+
'& input[type="checkbox"]': {
|
|
9045
|
+
zoom: 1.5
|
|
9046
|
+
}
|
|
9039
9047
|
},
|
|
9040
|
-
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9048
|
+
navigatorButton: {
|
|
9049
|
+
"& .MuiSvgIcon-root": {
|
|
9050
|
+
cursor: "pointer !important",
|
|
9051
|
+
height: '24px',
|
|
9052
|
+
width: '24px',
|
|
9053
|
+
'& svg': {
|
|
9054
|
+
// Adjust the icon size as well
|
|
9055
|
+
fontSize: '1.5rem'
|
|
9056
|
+
}
|
|
9057
|
+
},
|
|
9058
|
+
color: 'black'
|
|
9044
9059
|
},
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9060
|
+
iconContainer: {
|
|
9061
|
+
display: 'flex',
|
|
9062
|
+
justifyContent: 'flex-end',
|
|
9063
|
+
alignItems: 'center',
|
|
9064
|
+
flex: 1
|
|
9049
9065
|
},
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
color: "#fff",
|
|
9056
|
-
display: "inline-grid",
|
|
9057
|
-
fontSize: "14px",
|
|
9058
|
-
gap: "8px",
|
|
9059
|
-
gridTemplateColumns: "auto auto",
|
|
9060
|
-
padding: "4px 8px",
|
|
9061
|
-
pointerEvents: "none"
|
|
9066
|
+
optionContainer: {
|
|
9067
|
+
display: 'flex',
|
|
9068
|
+
justifyContent: 'flex-start',
|
|
9069
|
+
alignItems: 'center',
|
|
9070
|
+
width: '100%'
|
|
9062
9071
|
},
|
|
9063
|
-
|
|
9064
|
-
|
|
9065
|
-
display: "flex"
|
|
9072
|
+
optionLabel: {
|
|
9073
|
+
flexGrow: 1
|
|
9066
9074
|
},
|
|
9067
|
-
|
|
9068
|
-
|
|
9069
|
-
|
|
9075
|
+
inputCustom: {
|
|
9076
|
+
color: 'rgba(0, 0, 0, 0.87)',
|
|
9077
|
+
cursor: 'text',
|
|
9078
|
+
fontSize: '0.7rem',
|
|
9079
|
+
boxSizing: 'border-box',
|
|
9080
|
+
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
|
9081
|
+
fontWeight: 400,
|
|
9082
|
+
lineHeight: 1.1876,
|
|
9083
|
+
letterSpacing: '0.00938em',
|
|
9084
|
+
'& .MuiOutlinedInput-input': {
|
|
9085
|
+
padding: '10px 10px'
|
|
9086
|
+
}
|
|
9070
9087
|
}
|
|
9071
9088
|
}); });
|
|
9072
9089
|
|
|
9073
|
-
function
|
|
9074
|
-
var
|
|
9075
|
-
|
|
9076
|
-
var tagForTree = {
|
|
9077
|
-
id: el.TagId,
|
|
9078
|
-
parent: (el.ParentTagId || 0),
|
|
9079
|
-
text: el.TagName,
|
|
9080
|
-
data: el,
|
|
9081
|
-
droppable: el.TagTypeCode === 'F'
|
|
9082
|
-
};
|
|
9083
|
-
return tagsForTree.push(tagForTree);
|
|
9084
|
-
});
|
|
9085
|
-
return tagsForTree;
|
|
9086
|
-
}
|
|
9087
|
-
|
|
9088
|
-
var CustomDragPreview = function (props) {
|
|
9089
|
-
var _a, _b, _c;
|
|
9090
|
-
var classes = useTagsTreeModalStyles();
|
|
9091
|
-
var item = props.monitorProps.item;
|
|
9092
|
-
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
9093
|
-
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
9094
|
-
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
9095
|
-
React__default.createElement("div", { className: classes.customDragLabel }, ((_b = item.data) === null || _b === void 0 ? void 0 : _b.Alias) || ((_c = item.data) === null || _c === void 0 ? void 0 : _c.TagName))));
|
|
9096
|
-
};
|
|
9097
|
-
|
|
9098
|
-
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
9099
|
-
var TagFolderCustomNode = function (_a) {
|
|
9100
|
-
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9101
|
-
var node = _a.node, _k = _a.options, depth = _k.depth, isOpen = _k.isOpen, onToggle = _k.onToggle, containerRef = _k.containerRef, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, setContextMenuOver = _a.setContextMenuOver, isSelected = _a.isSelected;
|
|
9102
|
-
var classes = useTagsTreeModalStyles();
|
|
9103
|
-
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
9104
|
-
var onClickHandler = function () {
|
|
9105
|
-
var _a;
|
|
9106
|
-
var _b;
|
|
9107
|
-
if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
|
|
9108
|
-
if (openTagFolders[node.id]) {
|
|
9109
|
-
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
9110
|
-
delete newOpenTagFolders[node.id];
|
|
9111
|
-
setOpenTagFolders(newOpenTagFolders);
|
|
9112
|
-
}
|
|
9113
|
-
else {
|
|
9114
|
-
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
9115
|
-
}
|
|
9116
|
-
onToggle();
|
|
9117
|
-
return;
|
|
9118
|
-
}
|
|
9119
|
-
if (!options.hasChild) {
|
|
9120
|
-
handleSelect(node);
|
|
9121
|
-
}
|
|
9122
|
-
};
|
|
9123
|
-
var handleContextMenu = useCallback(function (ev) {
|
|
9124
|
-
ev.stopPropagation();
|
|
9125
|
-
ev.preventDefault();
|
|
9126
|
-
setContextMenuOver(node, ev);
|
|
9127
|
-
}, [node.id, setContextMenuOver]);
|
|
9128
|
-
useEffect(function () {
|
|
9129
|
-
var _a;
|
|
9130
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
|
|
9131
|
-
return function () {
|
|
9132
|
-
var _a;
|
|
9133
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
|
|
9134
|
-
};
|
|
9135
|
-
}, []);
|
|
9136
|
-
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
9137
|
-
React__default.createElement("style", null, customStyles),
|
|
9138
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9139
|
-
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
9140
|
-
: null,
|
|
9141
|
-
React__default.createElement("div", null, options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F' ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
|
|
9142
|
-
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
|
|
9143
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9144
|
-
((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) && ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
|
|
9145
|
-
backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? "#AD48C4" : "#C46F48",
|
|
9146
|
-
margin: "0 5px"
|
|
9147
|
-
} }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
|
|
9148
|
-
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
9149
|
-
React__default.createElement(Typography, { variant: "body2" }, ((_h = node.data) === null || _h === void 0 ? void 0 : _h.Alias) || ((_j = node.data) === null || _j === void 0 ? void 0 : _j.TagName))))));
|
|
9150
|
-
};
|
|
9151
|
-
|
|
9152
|
-
var ButtonWithLoading = function (_a) {
|
|
9153
|
-
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
9154
|
-
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
9155
|
-
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
9156
|
-
children));
|
|
9157
|
-
};
|
|
9158
|
-
|
|
9159
|
-
var NewFolderModal = function (_a) {
|
|
9160
|
-
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9161
|
-
var _b = useState(), name = _b[0], setName = _b[1];
|
|
9090
|
+
var DeleteViewModal = function (_a) {
|
|
9091
|
+
var open = _a.open, handleClose = _a.handleClose, view = _a.view;
|
|
9092
|
+
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9162
9093
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9163
|
-
var
|
|
9164
|
-
|
|
9165
|
-
|
|
9166
|
-
|
|
9167
|
-
return __generator(this, function (_b) {
|
|
9168
|
-
switch (_b.label) {
|
|
9094
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9095
|
+
var resp;
|
|
9096
|
+
return __generator(this, function (_a) {
|
|
9097
|
+
switch (_a.label) {
|
|
9169
9098
|
case 0:
|
|
9170
|
-
e.preventDefault();
|
|
9171
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9172
|
-
parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
|
|
9173
9099
|
setIsLoading(true);
|
|
9174
|
-
if (
|
|
9175
|
-
return [4 /*yield*/,
|
|
9100
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9101
|
+
return [4 /*yield*/, deleteView(view.ViewId)];
|
|
9176
9102
|
case 1:
|
|
9177
|
-
resp =
|
|
9103
|
+
resp = _a.sent();
|
|
9178
9104
|
if (!resp.ok) {
|
|
9179
9105
|
setError(resp.message);
|
|
9180
9106
|
}
|
|
9181
|
-
|
|
9107
|
+
else {
|
|
9108
|
+
handleClose(true);
|
|
9109
|
+
}
|
|
9110
|
+
_a.label = 2;
|
|
9182
9111
|
case 2:
|
|
9183
|
-
handleClose(true);
|
|
9184
|
-
setName('');
|
|
9185
9112
|
setIsLoading(false);
|
|
9186
9113
|
return [2 /*return*/];
|
|
9187
9114
|
}
|
|
9188
9115
|
});
|
|
9189
9116
|
}); };
|
|
9190
9117
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9191
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9192
|
-
React__default.createElement(
|
|
9193
|
-
|
|
9194
|
-
|
|
9118
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Delete View' },
|
|
9119
|
+
React__default.createElement(Divider, null),
|
|
9120
|
+
React__default.createElement(MesfModal.Content, null, !isNil$1(view) ?
|
|
9121
|
+
(React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "2rem" } },
|
|
9122
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9123
|
+
React__default.createElement(Typography, null,
|
|
9124
|
+
"Are yu sure you want to delete ",
|
|
9125
|
+
React__default.createElement("strong", null, view === null || view === void 0 ? void 0 : view.ViewName),
|
|
9126
|
+
" ?")))) :
|
|
9127
|
+
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9128
|
+
React__default.createElement(Divider, null),
|
|
9195
9129
|
React__default.createElement(MesfModal.Actions, null,
|
|
9196
|
-
React__default.createElement(
|
|
9197
|
-
React__default.createElement(
|
|
9198
|
-
|
|
9199
|
-
React__default.createElement(
|
|
9130
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9131
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9132
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9133
|
+
React__default.createElement(Grid$1, { item: true }, !isNil$1(view) ?
|
|
9134
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'secondary', onClick: handleSubmit, isLoading: isLoading }, "Delete")
|
|
9135
|
+
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9200
9136
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9201
9137
|
};
|
|
9202
9138
|
|
|
9203
|
-
var
|
|
9204
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9205
|
-
var
|
|
9206
|
-
var
|
|
9207
|
-
var
|
|
9208
|
-
|
|
9139
|
+
var EditViewModal = function (_a) {
|
|
9140
|
+
var open = _a.open, handleClose = _a.handleClose, view = _a.view;
|
|
9141
|
+
var classes = useTrendingStyles();
|
|
9142
|
+
var _b = useState(''), newName = _b[0], setNewName = _b[1];
|
|
9143
|
+
var _c = useState(true), isPublic = _c[0], setIsPublic = _c[1];
|
|
9144
|
+
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
9145
|
+
var _e = useState(''), error = _e[0], setError = _e[1];
|
|
9146
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9147
|
+
var resp;
|
|
9209
9148
|
return __generator(this, function (_a) {
|
|
9210
9149
|
switch (_a.label) {
|
|
9211
9150
|
case 0:
|
|
9212
|
-
e.preventDefault();
|
|
9213
|
-
if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
|
|
9214
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9215
|
-
name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
|
|
9216
|
-
id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
|
|
9217
|
-
resp = void 0;
|
|
9218
9151
|
setIsLoading(true);
|
|
9219
|
-
if (
|
|
9220
|
-
return [4 /*yield*/,
|
|
9152
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9153
|
+
return [4 /*yield*/, upsertView(view.ViewId, newName, isPublic)];
|
|
9221
9154
|
case 1:
|
|
9222
9155
|
resp = _a.sent();
|
|
9223
9156
|
if (!resp.ok) {
|
|
9224
9157
|
setError(resp.message);
|
|
9225
9158
|
}
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
case 3:
|
|
9229
|
-
resp = _a.sent();
|
|
9230
|
-
_a.label = 4;
|
|
9231
|
-
case 4:
|
|
9232
|
-
if (!resp.ok) {
|
|
9233
|
-
setError(resp.message);
|
|
9159
|
+
else {
|
|
9160
|
+
handleClose(true);
|
|
9234
9161
|
}
|
|
9235
|
-
_a.label =
|
|
9236
|
-
case
|
|
9237
|
-
handleClose(true);
|
|
9162
|
+
_a.label = 2;
|
|
9163
|
+
case 2:
|
|
9238
9164
|
setIsLoading(false);
|
|
9239
9165
|
return [2 /*return*/];
|
|
9240
9166
|
}
|
|
9241
9167
|
});
|
|
9242
9168
|
}); };
|
|
9169
|
+
var handleChangeInput = function (e) {
|
|
9170
|
+
e.preventDefault();
|
|
9171
|
+
var name = e.target.value;
|
|
9172
|
+
setNewName(name);
|
|
9173
|
+
};
|
|
9174
|
+
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9175
|
+
useEffect(function () {
|
|
9176
|
+
if (view) {
|
|
9177
|
+
setIsPublic(view.IsPublic);
|
|
9178
|
+
setNewName(view.ViewName);
|
|
9179
|
+
}
|
|
9180
|
+
}, [view]);
|
|
9243
9181
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9244
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9245
|
-
React__default.createElement(
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
React__default.createElement(
|
|
9250
|
-
|
|
9182
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Update View' },
|
|
9183
|
+
React__default.createElement(Divider, null),
|
|
9184
|
+
React__default.createElement(MesfModal.Content, null, !isNil$1(view) ?
|
|
9185
|
+
(React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "2rem" } },
|
|
9186
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9187
|
+
React__default.createElement(TextField, { required: true, className: classes.inputCustom, id: "viewName", label: "Name", variant: "outlined", onChange: handleChangeInput, value: newName })),
|
|
9188
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9189
|
+
React__default.createElement("label", null,
|
|
9190
|
+
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck }),
|
|
9191
|
+
React__default.createElement(Typography, null, "Public"))))) :
|
|
9192
|
+
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9193
|
+
React__default.createElement(Divider, null),
|
|
9251
9194
|
React__default.createElement(MesfModal.Actions, null,
|
|
9252
|
-
React__default.createElement(
|
|
9253
|
-
React__default.createElement(
|
|
9254
|
-
|
|
9255
|
-
React__default.createElement(
|
|
9195
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9196
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9197
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9198
|
+
React__default.createElement(Grid$1, { item: true }, !isNil$1(view) ?
|
|
9199
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Update")
|
|
9200
|
+
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9256
9201
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9257
9202
|
};
|
|
9258
9203
|
|
|
9259
|
-
var
|
|
9260
|
-
var
|
|
9261
|
-
var
|
|
9262
|
-
var classes =
|
|
9263
|
-
var
|
|
9264
|
-
var
|
|
9265
|
-
var
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
getTagsTreeData();
|
|
9273
|
-
}
|
|
9274
|
-
setShowContextMenu(false);
|
|
9275
|
-
setShowNewTagModal(false);
|
|
9276
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree }),
|
|
9277
|
-
React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
|
|
9278
|
-
if (shouldUpdate) {
|
|
9279
|
-
getTagsTreeData();
|
|
9280
|
-
}
|
|
9281
|
-
setShowContextMenu(false);
|
|
9282
|
-
setShowRemoveTagModal(false);
|
|
9283
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree })));
|
|
9284
|
-
};
|
|
9285
|
-
|
|
9286
|
-
var TagSelectionModal = function (_a) {
|
|
9287
|
-
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
9288
|
-
var classes = useTagsTreeModalStyles();
|
|
9289
|
-
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
9290
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9291
|
-
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
9292
|
-
var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
|
|
9293
|
-
var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
|
|
9294
|
-
var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
|
|
9295
|
-
var backendOffset = 1000000;
|
|
9296
|
-
var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
|
|
9297
|
-
var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
|
|
9298
|
-
useTrendingContext().state.viewTags;
|
|
9299
|
-
var handleContextMenu = function (data, e) {
|
|
9300
|
-
e.preventDefault();
|
|
9301
|
-
var top = e.clientY;
|
|
9302
|
-
var left = e.clientX;
|
|
9303
|
-
setAnchorPoint({ x: left, y: top });
|
|
9304
|
-
setSelectedNodes([data]);
|
|
9305
|
-
setShowContextMenu(true);
|
|
9306
|
-
var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
|
|
9307
|
-
if (selectedNode) {
|
|
9308
|
-
setTagNodeSelectedInTree(selectedNode);
|
|
9309
|
-
}
|
|
9310
|
-
};
|
|
9311
|
-
var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9312
|
-
var tagsTree, rows, tree;
|
|
9204
|
+
var LoadViewModal = function (_a) {
|
|
9205
|
+
var open = _a.open, handleClose = _a.handleClose, getTagsFromAPI = _a.getTagsFromAPI;
|
|
9206
|
+
var _b = useTrendingContext(), _c = _b.state, views = _c.views, viewSelected = _c.viewSelected, _d = _b.actions; _d.setViews; var setViewTagsAndRefetch = _d.setViewTagsAndRefetch, setViewSelected = _d.setViewSelected;
|
|
9207
|
+
var classes = useTrendingStyles();
|
|
9208
|
+
var _e = useState(null), viewForDelete = _e[0], setViewForDelete = _e[1];
|
|
9209
|
+
var _f = useState(null), viewForEdit = _f[0], setViewForEdit = _f[1];
|
|
9210
|
+
var _g = useState(false), deleteViewModalOpen = _g[0], setDeleteViewModalOpen = _g[1];
|
|
9211
|
+
var _h = useState(false), editViewModalOpen = _h[0], setEditViewModalOpen = _h[1];
|
|
9212
|
+
var _j = useState(false), allViewsChecked = _j[0], setAllViewsChecked = _j[1];
|
|
9213
|
+
var _k = useState(false), isLoading = _k[0], setIsLoading = _k[1];
|
|
9214
|
+
var _l = useState(''), error = _l[0], setError = _l[1];
|
|
9215
|
+
var handleSelect = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9216
|
+
var viewTagsResp;
|
|
9313
9217
|
return __generator(this, function (_a) {
|
|
9314
9218
|
switch (_a.label) {
|
|
9315
9219
|
case 0:
|
|
9316
|
-
if (!
|
|
9220
|
+
if (!viewSelected) return [3 /*break*/, 2];
|
|
9317
9221
|
setIsLoading(true);
|
|
9318
|
-
return [4 /*yield*/,
|
|
9222
|
+
return [4 /*yield*/, getViewTags(viewSelected.ViewId)];
|
|
9319
9223
|
case 1:
|
|
9320
|
-
|
|
9321
|
-
if (
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9325
|
-
|
|
9326
|
-
|
|
9224
|
+
viewTagsResp = _a.sent();
|
|
9225
|
+
if (viewTagsResp.ok) {
|
|
9226
|
+
setViewTagsAndRefetch(viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
|
|
9227
|
+
if (isNil$1(curr.Color)) {
|
|
9228
|
+
curr.Color = getRandomColor();
|
|
9229
|
+
}
|
|
9230
|
+
carr[curr.TagId] = {
|
|
9231
|
+
viewTag: curr,
|
|
9232
|
+
order: idx
|
|
9233
|
+
};
|
|
9234
|
+
return carr;
|
|
9235
|
+
}, {}));
|
|
9236
|
+
}
|
|
9237
|
+
else {
|
|
9238
|
+
setError(viewTagsResp.message);
|
|
9239
|
+
}
|
|
9240
|
+
setIsLoading(false);
|
|
9241
|
+
handleClose(false);
|
|
9327
9242
|
_a.label = 2;
|
|
9328
9243
|
case 2: return [2 /*return*/];
|
|
9329
9244
|
}
|
|
9330
9245
|
});
|
|
9331
9246
|
}); };
|
|
9332
|
-
var
|
|
9333
|
-
return
|
|
9334
|
-
|
|
9335
|
-
|
|
9336
|
-
|
|
9337
|
-
|
|
9338
|
-
|
|
9339
|
-
|
|
9340
|
-
|
|
9341
|
-
|
|
9342
|
-
|
|
9247
|
+
var handleDeleteView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9248
|
+
return __generator(this, function (_a) {
|
|
9249
|
+
e.stopPropagation();
|
|
9250
|
+
if (view.ViewId === (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) {
|
|
9251
|
+
setError('Can not delete current view');
|
|
9252
|
+
}
|
|
9253
|
+
else {
|
|
9254
|
+
setViewForDelete(view);
|
|
9255
|
+
setDeleteViewModalOpen(true);
|
|
9256
|
+
}
|
|
9257
|
+
return [2 /*return*/];
|
|
9258
|
+
});
|
|
9259
|
+
}); };
|
|
9260
|
+
var handleEditView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9261
|
+
return __generator(this, function (_a) {
|
|
9262
|
+
setViewForEdit(view);
|
|
9263
|
+
setEditViewModalOpen(true);
|
|
9264
|
+
return [2 /*return*/];
|
|
9265
|
+
});
|
|
9266
|
+
}); };
|
|
9267
|
+
var handleAllViewsCheckbox = function () {
|
|
9268
|
+
setAllViewsChecked(function (prev) { return !prev; });
|
|
9269
|
+
};
|
|
9270
|
+
var publicViews = useMemo(function () {
|
|
9271
|
+
return views.filter(function (v) { return v.IsPublic === true; });
|
|
9272
|
+
}, [views, allViewsChecked]);
|
|
9273
|
+
return (React__default.createElement("div", null,
|
|
9274
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Views' },
|
|
9275
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9276
|
+
React__default.createElement(Grid$1, { container: true }, views.length ? (React__default.createElement(React__default.Fragment, null,
|
|
9277
|
+
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9278
|
+
React__default.createElement("div", { className: classes.isPublicCheckbox, style: { paddingBottom: '1rem' } },
|
|
9279
|
+
React__default.createElement("label", { htmlFor: "" },
|
|
9280
|
+
React__default.createElement("input", { type: "checkbox", checked: allViewsChecked, onChange: handleAllViewsCheckbox }),
|
|
9281
|
+
React__default.createElement(Typography, null, "All Views")))),
|
|
9282
|
+
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9283
|
+
React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", noOptionsText: allViewsChecked ? "No views detected, please create a new view" : "No private views detected, please create a new view .", options: allViewsChecked ? views : publicViews, getOptionLabel: function (option) { return option.ViewName; }, onChange: function (ev, val) { return setViewSelected(val); }, defaultValue: viewSelected, style: { width: "100%" }, renderOption: function (option) { return (React__default.createElement("div", { className: classes.optionContainer },
|
|
9284
|
+
React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
|
|
9285
|
+
React__default.createElement("div", { className: classes.iconContainer },
|
|
9286
|
+
option.IsPublic ? '' :
|
|
9287
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9288
|
+
React__default.createElement(Tooltip, { title: "Private", arrow: true },
|
|
9289
|
+
React__default.createElement(LockIcon, { fontSize: 'small', style: { color: 'black', height: "18px", width: '18px', cursor: 'auto' } }))),
|
|
9290
|
+
React__default.createElement(IconButton$1, { onClick: function (e) { return handleEditView(option); } },
|
|
9291
|
+
React__default.createElement(CreateIcon, { fontSize: 'small', color: 'primary', style: { height: "18px", width: '18px', cursor: 'pointer' } })),
|
|
9292
|
+
React__default.createElement(IconButton$1, { onClick: function (e) { return handleDeleteView(option, e); } },
|
|
9293
|
+
React__default.createElement(DeleteIcon, { fontSize: 'small', color: 'secondary', style: { height: "18px", width: '18px', cursor: 'pointer' } }))))); }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })))) :
|
|
9294
|
+
(React__default.createElement(Typography, null, "No views detected, please add one")))),
|
|
9295
|
+
React__default.createElement(MesfModal.Actions, null,
|
|
9296
|
+
React__default.createElement("div", { style: { paddingTop: "1rem" } },
|
|
9297
|
+
React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
|
|
9298
|
+
views.length ? (React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: 'contained', color: 'primary', isLoading: isLoading, style: { marginRight: "1rem" } }, "Apply")) : (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok"))))),
|
|
9299
|
+
React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
|
|
9300
|
+
setDeleteViewModalOpen(false);
|
|
9301
|
+
if (shouldUpdate)
|
|
9302
|
+
getTagsFromAPI().then(function () { });
|
|
9303
|
+
} }),
|
|
9304
|
+
React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
|
|
9305
|
+
setEditViewModalOpen(false);
|
|
9306
|
+
if (shouldUpdate)
|
|
9307
|
+
getTagsFromAPI().then(function () { });
|
|
9308
|
+
} }),
|
|
9309
|
+
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9310
|
+
};
|
|
9311
|
+
|
|
9312
|
+
var SaveAsViewModal = function (_a) {
|
|
9313
|
+
var open = _a.open, handleClose = _a.handleClose;
|
|
9314
|
+
var classes = useTrendingStyles();
|
|
9315
|
+
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9316
|
+
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9317
|
+
var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
|
|
9318
|
+
var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
|
|
9319
|
+
var _h = useState(''), newView = _h[0], setNewView = _h[1];
|
|
9320
|
+
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9321
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9322
|
+
var resp, ViewId_1, shouldClose_1;
|
|
9323
|
+
return __generator(this, function (_a) {
|
|
9324
|
+
switch (_a.label) {
|
|
9343
9325
|
case 0:
|
|
9344
9326
|
setIsLoading(true);
|
|
9345
|
-
|
|
9346
|
-
tagId = Number(options.dragSource.id);
|
|
9347
|
-
newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
|
|
9348
|
-
if (tagId === newFolderId) {
|
|
9349
|
-
setIsLoading(false);
|
|
9350
|
-
return [2 /*return*/];
|
|
9351
|
-
}
|
|
9352
|
-
if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
|
|
9353
|
-
return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
|
|
9327
|
+
return [4 /*yield*/, upsertView(null, newView, isPublic)];
|
|
9354
9328
|
case 1:
|
|
9355
|
-
|
|
9356
|
-
if (!
|
|
9357
|
-
|
|
9358
|
-
|
|
9329
|
+
resp = _a.sent();
|
|
9330
|
+
if (!resp.ok) return [3 /*break*/, 3];
|
|
9331
|
+
ViewId_1 = resp.data.returnValue;
|
|
9332
|
+
shouldClose_1 = true;
|
|
9333
|
+
return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).map(function (_a) {
|
|
9334
|
+
var _b = _a.viewTag, TagId = _b.TagId, Color = _b.Color, MinScale = _b.MinScale, MaxScale = _b.MaxScale, IsAutoScale = _b.IsAutoScale, IsVisible = _b.IsVisible, Unit = _b.Unit;
|
|
9335
|
+
upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
9336
|
+
.then(function (r) {
|
|
9337
|
+
if (!r.ok) {
|
|
9338
|
+
setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
|
|
9339
|
+
if (shouldClose_1) {
|
|
9340
|
+
shouldClose_1 = false;
|
|
9341
|
+
}
|
|
9342
|
+
}
|
|
9343
|
+
});
|
|
9344
|
+
}))];
|
|
9345
|
+
case 2:
|
|
9346
|
+
_a.sent();
|
|
9347
|
+
handleClose(shouldClose_1);
|
|
9359
9348
|
return [3 /*break*/, 4];
|
|
9360
|
-
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9361
9349
|
case 3:
|
|
9362
|
-
|
|
9363
|
-
|
|
9364
|
-
setError(newTree.message);
|
|
9365
|
-
}
|
|
9366
|
-
_c.label = 4;
|
|
9350
|
+
setError(resp.message);
|
|
9351
|
+
_a.label = 4;
|
|
9367
9352
|
case 4:
|
|
9368
|
-
setTagsTreeData(tree);
|
|
9369
|
-
_c.label = 5;
|
|
9370
|
-
case 5:
|
|
9371
9353
|
setIsLoading(false);
|
|
9372
9354
|
return [2 /*return*/];
|
|
9373
9355
|
}
|
|
9374
9356
|
});
|
|
9375
9357
|
}); };
|
|
9376
|
-
var handleClick = function (node) {
|
|
9377
|
-
if (node.data) {
|
|
9378
|
-
onTagSelect(node.data);
|
|
9379
|
-
}
|
|
9380
|
-
};
|
|
9381
|
-
var handleCloseContextMenu = function (e) {
|
|
9382
|
-
if (showContextMenu) {
|
|
9383
|
-
setShowContextMenu(false);
|
|
9384
|
-
}
|
|
9385
|
-
};
|
|
9386
9358
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9387
|
-
React__default.createElement(
|
|
9388
|
-
React__default.createElement(
|
|
9389
|
-
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
9390
|
-
React__default.createElement(Tree, { classes: {
|
|
9391
|
-
root: classes.assetRoot,
|
|
9392
|
-
dropTarget: classes.dropTarget
|
|
9393
|
-
}, initialOpen: expanded, tree: tagsTreeData, rootId: backendOffset, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
9394
|
-
return !selectedNodes.some(function (selectedNode) {
|
|
9395
|
-
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
9396
|
-
});
|
|
9397
|
-
}, render: function (node, options) {
|
|
9398
|
-
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
9399
|
-
return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
9400
|
-
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
9401
|
-
// <div>{monitorProps.item.data?.TagName}</div>
|
|
9402
|
-
); } }))))),
|
|
9403
|
-
React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
|
|
9404
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9405
|
-
};
|
|
9406
|
-
|
|
9407
|
-
var TagsTreeModal = function (_a) {
|
|
9408
|
-
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
9409
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
9410
|
-
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
|
|
9359
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Save View As' },
|
|
9360
|
+
React__default.createElement(Divider, null),
|
|
9411
9361
|
React__default.createElement(MesfModal.Content, null,
|
|
9412
|
-
React__default.createElement(
|
|
9413
|
-
React__default.createElement(
|
|
9414
|
-
|
|
9362
|
+
React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
|
|
9363
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } }, views.length && viewSelected ? (React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", options: views, defaultValue: viewSelected, getOptionLabel: function (option) { return option.ViewName; }, freeSolo: true, onChange: function (ev, val) {
|
|
9364
|
+
setViewSelected(val);
|
|
9365
|
+
if (val) {
|
|
9366
|
+
setNewView("");
|
|
9367
|
+
}
|
|
9368
|
+
}, onInputChange: function (event, newInputValue) {
|
|
9369
|
+
var isValueInViews = views.some(function (view) { return view.ViewName === newInputValue; });
|
|
9370
|
+
if (!isValueInViews) {
|
|
9371
|
+
setNewView(newInputValue);
|
|
9372
|
+
}
|
|
9373
|
+
}, style: { width: "100%" }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })) :
|
|
9374
|
+
(React__default.createElement(Box, null,
|
|
9375
|
+
React__default.createElement(TextField, { style: { minWidth: "600px" }, size: 'small', id: "outlined-basic", label: "View name", variant: "outlined", value: newView, onChange: (function (e) { return setNewView(e.target.value); }) }))))),
|
|
9376
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9377
|
+
React__default.createElement("label", null,
|
|
9378
|
+
"Public",
|
|
9379
|
+
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck })))),
|
|
9380
|
+
React__default.createElement(Divider, null),
|
|
9381
|
+
React__default.createElement(MesfModal.Actions, null,
|
|
9382
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9383
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9384
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9385
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9386
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
|
|
9387
|
+
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9415
9388
|
};
|
|
9416
9389
|
|
|
9417
|
-
var
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
|
|
9425
|
-
|
|
9426
|
-
|
|
9427
|
-
},
|
|
9428
|
-
"& .MuiInputBase-input": {
|
|
9429
|
-
fontSize: "13px !important",
|
|
9430
|
-
height: "15px !important",
|
|
9431
|
-
paddingRight: "3px",
|
|
9432
|
-
paddingLeft: "3px"
|
|
9433
|
-
},
|
|
9434
|
-
"& .MuiInput-underline:before": {
|
|
9435
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9436
|
-
},
|
|
9437
|
-
padding: 0
|
|
9390
|
+
var useTagsTreeModalStyles = makeStyles$1(function (theme) { return ({
|
|
9391
|
+
dataTypeOfTree: {
|
|
9392
|
+
width: '25px',
|
|
9393
|
+
height: '25px',
|
|
9394
|
+
color: "white",
|
|
9395
|
+
display: 'flex',
|
|
9396
|
+
justifyContent: 'center',
|
|
9397
|
+
alignItems: 'center',
|
|
9398
|
+
cursor: 'pointer',
|
|
9399
|
+
border: "1px black solid"
|
|
9438
9400
|
},
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
"& .MuiInputBase-root": {
|
|
9444
|
-
color: "black",
|
|
9445
|
-
backgroundColor: "white",
|
|
9446
|
-
borderRadius: theme.shape.borderRadius,
|
|
9447
|
-
minWidth: "100%"
|
|
9448
|
-
},
|
|
9449
|
-
"& .MuiInputBase-input": {
|
|
9450
|
-
fontSize: "14px !important",
|
|
9451
|
-
height: "15px !important"
|
|
9452
|
-
},
|
|
9453
|
-
"& .MuiInput-underline:before": {
|
|
9454
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9455
|
-
},
|
|
9456
|
-
padding: 0
|
|
9401
|
+
root: {
|
|
9402
|
+
alignItems: "center",
|
|
9403
|
+
display: "flex",
|
|
9404
|
+
height: "32px"
|
|
9457
9405
|
},
|
|
9458
|
-
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9463
|
-
|
|
9464
|
-
gap: "5px"
|
|
9465
|
-
},
|
|
9466
|
-
'& input[type="checkbox"]': {
|
|
9467
|
-
zoom: 1.5
|
|
9406
|
+
customNodeRoot: {
|
|
9407
|
+
listStyleType: "none",
|
|
9408
|
+
margin: 0,
|
|
9409
|
+
padding: 0,
|
|
9410
|
+
'&:hover': {
|
|
9411
|
+
backgroundColor: "#f2f2f2"
|
|
9468
9412
|
}
|
|
9469
9413
|
},
|
|
9470
|
-
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
|
|
9476
|
-
|
|
9477
|
-
|
|
9478
|
-
|
|
9479
|
-
zoom: 1.5
|
|
9480
|
-
}
|
|
9414
|
+
arrow: {
|
|
9415
|
+
alignItems: "center",
|
|
9416
|
+
cursor: "pointer",
|
|
9417
|
+
display: "flex",
|
|
9418
|
+
height: "24px",
|
|
9419
|
+
justifyContent: "center",
|
|
9420
|
+
width: "24px",
|
|
9421
|
+
transition: "transform linear 0.1s",
|
|
9422
|
+
transform: "rotate(0deg)"
|
|
9481
9423
|
},
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
|
|
9488
|
-
|
|
9489
|
-
|
|
9424
|
+
"arrow > div": {
|
|
9425
|
+
alignItems: "center",
|
|
9426
|
+
display: "flex"
|
|
9427
|
+
},
|
|
9428
|
+
"arrow.is-open": {
|
|
9429
|
+
transform: "rotate(90deg)"
|
|
9430
|
+
},
|
|
9431
|
+
filetype: {
|
|
9432
|
+
display: "flex"
|
|
9433
|
+
},
|
|
9434
|
+
label: {
|
|
9435
|
+
paddingInlineStart: "8px"
|
|
9436
|
+
},
|
|
9437
|
+
selected: {
|
|
9438
|
+
backgroundColor: "#e8f0fe"
|
|
9439
|
+
},
|
|
9440
|
+
dragging: {
|
|
9441
|
+
opacity: 0.5
|
|
9442
|
+
},
|
|
9443
|
+
contextMenu: {
|
|
9444
|
+
fontSize: "14px",
|
|
9445
|
+
backgroundColor: "#fff",
|
|
9446
|
+
borderRadius: "2px",
|
|
9447
|
+
padding: "5px 10px;",
|
|
9448
|
+
width: "140px",
|
|
9449
|
+
height: "auto",
|
|
9450
|
+
margin: "0",
|
|
9451
|
+
position: "fixed",
|
|
9452
|
+
boxShadow: "0 0 20px 0 #ccc",
|
|
9453
|
+
display: "flex",
|
|
9454
|
+
flexDirection: "column"
|
|
9455
|
+
},
|
|
9456
|
+
storyRoot: {
|
|
9457
|
+
display: "grid",
|
|
9458
|
+
height: "100%",
|
|
9459
|
+
gridTemplateRows: "auto 1fr",
|
|
9460
|
+
listStyleType: "none !important"
|
|
9461
|
+
},
|
|
9462
|
+
assetRoot: {
|
|
9463
|
+
boxSizing: "border-box",
|
|
9464
|
+
height: "100%",
|
|
9465
|
+
padding: "32px"
|
|
9466
|
+
},
|
|
9467
|
+
dropTarget: {
|
|
9468
|
+
boxShadow: "0 0 0 1px #1967d2 inset",
|
|
9469
|
+
borderRadius: '1px',
|
|
9470
|
+
backgroundColor: '#DAE4F2'
|
|
9471
|
+
},
|
|
9472
|
+
customDragRoot: {
|
|
9473
|
+
alignItems: "center",
|
|
9474
|
+
backgroundColor: "#1967d2",
|
|
9475
|
+
borderRadius: "4px",
|
|
9476
|
+
boxShadow: " 0 12px 24px -6px rgba(0, 0, 0, .25); 0 0 0 1px rgba(0, 0, 0, .08)",
|
|
9477
|
+
color: "#fff",
|
|
9478
|
+
display: "inline-grid",
|
|
9479
|
+
fontSize: "14px",
|
|
9480
|
+
gap: "8px",
|
|
9481
|
+
gridTemplateColumns: "auto auto",
|
|
9482
|
+
padding: "4px 8px",
|
|
9483
|
+
pointerEvents: "none"
|
|
9484
|
+
},
|
|
9485
|
+
icon: {
|
|
9486
|
+
alignItems: "center",
|
|
9487
|
+
display: "flex"
|
|
9488
|
+
},
|
|
9489
|
+
customDragLabel: {
|
|
9490
|
+
alignItems: "center",
|
|
9491
|
+
display: "flex"
|
|
9492
|
+
}
|
|
9493
|
+
}); });
|
|
9494
|
+
|
|
9495
|
+
function buildTagsTreeV2(data) {
|
|
9496
|
+
var tagsForTree = [];
|
|
9497
|
+
data.forEach(function (el) {
|
|
9498
|
+
var tagForTree = {
|
|
9499
|
+
id: el.TagId,
|
|
9500
|
+
parent: (el.ParentTagId || 0),
|
|
9501
|
+
text: el.TagName,
|
|
9502
|
+
data: el,
|
|
9503
|
+
droppable: el.TagTypeCode === 'F'
|
|
9504
|
+
};
|
|
9505
|
+
return tagsForTree.push(tagForTree);
|
|
9506
|
+
});
|
|
9507
|
+
return tagsForTree;
|
|
9508
|
+
}
|
|
9509
|
+
|
|
9510
|
+
var CustomDragPreview = function (props) {
|
|
9511
|
+
var _a, _b, _c;
|
|
9512
|
+
var classes = useTagsTreeModalStyles();
|
|
9513
|
+
var item = props.monitorProps.item;
|
|
9514
|
+
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
9515
|
+
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
9516
|
+
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
9517
|
+
React__default.createElement("div", { className: classes.customDragLabel }, ((_b = item.data) === null || _b === void 0 ? void 0 : _b.Alias) || ((_c = item.data) === null || _c === void 0 ? void 0 : _c.TagName))));
|
|
9518
|
+
};
|
|
9519
|
+
|
|
9520
|
+
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
9521
|
+
var TagFolderCustomNode = function (_a) {
|
|
9522
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9523
|
+
var node = _a.node, _k = _a.options, depth = _k.depth, isOpen = _k.isOpen, onToggle = _k.onToggle, containerRef = _k.containerRef, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, setContextMenuOver = _a.setContextMenuOver, isSelected = _a.isSelected;
|
|
9524
|
+
var classes = useTagsTreeModalStyles();
|
|
9525
|
+
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
9526
|
+
var onClickHandler = function () {
|
|
9527
|
+
var _a;
|
|
9528
|
+
var _b;
|
|
9529
|
+
if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
|
|
9530
|
+
if (openTagFolders[node.id]) {
|
|
9531
|
+
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
9532
|
+
delete newOpenTagFolders[node.id];
|
|
9533
|
+
setOpenTagFolders(newOpenTagFolders);
|
|
9534
|
+
}
|
|
9535
|
+
else {
|
|
9536
|
+
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
9490
9537
|
}
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
},
|
|
9494
|
-
iconContainer: {
|
|
9495
|
-
display: 'flex',
|
|
9496
|
-
justifyContent: 'flex-end',
|
|
9497
|
-
alignItems: 'center',
|
|
9498
|
-
flex: 1
|
|
9499
|
-
},
|
|
9500
|
-
optionContainer: {
|
|
9501
|
-
display: 'flex',
|
|
9502
|
-
justifyContent: 'flex-start',
|
|
9503
|
-
alignItems: 'center',
|
|
9504
|
-
width: '100%'
|
|
9505
|
-
},
|
|
9506
|
-
optionLabel: {
|
|
9507
|
-
flexGrow: 1
|
|
9508
|
-
},
|
|
9509
|
-
inputCustom: {
|
|
9510
|
-
color: 'rgba(0, 0, 0, 0.87)',
|
|
9511
|
-
cursor: 'text',
|
|
9512
|
-
fontSize: '0.7rem',
|
|
9513
|
-
boxSizing: 'border-box',
|
|
9514
|
-
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
|
9515
|
-
fontWeight: 400,
|
|
9516
|
-
lineHeight: 1.1876,
|
|
9517
|
-
letterSpacing: '0.00938em',
|
|
9518
|
-
'& .MuiOutlinedInput-input': {
|
|
9519
|
-
padding: '10px 10px'
|
|
9538
|
+
onToggle();
|
|
9539
|
+
return;
|
|
9520
9540
|
}
|
|
9521
|
-
|
|
9522
|
-
|
|
9541
|
+
if (!options.hasChild) {
|
|
9542
|
+
handleSelect(node);
|
|
9543
|
+
}
|
|
9544
|
+
};
|
|
9545
|
+
var handleContextMenu = useCallback(function (ev) {
|
|
9546
|
+
ev.stopPropagation();
|
|
9547
|
+
ev.preventDefault();
|
|
9548
|
+
setContextMenuOver(node, ev);
|
|
9549
|
+
}, [node.id, setContextMenuOver]);
|
|
9550
|
+
useEffect(function () {
|
|
9551
|
+
var _a;
|
|
9552
|
+
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
|
|
9553
|
+
return function () {
|
|
9554
|
+
var _a;
|
|
9555
|
+
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
|
|
9556
|
+
};
|
|
9557
|
+
}, []);
|
|
9558
|
+
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
9559
|
+
React__default.createElement("style", null, customStyles),
|
|
9560
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9561
|
+
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
9562
|
+
: null,
|
|
9563
|
+
React__default.createElement("div", null, options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F' ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
|
|
9564
|
+
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
|
|
9565
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9566
|
+
((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) && ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
|
|
9567
|
+
backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? "#AD48C4" : "#C46F48",
|
|
9568
|
+
margin: "0 5px"
|
|
9569
|
+
} }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
|
|
9570
|
+
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
9571
|
+
React__default.createElement(Typography, { variant: "body2" }, ((_h = node.data) === null || _h === void 0 ? void 0 : _h.Alias) || ((_j = node.data) === null || _j === void 0 ? void 0 : _j.TagName))))));
|
|
9572
|
+
};
|
|
9523
9573
|
|
|
9524
|
-
var
|
|
9525
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9526
|
-
var _b = useState(
|
|
9574
|
+
var NewFolderModal = function (_a) {
|
|
9575
|
+
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9576
|
+
var _b = useState(), name = _b[0], setName = _b[1];
|
|
9527
9577
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9528
|
-
var
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9578
|
+
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
9579
|
+
var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9580
|
+
var parentId, parentTagId, resp;
|
|
9581
|
+
var _a;
|
|
9582
|
+
return __generator(this, function (_b) {
|
|
9583
|
+
switch (_b.label) {
|
|
9532
9584
|
case 0:
|
|
9585
|
+
e.preventDefault();
|
|
9586
|
+
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9587
|
+
parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
|
|
9533
9588
|
setIsLoading(true);
|
|
9534
|
-
if (
|
|
9535
|
-
return [4 /*yield*/,
|
|
9589
|
+
if (!name) return [3 /*break*/, 2];
|
|
9590
|
+
return [4 /*yield*/, upsertTagFolder(null, parentTagId, name, true)];
|
|
9536
9591
|
case 1:
|
|
9537
|
-
resp =
|
|
9592
|
+
resp = _b.sent();
|
|
9538
9593
|
if (!resp.ok) {
|
|
9539
9594
|
setError(resp.message);
|
|
9540
9595
|
}
|
|
9541
|
-
|
|
9542
|
-
handleClose(true);
|
|
9543
|
-
}
|
|
9544
|
-
_a.label = 2;
|
|
9596
|
+
_b.label = 2;
|
|
9545
9597
|
case 2:
|
|
9598
|
+
handleClose(true);
|
|
9599
|
+
setName('');
|
|
9546
9600
|
setIsLoading(false);
|
|
9547
9601
|
return [2 /*return*/];
|
|
9548
9602
|
}
|
|
9549
9603
|
});
|
|
9550
9604
|
}); };
|
|
9551
9605
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9552
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9553
|
-
React__default.createElement(
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9557
|
-
React__default.createElement(Typography, null,
|
|
9558
|
-
"Are yu sure you want to delete ",
|
|
9559
|
-
React__default.createElement("strong", null, view === null || view === void 0 ? void 0 : view.ViewName),
|
|
9560
|
-
" ?")))) :
|
|
9561
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9562
|
-
React__default.createElement(Divider, null),
|
|
9606
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'New folder' },
|
|
9607
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9608
|
+
React__default.createElement(Box, null,
|
|
9609
|
+
React__default.createElement(TextField, { style: { minWidth: "600px" }, id: "outlined-basic", label: "Folder name", variant: "outlined", value: name, onChange: (function (e) { return setName(e.target.value); }) }))),
|
|
9563
9610
|
React__default.createElement(MesfModal.Actions, null,
|
|
9564
|
-
React__default.createElement(
|
|
9565
|
-
React__default.createElement(
|
|
9566
|
-
|
|
9567
|
-
React__default.createElement(
|
|
9568
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'secondary', onClick: handleSubmit, isLoading: isLoading }, "Delete")
|
|
9569
|
-
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9611
|
+
React__default.createElement("div", null,
|
|
9612
|
+
React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9613
|
+
React__default.createElement("div", null,
|
|
9614
|
+
React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Save")))),
|
|
9570
9615
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9571
9616
|
};
|
|
9572
9617
|
|
|
9573
|
-
var
|
|
9574
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9575
|
-
var
|
|
9576
|
-
var
|
|
9577
|
-
var
|
|
9578
|
-
|
|
9579
|
-
var _e = useState(''), error = _e[0], setError = _e[1];
|
|
9580
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9581
|
-
var resp;
|
|
9618
|
+
var RemoveFolderModal = function (_a) {
|
|
9619
|
+
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9620
|
+
var _b = useState(''), error = _b[0], setError = _b[1];
|
|
9621
|
+
var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
|
|
9622
|
+
var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9623
|
+
var parentId, name_1, id, resp;
|
|
9582
9624
|
return __generator(this, function (_a) {
|
|
9583
9625
|
switch (_a.label) {
|
|
9584
9626
|
case 0:
|
|
9627
|
+
e.preventDefault();
|
|
9628
|
+
if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
|
|
9629
|
+
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9630
|
+
name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
|
|
9631
|
+
id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
|
|
9632
|
+
resp = void 0;
|
|
9585
9633
|
setIsLoading(true);
|
|
9586
|
-
if (
|
|
9587
|
-
return [4 /*yield*/,
|
|
9634
|
+
if (!parentId) return [3 /*break*/, 2];
|
|
9635
|
+
return [4 /*yield*/, deleteTagFolder(id)];
|
|
9588
9636
|
case 1:
|
|
9589
9637
|
resp = _a.sent();
|
|
9590
9638
|
if (!resp.ok) {
|
|
9591
9639
|
setError(resp.message);
|
|
9592
9640
|
}
|
|
9593
|
-
|
|
9594
|
-
|
|
9641
|
+
return [3 /*break*/, 4];
|
|
9642
|
+
case 2: return [4 /*yield*/, upsertTagFolder(id, parentId, name_1, false)];
|
|
9643
|
+
case 3:
|
|
9644
|
+
resp = _a.sent();
|
|
9645
|
+
_a.label = 4;
|
|
9646
|
+
case 4:
|
|
9647
|
+
if (!resp.ok) {
|
|
9648
|
+
setError(resp.message);
|
|
9595
9649
|
}
|
|
9596
|
-
_a.label =
|
|
9597
|
-
case
|
|
9650
|
+
_a.label = 5;
|
|
9651
|
+
case 5:
|
|
9652
|
+
handleClose(true);
|
|
9598
9653
|
setIsLoading(false);
|
|
9599
9654
|
return [2 /*return*/];
|
|
9600
9655
|
}
|
|
9601
9656
|
});
|
|
9602
9657
|
}); };
|
|
9603
|
-
var handleChangeInput = function (e) {
|
|
9604
|
-
e.preventDefault();
|
|
9605
|
-
var name = e.target.value;
|
|
9606
|
-
setNewName(name);
|
|
9607
|
-
};
|
|
9608
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9609
|
-
useEffect(function () {
|
|
9610
|
-
if (view) {
|
|
9611
|
-
setIsPublic(view.IsPublic);
|
|
9612
|
-
setNewName(view.ViewName);
|
|
9613
|
-
}
|
|
9614
|
-
}, [view]);
|
|
9615
9658
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9616
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9617
|
-
React__default.createElement(
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
React__default.createElement(
|
|
9622
|
-
|
|
9623
|
-
React__default.createElement("label", null,
|
|
9624
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck }),
|
|
9625
|
-
React__default.createElement(Typography, null, "Public"))))) :
|
|
9626
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9627
|
-
React__default.createElement(Divider, null),
|
|
9659
|
+
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Remove Folder' },
|
|
9660
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9661
|
+
React__default.createElement(Box, null,
|
|
9662
|
+
React__default.createElement(Typography, null,
|
|
9663
|
+
"Are you sure you want to remove ",
|
|
9664
|
+
React__default.createElement("strong", null, tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text),
|
|
9665
|
+
" folder?"))),
|
|
9628
9666
|
React__default.createElement(MesfModal.Actions, null,
|
|
9629
|
-
React__default.createElement(
|
|
9630
|
-
React__default.createElement(
|
|
9631
|
-
|
|
9632
|
-
React__default.createElement(
|
|
9633
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Update")
|
|
9634
|
-
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9667
|
+
React__default.createElement("div", null,
|
|
9668
|
+
React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9669
|
+
React__default.createElement("div", null,
|
|
9670
|
+
React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Remove")))),
|
|
9635
9671
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9636
9672
|
};
|
|
9637
9673
|
|
|
9638
|
-
var
|
|
9639
|
-
var
|
|
9640
|
-
var
|
|
9641
|
-
var classes =
|
|
9642
|
-
var
|
|
9643
|
-
var
|
|
9644
|
-
var
|
|
9645
|
-
|
|
9646
|
-
|
|
9647
|
-
|
|
9648
|
-
|
|
9649
|
-
|
|
9650
|
-
|
|
9674
|
+
var ContextMenu = function (_a) {
|
|
9675
|
+
var _b;
|
|
9676
|
+
var isOpen = _a.isOpen, anchorPoint = _a.anchorPoint, tagNodeSelectedInTree = _a.tagNodeSelectedInTree, getTagsTreeData = _a.getTagsTreeData, setShowContextMenu = _a.setShowContextMenu;
|
|
9677
|
+
var classes = useTagsTreeModalStyles();
|
|
9678
|
+
var _c = useState(false), showNewTagModal = _c[0], setShowNewTagModal = _c[1];
|
|
9679
|
+
var _d = useState(false), showRemoveTagModal = _d[0], setShowRemoveTagModal = _d[1];
|
|
9680
|
+
var isFolder = ((_b = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F";
|
|
9681
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
9682
|
+
isOpen && anchorPoint ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: anchorPoint.y, left: anchorPoint.x } },
|
|
9683
|
+
React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowNewTagModal(true); } }, "New Folder"),
|
|
9684
|
+
tagNodeSelectedInTree && isFolder && (React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowRemoveTagModal(true); } }, "Remove Folder")))) : (null),
|
|
9685
|
+
React__default.createElement(NewFolderModal, { open: showNewTagModal, handleClose: function (shouldUpdate) {
|
|
9686
|
+
if (shouldUpdate) {
|
|
9687
|
+
getTagsTreeData();
|
|
9688
|
+
}
|
|
9689
|
+
setShowContextMenu(false);
|
|
9690
|
+
setShowNewTagModal(false);
|
|
9691
|
+
}, tagNodeSelectedInTree: tagNodeSelectedInTree }),
|
|
9692
|
+
React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
|
|
9693
|
+
if (shouldUpdate) {
|
|
9694
|
+
getTagsTreeData();
|
|
9695
|
+
}
|
|
9696
|
+
setShowContextMenu(false);
|
|
9697
|
+
setShowRemoveTagModal(false);
|
|
9698
|
+
}, tagNodeSelectedInTree: tagNodeSelectedInTree })));
|
|
9699
|
+
};
|
|
9700
|
+
|
|
9701
|
+
var TagSelectionModal = function (_a) {
|
|
9702
|
+
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
9703
|
+
var classes = useTagsTreeModalStyles();
|
|
9704
|
+
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
9705
|
+
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9706
|
+
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
9707
|
+
var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
|
|
9708
|
+
var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
|
|
9709
|
+
var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
|
|
9710
|
+
var backendOffset = 1000000;
|
|
9711
|
+
var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
|
|
9712
|
+
var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
|
|
9713
|
+
useTrendingContext().state.viewTags;
|
|
9714
|
+
var handleContextMenu = function (data, e) {
|
|
9715
|
+
e.preventDefault();
|
|
9716
|
+
var top = e.clientY;
|
|
9717
|
+
var left = e.clientX;
|
|
9718
|
+
setAnchorPoint({ x: left, y: top });
|
|
9719
|
+
setSelectedNodes([data]);
|
|
9720
|
+
setShowContextMenu(true);
|
|
9721
|
+
var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
|
|
9722
|
+
if (selectedNode) {
|
|
9723
|
+
setTagNodeSelectedInTree(selectedNode);
|
|
9724
|
+
}
|
|
9725
|
+
};
|
|
9726
|
+
var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9727
|
+
var tagsTree, rows, tree;
|
|
9651
9728
|
return __generator(this, function (_a) {
|
|
9652
9729
|
switch (_a.label) {
|
|
9653
9730
|
case 0:
|
|
9654
|
-
if (!
|
|
9731
|
+
if (!isOpen) return [3 /*break*/, 2];
|
|
9655
9732
|
setIsLoading(true);
|
|
9656
|
-
return [4 /*yield*/,
|
|
9733
|
+
return [4 /*yield*/, getTagsTree()];
|
|
9657
9734
|
case 1:
|
|
9658
|
-
|
|
9659
|
-
if (
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
|
|
9663
|
-
setError(viewTagsResp.message);
|
|
9735
|
+
tagsTree = _a.sent();
|
|
9736
|
+
if (tagsTree.ok) {
|
|
9737
|
+
rows = tagsTree.data.tables[0].rows;
|
|
9738
|
+
tree = buildTagsTreeV2(rows);
|
|
9739
|
+
setTagsTreeData(tree);
|
|
9664
9740
|
}
|
|
9665
9741
|
setIsLoading(false);
|
|
9666
|
-
handleClose(true);
|
|
9667
9742
|
_a.label = 2;
|
|
9668
9743
|
case 2: return [2 /*return*/];
|
|
9669
9744
|
}
|
|
9670
9745
|
});
|
|
9671
9746
|
}); };
|
|
9672
|
-
var
|
|
9673
|
-
return
|
|
9674
|
-
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
|
|
9679
|
-
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9683
|
-
});
|
|
9684
|
-
}); };
|
|
9685
|
-
var handleEditView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9686
|
-
return __generator(this, function (_a) {
|
|
9687
|
-
setViewForEdit(view);
|
|
9688
|
-
setEditViewModalOpen(true);
|
|
9689
|
-
return [2 /*return*/];
|
|
9690
|
-
});
|
|
9691
|
-
}); };
|
|
9692
|
-
var handleAllViewsCheckbox = function () {
|
|
9693
|
-
setAllViewsChecked(function (prev) { return !prev; });
|
|
9694
|
-
};
|
|
9695
|
-
var publicViews = useMemo(function () {
|
|
9696
|
-
return views.filter(function (v) { return v.IsPublic === true; });
|
|
9697
|
-
}, [views, allViewsChecked]);
|
|
9698
|
-
return (React__default.createElement("div", null,
|
|
9699
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Views' },
|
|
9700
|
-
React__default.createElement(MesfModal.Content, null,
|
|
9701
|
-
React__default.createElement(Grid$1, { container: true }, views.length ? (React__default.createElement(React__default.Fragment, null,
|
|
9702
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9703
|
-
React__default.createElement("div", { className: classes.isPublicCheckbox, style: { paddingBottom: '1rem' } },
|
|
9704
|
-
React__default.createElement("label", { htmlFor: "" },
|
|
9705
|
-
React__default.createElement("input", { type: "checkbox", checked: allViewsChecked, onChange: handleAllViewsCheckbox }),
|
|
9706
|
-
React__default.createElement(Typography, null, "All Views")))),
|
|
9707
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9708
|
-
React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", noOptionsText: allViewsChecked ? "No views detected, please create a new view" : "No private views detected, please create a new view .", options: allViewsChecked ? views : publicViews, getOptionLabel: function (option) { return option.ViewName; }, onChange: function (ev, val) { return setViewSelected(val); }, defaultValue: viewSelected, style: { width: "100%" }, renderOption: function (option) { return (React__default.createElement("div", { className: classes.optionContainer },
|
|
9709
|
-
React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
|
|
9710
|
-
React__default.createElement("div", { className: classes.iconContainer },
|
|
9711
|
-
option.IsPublic ? '' :
|
|
9712
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9713
|
-
React__default.createElement(Tooltip, { title: "Private", arrow: true },
|
|
9714
|
-
React__default.createElement(LockIcon, { fontSize: 'small', style: { color: 'black', height: "18px", width: '18px', cursor: 'auto' } }))),
|
|
9715
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleEditView(option); } },
|
|
9716
|
-
React__default.createElement(CreateIcon, { fontSize: 'small', color: 'primary', style: { height: "18px", width: '18px', cursor: 'pointer' } })),
|
|
9717
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleDeleteView(option, e); } },
|
|
9718
|
-
React__default.createElement(DeleteIcon, { fontSize: 'small', color: 'secondary', style: { height: "18px", width: '18px', cursor: 'pointer' } }))))); }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })))) :
|
|
9719
|
-
(React__default.createElement(Typography, null, "No views detected, please add one")))),
|
|
9720
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9721
|
-
React__default.createElement("div", { style: { paddingTop: "1rem" } },
|
|
9722
|
-
React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
|
|
9723
|
-
views.length ? (React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: 'contained', color: 'primary', isLoading: isLoading, style: { marginRight: "1rem" } }, "Apply")) : (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok"))))),
|
|
9724
|
-
React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
|
|
9725
|
-
setDeleteViewModalOpen(false);
|
|
9726
|
-
if (shouldUpdate)
|
|
9727
|
-
getTagsFromAPI().then(function () { });
|
|
9728
|
-
} }),
|
|
9729
|
-
React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
|
|
9730
|
-
setEditViewModalOpen(false);
|
|
9731
|
-
if (shouldUpdate)
|
|
9732
|
-
getTagsFromAPI().then(function () { });
|
|
9733
|
-
} }),
|
|
9734
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9735
|
-
};
|
|
9736
|
-
|
|
9737
|
-
var SaveAsViewModal = function (_a) {
|
|
9738
|
-
var open = _a.open, handleClose = _a.handleClose;
|
|
9739
|
-
var classes = useTrendingStyles();
|
|
9740
|
-
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9741
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9742
|
-
var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
|
|
9743
|
-
var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
|
|
9744
|
-
var _h = useState(''), newView = _h[0], setNewView = _h[1];
|
|
9745
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9746
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9747
|
-
var resp, ViewId_1, shouldClose_1;
|
|
9748
|
-
return __generator(this, function (_a) {
|
|
9749
|
-
switch (_a.label) {
|
|
9747
|
+
var expanded = useMemo(function () {
|
|
9748
|
+
return Object.keys(openTagFolders).map(function (el) { return parseInt(el); });
|
|
9749
|
+
}, [openTagFolders]);
|
|
9750
|
+
useEffect(function () {
|
|
9751
|
+
getTagsTreeData();
|
|
9752
|
+
}, [isOpen]);
|
|
9753
|
+
var handleDrop = function (tree, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9754
|
+
var tagId, newFolderId, newTree, newTree;
|
|
9755
|
+
var _a, _b;
|
|
9756
|
+
return __generator(this, function (_c) {
|
|
9757
|
+
switch (_c.label) {
|
|
9750
9758
|
case 0:
|
|
9751
9759
|
setIsLoading(true);
|
|
9752
|
-
return [
|
|
9760
|
+
if (!options.dragSource) return [3 /*break*/, 5];
|
|
9761
|
+
tagId = Number(options.dragSource.id);
|
|
9762
|
+
newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
|
|
9763
|
+
if (tagId === newFolderId) {
|
|
9764
|
+
setIsLoading(false);
|
|
9765
|
+
return [2 /*return*/];
|
|
9766
|
+
}
|
|
9767
|
+
if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
|
|
9768
|
+
return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
|
|
9753
9769
|
case 1:
|
|
9754
|
-
|
|
9755
|
-
if (!
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
9759
|
-
var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible, Unit = _a.Unit;
|
|
9760
|
-
upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
9761
|
-
.then(function (r) {
|
|
9762
|
-
if (!r.ok) {
|
|
9763
|
-
setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
|
|
9764
|
-
if (shouldClose_1) {
|
|
9765
|
-
shouldClose_1 = false;
|
|
9766
|
-
}
|
|
9767
|
-
}
|
|
9768
|
-
});
|
|
9769
|
-
}))];
|
|
9770
|
-
case 2:
|
|
9771
|
-
_a.sent();
|
|
9772
|
-
handleClose(shouldClose_1);
|
|
9770
|
+
newTree = _c.sent();
|
|
9771
|
+
if (!newTree.ok) {
|
|
9772
|
+
setError(newTree.message);
|
|
9773
|
+
}
|
|
9773
9774
|
return [3 /*break*/, 4];
|
|
9775
|
+
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9774
9776
|
case 3:
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
+
newTree = _c.sent();
|
|
9778
|
+
if (!newTree.ok) {
|
|
9779
|
+
setError(newTree.message);
|
|
9780
|
+
}
|
|
9781
|
+
_c.label = 4;
|
|
9777
9782
|
case 4:
|
|
9783
|
+
setTagsTreeData(tree);
|
|
9784
|
+
_c.label = 5;
|
|
9785
|
+
case 5:
|
|
9778
9786
|
setIsLoading(false);
|
|
9779
9787
|
return [2 /*return*/];
|
|
9780
9788
|
}
|
|
9781
9789
|
});
|
|
9782
9790
|
}); };
|
|
9791
|
+
var handleClick = function (node) {
|
|
9792
|
+
if (node.data) {
|
|
9793
|
+
onTagSelect(node.data);
|
|
9794
|
+
}
|
|
9795
|
+
};
|
|
9796
|
+
var handleCloseContextMenu = function (e) {
|
|
9797
|
+
if (showContextMenu) {
|
|
9798
|
+
setShowContextMenu(false);
|
|
9799
|
+
}
|
|
9800
|
+
};
|
|
9783
9801
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9784
|
-
React__default.createElement(
|
|
9785
|
-
React__default.createElement(
|
|
9786
|
-
|
|
9787
|
-
React__default.createElement(
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
}
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9802
|
-
React__default.createElement("label", null,
|
|
9803
|
-
"Public",
|
|
9804
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck })))),
|
|
9805
|
-
React__default.createElement(Divider, null),
|
|
9806
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9807
|
-
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9808
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9809
|
-
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9810
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9811
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
|
|
9802
|
+
React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" }, onClick: handleCloseContextMenu },
|
|
9803
|
+
React__default.createElement("div", { style: { overflowY: 'auto', maxHeight: '700px' } }, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
|
|
9804
|
+
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
9805
|
+
React__default.createElement(Tree, { classes: {
|
|
9806
|
+
root: classes.assetRoot,
|
|
9807
|
+
dropTarget: classes.dropTarget
|
|
9808
|
+
}, initialOpen: expanded, tree: tagsTreeData, rootId: backendOffset, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
9809
|
+
return !selectedNodes.some(function (selectedNode) {
|
|
9810
|
+
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
9811
|
+
});
|
|
9812
|
+
}, render: function (node, options) {
|
|
9813
|
+
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
9814
|
+
return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
9815
|
+
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
9816
|
+
// <div>{monitorProps.item.data?.TagName}</div>
|
|
9817
|
+
); } }))))),
|
|
9818
|
+
React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
|
|
9812
9819
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9813
9820
|
};
|
|
9814
9821
|
|
|
9822
|
+
var TagsTreeModal = function (_a) {
|
|
9823
|
+
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
9824
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
9825
|
+
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
|
|
9826
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9827
|
+
React__default.createElement(Box, null,
|
|
9828
|
+
React__default.createElement(Typography, { id: "modal-modal-description" },
|
|
9829
|
+
React__default.createElement(TagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
|
|
9830
|
+
};
|
|
9831
|
+
|
|
9815
9832
|
var useTagsDataTable = function (_a) {
|
|
9816
|
-
var cursorData = _a.cursorData,
|
|
9833
|
+
var cursorData = _a.cursorData, viewTagsMap = _a.viewTagsMap, chartData = _a.chartData;
|
|
9817
9834
|
return useMemo(function () {
|
|
9818
9835
|
var _a;
|
|
9819
9836
|
var dataTable = {};
|
|
9820
9837
|
if (cursorData) {
|
|
9821
|
-
var _loop_1 = function (
|
|
9822
|
-
var tag =
|
|
9838
|
+
var _loop_1 = function (viewTagEntry) {
|
|
9839
|
+
var tag = viewTagsMap[viewTagEntry].viewTag;
|
|
9823
9840
|
var datasetForTag = ((_a = chartData.datasets.find(function (ds) {
|
|
9824
9841
|
return ds.tagId === (tag === null || tag === void 0 ? void 0 : tag.TagId);
|
|
9825
9842
|
})) === null || _a === void 0 ? void 0 : _a.data) || [];
|
|
@@ -9828,8 +9845,8 @@ var useTagsDataTable = function (_a) {
|
|
|
9828
9845
|
var p1Found = false;
|
|
9829
9846
|
var pmin = { x: 0, y: Number.POSITIVE_INFINITY };
|
|
9830
9847
|
var pmax = { x: 0, y: Number.NEGATIVE_INFINITY };
|
|
9831
|
-
for (var
|
|
9832
|
-
var curr = datasetForTag[
|
|
9848
|
+
for (var idx = 0; idx < datasetForTag.length; idx++) {
|
|
9849
|
+
var curr = datasetForTag[idx];
|
|
9833
9850
|
var currentVal = curr.x;
|
|
9834
9851
|
if (!p1Found) {
|
|
9835
9852
|
if (currentVal < cursorData.x1) {
|
|
@@ -9866,12 +9883,12 @@ var useTagsDataTable = function (_a) {
|
|
|
9866
9883
|
pmax: pmax
|
|
9867
9884
|
};
|
|
9868
9885
|
};
|
|
9869
|
-
for (var
|
|
9870
|
-
_loop_1(
|
|
9886
|
+
for (var viewTagEntry in viewTagsMap) {
|
|
9887
|
+
_loop_1(viewTagEntry);
|
|
9871
9888
|
}
|
|
9872
9889
|
}
|
|
9873
9890
|
return dataTable;
|
|
9874
|
-
}, [
|
|
9891
|
+
}, [viewTagsMap, chartData, cursorData]);
|
|
9875
9892
|
};
|
|
9876
9893
|
|
|
9877
9894
|
var useTagsTableStyles = makeStyles$1(function (theme) { return ({
|
|
@@ -10009,7 +10026,7 @@ var formatTimeDiffWithMs = function (start, end) {
|
|
|
10009
10026
|
};
|
|
10010
10027
|
|
|
10011
10028
|
var TableComponent = function (_a) {
|
|
10012
|
-
var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI, viewTagForDelete = _a.viewTagForDelete, setViewTagForDelete = _a.setViewTagForDelete,
|
|
10029
|
+
var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI, viewTagForDelete = _a.viewTagForDelete, setViewTagForDelete = _a.setViewTagForDelete, selectedRowTagId = _a.selectedRowTagId, setSelectedRowTagId = _a.setSelectedRowTagId, handleRightClick = _a.handleRightClick; _a.setContextMenuPosition; var contextMenuPosition = _a.contextMenuPosition, openContextMenu = _a.openContextMenu, setOpenContextMenu = _a.setOpenContextMenu;
|
|
10013
10030
|
var classes = useTagsTableStyles();
|
|
10014
10031
|
var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setViewTagsAndRefetch = _d.setViewTagsAndRefetch;
|
|
10015
10032
|
var _e = useState({}); _e[0]; _e[1];
|
|
@@ -10019,44 +10036,53 @@ var TableComponent = function (_a) {
|
|
|
10019
10036
|
var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
|
|
10020
10037
|
var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
|
|
10021
10038
|
var _l = useState(''), snackbarMessage = _l[0], setSnackbarMessage = _l[1];
|
|
10022
|
-
var dataTable = useTagsDataTable({
|
|
10039
|
+
var dataTable = useTagsDataTable({ viewTagsMap: viewTags, chartData: chartData, cursorData: cursorData });
|
|
10023
10040
|
var handleChange = function (tagId, value, property) {
|
|
10024
|
-
var newTags = viewTags
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
});
|
|
10041
|
+
var newTags = structuredClone(viewTags);
|
|
10042
|
+
newTags[tagId]['viewTag'][property] = value;
|
|
10043
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = false;
|
|
10028
10044
|
setViewTags(newTags);
|
|
10029
10045
|
};
|
|
10046
|
+
var handleChangeScale = function (value, scale, tagId) {
|
|
10047
|
+
handleChange(tagId, value, scale);
|
|
10048
|
+
};
|
|
10030
10049
|
var handleChangeAlias = function (tagId, newName) {
|
|
10031
|
-
var newTags = viewTags
|
|
10050
|
+
var newTags = structuredClone(viewTags);
|
|
10051
|
+
newTags[tagId]['viewTag']['Alias'] = newName;
|
|
10032
10052
|
setViewTags(newTags);
|
|
10033
10053
|
};
|
|
10034
10054
|
var handleVisibilityChange = function (tagId, value) {
|
|
10035
|
-
var newTags = viewTags
|
|
10055
|
+
var newTags = structuredClone(viewTags);
|
|
10056
|
+
newTags[tagId]['viewTag']['IsVisible'] = value;
|
|
10036
10057
|
setViewTags(newTags);
|
|
10037
10058
|
};
|
|
10038
10059
|
var handleUnitChange = function (tagId, newUnit) {
|
|
10039
|
-
var newTags = viewTags
|
|
10060
|
+
var newTags = structuredClone(viewTags);
|
|
10061
|
+
newTags[tagId]['viewTag']['Unit'] = newUnit;
|
|
10040
10062
|
setViewTags(newTags);
|
|
10041
10063
|
};
|
|
10042
10064
|
var handleAutoScaleChange = function (tagId, checked) {
|
|
10043
|
-
var newTags = viewTags
|
|
10065
|
+
var newTags = structuredClone(viewTags);
|
|
10066
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = !checked;
|
|
10044
10067
|
setViewTags(newTags);
|
|
10045
10068
|
};
|
|
10046
10069
|
var handleColorChange = function (tagId, value) {
|
|
10047
|
-
var newTags = viewTags
|
|
10070
|
+
var newTags = structuredClone(viewTags);
|
|
10071
|
+
newTags[tagId]['viewTag']['Color'] = value;
|
|
10048
10072
|
setViewTags(newTags);
|
|
10049
10073
|
};
|
|
10050
10074
|
var handleDeleteTag = function (tagId) {
|
|
10051
|
-
var newTags = viewTags
|
|
10075
|
+
var newTags = structuredClone(viewTags);
|
|
10076
|
+
delete newTags[tagId];
|
|
10052
10077
|
setViewTagsAndRefetch(newTags);
|
|
10053
10078
|
};
|
|
10054
10079
|
var handleAddTag = function (newTag) {
|
|
10055
|
-
var
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
}
|
|
10080
|
+
var newTags = structuredClone(viewTags);
|
|
10081
|
+
newTags[newTag.TagId] = {
|
|
10082
|
+
viewTag: __assign(__assign({}, newTag), { IsVisible: true, TagType: newTag.TagTypeCode, Color: newTag.Color || getRandomColor(), IsAutoScale: newTag.MinScale || newTag.MaxScale ? false : true }),
|
|
10083
|
+
order: Object.keys(viewTags).length
|
|
10084
|
+
};
|
|
10085
|
+
setViewTagsAndRefetch(newTags);
|
|
10060
10086
|
};
|
|
10061
10087
|
var handleAbleScales = function (tagId, checked) {
|
|
10062
10088
|
if (checked) {
|
|
@@ -10114,7 +10140,7 @@ var TableComponent = function (_a) {
|
|
|
10114
10140
|
},
|
|
10115
10141
|
]);
|
|
10116
10142
|
var handleTagSelect = function (selectedTag) {
|
|
10117
|
-
var alreadySelected = viewTags
|
|
10143
|
+
var alreadySelected = viewTags[selectedTag.TagId];
|
|
10118
10144
|
if (!alreadySelected) {
|
|
10119
10145
|
handleAddTag(selectedTag);
|
|
10120
10146
|
}
|
|
@@ -10122,13 +10148,13 @@ var TableComponent = function (_a) {
|
|
|
10122
10148
|
setError("".concat(selectedTag.TagName, " is already selected"));
|
|
10123
10149
|
}
|
|
10124
10150
|
};
|
|
10125
|
-
var handleDelete = function (
|
|
10151
|
+
var handleDelete = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10126
10152
|
return __generator(this, function (_a) {
|
|
10127
10153
|
if (!isNil$1(viewTagForDelete)) {
|
|
10128
10154
|
if (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) {
|
|
10129
10155
|
handleDeleteTag(viewTagForDelete.TagId);
|
|
10130
10156
|
}
|
|
10131
|
-
|
|
10157
|
+
setSelectedRowTagId(null); // Reset the selected row index
|
|
10132
10158
|
setViewTagForDelete(null);
|
|
10133
10159
|
}
|
|
10134
10160
|
return [2 /*return*/];
|
|
@@ -10155,8 +10181,8 @@ var TableComponent = function (_a) {
|
|
|
10155
10181
|
if (!deleteResp.ok) {
|
|
10156
10182
|
setError(deleteResp.message);
|
|
10157
10183
|
}
|
|
10158
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
10159
|
-
var
|
|
10184
|
+
return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).sort(function (a, b) { return b.order - a.order; }).map(function (_a) {
|
|
10185
|
+
var _b = _a.viewTag, TagId = _b.TagId, Color = _b.Color, MinScale = _b.MinScale, MaxScale = _b.MaxScale, IsAutoScale = _b.IsAutoScale, IsVisible = _b.IsVisible, Unit = _b.Unit;
|
|
10160
10186
|
upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
10161
10187
|
.then(function (r) {
|
|
10162
10188
|
if (!r.ok) {
|
|
@@ -10171,7 +10197,7 @@ var TableComponent = function (_a) {
|
|
|
10171
10197
|
setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
|
|
10172
10198
|
}
|
|
10173
10199
|
else {
|
|
10174
|
-
|
|
10200
|
+
setSelectedRowTagId(null);
|
|
10175
10201
|
setSnackbarMessage('View saved successfully');
|
|
10176
10202
|
}
|
|
10177
10203
|
});
|
|
@@ -10194,13 +10220,13 @@ var TableComponent = function (_a) {
|
|
|
10194
10220
|
};
|
|
10195
10221
|
useEffect(function () {
|
|
10196
10222
|
var handleGlobalClick = function (e) {
|
|
10197
|
-
if (
|
|
10198
|
-
|
|
10223
|
+
if (selectedRowTagId !== null) {
|
|
10224
|
+
setSelectedRowTagId(null);
|
|
10199
10225
|
}
|
|
10200
10226
|
};
|
|
10201
10227
|
var handleKeyDown = function (e) {
|
|
10202
|
-
if (e.key === "Escape" &&
|
|
10203
|
-
|
|
10228
|
+
if (e.key === "Escape" && selectedRowTagId !== null) {
|
|
10229
|
+
setSelectedRowTagId(null);
|
|
10204
10230
|
}
|
|
10205
10231
|
};
|
|
10206
10232
|
// Attach event listeners
|
|
@@ -10211,14 +10237,14 @@ var TableComponent = function (_a) {
|
|
|
10211
10237
|
document.removeEventListener("click", handleGlobalClick);
|
|
10212
10238
|
document.removeEventListener("keydown", handleKeyDown);
|
|
10213
10239
|
};
|
|
10214
|
-
}, [
|
|
10240
|
+
}, [selectedRowTagId]);
|
|
10215
10241
|
var handleSaveDefaultToTag = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10216
10242
|
var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale, saveTagDefaultsResp, upsertViewTagResp;
|
|
10217
10243
|
return __generator(this, function (_b) {
|
|
10218
10244
|
switch (_b.label) {
|
|
10219
10245
|
case 0:
|
|
10220
|
-
if (!(viewSelected &&
|
|
10221
|
-
_a = viewTags[
|
|
10246
|
+
if (!(viewSelected && selectedRowTagId !== null)) return [3 /*break*/, 3];
|
|
10247
|
+
_a = viewTags[selectedRowTagId].viewTag, TagId = _a.TagId, Alias = _a.Alias, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, Unit = _a.Unit, IsVisible = _a.IsVisible, IsAutoScale = _a.IsAutoScale;
|
|
10222
10248
|
return [4 /*yield*/, saveTagDefaults(TagId, Alias, Color, MinScale, MaxScale, Unit)];
|
|
10223
10249
|
case 1:
|
|
10224
10250
|
saveTagDefaultsResp = _b.sent();
|
|
@@ -10231,7 +10257,7 @@ var TableComponent = function (_a) {
|
|
|
10231
10257
|
if (!upsertViewTagResp.ok) {
|
|
10232
10258
|
setError(upsertViewTagResp.message);
|
|
10233
10259
|
}
|
|
10234
|
-
|
|
10260
|
+
setSelectedRowTagId(null);
|
|
10235
10261
|
_b.label = 3;
|
|
10236
10262
|
case 3: return [2 /*return*/];
|
|
10237
10263
|
}
|
|
@@ -10255,7 +10281,7 @@ var TableComponent = function (_a) {
|
|
|
10255
10281
|
React__default.createElement("thead", null,
|
|
10256
10282
|
React__default.createElement("tr", null,
|
|
10257
10283
|
React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.viewSelected) }, viewSelected ?
|
|
10258
|
-
(React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setLoadViewOpen(true); } }, (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName) || '')) : (React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
|
|
10284
|
+
(React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setLoadViewOpen(true); }, startIcon: viewSelected.IsPublic ? React__default.createElement(React__default.Fragment, null) : React__default.createElement(LockIcon, { fontSize: 'small' }) }, (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName) || '')) : (React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
|
|
10259
10285
|
React__default.createElement("i", null,
|
|
10260
10286
|
React__default.createElement(SaveIcon, null),
|
|
10261
10287
|
"(Save view as)")))),
|
|
@@ -10339,11 +10365,12 @@ var TableComponent = function (_a) {
|
|
|
10339
10365
|
React__default.createElement(Grid$1, { item: true, xs: 12 },
|
|
10340
10366
|
React__default.createElement("div", { style: { width: '100%', height: '100%', maxHeight: '100%' } },
|
|
10341
10367
|
React__default.createElement("table", { cellPadding: '4px', style: { width: '100%', tableLayout: 'fixed', textAlign: "center" } },
|
|
10342
|
-
React__default.createElement("tbody", null, viewTags
|
|
10343
|
-
var
|
|
10368
|
+
React__default.createElement("tbody", null, Object.values(viewTags).length ? Object.values(viewTags).map(function (_a) {
|
|
10369
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
10370
|
+
var tag = _a.viewTag;
|
|
10344
10371
|
return (React__default.createElement("tr", { key: tag.TagName,
|
|
10345
10372
|
// onClick={() => handleRowClick(index)}
|
|
10346
|
-
onContextMenu: function (e) { return handleRightClick(e,
|
|
10373
|
+
onContextMenu: function (e) { return handleRightClick(e, tag.TagId); }, className: classes.rowHover },
|
|
10347
10374
|
React__default.createElement("td", { className: "".concat(classes.visible, " ").concat(classes.checkbox) },
|
|
10348
10375
|
React__default.createElement("input", { type: "checkbox", checked: tag.IsVisible, onChange: function (e) { return handleVisibilityChange(tag.TagId, e.target.checked); } })),
|
|
10349
10376
|
React__default.createElement("td", { className: classes.aliasCol },
|
|
@@ -10362,24 +10389,14 @@ var TableComponent = function (_a) {
|
|
|
10362
10389
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10363
10390
|
color: 'rgba(84, 84, 84, 1)',
|
|
10364
10391
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10365
|
-
} : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10366
|
-
var value = e.target.value;
|
|
10367
|
-
var numericValue = Number(value);
|
|
10368
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10369
|
-
handleChange(tag.TagId, numericValue, 'MinScale');
|
|
10370
|
-
}
|
|
10371
|
-
} })),
|
|
10392
|
+
} : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) { return handleChangeScale((e.target).value, "MinScale", tag.TagId); } })),
|
|
10372
10393
|
React__default.createElement("td", { className: classes.inputCol },
|
|
10373
10394
|
React__default.createElement("input", { type: "number", className: classes.numberInput, style: __assign({ width: '100%', WebkitAppearance: 'none' }, (tag.IsAutoScale ? {
|
|
10374
10395
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10375
10396
|
color: 'rgba(84, 84, 84, 1)',
|
|
10376
10397
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10377
10398
|
} : {})), value: tag.MaxScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10378
|
-
|
|
10379
|
-
var numericValue = Number(value);
|
|
10380
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10381
|
-
handleChange(tag.TagId, numericValue, 'MaxScale');
|
|
10382
|
-
}
|
|
10399
|
+
handleChangeScale((e.target).value, "MaxScale", tag.TagId);
|
|
10383
10400
|
} })),
|
|
10384
10401
|
React__default.createElement("td", { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
|
|
10385
10402
|
React__default.createElement("input", { type: "checkbox", checked: !!tag.IsAutoScale, onChange: function (e) { return handleAutoScaleChange(tag.TagId, tag.IsAutoScale); } })),
|
|
@@ -10390,14 +10407,14 @@ var TableComponent = function (_a) {
|
|
|
10390
10407
|
var value = e.target.value;
|
|
10391
10408
|
handleUnitChange(tag.TagId, value);
|
|
10392
10409
|
}, value: tag.Unit === "-" ? '' : tag.Unit, onFocus: function (e) { return e.target.select(); } })),
|
|
10393
|
-
React__default.createElement("td", null, round((
|
|
10394
|
-
React__default.createElement("td", { className: classes.doubleInput }, round((
|
|
10395
|
-
React__default.createElement("td", null, round((
|
|
10410
|
+
React__default.createElement("td", null, round((_b = dataTable[tag.TagName]) === null || _b === void 0 ? void 0 : _b.y1, 3) || 0),
|
|
10411
|
+
React__default.createElement("td", { className: classes.doubleInput }, round((_c = dataTable[tag.TagName]) === null || _c === void 0 ? void 0 : _c.y2, 3) || 0),
|
|
10412
|
+
React__default.createElement("td", null, round((_d = dataTable[tag.TagName]) === null || _d === void 0 ? void 0 : _d.y2y1, 3) || 0),
|
|
10396
10413
|
React__default.createElement("td", null,
|
|
10397
|
-
!isNaN(((
|
|
10414
|
+
!isNaN(((_e = dataTable[tag.TagName]) === null || _e === void 0 ? void 0 : _e.pmin.y) * 0) ? round((_f = dataTable[tag.TagName]) === null || _f === void 0 ? void 0 : _f.pmin.y, 3) : 0,
|
|
10398
10415
|
" "),
|
|
10399
10416
|
React__default.createElement("td", null,
|
|
10400
|
-
!isNaN(((
|
|
10417
|
+
!isNaN(((_g = dataTable[tag.TagName]) === null || _g === void 0 ? void 0 : _g.pmax.y) * 0) ? round((_h = dataTable[tag.TagName]) === null || _h === void 0 ? void 0 : _h.pmax.y) : 0,
|
|
10401
10418
|
" ")));
|
|
10402
10419
|
}) : React__default.createElement("div", { style: { padding: '1rem' } },
|
|
10403
10420
|
React__default.createElement("div", { style: { padding: "1rem" } }, "No tag view detected. "),
|
|
@@ -10844,23 +10861,32 @@ var TrendingChart = function (_a) {
|
|
|
10844
10861
|
var _c = useState(null), lineTabCoords = _c[0], setLineTabCoords = _c[1];
|
|
10845
10862
|
var _d = useState(null), chartArea = _d[0], setChartArea = _d[1];
|
|
10846
10863
|
var chartRef = useRef(null);
|
|
10864
|
+
var forDebounce = useRef({
|
|
10865
|
+
viewTags: viewTags,
|
|
10866
|
+
series: series,
|
|
10867
|
+
setChartOptions: setChartOptions,
|
|
10868
|
+
setChartData: setChartData
|
|
10869
|
+
});
|
|
10847
10870
|
var debouncedUpdateChart = useRef(debounce(function () {
|
|
10848
10871
|
if (chartRef.current) {
|
|
10849
10872
|
updateCursorData(chartRef.current, setCursorData);
|
|
10850
10873
|
chartRef.current.update();
|
|
10851
10874
|
}
|
|
10852
|
-
}, 250))
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10875
|
+
}, 250));
|
|
10876
|
+
forDebounce.current = {
|
|
10877
|
+
viewTags: viewTags,
|
|
10878
|
+
series: series,
|
|
10879
|
+
setChartOptions: setChartOptions,
|
|
10880
|
+
setChartData: setChartData
|
|
10881
|
+
};
|
|
10882
|
+
var debouncedUpdateChartBasedOnData = useRef(debounce(function () {
|
|
10883
|
+
var _a = forDebounce.current, viewTags = _a.viewTags, series = _a.series, setChartOptions = _a.setChartOptions, setChartData = _a.setChartData;
|
|
10859
10884
|
var axes = [];
|
|
10860
10885
|
if (!series.length) {
|
|
10861
10886
|
return;
|
|
10862
10887
|
}
|
|
10863
|
-
viewTags.forEach(function (
|
|
10888
|
+
Object.values(viewTags).forEach(function (_a, index) {
|
|
10889
|
+
var tag = _a.viewTag;
|
|
10864
10890
|
var existingAxis = axes.findIndex(function (existingTag) {
|
|
10865
10891
|
return areRangesSimilar(existingTag, tag);
|
|
10866
10892
|
});
|
|
@@ -10874,6 +10900,11 @@ var TrendingChart = function (_a) {
|
|
|
10874
10900
|
});
|
|
10875
10901
|
// Configure yAxes based on grouped axes
|
|
10876
10902
|
var yAxesConfig = axes.map(function (axis) {
|
|
10903
|
+
var min = Number(axis.MinScale);
|
|
10904
|
+
var max = Number(axis.MaxScale);
|
|
10905
|
+
if (!min && !max) {
|
|
10906
|
+
max = 1;
|
|
10907
|
+
}
|
|
10877
10908
|
return {
|
|
10878
10909
|
id: "y-axis-".concat(axis.TagId),
|
|
10879
10910
|
type: "linear",
|
|
@@ -10882,10 +10913,10 @@ var TrendingChart = function (_a) {
|
|
|
10882
10913
|
display: true,
|
|
10883
10914
|
labelString: axis.TagName
|
|
10884
10915
|
},
|
|
10885
|
-
min: axis.IsAutoScale ? undefined :
|
|
10886
|
-
max: axis.IsAutoScale ? undefined :
|
|
10887
|
-
suggestedMin: axis.IsAutoScale ? undefined :
|
|
10888
|
-
suggestedMax: axis.IsAutoScale ? undefined :
|
|
10916
|
+
min: axis.IsAutoScale ? undefined : min,
|
|
10917
|
+
max: axis.IsAutoScale ? undefined : max,
|
|
10918
|
+
suggestedMin: axis.IsAutoScale ? undefined : min,
|
|
10919
|
+
suggestedMax: axis.IsAutoScale ? undefined : max,
|
|
10889
10920
|
stepSize: 10,
|
|
10890
10921
|
grid: {
|
|
10891
10922
|
display: true
|
|
@@ -10923,7 +10954,9 @@ var TrendingChart = function (_a) {
|
|
|
10923
10954
|
return newResp;
|
|
10924
10955
|
});
|
|
10925
10956
|
var updatedSeries = series.map(function (serie, index) {
|
|
10926
|
-
var
|
|
10957
|
+
var _a;
|
|
10958
|
+
var tagsSortedArray = Object.values(viewTags).sort(function (a, b) { return b.order - a.order; });
|
|
10959
|
+
var tag = (_a = tagsSortedArray[index]) === null || _a === void 0 ? void 0 : _a.viewTag;
|
|
10927
10960
|
var yAxisTagId = seriesVsTags.current[tag === null || tag === void 0 ? void 0 : tag.TagId];
|
|
10928
10961
|
return {
|
|
10929
10962
|
yAxisID: "y-axis-".concat(yAxisTagId),
|
|
@@ -10942,6 +10975,14 @@ var TrendingChart = function (_a) {
|
|
|
10942
10975
|
labels: [],
|
|
10943
10976
|
datasets: updatedSeries
|
|
10944
10977
|
});
|
|
10978
|
+
}, 1000));
|
|
10979
|
+
var _e = useState(false), chartShouldInitCursors = _e[0], setChartShouldInitCursors = _e[1];
|
|
10980
|
+
var verticalLinePlugin = useGetVerticalLinePlugin(setChartArea, setLineTabCoords);
|
|
10981
|
+
var xAxisDatePlugin = useXAxisDatePlugin();
|
|
10982
|
+
var yAxisPlugin = useYAxisPlugin();
|
|
10983
|
+
var seriesVsTags = useRef({});
|
|
10984
|
+
useEffect(function () {
|
|
10985
|
+
debouncedUpdateChartBasedOnData.current();
|
|
10945
10986
|
}, [state.graphShouldUpdate, series]);
|
|
10946
10987
|
useEffect(function () {
|
|
10947
10988
|
if (chartShouldInitCursors) {
|
|
@@ -10959,7 +11000,7 @@ var TrendingChart = function (_a) {
|
|
|
10959
11000
|
});
|
|
10960
11001
|
// @ts-ignore
|
|
10961
11002
|
chartRef.current.mouseX = newLeft;
|
|
10962
|
-
debouncedUpdateChart();
|
|
11003
|
+
debouncedUpdateChart.current();
|
|
10963
11004
|
} })) : null,
|
|
10964
11005
|
lineTabCoords && chartArea ? (React__default.createElement(DraggableLineControl, { color: 'blue', initialLeft: lineTabCoords === null || lineTabCoords === void 0 ? void 0 : lineTabCoords.x2, otherLineCoord: lineTabCoords === null || lineTabCoords === void 0 ? void 0 : lineTabCoords.x1, chartArea: chartArea, onUpdate: function (newLeft) {
|
|
10965
11006
|
setLineTabCoords(function (prevCoords) {
|
|
@@ -10968,7 +11009,7 @@ var TrendingChart = function (_a) {
|
|
|
10968
11009
|
});
|
|
10969
11010
|
// @ts-ignore
|
|
10970
11011
|
chartRef.current.secondLineX = newLeft;
|
|
10971
|
-
debouncedUpdateChart();
|
|
11012
|
+
debouncedUpdateChart.current();
|
|
10972
11013
|
} })) : null,
|
|
10973
11014
|
React__default.createElement(Line, { ref: chartRef, data: chartData, options: chartOptions, plugins: [verticalLinePlugin, xAxisDatePlugin, yAxisPlugin] })));
|
|
10974
11015
|
};
|
|
@@ -10980,7 +11021,7 @@ var Trending = function (_a) {
|
|
|
10980
11021
|
var _d = useState(''), error = _d[0], setError = _d[1];
|
|
10981
11022
|
var _e = useState(true), loading = _e[0], setLoading = _e[1];
|
|
10982
11023
|
var _f = useState([]), series = _f[0], setSeries = _f[1];
|
|
10983
|
-
var _g = useState(null),
|
|
11024
|
+
var _g = useState(null), selectedRowTagId = _g[0], setSelectedRowTagId = _g[1];
|
|
10984
11025
|
var _h = useState(null), viewTagForDelete = _h[0], setViewTagForDelete = _h[1];
|
|
10985
11026
|
var _j = useChartOptions(), chartOptions = _j[0], setChartOptions = _j[1];
|
|
10986
11027
|
var _k = useState({
|
|
@@ -10991,16 +11032,16 @@ var Trending = function (_a) {
|
|
|
10991
11032
|
var debounceForFetchingData = useRef(null);
|
|
10992
11033
|
var _m = useState({ x: 0, y: 0 }), contextMenuPosition = _m[0], setContextMenuPosition = _m[1];
|
|
10993
11034
|
var _o = useState(false), openContextMenu = _o[0], setOpenContextMenu = _o[1];
|
|
10994
|
-
var handleRightClick = function (event,
|
|
11035
|
+
var handleRightClick = function (event, tagId) {
|
|
10995
11036
|
event.preventDefault();
|
|
10996
11037
|
event.stopPropagation(); // Prevent the click event from propagating to the document
|
|
10997
|
-
if (isNumber(
|
|
10998
|
-
setViewTagForDelete(viewTags[
|
|
11038
|
+
if (isNumber(tagId)) {
|
|
11039
|
+
setViewTagForDelete(viewTags[tagId].viewTag);
|
|
10999
11040
|
}
|
|
11000
11041
|
else {
|
|
11001
11042
|
setViewTagForDelete(null);
|
|
11002
11043
|
}
|
|
11003
|
-
|
|
11044
|
+
setSelectedRowTagId(tagId);
|
|
11004
11045
|
setOpenContextMenu(true);
|
|
11005
11046
|
setContextMenuPosition({ x: event.clientX, y: event.clientY });
|
|
11006
11047
|
};
|
|
@@ -11010,14 +11051,15 @@ var Trending = function (_a) {
|
|
|
11010
11051
|
}
|
|
11011
11052
|
debounceForFetchingData.current = setTimeout(function () {
|
|
11012
11053
|
var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
11013
|
-
var tagIds, response, error_1;
|
|
11054
|
+
var viewTagsArr, tagIds, response, error_1;
|
|
11014
11055
|
return __generator(this, function (_a) {
|
|
11015
11056
|
switch (_a.label) {
|
|
11016
11057
|
case 0:
|
|
11017
11058
|
_a.trys.push([0, 3, , 4]);
|
|
11018
11059
|
setLoading(true);
|
|
11019
|
-
|
|
11020
|
-
tagIds =
|
|
11060
|
+
viewTagsArr = Object.values(viewTags).sort(function (a, b) { return b.order - a.order; });
|
|
11061
|
+
tagIds = viewTagsArr.map(function (tag) { return tag.viewTag.TagId; });
|
|
11062
|
+
if (!tagIds.length) return [3 /*break*/, 2];
|
|
11021
11063
|
return [4 /*yield*/, axios.post("/series?nodeName=null", {
|
|
11022
11064
|
start: state.timeScopeStart.getTime(),
|
|
11023
11065
|
end: state.timeScopeEnd.getTime(),
|
|
@@ -11042,6 +11084,11 @@ var Trending = function (_a) {
|
|
|
11042
11084
|
}); };
|
|
11043
11085
|
fetchData();
|
|
11044
11086
|
}, 800);
|
|
11087
|
+
return function () {
|
|
11088
|
+
if (debounceForFetchingData.current) {
|
|
11089
|
+
clearTimeout(debounceForFetchingData.current);
|
|
11090
|
+
}
|
|
11091
|
+
};
|
|
11045
11092
|
}, [shouldRefetchSeries]);
|
|
11046
11093
|
return (React__default.createElement(React__default.Fragment, null,
|
|
11047
11094
|
React__default.createElement(Grid$1, { container: true, style: { width: "95svw", height: "88svh", margin: 0 }, onClick: function () { return setOpenContextMenu(false); } },
|
|
@@ -11072,7 +11119,7 @@ var Trending = function (_a) {
|
|
|
11072
11119
|
zIndex: 2
|
|
11073
11120
|
} },
|
|
11074
11121
|
React__default.createElement(CircularProgress$1, { size: "2rem" }))),
|
|
11075
|
-
React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, getTagsFromAPI: getTagsFromAPI, openContextMenu: openContextMenu, setOpenContextMenu: setOpenContextMenu, viewTagForDelete: viewTagForDelete, setViewTagForDelete: setViewTagForDelete,
|
|
11122
|
+
React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, getTagsFromAPI: getTagsFromAPI, openContextMenu: openContextMenu, setOpenContextMenu: setOpenContextMenu, viewTagForDelete: viewTagForDelete, setViewTagForDelete: setViewTagForDelete, selectedRowTagId: selectedRowTagId, setSelectedRowTagId: setSelectedRowTagId, handleRightClick: handleRightClick, contextMenuPosition: contextMenuPosition, setContextMenuPosition: setContextMenuPosition }))),
|
|
11076
11123
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); }, title: "ERROR" })));
|
|
11077
11124
|
};
|
|
11078
11125
|
|
|
@@ -11104,12 +11151,16 @@ var TrendingsPage = function (props) {
|
|
|
11104
11151
|
case 2:
|
|
11105
11152
|
viewTagsResp = _a.sent();
|
|
11106
11153
|
if (viewTagsResp.ok) {
|
|
11107
|
-
viewTags = viewTagsResp.data.tables[0].rows.
|
|
11108
|
-
if (isNil$1(
|
|
11109
|
-
|
|
11154
|
+
viewTags = viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
|
|
11155
|
+
if (isNil$1(curr.Color)) {
|
|
11156
|
+
curr.Color = getRandomColor();
|
|
11110
11157
|
}
|
|
11111
|
-
|
|
11112
|
-
|
|
11158
|
+
carr[curr.TagId] = {
|
|
11159
|
+
viewTag: curr,
|
|
11160
|
+
order: idx
|
|
11161
|
+
};
|
|
11162
|
+
return carr;
|
|
11163
|
+
}, {});
|
|
11113
11164
|
setViewTagsAndRefetch(viewTags);
|
|
11114
11165
|
}
|
|
11115
11166
|
else {
|
|
@@ -11358,5 +11409,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
|
|
|
11358
11409
|
AreaSelector: AreaSelector
|
|
11359
11410
|
});
|
|
11360
11411
|
|
|
11361
|
-
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11412
|
+
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11362
11413
|
//# sourceMappingURL=index.esm.js.map
|