@dexteel/mesf-core 4.11.2 → 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/index.esm.js +850 -796
- package/dist/index.esm.js.map +1 -1
- 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 +4 -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;
|
|
@@ -7318,6 +7318,7 @@ var TimeService = /** @class */ (function () {
|
|
|
7318
7318
|
else {
|
|
7319
7319
|
this.timeZone = timeZone;
|
|
7320
7320
|
}
|
|
7321
|
+
moment$1.tz.setDefault(this.timeZone);
|
|
7321
7322
|
};
|
|
7322
7323
|
TimeService.prototype.toUTC = function (datetime, format$1) {
|
|
7323
7324
|
try {
|
|
@@ -7351,8 +7352,13 @@ var TimeService = /** @class */ (function () {
|
|
|
7351
7352
|
return '';
|
|
7352
7353
|
}
|
|
7353
7354
|
};
|
|
7355
|
+
TimeService.prototype.getServerTimeZone = function () {
|
|
7356
|
+
return this.timeZone;
|
|
7357
|
+
};
|
|
7354
7358
|
return TimeService;
|
|
7355
7359
|
}());
|
|
7360
|
+
var getMomentTz = function () { return moment$1; };
|
|
7361
|
+
var dxtServerTimeZone = function () { return TimeService.getInstance().getServerTimeZone; };
|
|
7356
7362
|
var dxtToUTC = TimeService.getInstance().toUTC;
|
|
7357
7363
|
var dxtToLocalServerTime = TimeService.getInstance().toLocalServerTime;
|
|
7358
7364
|
|
|
@@ -8425,7 +8431,7 @@ var TrendingsInitialState = {
|
|
|
8425
8431
|
}
|
|
8426
8432
|
],
|
|
8427
8433
|
viewSelected: null,
|
|
8428
|
-
viewTags:
|
|
8434
|
+
viewTags: {},
|
|
8429
8435
|
shouldRefetchSeries: 1
|
|
8430
8436
|
};
|
|
8431
8437
|
var TrendingsReducer = createSlice({
|
|
@@ -8586,7 +8592,12 @@ var TrendingsReducer = createSlice({
|
|
|
8586
8592
|
},
|
|
8587
8593
|
setViewTagsAndRefetch: function (state, _a) {
|
|
8588
8594
|
var payload = _a.payload;
|
|
8589
|
-
|
|
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;
|
|
8590
8601
|
state.shouldRefetchSeries += 1;
|
|
8591
8602
|
},
|
|
8592
8603
|
setGraphShouldUpdate: function (state) {
|
|
@@ -8760,6 +8771,13 @@ var ColorPicker = function (_a) {
|
|
|
8760
8771
|
} })); })))));
|
|
8761
8772
|
};
|
|
8762
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
|
+
|
|
8763
8781
|
var getIhPath = function () { return localStorage.getItem('ihPath') || "[mssql2022].[IH_100020].[ih]"; };
|
|
8764
8782
|
//tags
|
|
8765
8783
|
var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -8962,861 +8980,863 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
|
|
|
8962
8980
|
});
|
|
8963
8981
|
}); };
|
|
8964
8982
|
|
|
8965
|
-
var
|
|
8966
|
-
|
|
8967
|
-
width: '25px',
|
|
8968
|
-
height: '25px',
|
|
8969
|
-
color: "white",
|
|
8970
|
-
display: 'flex',
|
|
8971
|
-
justifyContent: 'center',
|
|
8972
|
-
alignItems: 'center',
|
|
8973
|
-
cursor: 'pointer',
|
|
8974
|
-
border: "1px black solid"
|
|
8975
|
-
},
|
|
8976
|
-
root: {
|
|
8977
|
-
alignItems: "center",
|
|
8978
|
-
display: "flex",
|
|
8979
|
-
height: "32px"
|
|
8980
|
-
},
|
|
8981
|
-
customNodeRoot: {
|
|
8982
|
-
listStyleType: "none",
|
|
8983
|
-
margin: 0,
|
|
8984
|
-
padding: 0,
|
|
8985
|
-
'&:hover': {
|
|
8986
|
-
backgroundColor: "#f2f2f2"
|
|
8987
|
-
}
|
|
8988
|
-
},
|
|
8989
|
-
arrow: {
|
|
8990
|
-
alignItems: "center",
|
|
8991
|
-
cursor: "pointer",
|
|
8992
|
-
display: "flex",
|
|
8993
|
-
height: "24px",
|
|
8994
|
-
justifyContent: "center",
|
|
8995
|
-
width: "24px",
|
|
8996
|
-
transition: "transform linear 0.1s",
|
|
8997
|
-
transform: "rotate(0deg)"
|
|
8998
|
-
},
|
|
8999
|
-
"arrow > div": {
|
|
8983
|
+
var useTrendingStyles = makeStyles$1(function (theme) { return ({
|
|
8984
|
+
datetimePicker: {
|
|
9000
8985
|
alignItems: "center",
|
|
9001
|
-
|
|
9002
|
-
|
|
9003
|
-
|
|
9004
|
-
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
|
|
9009
|
-
|
|
9010
|
-
|
|
9011
|
-
|
|
9012
|
-
|
|
9013
|
-
|
|
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
|
|
9014
9004
|
},
|
|
9015
|
-
|
|
9016
|
-
|
|
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
|
|
9017
9023
|
},
|
|
9018
|
-
|
|
9019
|
-
|
|
9020
|
-
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
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
|
+
}
|
|
9030
9035
|
},
|
|
9031
|
-
|
|
9032
|
-
|
|
9033
|
-
|
|
9034
|
-
|
|
9035
|
-
|
|
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
|
+
}
|
|
9036
9047
|
},
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
|
|
9040
|
-
|
|
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'
|
|
9041
9059
|
},
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9045
|
-
|
|
9060
|
+
iconContainer: {
|
|
9061
|
+
display: 'flex',
|
|
9062
|
+
justifyContent: 'flex-end',
|
|
9063
|
+
alignItems: 'center',
|
|
9064
|
+
flex: 1
|
|
9046
9065
|
},
|
|
9047
|
-
|
|
9048
|
-
|
|
9049
|
-
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
color: "#fff",
|
|
9053
|
-
display: "inline-grid",
|
|
9054
|
-
fontSize: "14px",
|
|
9055
|
-
gap: "8px",
|
|
9056
|
-
gridTemplateColumns: "auto auto",
|
|
9057
|
-
padding: "4px 8px",
|
|
9058
|
-
pointerEvents: "none"
|
|
9066
|
+
optionContainer: {
|
|
9067
|
+
display: 'flex',
|
|
9068
|
+
justifyContent: 'flex-start',
|
|
9069
|
+
alignItems: 'center',
|
|
9070
|
+
width: '100%'
|
|
9059
9071
|
},
|
|
9060
|
-
|
|
9061
|
-
|
|
9062
|
-
display: "flex"
|
|
9072
|
+
optionLabel: {
|
|
9073
|
+
flexGrow: 1
|
|
9063
9074
|
},
|
|
9064
|
-
|
|
9065
|
-
|
|
9066
|
-
|
|
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
|
+
}
|
|
9067
9087
|
}
|
|
9068
9088
|
}); });
|
|
9069
9089
|
|
|
9070
|
-
function
|
|
9071
|
-
var
|
|
9072
|
-
|
|
9073
|
-
var tagForTree = {
|
|
9074
|
-
id: el.TagId,
|
|
9075
|
-
parent: (el.ParentTagId || 0),
|
|
9076
|
-
text: el.TagName,
|
|
9077
|
-
data: el,
|
|
9078
|
-
droppable: el.TagTypeCode === 'F'
|
|
9079
|
-
};
|
|
9080
|
-
return tagsForTree.push(tagForTree);
|
|
9081
|
-
});
|
|
9082
|
-
return tagsForTree;
|
|
9083
|
-
}
|
|
9084
|
-
|
|
9085
|
-
var CustomDragPreview = function (props) {
|
|
9086
|
-
var _a, _b, _c;
|
|
9087
|
-
var classes = useTagsTreeModalStyles();
|
|
9088
|
-
var item = props.monitorProps.item;
|
|
9089
|
-
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
9090
|
-
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
9091
|
-
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
9092
|
-
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))));
|
|
9093
|
-
};
|
|
9094
|
-
|
|
9095
|
-
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
9096
|
-
var TagFolderCustomNode = function (_a) {
|
|
9097
|
-
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9098
|
-
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;
|
|
9099
|
-
var classes = useTagsTreeModalStyles();
|
|
9100
|
-
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
9101
|
-
var onClickHandler = function () {
|
|
9102
|
-
var _a;
|
|
9103
|
-
var _b;
|
|
9104
|
-
if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
|
|
9105
|
-
if (openTagFolders[node.id]) {
|
|
9106
|
-
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
9107
|
-
delete newOpenTagFolders[node.id];
|
|
9108
|
-
setOpenTagFolders(newOpenTagFolders);
|
|
9109
|
-
}
|
|
9110
|
-
else {
|
|
9111
|
-
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
9112
|
-
}
|
|
9113
|
-
onToggle();
|
|
9114
|
-
return;
|
|
9115
|
-
}
|
|
9116
|
-
if (!options.hasChild) {
|
|
9117
|
-
handleSelect(node);
|
|
9118
|
-
}
|
|
9119
|
-
};
|
|
9120
|
-
var handleContextMenu = useCallback(function (ev) {
|
|
9121
|
-
ev.stopPropagation();
|
|
9122
|
-
ev.preventDefault();
|
|
9123
|
-
setContextMenuOver(node, ev);
|
|
9124
|
-
}, [node.id, setContextMenuOver]);
|
|
9125
|
-
useEffect(function () {
|
|
9126
|
-
var _a;
|
|
9127
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
|
|
9128
|
-
return function () {
|
|
9129
|
-
var _a;
|
|
9130
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
|
|
9131
|
-
};
|
|
9132
|
-
}, []);
|
|
9133
|
-
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
9134
|
-
React__default.createElement("style", null, customStyles),
|
|
9135
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9136
|
-
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
9137
|
-
: null,
|
|
9138
|
-
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' })))),
|
|
9139
|
-
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
|
|
9140
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9141
|
-
((_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: {
|
|
9142
|
-
backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? "#AD48C4" : "#C46F48",
|
|
9143
|
-
margin: "0 5px"
|
|
9144
|
-
} }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
|
|
9145
|
-
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
9146
|
-
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))))));
|
|
9147
|
-
};
|
|
9148
|
-
|
|
9149
|
-
var ButtonWithLoading = function (_a) {
|
|
9150
|
-
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
9151
|
-
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
9152
|
-
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
9153
|
-
children));
|
|
9154
|
-
};
|
|
9155
|
-
|
|
9156
|
-
var NewFolderModal = function (_a) {
|
|
9157
|
-
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9158
|
-
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];
|
|
9159
9093
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9160
|
-
var
|
|
9161
|
-
|
|
9162
|
-
|
|
9163
|
-
|
|
9164
|
-
return __generator(this, function (_b) {
|
|
9165
|
-
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) {
|
|
9166
9098
|
case 0:
|
|
9167
|
-
e.preventDefault();
|
|
9168
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9169
|
-
parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
|
|
9170
9099
|
setIsLoading(true);
|
|
9171
|
-
if (
|
|
9172
|
-
return [4 /*yield*/,
|
|
9100
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9101
|
+
return [4 /*yield*/, deleteView(view.ViewId)];
|
|
9173
9102
|
case 1:
|
|
9174
|
-
resp =
|
|
9103
|
+
resp = _a.sent();
|
|
9175
9104
|
if (!resp.ok) {
|
|
9176
9105
|
setError(resp.message);
|
|
9177
9106
|
}
|
|
9178
|
-
|
|
9107
|
+
else {
|
|
9108
|
+
handleClose(true);
|
|
9109
|
+
}
|
|
9110
|
+
_a.label = 2;
|
|
9179
9111
|
case 2:
|
|
9180
|
-
handleClose(true);
|
|
9181
|
-
setName('');
|
|
9182
9112
|
setIsLoading(false);
|
|
9183
9113
|
return [2 /*return*/];
|
|
9184
9114
|
}
|
|
9185
9115
|
});
|
|
9186
9116
|
}); };
|
|
9187
9117
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9188
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9189
|
-
React__default.createElement(
|
|
9190
|
-
|
|
9191
|
-
|
|
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),
|
|
9192
9129
|
React__default.createElement(MesfModal.Actions, null,
|
|
9193
|
-
React__default.createElement(
|
|
9194
|
-
React__default.createElement(
|
|
9195
|
-
|
|
9196
|
-
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")))))),
|
|
9197
9136
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9198
9137
|
};
|
|
9199
9138
|
|
|
9200
|
-
var
|
|
9201
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9202
|
-
var
|
|
9203
|
-
var
|
|
9204
|
-
var
|
|
9205
|
-
|
|
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;
|
|
9206
9148
|
return __generator(this, function (_a) {
|
|
9207
9149
|
switch (_a.label) {
|
|
9208
9150
|
case 0:
|
|
9209
|
-
e.preventDefault();
|
|
9210
|
-
if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
|
|
9211
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9212
|
-
name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
|
|
9213
|
-
id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
|
|
9214
|
-
resp = void 0;
|
|
9215
9151
|
setIsLoading(true);
|
|
9216
|
-
if (
|
|
9217
|
-
return [4 /*yield*/,
|
|
9152
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9153
|
+
return [4 /*yield*/, upsertView(view.ViewId, newName, isPublic)];
|
|
9218
9154
|
case 1:
|
|
9219
9155
|
resp = _a.sent();
|
|
9220
9156
|
if (!resp.ok) {
|
|
9221
9157
|
setError(resp.message);
|
|
9222
9158
|
}
|
|
9223
|
-
|
|
9224
|
-
|
|
9225
|
-
case 3:
|
|
9226
|
-
resp = _a.sent();
|
|
9227
|
-
_a.label = 4;
|
|
9228
|
-
case 4:
|
|
9229
|
-
if (!resp.ok) {
|
|
9230
|
-
setError(resp.message);
|
|
9159
|
+
else {
|
|
9160
|
+
handleClose(true);
|
|
9231
9161
|
}
|
|
9232
|
-
_a.label =
|
|
9233
|
-
case
|
|
9234
|
-
handleClose(true);
|
|
9162
|
+
_a.label = 2;
|
|
9163
|
+
case 2:
|
|
9235
9164
|
setIsLoading(false);
|
|
9236
9165
|
return [2 /*return*/];
|
|
9237
9166
|
}
|
|
9238
9167
|
});
|
|
9239
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]);
|
|
9240
9181
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9241
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9242
|
-
React__default.createElement(
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
React__default.createElement(
|
|
9247
|
-
|
|
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),
|
|
9248
9194
|
React__default.createElement(MesfModal.Actions, null,
|
|
9249
|
-
React__default.createElement(
|
|
9250
|
-
React__default.createElement(
|
|
9251
|
-
|
|
9252
|
-
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")))))),
|
|
9253
9201
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9254
9202
|
};
|
|
9255
9203
|
|
|
9256
|
-
var
|
|
9257
|
-
var
|
|
9258
|
-
var
|
|
9259
|
-
var classes =
|
|
9260
|
-
var
|
|
9261
|
-
var
|
|
9262
|
-
var
|
|
9263
|
-
|
|
9264
|
-
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
getTagsTreeData();
|
|
9270
|
-
}
|
|
9271
|
-
setShowContextMenu(false);
|
|
9272
|
-
setShowNewTagModal(false);
|
|
9273
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree }),
|
|
9274
|
-
React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
|
|
9275
|
-
if (shouldUpdate) {
|
|
9276
|
-
getTagsTreeData();
|
|
9277
|
-
}
|
|
9278
|
-
setShowContextMenu(false);
|
|
9279
|
-
setShowRemoveTagModal(false);
|
|
9280
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree })));
|
|
9281
|
-
};
|
|
9282
|
-
|
|
9283
|
-
var TagSelectionModal = function (_a) {
|
|
9284
|
-
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
9285
|
-
var classes = useTagsTreeModalStyles();
|
|
9286
|
-
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
9287
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9288
|
-
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
9289
|
-
var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
|
|
9290
|
-
var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
|
|
9291
|
-
var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
|
|
9292
|
-
var backendOffset = 1000000;
|
|
9293
|
-
var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
|
|
9294
|
-
var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
|
|
9295
|
-
useTrendingContext().state.viewTags;
|
|
9296
|
-
var handleContextMenu = function (data, e) {
|
|
9297
|
-
e.preventDefault();
|
|
9298
|
-
var top = e.clientY;
|
|
9299
|
-
var left = e.clientX;
|
|
9300
|
-
setAnchorPoint({ x: left, y: top });
|
|
9301
|
-
setSelectedNodes([data]);
|
|
9302
|
-
setShowContextMenu(true);
|
|
9303
|
-
var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
|
|
9304
|
-
if (selectedNode) {
|
|
9305
|
-
setTagNodeSelectedInTree(selectedNode);
|
|
9306
|
-
}
|
|
9307
|
-
};
|
|
9308
|
-
var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9309
|
-
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;
|
|
9310
9217
|
return __generator(this, function (_a) {
|
|
9311
9218
|
switch (_a.label) {
|
|
9312
9219
|
case 0:
|
|
9313
|
-
if (!
|
|
9220
|
+
if (!viewSelected) return [3 /*break*/, 2];
|
|
9314
9221
|
setIsLoading(true);
|
|
9315
|
-
return [4 /*yield*/,
|
|
9222
|
+
return [4 /*yield*/, getViewTags(viewSelected.ViewId)];
|
|
9316
9223
|
case 1:
|
|
9317
|
-
|
|
9318
|
-
if (
|
|
9319
|
-
|
|
9320
|
-
|
|
9321
|
-
|
|
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);
|
|
9322
9239
|
}
|
|
9323
9240
|
setIsLoading(false);
|
|
9241
|
+
handleClose(false);
|
|
9324
9242
|
_a.label = 2;
|
|
9325
9243
|
case 2: return [2 /*return*/];
|
|
9326
9244
|
}
|
|
9327
9245
|
});
|
|
9328
9246
|
}); };
|
|
9329
|
-
var
|
|
9330
|
-
return
|
|
9331
|
-
|
|
9332
|
-
|
|
9333
|
-
|
|
9334
|
-
|
|
9335
|
-
|
|
9336
|
-
|
|
9337
|
-
|
|
9338
|
-
|
|
9339
|
-
|
|
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) {
|
|
9340
9325
|
case 0:
|
|
9341
9326
|
setIsLoading(true);
|
|
9342
|
-
|
|
9343
|
-
tagId = Number(options.dragSource.id);
|
|
9344
|
-
newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
|
|
9345
|
-
if (tagId === newFolderId) {
|
|
9346
|
-
setIsLoading(false);
|
|
9347
|
-
return [2 /*return*/];
|
|
9348
|
-
}
|
|
9349
|
-
if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
|
|
9350
|
-
return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
|
|
9327
|
+
return [4 /*yield*/, upsertView(null, newView, isPublic)];
|
|
9351
9328
|
case 1:
|
|
9352
|
-
|
|
9353
|
-
if (!
|
|
9354
|
-
|
|
9355
|
-
|
|
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);
|
|
9356
9348
|
return [3 /*break*/, 4];
|
|
9357
|
-
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9358
9349
|
case 3:
|
|
9359
|
-
|
|
9360
|
-
|
|
9361
|
-
setError(newTree.message);
|
|
9362
|
-
}
|
|
9363
|
-
_c.label = 4;
|
|
9350
|
+
setError(resp.message);
|
|
9351
|
+
_a.label = 4;
|
|
9364
9352
|
case 4:
|
|
9365
|
-
setTagsTreeData(tree);
|
|
9366
|
-
_c.label = 5;
|
|
9367
|
-
case 5:
|
|
9368
9353
|
setIsLoading(false);
|
|
9369
9354
|
return [2 /*return*/];
|
|
9370
9355
|
}
|
|
9371
9356
|
});
|
|
9372
9357
|
}); };
|
|
9373
|
-
var handleClick = function (node) {
|
|
9374
|
-
if (node.data) {
|
|
9375
|
-
onTagSelect(node.data);
|
|
9376
|
-
}
|
|
9377
|
-
};
|
|
9378
|
-
var handleCloseContextMenu = function (e) {
|
|
9379
|
-
if (showContextMenu) {
|
|
9380
|
-
setShowContextMenu(false);
|
|
9381
|
-
}
|
|
9382
|
-
};
|
|
9383
9358
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9384
|
-
React__default.createElement(
|
|
9385
|
-
React__default.createElement(
|
|
9386
|
-
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
9387
|
-
React__default.createElement(Tree, { classes: {
|
|
9388
|
-
root: classes.assetRoot,
|
|
9389
|
-
dropTarget: classes.dropTarget
|
|
9390
|
-
}, initialOpen: expanded, tree: tagsTreeData, rootId: backendOffset, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
9391
|
-
return !selectedNodes.some(function (selectedNode) {
|
|
9392
|
-
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
9393
|
-
});
|
|
9394
|
-
}, render: function (node, options) {
|
|
9395
|
-
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
9396
|
-
return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
9397
|
-
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
9398
|
-
// <div>{monitorProps.item.data?.TagName}</div>
|
|
9399
|
-
); } }))))),
|
|
9400
|
-
React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
|
|
9401
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9402
|
-
};
|
|
9403
|
-
|
|
9404
|
-
var TagsTreeModal = function (_a) {
|
|
9405
|
-
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
9406
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
9407
|
-
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),
|
|
9408
9361
|
React__default.createElement(MesfModal.Content, null,
|
|
9409
|
-
React__default.createElement(
|
|
9410
|
-
React__default.createElement(
|
|
9411
|
-
|
|
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(''); } })));
|
|
9412
9388
|
};
|
|
9413
9389
|
|
|
9414
|
-
var
|
|
9415
|
-
|
|
9416
|
-
|
|
9417
|
-
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
},
|
|
9425
|
-
"& .MuiInputBase-input": {
|
|
9426
|
-
fontSize: "13px !important",
|
|
9427
|
-
height: "15px !important",
|
|
9428
|
-
paddingRight: "3px",
|
|
9429
|
-
paddingLeft: "3px"
|
|
9430
|
-
},
|
|
9431
|
-
"& .MuiInput-underline:before": {
|
|
9432
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9433
|
-
},
|
|
9434
|
-
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"
|
|
9435
9400
|
},
|
|
9436
|
-
|
|
9437
|
-
|
|
9438
|
-
|
|
9439
|
-
|
|
9440
|
-
"& .MuiInputBase-root": {
|
|
9441
|
-
color: "black",
|
|
9442
|
-
backgroundColor: "white",
|
|
9443
|
-
borderRadius: theme.shape.borderRadius,
|
|
9444
|
-
minWidth: "100%"
|
|
9445
|
-
},
|
|
9446
|
-
"& .MuiInputBase-input": {
|
|
9447
|
-
fontSize: "14px !important",
|
|
9448
|
-
height: "15px !important"
|
|
9449
|
-
},
|
|
9450
|
-
"& .MuiInput-underline:before": {
|
|
9451
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9452
|
-
},
|
|
9453
|
-
padding: 0
|
|
9401
|
+
root: {
|
|
9402
|
+
alignItems: "center",
|
|
9403
|
+
display: "flex",
|
|
9404
|
+
height: "32px"
|
|
9454
9405
|
},
|
|
9455
|
-
|
|
9456
|
-
|
|
9457
|
-
|
|
9458
|
-
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
gap: "5px"
|
|
9462
|
-
},
|
|
9463
|
-
'& input[type="checkbox"]': {
|
|
9464
|
-
zoom: 1.5
|
|
9406
|
+
customNodeRoot: {
|
|
9407
|
+
listStyleType: "none",
|
|
9408
|
+
margin: 0,
|
|
9409
|
+
padding: 0,
|
|
9410
|
+
'&:hover': {
|
|
9411
|
+
backgroundColor: "#f2f2f2"
|
|
9465
9412
|
}
|
|
9466
9413
|
},
|
|
9467
|
-
|
|
9468
|
-
|
|
9469
|
-
|
|
9470
|
-
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
|
|
9476
|
-
zoom: 1.5
|
|
9477
|
-
}
|
|
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)"
|
|
9478
9423
|
},
|
|
9479
|
-
|
|
9480
|
-
|
|
9481
|
-
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
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)));
|
|
9487
9537
|
}
|
|
9488
|
-
|
|
9489
|
-
|
|
9490
|
-
},
|
|
9491
|
-
iconContainer: {
|
|
9492
|
-
display: 'flex',
|
|
9493
|
-
justifyContent: 'flex-end',
|
|
9494
|
-
alignItems: 'center',
|
|
9495
|
-
flex: 1
|
|
9496
|
-
},
|
|
9497
|
-
optionContainer: {
|
|
9498
|
-
display: 'flex',
|
|
9499
|
-
justifyContent: 'flex-start',
|
|
9500
|
-
alignItems: 'center',
|
|
9501
|
-
width: '100%'
|
|
9502
|
-
},
|
|
9503
|
-
optionLabel: {
|
|
9504
|
-
flexGrow: 1
|
|
9505
|
-
},
|
|
9506
|
-
inputCustom: {
|
|
9507
|
-
color: 'rgba(0, 0, 0, 0.87)',
|
|
9508
|
-
cursor: 'text',
|
|
9509
|
-
fontSize: '0.7rem',
|
|
9510
|
-
boxSizing: 'border-box',
|
|
9511
|
-
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
|
9512
|
-
fontWeight: 400,
|
|
9513
|
-
lineHeight: 1.1876,
|
|
9514
|
-
letterSpacing: '0.00938em',
|
|
9515
|
-
'& .MuiOutlinedInput-input': {
|
|
9516
|
-
padding: '10px 10px'
|
|
9538
|
+
onToggle();
|
|
9539
|
+
return;
|
|
9517
9540
|
}
|
|
9518
|
-
|
|
9519
|
-
|
|
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
|
+
};
|
|
9520
9573
|
|
|
9521
|
-
var
|
|
9522
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9523
|
-
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];
|
|
9524
9577
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9525
|
-
var
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
|
|
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) {
|
|
9529
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;
|
|
9530
9588
|
setIsLoading(true);
|
|
9531
|
-
if (
|
|
9532
|
-
return [4 /*yield*/,
|
|
9589
|
+
if (!name) return [3 /*break*/, 2];
|
|
9590
|
+
return [4 /*yield*/, upsertTagFolder(null, parentTagId, name, true)];
|
|
9533
9591
|
case 1:
|
|
9534
|
-
resp =
|
|
9592
|
+
resp = _b.sent();
|
|
9535
9593
|
if (!resp.ok) {
|
|
9536
9594
|
setError(resp.message);
|
|
9537
9595
|
}
|
|
9538
|
-
|
|
9539
|
-
handleClose(true);
|
|
9540
|
-
}
|
|
9541
|
-
_a.label = 2;
|
|
9596
|
+
_b.label = 2;
|
|
9542
9597
|
case 2:
|
|
9598
|
+
handleClose(true);
|
|
9599
|
+
setName('');
|
|
9543
9600
|
setIsLoading(false);
|
|
9544
9601
|
return [2 /*return*/];
|
|
9545
9602
|
}
|
|
9546
9603
|
});
|
|
9547
9604
|
}); };
|
|
9548
9605
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9549
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9550
|
-
React__default.createElement(
|
|
9551
|
-
|
|
9552
|
-
|
|
9553
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9554
|
-
React__default.createElement(Typography, null,
|
|
9555
|
-
"Are yu sure you want to delete ",
|
|
9556
|
-
React__default.createElement("strong", null, view === null || view === void 0 ? void 0 : view.ViewName),
|
|
9557
|
-
" ?")))) :
|
|
9558
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9559
|
-
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); }) }))),
|
|
9560
9610
|
React__default.createElement(MesfModal.Actions, null,
|
|
9561
|
-
React__default.createElement(
|
|
9562
|
-
React__default.createElement(
|
|
9563
|
-
|
|
9564
|
-
React__default.createElement(
|
|
9565
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'secondary', onClick: handleSubmit, isLoading: isLoading }, "Delete")
|
|
9566
|
-
: (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")))),
|
|
9567
9615
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9568
9616
|
};
|
|
9569
9617
|
|
|
9570
|
-
var
|
|
9571
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9572
|
-
var
|
|
9573
|
-
var
|
|
9574
|
-
var
|
|
9575
|
-
|
|
9576
|
-
var _e = useState(''), error = _e[0], setError = _e[1];
|
|
9577
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9578
|
-
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;
|
|
9579
9624
|
return __generator(this, function (_a) {
|
|
9580
9625
|
switch (_a.label) {
|
|
9581
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;
|
|
9582
9633
|
setIsLoading(true);
|
|
9583
|
-
if (
|
|
9584
|
-
return [4 /*yield*/,
|
|
9634
|
+
if (!parentId) return [3 /*break*/, 2];
|
|
9635
|
+
return [4 /*yield*/, deleteTagFolder(id)];
|
|
9585
9636
|
case 1:
|
|
9586
9637
|
resp = _a.sent();
|
|
9587
9638
|
if (!resp.ok) {
|
|
9588
9639
|
setError(resp.message);
|
|
9589
9640
|
}
|
|
9590
|
-
|
|
9591
|
-
|
|
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);
|
|
9592
9649
|
}
|
|
9593
|
-
_a.label =
|
|
9594
|
-
case
|
|
9650
|
+
_a.label = 5;
|
|
9651
|
+
case 5:
|
|
9652
|
+
handleClose(true);
|
|
9595
9653
|
setIsLoading(false);
|
|
9596
9654
|
return [2 /*return*/];
|
|
9597
9655
|
}
|
|
9598
9656
|
});
|
|
9599
9657
|
}); };
|
|
9600
|
-
var handleChangeInput = function (e) {
|
|
9601
|
-
e.preventDefault();
|
|
9602
|
-
var name = e.target.value;
|
|
9603
|
-
setNewName(name);
|
|
9604
|
-
};
|
|
9605
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9606
|
-
useEffect(function () {
|
|
9607
|
-
if (view) {
|
|
9608
|
-
setIsPublic(view.IsPublic);
|
|
9609
|
-
setNewName(view.ViewName);
|
|
9610
|
-
}
|
|
9611
|
-
}, [view]);
|
|
9612
9658
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9613
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9614
|
-
React__default.createElement(
|
|
9615
|
-
|
|
9616
|
-
|
|
9617
|
-
|
|
9618
|
-
React__default.createElement(
|
|
9619
|
-
|
|
9620
|
-
React__default.createElement("label", null,
|
|
9621
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck }),
|
|
9622
|
-
React__default.createElement(Typography, null, "Public"))))) :
|
|
9623
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9624
|
-
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?"))),
|
|
9625
9666
|
React__default.createElement(MesfModal.Actions, null,
|
|
9626
|
-
React__default.createElement(
|
|
9627
|
-
React__default.createElement(
|
|
9628
|
-
|
|
9629
|
-
React__default.createElement(
|
|
9630
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Update")
|
|
9631
|
-
: (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")))),
|
|
9632
9671
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9633
9672
|
};
|
|
9634
9673
|
|
|
9635
|
-
var
|
|
9636
|
-
var
|
|
9637
|
-
var
|
|
9638
|
-
var classes =
|
|
9639
|
-
var
|
|
9640
|
-
var
|
|
9641
|
-
var
|
|
9642
|
-
|
|
9643
|
-
|
|
9644
|
-
|
|
9645
|
-
|
|
9646
|
-
|
|
9647
|
-
|
|
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;
|
|
9648
9728
|
return __generator(this, function (_a) {
|
|
9649
9729
|
switch (_a.label) {
|
|
9650
9730
|
case 0:
|
|
9651
|
-
if (!
|
|
9731
|
+
if (!isOpen) return [3 /*break*/, 2];
|
|
9652
9732
|
setIsLoading(true);
|
|
9653
|
-
return [4 /*yield*/,
|
|
9733
|
+
return [4 /*yield*/, getTagsTree()];
|
|
9654
9734
|
case 1:
|
|
9655
|
-
|
|
9656
|
-
if (
|
|
9657
|
-
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
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);
|
|
9661
9740
|
}
|
|
9662
9741
|
setIsLoading(false);
|
|
9663
|
-
handleClose(true);
|
|
9664
9742
|
_a.label = 2;
|
|
9665
9743
|
case 2: return [2 /*return*/];
|
|
9666
9744
|
}
|
|
9667
9745
|
});
|
|
9668
9746
|
}); };
|
|
9669
|
-
var
|
|
9670
|
-
return
|
|
9671
|
-
|
|
9672
|
-
|
|
9673
|
-
|
|
9674
|
-
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
|
|
9679
|
-
|
|
9680
|
-
});
|
|
9681
|
-
}); };
|
|
9682
|
-
var handleEditView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9683
|
-
return __generator(this, function (_a) {
|
|
9684
|
-
setViewForEdit(view);
|
|
9685
|
-
setEditViewModalOpen(true);
|
|
9686
|
-
return [2 /*return*/];
|
|
9687
|
-
});
|
|
9688
|
-
}); };
|
|
9689
|
-
var handleAllViewsCheckbox = function () {
|
|
9690
|
-
setAllViewsChecked(function (prev) { return !prev; });
|
|
9691
|
-
};
|
|
9692
|
-
var publicViews = useMemo(function () {
|
|
9693
|
-
return views.filter(function (v) { return v.IsPublic === true; });
|
|
9694
|
-
}, [views, allViewsChecked]);
|
|
9695
|
-
return (React__default.createElement("div", null,
|
|
9696
|
-
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' },
|
|
9697
|
-
React__default.createElement(MesfModal.Content, null,
|
|
9698
|
-
React__default.createElement(Grid$1, { container: true }, views.length ? (React__default.createElement(React__default.Fragment, null,
|
|
9699
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9700
|
-
React__default.createElement("div", { className: classes.isPublicCheckbox, style: { paddingBottom: '1rem' } },
|
|
9701
|
-
React__default.createElement("label", { htmlFor: "" },
|
|
9702
|
-
React__default.createElement("input", { type: "checkbox", checked: allViewsChecked, onChange: handleAllViewsCheckbox }),
|
|
9703
|
-
React__default.createElement(Typography, null, "All Views")))),
|
|
9704
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9705
|
-
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 },
|
|
9706
|
-
React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
|
|
9707
|
-
React__default.createElement("div", { className: classes.iconContainer },
|
|
9708
|
-
option.IsPublic ? '' :
|
|
9709
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9710
|
-
React__default.createElement(Tooltip, { title: "Private", arrow: true },
|
|
9711
|
-
React__default.createElement(LockIcon, { fontSize: 'small', style: { color: 'black', height: "18px", width: '18px', cursor: 'auto' } }))),
|
|
9712
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleEditView(option); } },
|
|
9713
|
-
React__default.createElement(CreateIcon, { fontSize: 'small', color: 'primary', style: { height: "18px", width: '18px', cursor: 'pointer' } })),
|
|
9714
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleDeleteView(option, e); } },
|
|
9715
|
-
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" })); } })))) :
|
|
9716
|
-
(React__default.createElement(Typography, null, "No views detected, please add one")))),
|
|
9717
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9718
|
-
React__default.createElement("div", { style: { paddingTop: "1rem" } },
|
|
9719
|
-
React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
|
|
9720
|
-
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"))))),
|
|
9721
|
-
React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
|
|
9722
|
-
setDeleteViewModalOpen(false);
|
|
9723
|
-
if (shouldUpdate)
|
|
9724
|
-
getTagsFromAPI().then(function () { });
|
|
9725
|
-
} }),
|
|
9726
|
-
React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
|
|
9727
|
-
setEditViewModalOpen(false);
|
|
9728
|
-
if (shouldUpdate)
|
|
9729
|
-
getTagsFromAPI().then(function () { });
|
|
9730
|
-
} }),
|
|
9731
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9732
|
-
};
|
|
9733
|
-
|
|
9734
|
-
var SaveAsViewModal = function (_a) {
|
|
9735
|
-
var open = _a.open, handleClose = _a.handleClose;
|
|
9736
|
-
var classes = useTrendingStyles();
|
|
9737
|
-
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9738
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9739
|
-
var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
|
|
9740
|
-
var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
|
|
9741
|
-
var _h = useState(''), newView = _h[0], setNewView = _h[1];
|
|
9742
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9743
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9744
|
-
var resp, ViewId_1, shouldClose_1;
|
|
9745
|
-
return __generator(this, function (_a) {
|
|
9746
|
-
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) {
|
|
9747
9758
|
case 0:
|
|
9748
9759
|
setIsLoading(true);
|
|
9749
|
-
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)];
|
|
9750
9769
|
case 1:
|
|
9751
|
-
|
|
9752
|
-
if (!
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
9756
|
-
var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible, Unit = _a.Unit;
|
|
9757
|
-
upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
9758
|
-
.then(function (r) {
|
|
9759
|
-
if (!r.ok) {
|
|
9760
|
-
setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
|
|
9761
|
-
if (shouldClose_1) {
|
|
9762
|
-
shouldClose_1 = false;
|
|
9763
|
-
}
|
|
9764
|
-
}
|
|
9765
|
-
});
|
|
9766
|
-
}))];
|
|
9767
|
-
case 2:
|
|
9768
|
-
_a.sent();
|
|
9769
|
-
handleClose(shouldClose_1);
|
|
9770
|
+
newTree = _c.sent();
|
|
9771
|
+
if (!newTree.ok) {
|
|
9772
|
+
setError(newTree.message);
|
|
9773
|
+
}
|
|
9770
9774
|
return [3 /*break*/, 4];
|
|
9775
|
+
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9771
9776
|
case 3:
|
|
9772
|
-
|
|
9773
|
-
|
|
9777
|
+
newTree = _c.sent();
|
|
9778
|
+
if (!newTree.ok) {
|
|
9779
|
+
setError(newTree.message);
|
|
9780
|
+
}
|
|
9781
|
+
_c.label = 4;
|
|
9774
9782
|
case 4:
|
|
9783
|
+
setTagsTreeData(tree);
|
|
9784
|
+
_c.label = 5;
|
|
9785
|
+
case 5:
|
|
9775
9786
|
setIsLoading(false);
|
|
9776
9787
|
return [2 /*return*/];
|
|
9777
9788
|
}
|
|
9778
9789
|
});
|
|
9779
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
|
+
};
|
|
9780
9801
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9781
|
-
React__default.createElement(
|
|
9782
|
-
React__default.createElement(
|
|
9783
|
-
|
|
9784
|
-
React__default.createElement(
|
|
9785
|
-
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
}
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9799
|
-
React__default.createElement("label", null,
|
|
9800
|
-
"Public",
|
|
9801
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck })))),
|
|
9802
|
-
React__default.createElement(Divider, null),
|
|
9803
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9804
|
-
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9805
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9806
|
-
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9807
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9808
|
-
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 }),
|
|
9809
9819
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9810
9820
|
};
|
|
9811
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
|
+
|
|
9812
9832
|
var useTagsDataTable = function (_a) {
|
|
9813
|
-
var cursorData = _a.cursorData,
|
|
9833
|
+
var cursorData = _a.cursorData, viewTagsMap = _a.viewTagsMap, chartData = _a.chartData;
|
|
9814
9834
|
return useMemo(function () {
|
|
9815
9835
|
var _a;
|
|
9816
9836
|
var dataTable = {};
|
|
9817
9837
|
if (cursorData) {
|
|
9818
|
-
var _loop_1 = function (
|
|
9819
|
-
var tag =
|
|
9838
|
+
var _loop_1 = function (viewTagEntry) {
|
|
9839
|
+
var tag = viewTagsMap[viewTagEntry].viewTag;
|
|
9820
9840
|
var datasetForTag = ((_a = chartData.datasets.find(function (ds) {
|
|
9821
9841
|
return ds.tagId === (tag === null || tag === void 0 ? void 0 : tag.TagId);
|
|
9822
9842
|
})) === null || _a === void 0 ? void 0 : _a.data) || [];
|
|
@@ -9825,8 +9845,8 @@ var useTagsDataTable = function (_a) {
|
|
|
9825
9845
|
var p1Found = false;
|
|
9826
9846
|
var pmin = { x: 0, y: Number.POSITIVE_INFINITY };
|
|
9827
9847
|
var pmax = { x: 0, y: Number.NEGATIVE_INFINITY };
|
|
9828
|
-
for (var
|
|
9829
|
-
var curr = datasetForTag[
|
|
9848
|
+
for (var idx = 0; idx < datasetForTag.length; idx++) {
|
|
9849
|
+
var curr = datasetForTag[idx];
|
|
9830
9850
|
var currentVal = curr.x;
|
|
9831
9851
|
if (!p1Found) {
|
|
9832
9852
|
if (currentVal < cursorData.x1) {
|
|
@@ -9863,12 +9883,12 @@ var useTagsDataTable = function (_a) {
|
|
|
9863
9883
|
pmax: pmax
|
|
9864
9884
|
};
|
|
9865
9885
|
};
|
|
9866
|
-
for (var
|
|
9867
|
-
_loop_1(
|
|
9886
|
+
for (var viewTagEntry in viewTagsMap) {
|
|
9887
|
+
_loop_1(viewTagEntry);
|
|
9868
9888
|
}
|
|
9869
9889
|
}
|
|
9870
9890
|
return dataTable;
|
|
9871
|
-
}, [
|
|
9891
|
+
}, [viewTagsMap, chartData, cursorData]);
|
|
9872
9892
|
};
|
|
9873
9893
|
|
|
9874
9894
|
var useTagsTableStyles = makeStyles$1(function (theme) { return ({
|
|
@@ -10006,7 +10026,7 @@ var formatTimeDiffWithMs = function (start, end) {
|
|
|
10006
10026
|
};
|
|
10007
10027
|
|
|
10008
10028
|
var TableComponent = function (_a) {
|
|
10009
|
-
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;
|
|
10010
10030
|
var classes = useTagsTableStyles();
|
|
10011
10031
|
var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setViewTagsAndRefetch = _d.setViewTagsAndRefetch;
|
|
10012
10032
|
var _e = useState({}); _e[0]; _e[1];
|
|
@@ -10016,44 +10036,53 @@ var TableComponent = function (_a) {
|
|
|
10016
10036
|
var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
|
|
10017
10037
|
var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
|
|
10018
10038
|
var _l = useState(''), snackbarMessage = _l[0], setSnackbarMessage = _l[1];
|
|
10019
|
-
var dataTable = useTagsDataTable({
|
|
10039
|
+
var dataTable = useTagsDataTable({ viewTagsMap: viewTags, chartData: chartData, cursorData: cursorData });
|
|
10020
10040
|
var handleChange = function (tagId, value, property) {
|
|
10021
|
-
var newTags = viewTags
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
});
|
|
10041
|
+
var newTags = structuredClone(viewTags);
|
|
10042
|
+
newTags[tagId]['viewTag'][property] = value;
|
|
10043
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = false;
|
|
10025
10044
|
setViewTags(newTags);
|
|
10026
10045
|
};
|
|
10046
|
+
var handleChangeScale = function (value, scale, tagId) {
|
|
10047
|
+
handleChange(tagId, value, scale);
|
|
10048
|
+
};
|
|
10027
10049
|
var handleChangeAlias = function (tagId, newName) {
|
|
10028
|
-
var newTags = viewTags
|
|
10050
|
+
var newTags = structuredClone(viewTags);
|
|
10051
|
+
newTags[tagId]['viewTag']['Alias'] = newName;
|
|
10029
10052
|
setViewTags(newTags);
|
|
10030
10053
|
};
|
|
10031
10054
|
var handleVisibilityChange = function (tagId, value) {
|
|
10032
|
-
var newTags = viewTags
|
|
10055
|
+
var newTags = structuredClone(viewTags);
|
|
10056
|
+
newTags[tagId]['viewTag']['IsVisible'] = value;
|
|
10033
10057
|
setViewTags(newTags);
|
|
10034
10058
|
};
|
|
10035
10059
|
var handleUnitChange = function (tagId, newUnit) {
|
|
10036
|
-
var newTags = viewTags
|
|
10060
|
+
var newTags = structuredClone(viewTags);
|
|
10061
|
+
newTags[tagId]['viewTag']['Unit'] = newUnit;
|
|
10037
10062
|
setViewTags(newTags);
|
|
10038
10063
|
};
|
|
10039
10064
|
var handleAutoScaleChange = function (tagId, checked) {
|
|
10040
|
-
var newTags = viewTags
|
|
10065
|
+
var newTags = structuredClone(viewTags);
|
|
10066
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = !checked;
|
|
10041
10067
|
setViewTags(newTags);
|
|
10042
10068
|
};
|
|
10043
10069
|
var handleColorChange = function (tagId, value) {
|
|
10044
|
-
var newTags = viewTags
|
|
10070
|
+
var newTags = structuredClone(viewTags);
|
|
10071
|
+
newTags[tagId]['viewTag']['Color'] = value;
|
|
10045
10072
|
setViewTags(newTags);
|
|
10046
10073
|
};
|
|
10047
10074
|
var handleDeleteTag = function (tagId) {
|
|
10048
|
-
var newTags = viewTags
|
|
10075
|
+
var newTags = structuredClone(viewTags);
|
|
10076
|
+
delete newTags[tagId];
|
|
10049
10077
|
setViewTagsAndRefetch(newTags);
|
|
10050
10078
|
};
|
|
10051
10079
|
var handleAddTag = function (newTag) {
|
|
10052
|
-
var
|
|
10053
|
-
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
}
|
|
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);
|
|
10057
10086
|
};
|
|
10058
10087
|
var handleAbleScales = function (tagId, checked) {
|
|
10059
10088
|
if (checked) {
|
|
@@ -10111,7 +10140,7 @@ var TableComponent = function (_a) {
|
|
|
10111
10140
|
},
|
|
10112
10141
|
]);
|
|
10113
10142
|
var handleTagSelect = function (selectedTag) {
|
|
10114
|
-
var alreadySelected = viewTags
|
|
10143
|
+
var alreadySelected = viewTags[selectedTag.TagId];
|
|
10115
10144
|
if (!alreadySelected) {
|
|
10116
10145
|
handleAddTag(selectedTag);
|
|
10117
10146
|
}
|
|
@@ -10119,13 +10148,13 @@ var TableComponent = function (_a) {
|
|
|
10119
10148
|
setError("".concat(selectedTag.TagName, " is already selected"));
|
|
10120
10149
|
}
|
|
10121
10150
|
};
|
|
10122
|
-
var handleDelete = function (
|
|
10151
|
+
var handleDelete = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10123
10152
|
return __generator(this, function (_a) {
|
|
10124
10153
|
if (!isNil$1(viewTagForDelete)) {
|
|
10125
10154
|
if (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) {
|
|
10126
10155
|
handleDeleteTag(viewTagForDelete.TagId);
|
|
10127
10156
|
}
|
|
10128
|
-
|
|
10157
|
+
setSelectedRowTagId(null); // Reset the selected row index
|
|
10129
10158
|
setViewTagForDelete(null);
|
|
10130
10159
|
}
|
|
10131
10160
|
return [2 /*return*/];
|
|
@@ -10152,8 +10181,8 @@ var TableComponent = function (_a) {
|
|
|
10152
10181
|
if (!deleteResp.ok) {
|
|
10153
10182
|
setError(deleteResp.message);
|
|
10154
10183
|
}
|
|
10155
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
10156
|
-
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;
|
|
10157
10186
|
upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
10158
10187
|
.then(function (r) {
|
|
10159
10188
|
if (!r.ok) {
|
|
@@ -10168,7 +10197,7 @@ var TableComponent = function (_a) {
|
|
|
10168
10197
|
setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
|
|
10169
10198
|
}
|
|
10170
10199
|
else {
|
|
10171
|
-
|
|
10200
|
+
setSelectedRowTagId(null);
|
|
10172
10201
|
setSnackbarMessage('View saved successfully');
|
|
10173
10202
|
}
|
|
10174
10203
|
});
|
|
@@ -10191,13 +10220,13 @@ var TableComponent = function (_a) {
|
|
|
10191
10220
|
};
|
|
10192
10221
|
useEffect(function () {
|
|
10193
10222
|
var handleGlobalClick = function (e) {
|
|
10194
|
-
if (
|
|
10195
|
-
|
|
10223
|
+
if (selectedRowTagId !== null) {
|
|
10224
|
+
setSelectedRowTagId(null);
|
|
10196
10225
|
}
|
|
10197
10226
|
};
|
|
10198
10227
|
var handleKeyDown = function (e) {
|
|
10199
|
-
if (e.key === "Escape" &&
|
|
10200
|
-
|
|
10228
|
+
if (e.key === "Escape" && selectedRowTagId !== null) {
|
|
10229
|
+
setSelectedRowTagId(null);
|
|
10201
10230
|
}
|
|
10202
10231
|
};
|
|
10203
10232
|
// Attach event listeners
|
|
@@ -10208,14 +10237,14 @@ var TableComponent = function (_a) {
|
|
|
10208
10237
|
document.removeEventListener("click", handleGlobalClick);
|
|
10209
10238
|
document.removeEventListener("keydown", handleKeyDown);
|
|
10210
10239
|
};
|
|
10211
|
-
}, [
|
|
10240
|
+
}, [selectedRowTagId]);
|
|
10212
10241
|
var handleSaveDefaultToTag = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10213
10242
|
var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale, saveTagDefaultsResp, upsertViewTagResp;
|
|
10214
10243
|
return __generator(this, function (_b) {
|
|
10215
10244
|
switch (_b.label) {
|
|
10216
10245
|
case 0:
|
|
10217
|
-
if (!(viewSelected &&
|
|
10218
|
-
_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;
|
|
10219
10248
|
return [4 /*yield*/, saveTagDefaults(TagId, Alias, Color, MinScale, MaxScale, Unit)];
|
|
10220
10249
|
case 1:
|
|
10221
10250
|
saveTagDefaultsResp = _b.sent();
|
|
@@ -10228,7 +10257,7 @@ var TableComponent = function (_a) {
|
|
|
10228
10257
|
if (!upsertViewTagResp.ok) {
|
|
10229
10258
|
setError(upsertViewTagResp.message);
|
|
10230
10259
|
}
|
|
10231
|
-
|
|
10260
|
+
setSelectedRowTagId(null);
|
|
10232
10261
|
_b.label = 3;
|
|
10233
10262
|
case 3: return [2 /*return*/];
|
|
10234
10263
|
}
|
|
@@ -10252,7 +10281,7 @@ var TableComponent = function (_a) {
|
|
|
10252
10281
|
React__default.createElement("thead", null,
|
|
10253
10282
|
React__default.createElement("tr", null,
|
|
10254
10283
|
React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.viewSelected) }, viewSelected ?
|
|
10255
|
-
(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); } },
|
|
10256
10285
|
React__default.createElement("i", null,
|
|
10257
10286
|
React__default.createElement(SaveIcon, null),
|
|
10258
10287
|
"(Save view as)")))),
|
|
@@ -10336,11 +10365,12 @@ var TableComponent = function (_a) {
|
|
|
10336
10365
|
React__default.createElement(Grid$1, { item: true, xs: 12 },
|
|
10337
10366
|
React__default.createElement("div", { style: { width: '100%', height: '100%', maxHeight: '100%' } },
|
|
10338
10367
|
React__default.createElement("table", { cellPadding: '4px', style: { width: '100%', tableLayout: 'fixed', textAlign: "center" } },
|
|
10339
|
-
React__default.createElement("tbody", null, viewTags
|
|
10340
|
-
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;
|
|
10341
10371
|
return (React__default.createElement("tr", { key: tag.TagName,
|
|
10342
10372
|
// onClick={() => handleRowClick(index)}
|
|
10343
|
-
onContextMenu: function (e) { return handleRightClick(e,
|
|
10373
|
+
onContextMenu: function (e) { return handleRightClick(e, tag.TagId); }, className: classes.rowHover },
|
|
10344
10374
|
React__default.createElement("td", { className: "".concat(classes.visible, " ").concat(classes.checkbox) },
|
|
10345
10375
|
React__default.createElement("input", { type: "checkbox", checked: tag.IsVisible, onChange: function (e) { return handleVisibilityChange(tag.TagId, e.target.checked); } })),
|
|
10346
10376
|
React__default.createElement("td", { className: classes.aliasCol },
|
|
@@ -10359,24 +10389,14 @@ var TableComponent = function (_a) {
|
|
|
10359
10389
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10360
10390
|
color: 'rgba(84, 84, 84, 1)',
|
|
10361
10391
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10362
|
-
} : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10363
|
-
var value = e.target.value;
|
|
10364
|
-
var numericValue = Number(value);
|
|
10365
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10366
|
-
handleChange(tag.TagId, numericValue, 'MinScale');
|
|
10367
|
-
}
|
|
10368
|
-
} })),
|
|
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); } })),
|
|
10369
10393
|
React__default.createElement("td", { className: classes.inputCol },
|
|
10370
10394
|
React__default.createElement("input", { type: "number", className: classes.numberInput, style: __assign({ width: '100%', WebkitAppearance: 'none' }, (tag.IsAutoScale ? {
|
|
10371
10395
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10372
10396
|
color: 'rgba(84, 84, 84, 1)',
|
|
10373
10397
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10374
10398
|
} : {})), value: tag.MaxScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10375
|
-
|
|
10376
|
-
var numericValue = Number(value);
|
|
10377
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10378
|
-
handleChange(tag.TagId, numericValue, 'MaxScale');
|
|
10379
|
-
}
|
|
10399
|
+
handleChangeScale((e.target).value, "MaxScale", tag.TagId);
|
|
10380
10400
|
} })),
|
|
10381
10401
|
React__default.createElement("td", { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
|
|
10382
10402
|
React__default.createElement("input", { type: "checkbox", checked: !!tag.IsAutoScale, onChange: function (e) { return handleAutoScaleChange(tag.TagId, tag.IsAutoScale); } })),
|
|
@@ -10387,14 +10407,14 @@ var TableComponent = function (_a) {
|
|
|
10387
10407
|
var value = e.target.value;
|
|
10388
10408
|
handleUnitChange(tag.TagId, value);
|
|
10389
10409
|
}, value: tag.Unit === "-" ? '' : tag.Unit, onFocus: function (e) { return e.target.select(); } })),
|
|
10390
|
-
React__default.createElement("td", null, round((
|
|
10391
|
-
React__default.createElement("td", { className: classes.doubleInput }, round((
|
|
10392
|
-
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),
|
|
10393
10413
|
React__default.createElement("td", null,
|
|
10394
|
-
!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,
|
|
10395
10415
|
" "),
|
|
10396
10416
|
React__default.createElement("td", null,
|
|
10397
|
-
!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,
|
|
10398
10418
|
" ")));
|
|
10399
10419
|
}) : React__default.createElement("div", { style: { padding: '1rem' } },
|
|
10400
10420
|
React__default.createElement("div", { style: { padding: "1rem" } }, "No tag view detected. "),
|
|
@@ -10841,23 +10861,32 @@ var TrendingChart = function (_a) {
|
|
|
10841
10861
|
var _c = useState(null), lineTabCoords = _c[0], setLineTabCoords = _c[1];
|
|
10842
10862
|
var _d = useState(null), chartArea = _d[0], setChartArea = _d[1];
|
|
10843
10863
|
var chartRef = useRef(null);
|
|
10864
|
+
var forDebounce = useRef({
|
|
10865
|
+
viewTags: viewTags,
|
|
10866
|
+
series: series,
|
|
10867
|
+
setChartOptions: setChartOptions,
|
|
10868
|
+
setChartData: setChartData
|
|
10869
|
+
});
|
|
10844
10870
|
var debouncedUpdateChart = useRef(debounce(function () {
|
|
10845
10871
|
if (chartRef.current) {
|
|
10846
10872
|
updateCursorData(chartRef.current, setCursorData);
|
|
10847
10873
|
chartRef.current.update();
|
|
10848
10874
|
}
|
|
10849
|
-
}, 250))
|
|
10850
|
-
|
|
10851
|
-
|
|
10852
|
-
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
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;
|
|
10856
10884
|
var axes = [];
|
|
10857
10885
|
if (!series.length) {
|
|
10858
10886
|
return;
|
|
10859
10887
|
}
|
|
10860
|
-
viewTags.forEach(function (
|
|
10888
|
+
Object.values(viewTags).forEach(function (_a, index) {
|
|
10889
|
+
var tag = _a.viewTag;
|
|
10861
10890
|
var existingAxis = axes.findIndex(function (existingTag) {
|
|
10862
10891
|
return areRangesSimilar(existingTag, tag);
|
|
10863
10892
|
});
|
|
@@ -10871,6 +10900,11 @@ var TrendingChart = function (_a) {
|
|
|
10871
10900
|
});
|
|
10872
10901
|
// Configure yAxes based on grouped axes
|
|
10873
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
|
+
}
|
|
10874
10908
|
return {
|
|
10875
10909
|
id: "y-axis-".concat(axis.TagId),
|
|
10876
10910
|
type: "linear",
|
|
@@ -10879,10 +10913,10 @@ var TrendingChart = function (_a) {
|
|
|
10879
10913
|
display: true,
|
|
10880
10914
|
labelString: axis.TagName
|
|
10881
10915
|
},
|
|
10882
|
-
min: axis.IsAutoScale ? undefined :
|
|
10883
|
-
max: axis.IsAutoScale ? undefined :
|
|
10884
|
-
suggestedMin: axis.IsAutoScale ? undefined :
|
|
10885
|
-
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,
|
|
10886
10920
|
stepSize: 10,
|
|
10887
10921
|
grid: {
|
|
10888
10922
|
display: true
|
|
@@ -10920,7 +10954,9 @@ var TrendingChart = function (_a) {
|
|
|
10920
10954
|
return newResp;
|
|
10921
10955
|
});
|
|
10922
10956
|
var updatedSeries = series.map(function (serie, index) {
|
|
10923
|
-
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;
|
|
10924
10960
|
var yAxisTagId = seriesVsTags.current[tag === null || tag === void 0 ? void 0 : tag.TagId];
|
|
10925
10961
|
return {
|
|
10926
10962
|
yAxisID: "y-axis-".concat(yAxisTagId),
|
|
@@ -10939,6 +10975,14 @@ var TrendingChart = function (_a) {
|
|
|
10939
10975
|
labels: [],
|
|
10940
10976
|
datasets: updatedSeries
|
|
10941
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();
|
|
10942
10986
|
}, [state.graphShouldUpdate, series]);
|
|
10943
10987
|
useEffect(function () {
|
|
10944
10988
|
if (chartShouldInitCursors) {
|
|
@@ -10956,7 +11000,7 @@ var TrendingChart = function (_a) {
|
|
|
10956
11000
|
});
|
|
10957
11001
|
// @ts-ignore
|
|
10958
11002
|
chartRef.current.mouseX = newLeft;
|
|
10959
|
-
debouncedUpdateChart();
|
|
11003
|
+
debouncedUpdateChart.current();
|
|
10960
11004
|
} })) : null,
|
|
10961
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) {
|
|
10962
11006
|
setLineTabCoords(function (prevCoords) {
|
|
@@ -10965,7 +11009,7 @@ var TrendingChart = function (_a) {
|
|
|
10965
11009
|
});
|
|
10966
11010
|
// @ts-ignore
|
|
10967
11011
|
chartRef.current.secondLineX = newLeft;
|
|
10968
|
-
debouncedUpdateChart();
|
|
11012
|
+
debouncedUpdateChart.current();
|
|
10969
11013
|
} })) : null,
|
|
10970
11014
|
React__default.createElement(Line, { ref: chartRef, data: chartData, options: chartOptions, plugins: [verticalLinePlugin, xAxisDatePlugin, yAxisPlugin] })));
|
|
10971
11015
|
};
|
|
@@ -10977,7 +11021,7 @@ var Trending = function (_a) {
|
|
|
10977
11021
|
var _d = useState(''), error = _d[0], setError = _d[1];
|
|
10978
11022
|
var _e = useState(true), loading = _e[0], setLoading = _e[1];
|
|
10979
11023
|
var _f = useState([]), series = _f[0], setSeries = _f[1];
|
|
10980
|
-
var _g = useState(null),
|
|
11024
|
+
var _g = useState(null), selectedRowTagId = _g[0], setSelectedRowTagId = _g[1];
|
|
10981
11025
|
var _h = useState(null), viewTagForDelete = _h[0], setViewTagForDelete = _h[1];
|
|
10982
11026
|
var _j = useChartOptions(), chartOptions = _j[0], setChartOptions = _j[1];
|
|
10983
11027
|
var _k = useState({
|
|
@@ -10988,16 +11032,16 @@ var Trending = function (_a) {
|
|
|
10988
11032
|
var debounceForFetchingData = useRef(null);
|
|
10989
11033
|
var _m = useState({ x: 0, y: 0 }), contextMenuPosition = _m[0], setContextMenuPosition = _m[1];
|
|
10990
11034
|
var _o = useState(false), openContextMenu = _o[0], setOpenContextMenu = _o[1];
|
|
10991
|
-
var handleRightClick = function (event,
|
|
11035
|
+
var handleRightClick = function (event, tagId) {
|
|
10992
11036
|
event.preventDefault();
|
|
10993
11037
|
event.stopPropagation(); // Prevent the click event from propagating to the document
|
|
10994
|
-
if (isNumber(
|
|
10995
|
-
setViewTagForDelete(viewTags[
|
|
11038
|
+
if (isNumber(tagId)) {
|
|
11039
|
+
setViewTagForDelete(viewTags[tagId].viewTag);
|
|
10996
11040
|
}
|
|
10997
11041
|
else {
|
|
10998
11042
|
setViewTagForDelete(null);
|
|
10999
11043
|
}
|
|
11000
|
-
|
|
11044
|
+
setSelectedRowTagId(tagId);
|
|
11001
11045
|
setOpenContextMenu(true);
|
|
11002
11046
|
setContextMenuPosition({ x: event.clientX, y: event.clientY });
|
|
11003
11047
|
};
|
|
@@ -11007,14 +11051,15 @@ var Trending = function (_a) {
|
|
|
11007
11051
|
}
|
|
11008
11052
|
debounceForFetchingData.current = setTimeout(function () {
|
|
11009
11053
|
var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
11010
|
-
var tagIds, response, error_1;
|
|
11054
|
+
var viewTagsArr, tagIds, response, error_1;
|
|
11011
11055
|
return __generator(this, function (_a) {
|
|
11012
11056
|
switch (_a.label) {
|
|
11013
11057
|
case 0:
|
|
11014
11058
|
_a.trys.push([0, 3, , 4]);
|
|
11015
11059
|
setLoading(true);
|
|
11016
|
-
|
|
11017
|
-
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];
|
|
11018
11063
|
return [4 /*yield*/, axios.post("/series?nodeName=null", {
|
|
11019
11064
|
start: state.timeScopeStart.getTime(),
|
|
11020
11065
|
end: state.timeScopeEnd.getTime(),
|
|
@@ -11039,6 +11084,11 @@ var Trending = function (_a) {
|
|
|
11039
11084
|
}); };
|
|
11040
11085
|
fetchData();
|
|
11041
11086
|
}, 800);
|
|
11087
|
+
return function () {
|
|
11088
|
+
if (debounceForFetchingData.current) {
|
|
11089
|
+
clearTimeout(debounceForFetchingData.current);
|
|
11090
|
+
}
|
|
11091
|
+
};
|
|
11042
11092
|
}, [shouldRefetchSeries]);
|
|
11043
11093
|
return (React__default.createElement(React__default.Fragment, null,
|
|
11044
11094
|
React__default.createElement(Grid$1, { container: true, style: { width: "95svw", height: "88svh", margin: 0 }, onClick: function () { return setOpenContextMenu(false); } },
|
|
@@ -11069,7 +11119,7 @@ var Trending = function (_a) {
|
|
|
11069
11119
|
zIndex: 2
|
|
11070
11120
|
} },
|
|
11071
11121
|
React__default.createElement(CircularProgress$1, { size: "2rem" }))),
|
|
11072
|
-
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 }))),
|
|
11073
11123
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); }, title: "ERROR" })));
|
|
11074
11124
|
};
|
|
11075
11125
|
|
|
@@ -11101,12 +11151,16 @@ var TrendingsPage = function (props) {
|
|
|
11101
11151
|
case 2:
|
|
11102
11152
|
viewTagsResp = _a.sent();
|
|
11103
11153
|
if (viewTagsResp.ok) {
|
|
11104
|
-
viewTags = viewTagsResp.data.tables[0].rows.
|
|
11105
|
-
if (isNil$1(
|
|
11106
|
-
|
|
11154
|
+
viewTags = viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
|
|
11155
|
+
if (isNil$1(curr.Color)) {
|
|
11156
|
+
curr.Color = getRandomColor();
|
|
11107
11157
|
}
|
|
11108
|
-
|
|
11109
|
-
|
|
11158
|
+
carr[curr.TagId] = {
|
|
11159
|
+
viewTag: curr,
|
|
11160
|
+
order: idx
|
|
11161
|
+
};
|
|
11162
|
+
return carr;
|
|
11163
|
+
}, {});
|
|
11110
11164
|
setViewTagsAndRefetch(viewTags);
|
|
11111
11165
|
}
|
|
11112
11166
|
else {
|
|
@@ -11355,5 +11409,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
|
|
|
11355
11409
|
AreaSelector: AreaSelector
|
|
11356
11410
|
});
|
|
11357
11411
|
|
|
11358
|
-
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, 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 };
|
|
11359
11413
|
//# sourceMappingURL=index.esm.js.map
|