@dexteel/mesf-core 4.12.0 → 4.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release-please.yml +24 -0
- package/CHANGELOG.md +41 -0
- package/dist/configuration/pages/asset/models/AssetCode.d.ts +1 -0
- package/dist/controls/filters/dialogFilter.d.ts +1 -10
- package/dist/controls/filters/filters.d.ts +4 -1
- package/dist/index.esm.js +965 -865
- package/dist/index.esm.js.map +1 -1
- package/dist/models/Asset.d.ts +1 -0
- package/dist/pages/trendings/components/chart/TableComponent.d.ts +3 -3
- package/dist/pages/trendings/components/chart/hooks/useTagsDataTable.d.ts +3 -3
- package/dist/pages/trendings/components/chart/models/TrendingModels.d.ts +6 -0
- package/dist/pages/trendings/reducers/trendings.reducer.d.ts +8 -8
- package/dist/services/TimeService.d.ts +2 -0
- package/package.json +2 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { LicenseManager } from 'ag-grid-enterprise';
|
|
2
|
-
import { Typography, TextField, makeStyles as makeStyles$1, Button as Button$1, Grid as Grid$1, Dialog as Dialog$1, DialogTitle as DialogTitle$2, DialogContent as DialogContent$2, DialogContentText, DialogActions as DialogActions$2, FormHelperText, CircularProgress as CircularProgress$1, Badge, FormControlLabel,
|
|
3
|
-
import { values, get, isNil as isNil$1, isEmpty,
|
|
2
|
+
import { Typography, Checkbox, 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, 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';
|
|
@@ -275,6 +276,20 @@ BarChartControl.propTypes = {
|
|
|
275
276
|
keys: PropTypes.array
|
|
276
277
|
};
|
|
277
278
|
|
|
279
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
280
|
+
|
|
281
|
+
var css$2 = ".lds-ring {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 64px;\n height: 64px;\n margin: 8px;\n border: 5px solid rgb(63,81,181);\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: rgb(63,81,181) transparent transparent transparent;\n}\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n";
|
|
282
|
+
n(css$2,{});
|
|
283
|
+
|
|
284
|
+
var LazyLoading = function () {
|
|
285
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
286
|
+
React__default.createElement("div", { className: "lds-ring" },
|
|
287
|
+
React__default.createElement("div", null),
|
|
288
|
+
React__default.createElement("div", null),
|
|
289
|
+
React__default.createElement("div", null),
|
|
290
|
+
React__default.createElement("div", null))));
|
|
291
|
+
};
|
|
292
|
+
|
|
278
293
|
/**********************MATERIAL UI STYLES********************** */
|
|
279
294
|
/*************************************************************** */
|
|
280
295
|
function MinusSquare(props) {
|
|
@@ -312,13 +327,17 @@ var StyledTreeItem = withStyles(function (theme) { return ({
|
|
|
312
327
|
marginLeft: 7,
|
|
313
328
|
paddingLeft: 18,
|
|
314
329
|
borderLeft: "1px dashed ".concat(alpha(theme.palette.text.primary, 0.4))
|
|
330
|
+
},
|
|
331
|
+
label: {
|
|
332
|
+
backgroundColor: function (props) {
|
|
333
|
+
return props.isChecked ? "lightblue !important" : "inherit";
|
|
334
|
+
}
|
|
315
335
|
}
|
|
316
336
|
}); })(function (props) { return (React__default.createElement(TreeItem, __assign({}, props, { TransitionComponent: TransitionComponent }))); });
|
|
317
337
|
var useTreviewStyle = makeStyles(function (theme) { return ({
|
|
318
338
|
root: {
|
|
319
339
|
"min-height": 264,
|
|
320
|
-
flexGrow: 1
|
|
321
|
-
maxWidth: 400
|
|
340
|
+
flexGrow: 1
|
|
322
341
|
},
|
|
323
342
|
treLabelIcon: {
|
|
324
343
|
marginRight: theme.spacing(1)
|
|
@@ -335,13 +354,17 @@ var useTreviewStyle = makeStyles(function (theme) { return ({
|
|
|
335
354
|
treeLabelInactive: {
|
|
336
355
|
textDecoration: "line-through",
|
|
337
356
|
textDecorationColor: "red"
|
|
357
|
+
},
|
|
358
|
+
smallCheckbox: {
|
|
359
|
+
transform: 'scale(0.8)'
|
|
338
360
|
}
|
|
339
361
|
}); });
|
|
340
362
|
var ModalTreeFilterControl = function (props) {
|
|
341
|
-
var onClose = props.onClose, valueProp = props.value, open = props.open, title = props.title, data = props.data, selectBranch = props.selectBranch, selectActive = props.selectActive, selectInternal = props.selectInternal, other = __rest(props, ["onClose", "value", "open", "title", "data", "selectBranch", "selectActive", "selectInternal"]);
|
|
363
|
+
var onClose = props.onClose, valueProp = props.value, open = props.open, title = props.title, data = props.data, selectBranch = props.selectBranch, selectActive = props.selectActive, selectInternal = props.selectInternal, multipleSelectNodes = props.multipleSelectNodes, onHide = props.onHide, listAssetDrawings = props.listAssetDrawings, setListAssetDrawings = props.setListAssetDrawings, onSuccess = props.onSuccess, isLoading = props.isLoading, other = __rest(props, ["onClose", "value", "open", "title", "data", "selectBranch", "selectActive", "selectInternal", "multipleSelectNodes", "onHide", "listAssetDrawings", "setListAssetDrawings", "onSuccess", "isLoading"]);
|
|
342
364
|
var _a = useState(valueProp), value = _a[0], setValue = _a[1];
|
|
343
365
|
var _b = useState([]), expanded = _b[0], setExpanded = _b[1];
|
|
344
366
|
var treeRef = useRef(null);
|
|
367
|
+
var _c = useState([]), selectedNodes = _c[0], setSelectedNodes = _c[1];
|
|
345
368
|
useEffect(function () {
|
|
346
369
|
if (!open) {
|
|
347
370
|
setValue(valueProp);
|
|
@@ -358,6 +381,7 @@ var ModalTreeFilterControl = function (props) {
|
|
|
358
381
|
};
|
|
359
382
|
var handleCancel = function () {
|
|
360
383
|
onClose();
|
|
384
|
+
onHide(false);
|
|
361
385
|
};
|
|
362
386
|
var handleOk = function () {
|
|
363
387
|
var findNode = getNodeData(data, parseInt(value));
|
|
@@ -367,12 +391,16 @@ var ModalTreeFilterControl = function (props) {
|
|
|
367
391
|
var internalFilter = (selectInternal && findNode.isInternal) || selectInternal !== true;
|
|
368
392
|
var branchFilter = selectBranch && !findNode.isLeaf;
|
|
369
393
|
if (findNode.isLeaf) {
|
|
370
|
-
if (activeFilter && internalFilter)
|
|
394
|
+
if (activeFilter && internalFilter) {
|
|
371
395
|
onClose(value, findNode.name, findNode);
|
|
396
|
+
onSuccess(true);
|
|
397
|
+
}
|
|
372
398
|
}
|
|
373
399
|
else {
|
|
374
|
-
if (branchFilter)
|
|
400
|
+
if (branchFilter) {
|
|
375
401
|
onClose(value, findNode.name, findNode);
|
|
402
|
+
onSuccess(true);
|
|
403
|
+
}
|
|
376
404
|
}
|
|
377
405
|
};
|
|
378
406
|
var handleKeyDown = function (event) {
|
|
@@ -380,6 +408,9 @@ var ModalTreeFilterControl = function (props) {
|
|
|
380
408
|
onClose();
|
|
381
409
|
}
|
|
382
410
|
};
|
|
411
|
+
var handleCheckboxClick = function (event) {
|
|
412
|
+
event.stopPropagation();
|
|
413
|
+
};
|
|
383
414
|
var getNodeParent = function (node, id, chain) {
|
|
384
415
|
if (chain === void 0) { chain = []; }
|
|
385
416
|
if (!node || node.id === undefined) {
|
|
@@ -427,9 +458,32 @@ var ModalTreeFilterControl = function (props) {
|
|
|
427
458
|
return null;
|
|
428
459
|
};
|
|
429
460
|
var classes = useTreviewStyle();
|
|
461
|
+
var handleCheckboxChange = function (node) {
|
|
462
|
+
if (node) {
|
|
463
|
+
var isSelected = selectedNodes.includes(node.id);
|
|
464
|
+
var updatedSelectedNodes = void 0;
|
|
465
|
+
if (isSelected) {
|
|
466
|
+
updatedSelectedNodes = selectedNodes.filter(function (id) { return id !== node.id; });
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
updatedSelectedNodes = __spreadArray(__spreadArray([], selectedNodes, true), [node.id], false);
|
|
470
|
+
}
|
|
471
|
+
setSelectedNodes(updatedSelectedNodes);
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
useEffect(function () {
|
|
475
|
+
if ((selectedNodes === null || selectedNodes === void 0 ? void 0 : selectedNodes.length) >= 1 && setListAssetDrawings) {
|
|
476
|
+
setListAssetDrawings(selectedNodes);
|
|
477
|
+
}
|
|
478
|
+
}, [selectedNodes]);
|
|
479
|
+
useEffect(function () {
|
|
480
|
+
if ((listAssetDrawings === null || listAssetDrawings === void 0 ? void 0 : listAssetDrawings.length) >= 1) {
|
|
481
|
+
setSelectedNodes(listAssetDrawings);
|
|
482
|
+
}
|
|
483
|
+
}, [listAssetDrawings]);
|
|
430
484
|
var renderTree = function (nodes) { return (
|
|
431
485
|
/* @ts-ignore */
|
|
432
|
-
React__default.createElement(StyledTreeItem, { key: nodes.id, nodeId: nodes.id.toString(), label: React__default.createElement("div", { className: classes.treeLabelRoot },
|
|
486
|
+
React__default.createElement(StyledTreeItem, { isChecked: selectedNodes.includes(nodes.id), key: nodes.id, nodeId: nodes.id.toString(), label: React__default.createElement("div", { className: classes.treeLabelRoot },
|
|
433
487
|
nodes.isCode === true && (React__default.createElement(Code, { className: classes.treeLabelIcon, htmlColor: "#1ABC9C" })),
|
|
434
488
|
nodes.isCode === false && (React__default.createElement(FolderIcon, { className: classes.treeLabelIcon, htmlColor: "#F1C40F" })),
|
|
435
489
|
React__default.createElement(Typography, { variant: "body2", className: [
|
|
@@ -438,22 +492,24 @@ var ModalTreeFilterControl = function (props) {
|
|
|
438
492
|
].join(" ") },
|
|
439
493
|
React__default.createElement("span", null,
|
|
440
494
|
nodes.isCode && (React__default.createElement("i", { className: "fas fa-square mr-2", style: { color: nodes.delayCategoryColor || "#FFFFFF" } })),
|
|
441
|
-
nodes.name))
|
|
495
|
+
nodes.name)),
|
|
496
|
+
multipleSelectNodes &&
|
|
497
|
+
React__default.createElement(Checkbox, { className: classes.smallCheckbox, size: "small", color: "primary", checked: selectedNodes.includes(nodes.id), onChange: function () {
|
|
498
|
+
handleCheckboxChange(nodes);
|
|
499
|
+
}, onClick: handleCheckboxClick })), className: "delay-item-node", id: nodes.id, "data-isbranch": !nodes.isCode }, Array.isArray(nodes.children)
|
|
442
500
|
? nodes.children.map(function (node) { return renderTree(node); })
|
|
443
501
|
: null)); };
|
|
444
|
-
return (React__default.createElement(Dialog, __assign({ onClose: function (event, reason) { return
|
|
502
|
+
return (React__default.createElement(Dialog, __assign({ onClose: function (event, reason) { return onHide(false); }, "aria-label": title, maxWidth: "sm", TransitionProps: { onEntering: handleEntering }, "aria-labelledby": "confirmation-dialog-title", open: open }, other, { onKeyDown: handleKeyDown }),
|
|
445
503
|
React__default.createElement(DialogTitle$1, { id: "confirmation-dialog-title" }, title),
|
|
446
|
-
|
|
447
|
-
|
|
504
|
+
isLoading
|
|
505
|
+
?
|
|
506
|
+
React__default.createElement("div", { style: { width: 600, minHeight: 416, display: "flex", justifyContent: "center", alignItems: "center" } },
|
|
507
|
+
React__default.createElement(LazyLoading, null))
|
|
508
|
+
: (React__default.createElement(DialogContent$1, { dividers: true },
|
|
509
|
+
React__default.createElement(TreeView, { className: classes.root, defaultCollapseIcon: React__default.createElement(MinusSquare, null), defaultExpandIcon: React__default.createElement(PlusSquare, null), ref: treeRef, selected: value === undefined ? "" : value.toString(), expanded: expanded, onNodeSelect: handleChange, onNodeToggle: handleToogle }, data && data.id !== undefined && renderTree(data)))),
|
|
448
510
|
React__default.createElement(DialogActions$1, null,
|
|
449
511
|
React__default.createElement(Button, { autoFocus: true, onClick: handleCancel, color: "primary" }, "Cancel"),
|
|
450
512
|
React__default.createElement(Button, { onClick: handleOk, color: "primary" }, "Ok"))));
|
|
451
|
-
};
|
|
452
|
-
ModalTreeFilterControl.propTypes = {
|
|
453
|
-
onClose: PropTypes.func.isRequired,
|
|
454
|
-
open: PropTypes.bool.isRequired,
|
|
455
|
-
title: PropTypes.string.isRequired,
|
|
456
|
-
data: PropTypes.object.isRequired
|
|
457
513
|
};
|
|
458
514
|
|
|
459
515
|
var useStyles$t = makeStyles(function (theme) { return ({
|
|
@@ -468,14 +524,13 @@ var useStyles$t = makeStyles(function (theme) { return ({
|
|
|
468
524
|
},
|
|
469
525
|
paper: {
|
|
470
526
|
width: "100%",
|
|
471
|
-
maxWidth: 600,
|
|
472
527
|
maxHeight: 600
|
|
473
528
|
}
|
|
474
529
|
}); });
|
|
475
530
|
var TreePickerControl = function (props) {
|
|
476
531
|
var classes = useStyles$t();
|
|
477
|
-
var onSelect = props.onSelect, value = props.value; props.styleLabel; var dataSource = props.dataSource, _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var other = __rest(props, ["onSelect", "value", "styleLabel", "dataSource", "inputTitle", "showPath"]);
|
|
478
|
-
var
|
|
532
|
+
var onSelect = props.onSelect, value = props.value; props.styleLabel; var dataSource = props.dataSource, _a = props.inputTitle, inputTitle = _a === void 0 ? "Asset" : _a; props.showPath; var _c = props.multipleSelectNodes, multipleSelectNodes = _c === void 0 ? false : _c, showAssetTree = props.showAssetTree, onHide = props.onHide, _d = props.listAssetDrawings, listAssetDrawings = _d === void 0 ? [] : _d, onSuccess = props.onSuccess, isLoading = props.isLoading, other = __rest(props, ["onSelect", "value", "styleLabel", "dataSource", "inputTitle", "showPath", "multipleSelectNodes", "showAssetTree", "onHide", "listAssetDrawings", "onSuccess", "isLoading"]);
|
|
533
|
+
var _e = useState(false), open = _e[0], setOpen = _e[1];
|
|
479
534
|
var handleClickListItem = function (e) {
|
|
480
535
|
e.stopPropagation();
|
|
481
536
|
setOpen(true);
|
|
@@ -483,8 +538,9 @@ var TreePickerControl = function (props) {
|
|
|
483
538
|
var handleClose = function (newValue, newDescription, findNode) {
|
|
484
539
|
setOpen(false);
|
|
485
540
|
if (newValue) {
|
|
486
|
-
if (onSelect !== undefined)
|
|
541
|
+
if (onSelect !== undefined) {
|
|
487
542
|
onSelect(newValue, newDescription, findNode);
|
|
543
|
+
}
|
|
488
544
|
}
|
|
489
545
|
};
|
|
490
546
|
var formatDescription = function (description) {
|
|
@@ -517,27 +573,35 @@ var TreePickerControl = function (props) {
|
|
|
517
573
|
}
|
|
518
574
|
};
|
|
519
575
|
var description = useMemo(function () { return formatDescription(props.description); }, [props.description]);
|
|
576
|
+
useEffect(function () {
|
|
577
|
+
if (showAssetTree) {
|
|
578
|
+
setOpen(showAssetTree);
|
|
579
|
+
}
|
|
580
|
+
}, []);
|
|
520
581
|
return (React__default.createElement(Grid, { container: true, className: classes.root },
|
|
521
|
-
|
|
522
|
-
React__default.createElement(Grid, { item: true, style: { position: "relative",
|
|
523
|
-
React__default.createElement(
|
|
524
|
-
|
|
582
|
+
!showAssetTree ?
|
|
583
|
+
React__default.createElement(Grid, { container: true, item: true, md: 12, xs: 12, style: { position: "relative" }, title: props.description },
|
|
584
|
+
React__default.createElement(Grid, { item: true, style: { position: "relative", width: "100%" } },
|
|
585
|
+
React__default.createElement(TextField, { id: "treePickerTextField", label: inputTitle, variant: "outlined", value: description, margin: "dense", autoComplete: "off", fullWidth: true, disabled: true }),
|
|
586
|
+
React__default.createElement(AccountTreeIcon, { style: {
|
|
587
|
+
position: "absolute",
|
|
588
|
+
right: 15,
|
|
589
|
+
top: 16,
|
|
590
|
+
cursor: "pointer"
|
|
591
|
+
} })),
|
|
592
|
+
React__default.createElement("div", { style: {
|
|
525
593
|
position: "absolute",
|
|
526
|
-
|
|
527
|
-
|
|
594
|
+
top: 0,
|
|
595
|
+
bottom: 0,
|
|
596
|
+
left: 0,
|
|
597
|
+
right: 0,
|
|
528
598
|
cursor: "pointer"
|
|
529
|
-
} }))
|
|
530
|
-
React__default.createElement("div",
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
right: 0,
|
|
536
|
-
cursor: "pointer"
|
|
537
|
-
}, onClick: handleClickListItem })),
|
|
538
|
-
React__default.createElement(ModalTreeFilterControl, __assign({ classes: {
|
|
539
|
-
paper: classes.paper
|
|
540
|
-
}, id: "modal-treeview-filter", title: props.title, keepMounted: true, open: open, onClose: handleClose, value: value, data: dataSource, onBackdropClick: function () { return setOpen(false); } }, other))));
|
|
599
|
+
}, onClick: handleClickListItem }))
|
|
600
|
+
: React__default.createElement("div", null),
|
|
601
|
+
React__default.createElement(Grid, { item: true, xs: 12, md: 12 },
|
|
602
|
+
React__default.createElement(ModalTreeFilterControl, __assign({ classes: {
|
|
603
|
+
paper: classes.paper
|
|
604
|
+
}, onHide: onHide, id: "modal-treeview-filter", title: props.title, keepMounted: true, open: open, onClose: handleClose, isLoading: isLoading, value: value, data: dataSource, onBackdropClick: function () { return setOpen(false); }, multipleSelectNodes: multipleSelectNodes, listAssetDrawings: listAssetDrawings, setListAssetDrawings: listAssetDrawings, onSuccess: onSuccess }, other)))));
|
|
541
605
|
};
|
|
542
606
|
var SimpleTextControl = /** @class */ (function (_super) {
|
|
543
607
|
__extends(SimpleTextControl, _super);
|
|
@@ -1051,20 +1115,6 @@ var Alert = function (props) {
|
|
|
1051
1115
|
return React__default.createElement(Alert$2, __assign({ elevation: 6, variant: "filled" }, props));
|
|
1052
1116
|
};
|
|
1053
1117
|
|
|
1054
|
-
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
1055
|
-
|
|
1056
|
-
var css$2 = ".lds-ring {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n.lds-ring div {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 64px;\n height: 64px;\n margin: 8px;\n border: 5px solid rgb(63,81,181);\n border-radius: 50%;\n animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: rgb(63,81,181) transparent transparent transparent;\n}\n.lds-ring div:nth-child(1) {\n animation-delay: -0.45s;\n}\n.lds-ring div:nth-child(2) {\n animation-delay: -0.3s;\n}\n.lds-ring div:nth-child(3) {\n animation-delay: -0.15s;\n}\n@keyframes lds-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n";
|
|
1057
|
-
n(css$2,{});
|
|
1058
|
-
|
|
1059
|
-
var LazyLoading = function () {
|
|
1060
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
1061
|
-
React__default.createElement("div", { className: "lds-ring" },
|
|
1062
|
-
React__default.createElement("div", null),
|
|
1063
|
-
React__default.createElement("div", null),
|
|
1064
|
-
React__default.createElement("div", null),
|
|
1065
|
-
React__default.createElement("div", null))));
|
|
1066
|
-
};
|
|
1067
|
-
|
|
1068
1118
|
var useStyles$s = makeStyles$1(function (theme) { return ({
|
|
1069
1119
|
buttons: {
|
|
1070
1120
|
opacity: 0,
|
|
@@ -4622,7 +4672,6 @@ var AssetReducer = createSlice({
|
|
|
4622
4672
|
var payload = _a.payload;
|
|
4623
4673
|
state.areasList = payload;
|
|
4624
4674
|
},
|
|
4625
|
-
// ===========================
|
|
4626
4675
|
setAllAssets: function (state, _a) {
|
|
4627
4676
|
var payload = _a.payload;
|
|
4628
4677
|
state.allAssets = payload;
|
|
@@ -4704,28 +4753,29 @@ var useAssetCodes = function () {
|
|
|
4704
4753
|
}
|
|
4705
4754
|
// Use our mapping to locate the parent element in our data array
|
|
4706
4755
|
var parentEl = nodes[idMapping[el.parentId]];
|
|
4756
|
+
// Handle the case where the element has no parent
|
|
4757
|
+
if (!parentEl) {
|
|
4758
|
+
console.log(el);
|
|
4759
|
+
return;
|
|
4760
|
+
}
|
|
4707
4761
|
// Add our current el to its parent's `children` array
|
|
4708
|
-
|
|
4762
|
+
if (!parentEl['children']) {
|
|
4763
|
+
parentEl['children'] = [];
|
|
4764
|
+
}
|
|
4765
|
+
parentEl['children'] = __spreadArray(__spreadArray([], (parentEl['children'] || []), true), [el], false);
|
|
4709
4766
|
});
|
|
4710
4767
|
setAssetCodes(root);
|
|
4711
4768
|
};
|
|
4712
4769
|
var loadFilterAssets = function () {
|
|
4713
|
-
var
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4722
|
-
id: data.AssetId,
|
|
4723
|
-
parentId: data.ParentAssetId,
|
|
4724
|
-
name: data.AssetName,
|
|
4725
|
-
isLeaf: data.isLeaf,
|
|
4726
|
-
isActive: true
|
|
4727
|
-
};
|
|
4728
|
-
return model;
|
|
4770
|
+
var nodes = allAssets.map(function (el) { return ({
|
|
4771
|
+
id: el.AssetId,
|
|
4772
|
+
parentId: el.ParentAssetId,
|
|
4773
|
+
name: el.AssetName,
|
|
4774
|
+
isLeaf: !!el.IsLeaf,
|
|
4775
|
+
isActive: true,
|
|
4776
|
+
children: []
|
|
4777
|
+
}); });
|
|
4778
|
+
buildTreeAssets(nodes);
|
|
4729
4779
|
};
|
|
4730
4780
|
return { loadFilterAssets: loadFilterAssets };
|
|
4731
4781
|
};
|
|
@@ -7317,6 +7367,7 @@ var TimeService = /** @class */ (function () {
|
|
|
7317
7367
|
else {
|
|
7318
7368
|
this.timeZone = timeZone;
|
|
7319
7369
|
}
|
|
7370
|
+
moment$1.tz.setDefault(this.timeZone);
|
|
7320
7371
|
};
|
|
7321
7372
|
TimeService.prototype.toUTC = function (datetime, format$1) {
|
|
7322
7373
|
try {
|
|
@@ -7355,6 +7406,7 @@ var TimeService = /** @class */ (function () {
|
|
|
7355
7406
|
};
|
|
7356
7407
|
return TimeService;
|
|
7357
7408
|
}());
|
|
7409
|
+
var getMomentTz = function () { return moment$1; };
|
|
7358
7410
|
var dxtServerTimeZone = function () { return TimeService.getInstance().getServerTimeZone; };
|
|
7359
7411
|
var dxtToUTC = TimeService.getInstance().toUTC;
|
|
7360
7412
|
var dxtToLocalServerTime = TimeService.getInstance().toLocalServerTime;
|
|
@@ -8428,7 +8480,7 @@ var TrendingsInitialState = {
|
|
|
8428
8480
|
}
|
|
8429
8481
|
],
|
|
8430
8482
|
viewSelected: null,
|
|
8431
|
-
viewTags:
|
|
8483
|
+
viewTags: {},
|
|
8432
8484
|
shouldRefetchSeries: 1
|
|
8433
8485
|
};
|
|
8434
8486
|
var TrendingsReducer = createSlice({
|
|
@@ -8589,7 +8641,12 @@ var TrendingsReducer = createSlice({
|
|
|
8589
8641
|
},
|
|
8590
8642
|
setViewTagsAndRefetch: function (state, _a) {
|
|
8591
8643
|
var payload = _a.payload;
|
|
8592
|
-
|
|
8644
|
+
var newTags = structuredClone(payload);
|
|
8645
|
+
__spreadArray([], Object.values(payload), true).sort(function (a, b) { return b.order - a.order; })
|
|
8646
|
+
.forEach(function (vtMap, idx) {
|
|
8647
|
+
newTags[vtMap.viewTag.TagId]['order'] = idx;
|
|
8648
|
+
});
|
|
8649
|
+
state.viewTags = newTags;
|
|
8593
8650
|
state.shouldRefetchSeries += 1;
|
|
8594
8651
|
},
|
|
8595
8652
|
setGraphShouldUpdate: function (state) {
|
|
@@ -8763,6 +8820,13 @@ var ColorPicker = function (_a) {
|
|
|
8763
8820
|
} })); })))));
|
|
8764
8821
|
};
|
|
8765
8822
|
|
|
8823
|
+
var ButtonWithLoading = function (_a) {
|
|
8824
|
+
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
8825
|
+
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
8826
|
+
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
8827
|
+
children));
|
|
8828
|
+
};
|
|
8829
|
+
|
|
8766
8830
|
var getIhPath = function () { return localStorage.getItem('ihPath') || "[mssql2022].[IH_100020].[ih]"; };
|
|
8767
8831
|
//tags
|
|
8768
8832
|
var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -8965,861 +9029,863 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
|
|
|
8965
9029
|
});
|
|
8966
9030
|
}); };
|
|
8967
9031
|
|
|
8968
|
-
var
|
|
8969
|
-
|
|
8970
|
-
width: '25px',
|
|
8971
|
-
height: '25px',
|
|
8972
|
-
color: "white",
|
|
8973
|
-
display: 'flex',
|
|
8974
|
-
justifyContent: 'center',
|
|
8975
|
-
alignItems: 'center',
|
|
8976
|
-
cursor: 'pointer',
|
|
8977
|
-
border: "1px black solid"
|
|
8978
|
-
},
|
|
8979
|
-
root: {
|
|
8980
|
-
alignItems: "center",
|
|
8981
|
-
display: "flex",
|
|
8982
|
-
height: "32px"
|
|
8983
|
-
},
|
|
8984
|
-
customNodeRoot: {
|
|
8985
|
-
listStyleType: "none",
|
|
8986
|
-
margin: 0,
|
|
8987
|
-
padding: 0,
|
|
8988
|
-
'&:hover': {
|
|
8989
|
-
backgroundColor: "#f2f2f2"
|
|
8990
|
-
}
|
|
8991
|
-
},
|
|
8992
|
-
arrow: {
|
|
8993
|
-
alignItems: "center",
|
|
8994
|
-
cursor: "pointer",
|
|
8995
|
-
display: "flex",
|
|
8996
|
-
height: "24px",
|
|
8997
|
-
justifyContent: "center",
|
|
8998
|
-
width: "24px",
|
|
8999
|
-
transition: "transform linear 0.1s",
|
|
9000
|
-
transform: "rotate(0deg)"
|
|
9001
|
-
},
|
|
9002
|
-
"arrow > div": {
|
|
9032
|
+
var useTrendingStyles = makeStyles$1(function (theme) { return ({
|
|
9033
|
+
datetimePicker: {
|
|
9003
9034
|
alignItems: "center",
|
|
9004
|
-
|
|
9005
|
-
|
|
9006
|
-
|
|
9007
|
-
|
|
9008
|
-
|
|
9009
|
-
|
|
9010
|
-
|
|
9011
|
-
|
|
9012
|
-
|
|
9013
|
-
|
|
9014
|
-
|
|
9015
|
-
|
|
9016
|
-
|
|
9035
|
+
"& .MuiInputBase-root": {
|
|
9036
|
+
color: "black",
|
|
9037
|
+
backgroundColor: "white",
|
|
9038
|
+
borderRadius: theme.shape.borderRadius,
|
|
9039
|
+
width: "90%",
|
|
9040
|
+
minWidth: "90%",
|
|
9041
|
+
maxWidth: "90%"
|
|
9042
|
+
},
|
|
9043
|
+
"& .MuiInputBase-input": {
|
|
9044
|
+
fontSize: "13px !important",
|
|
9045
|
+
height: "15px !important",
|
|
9046
|
+
paddingRight: "3px",
|
|
9047
|
+
paddingLeft: "3px"
|
|
9048
|
+
},
|
|
9049
|
+
"& .MuiInput-underline:before": {
|
|
9050
|
+
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9051
|
+
},
|
|
9052
|
+
padding: 0
|
|
9017
9053
|
},
|
|
9018
|
-
|
|
9019
|
-
|
|
9054
|
+
select: {
|
|
9055
|
+
"& .MuiInput-root": {
|
|
9056
|
+
width: "100%"
|
|
9057
|
+
},
|
|
9058
|
+
"& .MuiInputBase-root": {
|
|
9059
|
+
color: "black",
|
|
9060
|
+
backgroundColor: "white",
|
|
9061
|
+
borderRadius: theme.shape.borderRadius,
|
|
9062
|
+
minWidth: "100%"
|
|
9063
|
+
},
|
|
9064
|
+
"& .MuiInputBase-input": {
|
|
9065
|
+
fontSize: "14px !important",
|
|
9066
|
+
height: "15px !important"
|
|
9067
|
+
},
|
|
9068
|
+
"& .MuiInput-underline:before": {
|
|
9069
|
+
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9070
|
+
},
|
|
9071
|
+
padding: 0
|
|
9020
9072
|
},
|
|
9021
|
-
|
|
9022
|
-
|
|
9023
|
-
|
|
9024
|
-
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
flexDirection: "column"
|
|
9073
|
+
labelOptions: {
|
|
9074
|
+
paddingLeft: "2rem",
|
|
9075
|
+
userSelect: "none",
|
|
9076
|
+
"& > label": {
|
|
9077
|
+
display: "flex",
|
|
9078
|
+
alignItems: "center",
|
|
9079
|
+
gap: "5px"
|
|
9080
|
+
},
|
|
9081
|
+
'& input[type="checkbox"]': {
|
|
9082
|
+
zoom: 1.5
|
|
9083
|
+
}
|
|
9033
9084
|
},
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9085
|
+
isPublicCheckbox: {
|
|
9086
|
+
userSelect: "none",
|
|
9087
|
+
paddingLeft: '1rem',
|
|
9088
|
+
"& > label": {
|
|
9089
|
+
display: "flex",
|
|
9090
|
+
alignItems: "center",
|
|
9091
|
+
gap: "15px"
|
|
9092
|
+
},
|
|
9093
|
+
'& input[type="checkbox"]': {
|
|
9094
|
+
zoom: 1.5
|
|
9095
|
+
}
|
|
9039
9096
|
},
|
|
9040
|
-
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9097
|
+
navigatorButton: {
|
|
9098
|
+
"& .MuiSvgIcon-root": {
|
|
9099
|
+
cursor: "pointer !important",
|
|
9100
|
+
height: '24px',
|
|
9101
|
+
width: '24px',
|
|
9102
|
+
'& svg': {
|
|
9103
|
+
// Adjust the icon size as well
|
|
9104
|
+
fontSize: '1.5rem'
|
|
9105
|
+
}
|
|
9106
|
+
},
|
|
9107
|
+
color: 'black'
|
|
9044
9108
|
},
|
|
9045
|
-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9109
|
+
iconContainer: {
|
|
9110
|
+
display: 'flex',
|
|
9111
|
+
justifyContent: 'flex-end',
|
|
9112
|
+
alignItems: 'center',
|
|
9113
|
+
flex: 1
|
|
9049
9114
|
},
|
|
9050
|
-
|
|
9051
|
-
|
|
9052
|
-
|
|
9053
|
-
|
|
9054
|
-
|
|
9055
|
-
color: "#fff",
|
|
9056
|
-
display: "inline-grid",
|
|
9057
|
-
fontSize: "14px",
|
|
9058
|
-
gap: "8px",
|
|
9059
|
-
gridTemplateColumns: "auto auto",
|
|
9060
|
-
padding: "4px 8px",
|
|
9061
|
-
pointerEvents: "none"
|
|
9115
|
+
optionContainer: {
|
|
9116
|
+
display: 'flex',
|
|
9117
|
+
justifyContent: 'flex-start',
|
|
9118
|
+
alignItems: 'center',
|
|
9119
|
+
width: '100%'
|
|
9062
9120
|
},
|
|
9063
|
-
|
|
9064
|
-
|
|
9065
|
-
display: "flex"
|
|
9121
|
+
optionLabel: {
|
|
9122
|
+
flexGrow: 1
|
|
9066
9123
|
},
|
|
9067
|
-
|
|
9068
|
-
|
|
9069
|
-
|
|
9124
|
+
inputCustom: {
|
|
9125
|
+
color: 'rgba(0, 0, 0, 0.87)',
|
|
9126
|
+
cursor: 'text',
|
|
9127
|
+
fontSize: '0.7rem',
|
|
9128
|
+
boxSizing: 'border-box',
|
|
9129
|
+
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
|
9130
|
+
fontWeight: 400,
|
|
9131
|
+
lineHeight: 1.1876,
|
|
9132
|
+
letterSpacing: '0.00938em',
|
|
9133
|
+
'& .MuiOutlinedInput-input': {
|
|
9134
|
+
padding: '10px 10px'
|
|
9135
|
+
}
|
|
9070
9136
|
}
|
|
9071
9137
|
}); });
|
|
9072
9138
|
|
|
9073
|
-
function
|
|
9074
|
-
var
|
|
9075
|
-
|
|
9076
|
-
var tagForTree = {
|
|
9077
|
-
id: el.TagId,
|
|
9078
|
-
parent: (el.ParentTagId || 0),
|
|
9079
|
-
text: el.TagName,
|
|
9080
|
-
data: el,
|
|
9081
|
-
droppable: el.TagTypeCode === 'F'
|
|
9082
|
-
};
|
|
9083
|
-
return tagsForTree.push(tagForTree);
|
|
9084
|
-
});
|
|
9085
|
-
return tagsForTree;
|
|
9086
|
-
}
|
|
9087
|
-
|
|
9088
|
-
var CustomDragPreview = function (props) {
|
|
9089
|
-
var _a, _b, _c;
|
|
9090
|
-
var classes = useTagsTreeModalStyles();
|
|
9091
|
-
var item = props.monitorProps.item;
|
|
9092
|
-
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
9093
|
-
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
9094
|
-
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
9095
|
-
React__default.createElement("div", { className: classes.customDragLabel }, ((_b = item.data) === null || _b === void 0 ? void 0 : _b.Alias) || ((_c = item.data) === null || _c === void 0 ? void 0 : _c.TagName))));
|
|
9096
|
-
};
|
|
9097
|
-
|
|
9098
|
-
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
9099
|
-
var TagFolderCustomNode = function (_a) {
|
|
9100
|
-
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9101
|
-
var node = _a.node, _k = _a.options, depth = _k.depth, isOpen = _k.isOpen, onToggle = _k.onToggle, containerRef = _k.containerRef, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, setContextMenuOver = _a.setContextMenuOver, isSelected = _a.isSelected;
|
|
9102
|
-
var classes = useTagsTreeModalStyles();
|
|
9103
|
-
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
9104
|
-
var onClickHandler = function () {
|
|
9105
|
-
var _a;
|
|
9106
|
-
var _b;
|
|
9107
|
-
if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
|
|
9108
|
-
if (openTagFolders[node.id]) {
|
|
9109
|
-
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
9110
|
-
delete newOpenTagFolders[node.id];
|
|
9111
|
-
setOpenTagFolders(newOpenTagFolders);
|
|
9112
|
-
}
|
|
9113
|
-
else {
|
|
9114
|
-
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
9115
|
-
}
|
|
9116
|
-
onToggle();
|
|
9117
|
-
return;
|
|
9118
|
-
}
|
|
9119
|
-
if (!options.hasChild) {
|
|
9120
|
-
handleSelect(node);
|
|
9121
|
-
}
|
|
9122
|
-
};
|
|
9123
|
-
var handleContextMenu = useCallback(function (ev) {
|
|
9124
|
-
ev.stopPropagation();
|
|
9125
|
-
ev.preventDefault();
|
|
9126
|
-
setContextMenuOver(node, ev);
|
|
9127
|
-
}, [node.id, setContextMenuOver]);
|
|
9128
|
-
useEffect(function () {
|
|
9129
|
-
var _a;
|
|
9130
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
|
|
9131
|
-
return function () {
|
|
9132
|
-
var _a;
|
|
9133
|
-
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
|
|
9134
|
-
};
|
|
9135
|
-
}, []);
|
|
9136
|
-
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
9137
|
-
React__default.createElement("style", null, customStyles),
|
|
9138
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9139
|
-
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
9140
|
-
: null,
|
|
9141
|
-
React__default.createElement("div", null, options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F' ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
|
|
9142
|
-
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
|
|
9143
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9144
|
-
((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) && ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
|
|
9145
|
-
backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? "#AD48C4" : "#C46F48",
|
|
9146
|
-
margin: "0 5px"
|
|
9147
|
-
} }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
|
|
9148
|
-
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
9149
|
-
React__default.createElement(Typography, { variant: "body2" }, ((_h = node.data) === null || _h === void 0 ? void 0 : _h.Alias) || ((_j = node.data) === null || _j === void 0 ? void 0 : _j.TagName))))));
|
|
9150
|
-
};
|
|
9151
|
-
|
|
9152
|
-
var ButtonWithLoading = function (_a) {
|
|
9153
|
-
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
9154
|
-
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
9155
|
-
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
9156
|
-
children));
|
|
9157
|
-
};
|
|
9158
|
-
|
|
9159
|
-
var NewFolderModal = function (_a) {
|
|
9160
|
-
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9161
|
-
var _b = useState(), name = _b[0], setName = _b[1];
|
|
9139
|
+
var DeleteViewModal = function (_a) {
|
|
9140
|
+
var open = _a.open, handleClose = _a.handleClose, view = _a.view;
|
|
9141
|
+
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9162
9142
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9163
|
-
var
|
|
9164
|
-
|
|
9165
|
-
|
|
9166
|
-
|
|
9167
|
-
return __generator(this, function (_b) {
|
|
9168
|
-
switch (_b.label) {
|
|
9143
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9144
|
+
var resp;
|
|
9145
|
+
return __generator(this, function (_a) {
|
|
9146
|
+
switch (_a.label) {
|
|
9169
9147
|
case 0:
|
|
9170
|
-
e.preventDefault();
|
|
9171
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9172
|
-
parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
|
|
9173
9148
|
setIsLoading(true);
|
|
9174
|
-
if (
|
|
9175
|
-
return [4 /*yield*/,
|
|
9149
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9150
|
+
return [4 /*yield*/, deleteView(view.ViewId)];
|
|
9176
9151
|
case 1:
|
|
9177
|
-
resp =
|
|
9152
|
+
resp = _a.sent();
|
|
9178
9153
|
if (!resp.ok) {
|
|
9179
9154
|
setError(resp.message);
|
|
9180
9155
|
}
|
|
9181
|
-
|
|
9156
|
+
else {
|
|
9157
|
+
handleClose(true);
|
|
9158
|
+
}
|
|
9159
|
+
_a.label = 2;
|
|
9182
9160
|
case 2:
|
|
9183
|
-
handleClose(true);
|
|
9184
|
-
setName('');
|
|
9185
9161
|
setIsLoading(false);
|
|
9186
9162
|
return [2 /*return*/];
|
|
9187
9163
|
}
|
|
9188
9164
|
});
|
|
9189
9165
|
}); };
|
|
9190
9166
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9191
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9192
|
-
React__default.createElement(
|
|
9193
|
-
|
|
9194
|
-
|
|
9167
|
+
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' },
|
|
9168
|
+
React__default.createElement(Divider, null),
|
|
9169
|
+
React__default.createElement(MesfModal.Content, null, !isNil$1(view) ?
|
|
9170
|
+
(React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "2rem" } },
|
|
9171
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9172
|
+
React__default.createElement(Typography, null,
|
|
9173
|
+
"Are yu sure you want to delete ",
|
|
9174
|
+
React__default.createElement("strong", null, view === null || view === void 0 ? void 0 : view.ViewName),
|
|
9175
|
+
" ?")))) :
|
|
9176
|
+
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9177
|
+
React__default.createElement(Divider, null),
|
|
9195
9178
|
React__default.createElement(MesfModal.Actions, null,
|
|
9196
|
-
React__default.createElement(
|
|
9197
|
-
React__default.createElement(
|
|
9198
|
-
|
|
9199
|
-
React__default.createElement(
|
|
9179
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9180
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9181
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9182
|
+
React__default.createElement(Grid$1, { item: true }, !isNil$1(view) ?
|
|
9183
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'secondary', onClick: handleSubmit, isLoading: isLoading }, "Delete")
|
|
9184
|
+
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9200
9185
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9201
9186
|
};
|
|
9202
9187
|
|
|
9203
|
-
var
|
|
9204
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9205
|
-
var
|
|
9206
|
-
var
|
|
9207
|
-
var
|
|
9208
|
-
|
|
9188
|
+
var EditViewModal = function (_a) {
|
|
9189
|
+
var open = _a.open, handleClose = _a.handleClose, view = _a.view;
|
|
9190
|
+
var classes = useTrendingStyles();
|
|
9191
|
+
var _b = useState(''), newName = _b[0], setNewName = _b[1];
|
|
9192
|
+
var _c = useState(true), isPublic = _c[0], setIsPublic = _c[1];
|
|
9193
|
+
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
9194
|
+
var _e = useState(''), error = _e[0], setError = _e[1];
|
|
9195
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9196
|
+
var resp;
|
|
9209
9197
|
return __generator(this, function (_a) {
|
|
9210
9198
|
switch (_a.label) {
|
|
9211
9199
|
case 0:
|
|
9212
|
-
e.preventDefault();
|
|
9213
|
-
if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
|
|
9214
|
-
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9215
|
-
name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
|
|
9216
|
-
id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
|
|
9217
|
-
resp = void 0;
|
|
9218
9200
|
setIsLoading(true);
|
|
9219
|
-
if (
|
|
9220
|
-
return [4 /*yield*/,
|
|
9201
|
+
if (!!isNil$1(view)) return [3 /*break*/, 2];
|
|
9202
|
+
return [4 /*yield*/, upsertView(view.ViewId, newName, isPublic)];
|
|
9221
9203
|
case 1:
|
|
9222
9204
|
resp = _a.sent();
|
|
9223
9205
|
if (!resp.ok) {
|
|
9224
9206
|
setError(resp.message);
|
|
9225
9207
|
}
|
|
9226
|
-
|
|
9227
|
-
|
|
9228
|
-
case 3:
|
|
9229
|
-
resp = _a.sent();
|
|
9230
|
-
_a.label = 4;
|
|
9231
|
-
case 4:
|
|
9232
|
-
if (!resp.ok) {
|
|
9233
|
-
setError(resp.message);
|
|
9208
|
+
else {
|
|
9209
|
+
handleClose(true);
|
|
9234
9210
|
}
|
|
9235
|
-
_a.label =
|
|
9236
|
-
case
|
|
9237
|
-
handleClose(true);
|
|
9211
|
+
_a.label = 2;
|
|
9212
|
+
case 2:
|
|
9238
9213
|
setIsLoading(false);
|
|
9239
9214
|
return [2 /*return*/];
|
|
9240
9215
|
}
|
|
9241
9216
|
});
|
|
9242
9217
|
}); };
|
|
9218
|
+
var handleChangeInput = function (e) {
|
|
9219
|
+
e.preventDefault();
|
|
9220
|
+
var name = e.target.value;
|
|
9221
|
+
setNewName(name);
|
|
9222
|
+
};
|
|
9223
|
+
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9224
|
+
useEffect(function () {
|
|
9225
|
+
if (view) {
|
|
9226
|
+
setIsPublic(view.IsPublic);
|
|
9227
|
+
setNewName(view.ViewName);
|
|
9228
|
+
}
|
|
9229
|
+
}, [view]);
|
|
9243
9230
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9244
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9245
|
-
React__default.createElement(
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
React__default.createElement(
|
|
9250
|
-
|
|
9231
|
+
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' },
|
|
9232
|
+
React__default.createElement(Divider, null),
|
|
9233
|
+
React__default.createElement(MesfModal.Content, null, !isNil$1(view) ?
|
|
9234
|
+
(React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "2rem" } },
|
|
9235
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9236
|
+
React__default.createElement(TextField, { required: true, className: classes.inputCustom, id: "viewName", label: "Name", variant: "outlined", onChange: handleChangeInput, value: newName })),
|
|
9237
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9238
|
+
React__default.createElement("label", null,
|
|
9239
|
+
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck }),
|
|
9240
|
+
React__default.createElement(Typography, null, "Public"))))) :
|
|
9241
|
+
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9242
|
+
React__default.createElement(Divider, null),
|
|
9251
9243
|
React__default.createElement(MesfModal.Actions, null,
|
|
9252
|
-
React__default.createElement(
|
|
9253
|
-
React__default.createElement(
|
|
9254
|
-
|
|
9255
|
-
React__default.createElement(
|
|
9244
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9245
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9246
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9247
|
+
React__default.createElement(Grid$1, { item: true }, !isNil$1(view) ?
|
|
9248
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Update")
|
|
9249
|
+
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9256
9250
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9257
9251
|
};
|
|
9258
9252
|
|
|
9259
|
-
var
|
|
9260
|
-
var
|
|
9261
|
-
var
|
|
9262
|
-
var classes =
|
|
9263
|
-
var
|
|
9264
|
-
var
|
|
9265
|
-
var
|
|
9266
|
-
|
|
9267
|
-
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
getTagsTreeData();
|
|
9273
|
-
}
|
|
9274
|
-
setShowContextMenu(false);
|
|
9275
|
-
setShowNewTagModal(false);
|
|
9276
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree }),
|
|
9277
|
-
React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
|
|
9278
|
-
if (shouldUpdate) {
|
|
9279
|
-
getTagsTreeData();
|
|
9280
|
-
}
|
|
9281
|
-
setShowContextMenu(false);
|
|
9282
|
-
setShowRemoveTagModal(false);
|
|
9283
|
-
}, tagNodeSelectedInTree: tagNodeSelectedInTree })));
|
|
9284
|
-
};
|
|
9285
|
-
|
|
9286
|
-
var TagSelectionModal = function (_a) {
|
|
9287
|
-
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
9288
|
-
var classes = useTagsTreeModalStyles();
|
|
9289
|
-
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
9290
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9291
|
-
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
9292
|
-
var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
|
|
9293
|
-
var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
|
|
9294
|
-
var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
|
|
9295
|
-
var backendOffset = 1000000;
|
|
9296
|
-
var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
|
|
9297
|
-
var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
|
|
9298
|
-
useTrendingContext().state.viewTags;
|
|
9299
|
-
var handleContextMenu = function (data, e) {
|
|
9300
|
-
e.preventDefault();
|
|
9301
|
-
var top = e.clientY;
|
|
9302
|
-
var left = e.clientX;
|
|
9303
|
-
setAnchorPoint({ x: left, y: top });
|
|
9304
|
-
setSelectedNodes([data]);
|
|
9305
|
-
setShowContextMenu(true);
|
|
9306
|
-
var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
|
|
9307
|
-
if (selectedNode) {
|
|
9308
|
-
setTagNodeSelectedInTree(selectedNode);
|
|
9309
|
-
}
|
|
9310
|
-
};
|
|
9311
|
-
var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9312
|
-
var tagsTree, rows, tree;
|
|
9253
|
+
var LoadViewModal = function (_a) {
|
|
9254
|
+
var open = _a.open, handleClose = _a.handleClose, getTagsFromAPI = _a.getTagsFromAPI;
|
|
9255
|
+
var _b = useTrendingContext(), _c = _b.state, views = _c.views, viewSelected = _c.viewSelected, _d = _b.actions; _d.setViews; var setViewTagsAndRefetch = _d.setViewTagsAndRefetch, setViewSelected = _d.setViewSelected;
|
|
9256
|
+
var classes = useTrendingStyles();
|
|
9257
|
+
var _e = useState(null), viewForDelete = _e[0], setViewForDelete = _e[1];
|
|
9258
|
+
var _f = useState(null), viewForEdit = _f[0], setViewForEdit = _f[1];
|
|
9259
|
+
var _g = useState(false), deleteViewModalOpen = _g[0], setDeleteViewModalOpen = _g[1];
|
|
9260
|
+
var _h = useState(false), editViewModalOpen = _h[0], setEditViewModalOpen = _h[1];
|
|
9261
|
+
var _j = useState(false), allViewsChecked = _j[0], setAllViewsChecked = _j[1];
|
|
9262
|
+
var _k = useState(false), isLoading = _k[0], setIsLoading = _k[1];
|
|
9263
|
+
var _l = useState(''), error = _l[0], setError = _l[1];
|
|
9264
|
+
var handleSelect = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9265
|
+
var viewTagsResp;
|
|
9313
9266
|
return __generator(this, function (_a) {
|
|
9314
9267
|
switch (_a.label) {
|
|
9315
9268
|
case 0:
|
|
9316
|
-
if (!
|
|
9269
|
+
if (!viewSelected) return [3 /*break*/, 2];
|
|
9317
9270
|
setIsLoading(true);
|
|
9318
|
-
return [4 /*yield*/,
|
|
9271
|
+
return [4 /*yield*/, getViewTags(viewSelected.ViewId)];
|
|
9319
9272
|
case 1:
|
|
9320
|
-
|
|
9321
|
-
if (
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9273
|
+
viewTagsResp = _a.sent();
|
|
9274
|
+
if (viewTagsResp.ok) {
|
|
9275
|
+
setViewTagsAndRefetch(viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
|
|
9276
|
+
if (isNil$1(curr.Color)) {
|
|
9277
|
+
curr.Color = getRandomColor();
|
|
9278
|
+
}
|
|
9279
|
+
carr[curr.TagId] = {
|
|
9280
|
+
viewTag: curr,
|
|
9281
|
+
order: idx
|
|
9282
|
+
};
|
|
9283
|
+
return carr;
|
|
9284
|
+
}, {}));
|
|
9285
|
+
}
|
|
9286
|
+
else {
|
|
9287
|
+
setError(viewTagsResp.message);
|
|
9325
9288
|
}
|
|
9326
9289
|
setIsLoading(false);
|
|
9290
|
+
handleClose(false);
|
|
9327
9291
|
_a.label = 2;
|
|
9328
9292
|
case 2: return [2 /*return*/];
|
|
9329
9293
|
}
|
|
9330
9294
|
});
|
|
9331
9295
|
}); };
|
|
9332
|
-
var
|
|
9333
|
-
return
|
|
9334
|
-
|
|
9335
|
-
|
|
9336
|
-
|
|
9337
|
-
|
|
9338
|
-
|
|
9339
|
-
|
|
9340
|
-
|
|
9341
|
-
|
|
9342
|
-
|
|
9296
|
+
var handleDeleteView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9297
|
+
return __generator(this, function (_a) {
|
|
9298
|
+
e.stopPropagation();
|
|
9299
|
+
if (view.ViewId === (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) {
|
|
9300
|
+
setError('Can not delete current view');
|
|
9301
|
+
}
|
|
9302
|
+
else {
|
|
9303
|
+
setViewForDelete(view);
|
|
9304
|
+
setDeleteViewModalOpen(true);
|
|
9305
|
+
}
|
|
9306
|
+
return [2 /*return*/];
|
|
9307
|
+
});
|
|
9308
|
+
}); };
|
|
9309
|
+
var handleEditView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9310
|
+
return __generator(this, function (_a) {
|
|
9311
|
+
setViewForEdit(view);
|
|
9312
|
+
setEditViewModalOpen(true);
|
|
9313
|
+
return [2 /*return*/];
|
|
9314
|
+
});
|
|
9315
|
+
}); };
|
|
9316
|
+
var handleAllViewsCheckbox = function () {
|
|
9317
|
+
setAllViewsChecked(function (prev) { return !prev; });
|
|
9318
|
+
};
|
|
9319
|
+
var publicViews = useMemo(function () {
|
|
9320
|
+
return views.filter(function (v) { return v.IsPublic === true; });
|
|
9321
|
+
}, [views, allViewsChecked]);
|
|
9322
|
+
return (React__default.createElement("div", null,
|
|
9323
|
+
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' },
|
|
9324
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9325
|
+
React__default.createElement(Grid$1, { container: true }, views.length ? (React__default.createElement(React__default.Fragment, null,
|
|
9326
|
+
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9327
|
+
React__default.createElement("div", { className: classes.isPublicCheckbox, style: { paddingBottom: '1rem' } },
|
|
9328
|
+
React__default.createElement("label", { htmlFor: "" },
|
|
9329
|
+
React__default.createElement("input", { type: "checkbox", checked: allViewsChecked, onChange: handleAllViewsCheckbox }),
|
|
9330
|
+
React__default.createElement(Typography, null, "All Views")))),
|
|
9331
|
+
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9332
|
+
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 },
|
|
9333
|
+
React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
|
|
9334
|
+
React__default.createElement("div", { className: classes.iconContainer },
|
|
9335
|
+
option.IsPublic ? '' :
|
|
9336
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9337
|
+
React__default.createElement(Tooltip, { title: "Private", arrow: true },
|
|
9338
|
+
React__default.createElement(LockIcon, { fontSize: 'small', style: { color: 'black', height: "18px", width: '18px', cursor: 'auto' } }))),
|
|
9339
|
+
React__default.createElement(IconButton$1, { onClick: function (e) { return handleEditView(option); } },
|
|
9340
|
+
React__default.createElement(CreateIcon, { fontSize: 'small', color: 'primary', style: { height: "18px", width: '18px', cursor: 'pointer' } })),
|
|
9341
|
+
React__default.createElement(IconButton$1, { onClick: function (e) { return handleDeleteView(option, e); } },
|
|
9342
|
+
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" })); } })))) :
|
|
9343
|
+
(React__default.createElement(Typography, null, "No views detected, please add one")))),
|
|
9344
|
+
React__default.createElement(MesfModal.Actions, null,
|
|
9345
|
+
React__default.createElement("div", { style: { paddingTop: "1rem" } },
|
|
9346
|
+
React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
|
|
9347
|
+
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"))))),
|
|
9348
|
+
React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
|
|
9349
|
+
setDeleteViewModalOpen(false);
|
|
9350
|
+
if (shouldUpdate)
|
|
9351
|
+
getTagsFromAPI().then(function () { });
|
|
9352
|
+
} }),
|
|
9353
|
+
React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
|
|
9354
|
+
setEditViewModalOpen(false);
|
|
9355
|
+
if (shouldUpdate)
|
|
9356
|
+
getTagsFromAPI().then(function () { });
|
|
9357
|
+
} }),
|
|
9358
|
+
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9359
|
+
};
|
|
9360
|
+
|
|
9361
|
+
var SaveAsViewModal = function (_a) {
|
|
9362
|
+
var open = _a.open, handleClose = _a.handleClose;
|
|
9363
|
+
var classes = useTrendingStyles();
|
|
9364
|
+
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9365
|
+
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9366
|
+
var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
|
|
9367
|
+
var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
|
|
9368
|
+
var _h = useState(''), newView = _h[0], setNewView = _h[1];
|
|
9369
|
+
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9370
|
+
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9371
|
+
var resp, ViewId_1, shouldClose_1;
|
|
9372
|
+
return __generator(this, function (_a) {
|
|
9373
|
+
switch (_a.label) {
|
|
9343
9374
|
case 0:
|
|
9344
9375
|
setIsLoading(true);
|
|
9345
|
-
|
|
9346
|
-
tagId = Number(options.dragSource.id);
|
|
9347
|
-
newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
|
|
9348
|
-
if (tagId === newFolderId) {
|
|
9349
|
-
setIsLoading(false);
|
|
9350
|
-
return [2 /*return*/];
|
|
9351
|
-
}
|
|
9352
|
-
if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
|
|
9353
|
-
return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
|
|
9376
|
+
return [4 /*yield*/, upsertView(null, newView, isPublic)];
|
|
9354
9377
|
case 1:
|
|
9355
|
-
|
|
9356
|
-
if (!
|
|
9357
|
-
|
|
9358
|
-
|
|
9378
|
+
resp = _a.sent();
|
|
9379
|
+
if (!resp.ok) return [3 /*break*/, 3];
|
|
9380
|
+
ViewId_1 = resp.data.returnValue;
|
|
9381
|
+
shouldClose_1 = true;
|
|
9382
|
+
return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).map(function (_a) {
|
|
9383
|
+
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;
|
|
9384
|
+
upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
9385
|
+
.then(function (r) {
|
|
9386
|
+
if (!r.ok) {
|
|
9387
|
+
setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
|
|
9388
|
+
if (shouldClose_1) {
|
|
9389
|
+
shouldClose_1 = false;
|
|
9390
|
+
}
|
|
9391
|
+
}
|
|
9392
|
+
});
|
|
9393
|
+
}))];
|
|
9394
|
+
case 2:
|
|
9395
|
+
_a.sent();
|
|
9396
|
+
handleClose(shouldClose_1);
|
|
9359
9397
|
return [3 /*break*/, 4];
|
|
9360
|
-
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9361
9398
|
case 3:
|
|
9362
|
-
|
|
9363
|
-
|
|
9364
|
-
setError(newTree.message);
|
|
9365
|
-
}
|
|
9366
|
-
_c.label = 4;
|
|
9399
|
+
setError(resp.message);
|
|
9400
|
+
_a.label = 4;
|
|
9367
9401
|
case 4:
|
|
9368
|
-
setTagsTreeData(tree);
|
|
9369
|
-
_c.label = 5;
|
|
9370
|
-
case 5:
|
|
9371
9402
|
setIsLoading(false);
|
|
9372
9403
|
return [2 /*return*/];
|
|
9373
9404
|
}
|
|
9374
9405
|
});
|
|
9375
9406
|
}); };
|
|
9376
|
-
var handleClick = function (node) {
|
|
9377
|
-
if (node.data) {
|
|
9378
|
-
onTagSelect(node.data);
|
|
9379
|
-
}
|
|
9380
|
-
};
|
|
9381
|
-
var handleCloseContextMenu = function (e) {
|
|
9382
|
-
if (showContextMenu) {
|
|
9383
|
-
setShowContextMenu(false);
|
|
9384
|
-
}
|
|
9385
|
-
};
|
|
9386
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
9387
|
-
React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" }, onClick: handleCloseContextMenu },
|
|
9388
|
-
React__default.createElement("div", { style: { overflowY: 'auto', maxHeight: '700px' } }, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
|
|
9389
|
-
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
9390
|
-
React__default.createElement(Tree, { classes: {
|
|
9391
|
-
root: classes.assetRoot,
|
|
9392
|
-
dropTarget: classes.dropTarget
|
|
9393
|
-
}, initialOpen: expanded, tree: tagsTreeData, rootId: backendOffset, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
9394
|
-
return !selectedNodes.some(function (selectedNode) {
|
|
9395
|
-
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
9396
|
-
});
|
|
9397
|
-
}, render: function (node, options) {
|
|
9398
|
-
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
9399
|
-
return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
9400
|
-
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
9401
|
-
// <div>{monitorProps.item.data?.TagName}</div>
|
|
9402
|
-
); } }))))),
|
|
9403
|
-
React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
|
|
9404
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9405
|
-
};
|
|
9406
|
-
|
|
9407
|
-
var TagsTreeModal = function (_a) {
|
|
9408
|
-
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
9409
9407
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9410
|
-
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "
|
|
9408
|
+
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' },
|
|
9409
|
+
React__default.createElement(Divider, null),
|
|
9411
9410
|
React__default.createElement(MesfModal.Content, null,
|
|
9412
|
-
React__default.createElement(
|
|
9413
|
-
React__default.createElement(
|
|
9414
|
-
|
|
9411
|
+
React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
|
|
9412
|
+
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) {
|
|
9413
|
+
setViewSelected(val);
|
|
9414
|
+
if (val) {
|
|
9415
|
+
setNewView("");
|
|
9416
|
+
}
|
|
9417
|
+
}, onInputChange: function (event, newInputValue) {
|
|
9418
|
+
var isValueInViews = views.some(function (view) { return view.ViewName === newInputValue; });
|
|
9419
|
+
if (!isValueInViews) {
|
|
9420
|
+
setNewView(newInputValue);
|
|
9421
|
+
}
|
|
9422
|
+
}, style: { width: "100%" }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })) :
|
|
9423
|
+
(React__default.createElement(Box, null,
|
|
9424
|
+
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); }) }))))),
|
|
9425
|
+
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9426
|
+
React__default.createElement("label", null,
|
|
9427
|
+
"Public",
|
|
9428
|
+
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck })))),
|
|
9429
|
+
React__default.createElement(Divider, null),
|
|
9430
|
+
React__default.createElement(MesfModal.Actions, null,
|
|
9431
|
+
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9432
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9433
|
+
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9434
|
+
React__default.createElement(Grid$1, { item: true },
|
|
9435
|
+
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
|
|
9436
|
+
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9415
9437
|
};
|
|
9416
9438
|
|
|
9417
|
-
var
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
|
|
9425
|
-
|
|
9426
|
-
|
|
9427
|
-
},
|
|
9428
|
-
"& .MuiInputBase-input": {
|
|
9429
|
-
fontSize: "13px !important",
|
|
9430
|
-
height: "15px !important",
|
|
9431
|
-
paddingRight: "3px",
|
|
9432
|
-
paddingLeft: "3px"
|
|
9433
|
-
},
|
|
9434
|
-
"& .MuiInput-underline:before": {
|
|
9435
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9436
|
-
},
|
|
9437
|
-
padding: 0
|
|
9439
|
+
var useTagsTreeModalStyles = makeStyles$1(function (theme) { return ({
|
|
9440
|
+
dataTypeOfTree: {
|
|
9441
|
+
width: '25px',
|
|
9442
|
+
height: '25px',
|
|
9443
|
+
color: "white",
|
|
9444
|
+
display: 'flex',
|
|
9445
|
+
justifyContent: 'center',
|
|
9446
|
+
alignItems: 'center',
|
|
9447
|
+
cursor: 'pointer',
|
|
9448
|
+
border: "1px black solid"
|
|
9438
9449
|
},
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
"& .MuiInputBase-root": {
|
|
9444
|
-
color: "black",
|
|
9445
|
-
backgroundColor: "white",
|
|
9446
|
-
borderRadius: theme.shape.borderRadius,
|
|
9447
|
-
minWidth: "100%"
|
|
9448
|
-
},
|
|
9449
|
-
"& .MuiInputBase-input": {
|
|
9450
|
-
fontSize: "14px !important",
|
|
9451
|
-
height: "15px !important"
|
|
9452
|
-
},
|
|
9453
|
-
"& .MuiInput-underline:before": {
|
|
9454
|
-
borderBottomColor: "rgba(0, 0, 0, 0.42)"
|
|
9455
|
-
},
|
|
9456
|
-
padding: 0
|
|
9450
|
+
root: {
|
|
9451
|
+
alignItems: "center",
|
|
9452
|
+
display: "flex",
|
|
9453
|
+
height: "32px"
|
|
9457
9454
|
},
|
|
9458
|
-
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9462
|
-
|
|
9463
|
-
|
|
9464
|
-
gap: "5px"
|
|
9465
|
-
},
|
|
9466
|
-
'& input[type="checkbox"]': {
|
|
9467
|
-
zoom: 1.5
|
|
9455
|
+
customNodeRoot: {
|
|
9456
|
+
listStyleType: "none",
|
|
9457
|
+
margin: 0,
|
|
9458
|
+
padding: 0,
|
|
9459
|
+
'&:hover': {
|
|
9460
|
+
backgroundColor: "#f2f2f2"
|
|
9468
9461
|
}
|
|
9469
9462
|
},
|
|
9470
|
-
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
|
|
9476
|
-
|
|
9477
|
-
|
|
9478
|
-
|
|
9479
|
-
zoom: 1.5
|
|
9480
|
-
}
|
|
9463
|
+
arrow: {
|
|
9464
|
+
alignItems: "center",
|
|
9465
|
+
cursor: "pointer",
|
|
9466
|
+
display: "flex",
|
|
9467
|
+
height: "24px",
|
|
9468
|
+
justifyContent: "center",
|
|
9469
|
+
width: "24px",
|
|
9470
|
+
transition: "transform linear 0.1s",
|
|
9471
|
+
transform: "rotate(0deg)"
|
|
9481
9472
|
},
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
|
|
9488
|
-
|
|
9489
|
-
|
|
9473
|
+
"arrow > div": {
|
|
9474
|
+
alignItems: "center",
|
|
9475
|
+
display: "flex"
|
|
9476
|
+
},
|
|
9477
|
+
"arrow.is-open": {
|
|
9478
|
+
transform: "rotate(90deg)"
|
|
9479
|
+
},
|
|
9480
|
+
filetype: {
|
|
9481
|
+
display: "flex"
|
|
9482
|
+
},
|
|
9483
|
+
label: {
|
|
9484
|
+
paddingInlineStart: "8px"
|
|
9485
|
+
},
|
|
9486
|
+
selected: {
|
|
9487
|
+
backgroundColor: "#e8f0fe"
|
|
9488
|
+
},
|
|
9489
|
+
dragging: {
|
|
9490
|
+
opacity: 0.5
|
|
9491
|
+
},
|
|
9492
|
+
contextMenu: {
|
|
9493
|
+
fontSize: "14px",
|
|
9494
|
+
backgroundColor: "#fff",
|
|
9495
|
+
borderRadius: "2px",
|
|
9496
|
+
padding: "5px 10px;",
|
|
9497
|
+
width: "140px",
|
|
9498
|
+
height: "auto",
|
|
9499
|
+
margin: "0",
|
|
9500
|
+
position: "fixed",
|
|
9501
|
+
boxShadow: "0 0 20px 0 #ccc",
|
|
9502
|
+
display: "flex",
|
|
9503
|
+
flexDirection: "column"
|
|
9504
|
+
},
|
|
9505
|
+
storyRoot: {
|
|
9506
|
+
display: "grid",
|
|
9507
|
+
height: "100%",
|
|
9508
|
+
gridTemplateRows: "auto 1fr",
|
|
9509
|
+
listStyleType: "none !important"
|
|
9510
|
+
},
|
|
9511
|
+
assetRoot: {
|
|
9512
|
+
boxSizing: "border-box",
|
|
9513
|
+
height: "100%",
|
|
9514
|
+
padding: "32px"
|
|
9515
|
+
},
|
|
9516
|
+
dropTarget: {
|
|
9517
|
+
boxShadow: "0 0 0 1px #1967d2 inset",
|
|
9518
|
+
borderRadius: '1px',
|
|
9519
|
+
backgroundColor: '#DAE4F2'
|
|
9520
|
+
},
|
|
9521
|
+
customDragRoot: {
|
|
9522
|
+
alignItems: "center",
|
|
9523
|
+
backgroundColor: "#1967d2",
|
|
9524
|
+
borderRadius: "4px",
|
|
9525
|
+
boxShadow: " 0 12px 24px -6px rgba(0, 0, 0, .25); 0 0 0 1px rgba(0, 0, 0, .08)",
|
|
9526
|
+
color: "#fff",
|
|
9527
|
+
display: "inline-grid",
|
|
9528
|
+
fontSize: "14px",
|
|
9529
|
+
gap: "8px",
|
|
9530
|
+
gridTemplateColumns: "auto auto",
|
|
9531
|
+
padding: "4px 8px",
|
|
9532
|
+
pointerEvents: "none"
|
|
9533
|
+
},
|
|
9534
|
+
icon: {
|
|
9535
|
+
alignItems: "center",
|
|
9536
|
+
display: "flex"
|
|
9537
|
+
},
|
|
9538
|
+
customDragLabel: {
|
|
9539
|
+
alignItems: "center",
|
|
9540
|
+
display: "flex"
|
|
9541
|
+
}
|
|
9542
|
+
}); });
|
|
9543
|
+
|
|
9544
|
+
function buildTagsTreeV2(data) {
|
|
9545
|
+
var tagsForTree = [];
|
|
9546
|
+
data.forEach(function (el) {
|
|
9547
|
+
var tagForTree = {
|
|
9548
|
+
id: el.TagId,
|
|
9549
|
+
parent: (el.ParentTagId || 0),
|
|
9550
|
+
text: el.TagName,
|
|
9551
|
+
data: el,
|
|
9552
|
+
droppable: el.TagTypeCode === 'F'
|
|
9553
|
+
};
|
|
9554
|
+
return tagsForTree.push(tagForTree);
|
|
9555
|
+
});
|
|
9556
|
+
return tagsForTree;
|
|
9557
|
+
}
|
|
9558
|
+
|
|
9559
|
+
var CustomDragPreview = function (props) {
|
|
9560
|
+
var _a, _b, _c;
|
|
9561
|
+
var classes = useTagsTreeModalStyles();
|
|
9562
|
+
var item = props.monitorProps.item;
|
|
9563
|
+
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
9564
|
+
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
9565
|
+
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
9566
|
+
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))));
|
|
9567
|
+
};
|
|
9568
|
+
|
|
9569
|
+
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
9570
|
+
var TagFolderCustomNode = function (_a) {
|
|
9571
|
+
var _b, _c, _d, _e, _f, _g, _h, _j;
|
|
9572
|
+
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;
|
|
9573
|
+
var classes = useTagsTreeModalStyles();
|
|
9574
|
+
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
9575
|
+
var onClickHandler = function () {
|
|
9576
|
+
var _a;
|
|
9577
|
+
var _b;
|
|
9578
|
+
if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
|
|
9579
|
+
if (openTagFolders[node.id]) {
|
|
9580
|
+
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
9581
|
+
delete newOpenTagFolders[node.id];
|
|
9582
|
+
setOpenTagFolders(newOpenTagFolders);
|
|
9583
|
+
}
|
|
9584
|
+
else {
|
|
9585
|
+
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
9490
9586
|
}
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
},
|
|
9494
|
-
iconContainer: {
|
|
9495
|
-
display: 'flex',
|
|
9496
|
-
justifyContent: 'flex-end',
|
|
9497
|
-
alignItems: 'center',
|
|
9498
|
-
flex: 1
|
|
9499
|
-
},
|
|
9500
|
-
optionContainer: {
|
|
9501
|
-
display: 'flex',
|
|
9502
|
-
justifyContent: 'flex-start',
|
|
9503
|
-
alignItems: 'center',
|
|
9504
|
-
width: '100%'
|
|
9505
|
-
},
|
|
9506
|
-
optionLabel: {
|
|
9507
|
-
flexGrow: 1
|
|
9508
|
-
},
|
|
9509
|
-
inputCustom: {
|
|
9510
|
-
color: 'rgba(0, 0, 0, 0.87)',
|
|
9511
|
-
cursor: 'text',
|
|
9512
|
-
fontSize: '0.7rem',
|
|
9513
|
-
boxSizing: 'border-box',
|
|
9514
|
-
fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
|
|
9515
|
-
fontWeight: 400,
|
|
9516
|
-
lineHeight: 1.1876,
|
|
9517
|
-
letterSpacing: '0.00938em',
|
|
9518
|
-
'& .MuiOutlinedInput-input': {
|
|
9519
|
-
padding: '10px 10px'
|
|
9587
|
+
onToggle();
|
|
9588
|
+
return;
|
|
9520
9589
|
}
|
|
9521
|
-
|
|
9522
|
-
|
|
9590
|
+
if (!options.hasChild) {
|
|
9591
|
+
handleSelect(node);
|
|
9592
|
+
}
|
|
9593
|
+
};
|
|
9594
|
+
var handleContextMenu = useCallback(function (ev) {
|
|
9595
|
+
ev.stopPropagation();
|
|
9596
|
+
ev.preventDefault();
|
|
9597
|
+
setContextMenuOver(node, ev);
|
|
9598
|
+
}, [node.id, setContextMenuOver]);
|
|
9599
|
+
useEffect(function () {
|
|
9600
|
+
var _a;
|
|
9601
|
+
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
|
|
9602
|
+
return function () {
|
|
9603
|
+
var _a;
|
|
9604
|
+
(_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
|
|
9605
|
+
};
|
|
9606
|
+
}, []);
|
|
9607
|
+
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
9608
|
+
React__default.createElement("style", null, customStyles),
|
|
9609
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9610
|
+
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
9611
|
+
: null,
|
|
9612
|
+
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' })))),
|
|
9613
|
+
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
|
|
9614
|
+
React__default.createElement(React__default.Fragment, null,
|
|
9615
|
+
((_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: {
|
|
9616
|
+
backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? "#AD48C4" : "#C46F48",
|
|
9617
|
+
margin: "0 5px"
|
|
9618
|
+
} }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
|
|
9619
|
+
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
9620
|
+
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))))));
|
|
9621
|
+
};
|
|
9523
9622
|
|
|
9524
|
-
var
|
|
9525
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9526
|
-
var _b = useState(
|
|
9623
|
+
var NewFolderModal = function (_a) {
|
|
9624
|
+
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9625
|
+
var _b = useState(), name = _b[0], setName = _b[1];
|
|
9527
9626
|
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9528
|
-
var
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9627
|
+
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
9628
|
+
var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9629
|
+
var parentId, parentTagId, resp;
|
|
9630
|
+
var _a;
|
|
9631
|
+
return __generator(this, function (_b) {
|
|
9632
|
+
switch (_b.label) {
|
|
9532
9633
|
case 0:
|
|
9634
|
+
e.preventDefault();
|
|
9635
|
+
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9636
|
+
parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
|
|
9533
9637
|
setIsLoading(true);
|
|
9534
|
-
if (
|
|
9535
|
-
return [4 /*yield*/,
|
|
9638
|
+
if (!name) return [3 /*break*/, 2];
|
|
9639
|
+
return [4 /*yield*/, upsertTagFolder(null, parentTagId, name, true)];
|
|
9536
9640
|
case 1:
|
|
9537
|
-
resp =
|
|
9641
|
+
resp = _b.sent();
|
|
9538
9642
|
if (!resp.ok) {
|
|
9539
9643
|
setError(resp.message);
|
|
9540
9644
|
}
|
|
9541
|
-
|
|
9542
|
-
handleClose(true);
|
|
9543
|
-
}
|
|
9544
|
-
_a.label = 2;
|
|
9645
|
+
_b.label = 2;
|
|
9545
9646
|
case 2:
|
|
9647
|
+
handleClose(true);
|
|
9648
|
+
setName('');
|
|
9546
9649
|
setIsLoading(false);
|
|
9547
9650
|
return [2 /*return*/];
|
|
9548
9651
|
}
|
|
9549
9652
|
});
|
|
9550
9653
|
}); };
|
|
9551
9654
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9552
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9553
|
-
React__default.createElement(
|
|
9554
|
-
|
|
9555
|
-
|
|
9556
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
|
|
9557
|
-
React__default.createElement(Typography, null,
|
|
9558
|
-
"Are yu sure you want to delete ",
|
|
9559
|
-
React__default.createElement("strong", null, view === null || view === void 0 ? void 0 : view.ViewName),
|
|
9560
|
-
" ?")))) :
|
|
9561
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9562
|
-
React__default.createElement(Divider, null),
|
|
9655
|
+
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' },
|
|
9656
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9657
|
+
React__default.createElement(Box, null,
|
|
9658
|
+
React__default.createElement(TextField, { style: { minWidth: "600px" }, id: "outlined-basic", label: "Folder name", variant: "outlined", value: name, onChange: (function (e) { return setName(e.target.value); }) }))),
|
|
9563
9659
|
React__default.createElement(MesfModal.Actions, null,
|
|
9564
|
-
React__default.createElement(
|
|
9565
|
-
React__default.createElement(
|
|
9566
|
-
|
|
9567
|
-
React__default.createElement(
|
|
9568
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'secondary', onClick: handleSubmit, isLoading: isLoading }, "Delete")
|
|
9569
|
-
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9660
|
+
React__default.createElement("div", null,
|
|
9661
|
+
React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9662
|
+
React__default.createElement("div", null,
|
|
9663
|
+
React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Save")))),
|
|
9570
9664
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9571
9665
|
};
|
|
9572
9666
|
|
|
9573
|
-
var
|
|
9574
|
-
var open = _a.open, handleClose = _a.handleClose,
|
|
9575
|
-
var
|
|
9576
|
-
var
|
|
9577
|
-
var
|
|
9578
|
-
|
|
9579
|
-
var _e = useState(''), error = _e[0], setError = _e[1];
|
|
9580
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9581
|
-
var resp;
|
|
9667
|
+
var RemoveFolderModal = function (_a) {
|
|
9668
|
+
var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
|
|
9669
|
+
var _b = useState(''), error = _b[0], setError = _b[1];
|
|
9670
|
+
var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
|
|
9671
|
+
var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9672
|
+
var parentId, name_1, id, resp;
|
|
9582
9673
|
return __generator(this, function (_a) {
|
|
9583
9674
|
switch (_a.label) {
|
|
9584
9675
|
case 0:
|
|
9676
|
+
e.preventDefault();
|
|
9677
|
+
if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
|
|
9678
|
+
parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
|
|
9679
|
+
name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
|
|
9680
|
+
id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
|
|
9681
|
+
resp = void 0;
|
|
9585
9682
|
setIsLoading(true);
|
|
9586
|
-
if (
|
|
9587
|
-
return [4 /*yield*/,
|
|
9683
|
+
if (!parentId) return [3 /*break*/, 2];
|
|
9684
|
+
return [4 /*yield*/, deleteTagFolder(id)];
|
|
9588
9685
|
case 1:
|
|
9589
9686
|
resp = _a.sent();
|
|
9590
9687
|
if (!resp.ok) {
|
|
9591
9688
|
setError(resp.message);
|
|
9592
9689
|
}
|
|
9593
|
-
|
|
9594
|
-
|
|
9690
|
+
return [3 /*break*/, 4];
|
|
9691
|
+
case 2: return [4 /*yield*/, upsertTagFolder(id, parentId, name_1, false)];
|
|
9692
|
+
case 3:
|
|
9693
|
+
resp = _a.sent();
|
|
9694
|
+
_a.label = 4;
|
|
9695
|
+
case 4:
|
|
9696
|
+
if (!resp.ok) {
|
|
9697
|
+
setError(resp.message);
|
|
9595
9698
|
}
|
|
9596
|
-
_a.label =
|
|
9597
|
-
case
|
|
9699
|
+
_a.label = 5;
|
|
9700
|
+
case 5:
|
|
9701
|
+
handleClose(true);
|
|
9598
9702
|
setIsLoading(false);
|
|
9599
9703
|
return [2 /*return*/];
|
|
9600
9704
|
}
|
|
9601
9705
|
});
|
|
9602
9706
|
}); };
|
|
9603
|
-
var handleChangeInput = function (e) {
|
|
9604
|
-
e.preventDefault();
|
|
9605
|
-
var name = e.target.value;
|
|
9606
|
-
setNewName(name);
|
|
9607
|
-
};
|
|
9608
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9609
|
-
useEffect(function () {
|
|
9610
|
-
if (view) {
|
|
9611
|
-
setIsPublic(view.IsPublic);
|
|
9612
|
-
setNewName(view.ViewName);
|
|
9613
|
-
}
|
|
9614
|
-
}, [view]);
|
|
9615
9707
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9616
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "
|
|
9617
|
-
React__default.createElement(
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
React__default.createElement(
|
|
9622
|
-
|
|
9623
|
-
React__default.createElement("label", null,
|
|
9624
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck }),
|
|
9625
|
-
React__default.createElement(Typography, null, "Public"))))) :
|
|
9626
|
-
(React__default.createElement(Typography, null, "ERROR: No view detected, please select one"))),
|
|
9627
|
-
React__default.createElement(Divider, null),
|
|
9708
|
+
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' },
|
|
9709
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9710
|
+
React__default.createElement(Box, null,
|
|
9711
|
+
React__default.createElement(Typography, null,
|
|
9712
|
+
"Are you sure you want to remove ",
|
|
9713
|
+
React__default.createElement("strong", null, tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text),
|
|
9714
|
+
" folder?"))),
|
|
9628
9715
|
React__default.createElement(MesfModal.Actions, null,
|
|
9629
|
-
React__default.createElement(
|
|
9630
|
-
React__default.createElement(
|
|
9631
|
-
|
|
9632
|
-
React__default.createElement(
|
|
9633
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Update")
|
|
9634
|
-
: (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok")))))),
|
|
9716
|
+
React__default.createElement("div", null,
|
|
9717
|
+
React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9718
|
+
React__default.createElement("div", null,
|
|
9719
|
+
React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Remove")))),
|
|
9635
9720
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9636
9721
|
};
|
|
9637
9722
|
|
|
9638
|
-
var
|
|
9639
|
-
var
|
|
9640
|
-
var
|
|
9641
|
-
var classes =
|
|
9642
|
-
var
|
|
9643
|
-
var
|
|
9644
|
-
var
|
|
9645
|
-
|
|
9646
|
-
|
|
9647
|
-
|
|
9648
|
-
|
|
9649
|
-
|
|
9650
|
-
|
|
9723
|
+
var ContextMenu = function (_a) {
|
|
9724
|
+
var _b;
|
|
9725
|
+
var isOpen = _a.isOpen, anchorPoint = _a.anchorPoint, tagNodeSelectedInTree = _a.tagNodeSelectedInTree, getTagsTreeData = _a.getTagsTreeData, setShowContextMenu = _a.setShowContextMenu;
|
|
9726
|
+
var classes = useTagsTreeModalStyles();
|
|
9727
|
+
var _c = useState(false), showNewTagModal = _c[0], setShowNewTagModal = _c[1];
|
|
9728
|
+
var _d = useState(false), showRemoveTagModal = _d[0], setShowRemoveTagModal = _d[1];
|
|
9729
|
+
var isFolder = ((_b = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F";
|
|
9730
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
9731
|
+
isOpen && anchorPoint ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: anchorPoint.y, left: anchorPoint.x } },
|
|
9732
|
+
React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowNewTagModal(true); } }, "New Folder"),
|
|
9733
|
+
tagNodeSelectedInTree && isFolder && (React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowRemoveTagModal(true); } }, "Remove Folder")))) : (null),
|
|
9734
|
+
React__default.createElement(NewFolderModal, { open: showNewTagModal, handleClose: function (shouldUpdate) {
|
|
9735
|
+
if (shouldUpdate) {
|
|
9736
|
+
getTagsTreeData();
|
|
9737
|
+
}
|
|
9738
|
+
setShowContextMenu(false);
|
|
9739
|
+
setShowNewTagModal(false);
|
|
9740
|
+
}, tagNodeSelectedInTree: tagNodeSelectedInTree }),
|
|
9741
|
+
React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
|
|
9742
|
+
if (shouldUpdate) {
|
|
9743
|
+
getTagsTreeData();
|
|
9744
|
+
}
|
|
9745
|
+
setShowContextMenu(false);
|
|
9746
|
+
setShowRemoveTagModal(false);
|
|
9747
|
+
}, tagNodeSelectedInTree: tagNodeSelectedInTree })));
|
|
9748
|
+
};
|
|
9749
|
+
|
|
9750
|
+
var TagSelectionModal = function (_a) {
|
|
9751
|
+
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
9752
|
+
var classes = useTagsTreeModalStyles();
|
|
9753
|
+
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
9754
|
+
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9755
|
+
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
9756
|
+
var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
|
|
9757
|
+
var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
|
|
9758
|
+
var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
|
|
9759
|
+
var backendOffset = 1000000;
|
|
9760
|
+
var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
|
|
9761
|
+
var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
|
|
9762
|
+
useTrendingContext().state.viewTags;
|
|
9763
|
+
var handleContextMenu = function (data, e) {
|
|
9764
|
+
e.preventDefault();
|
|
9765
|
+
var top = e.clientY;
|
|
9766
|
+
var left = e.clientX;
|
|
9767
|
+
setAnchorPoint({ x: left, y: top });
|
|
9768
|
+
setSelectedNodes([data]);
|
|
9769
|
+
setShowContextMenu(true);
|
|
9770
|
+
var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
|
|
9771
|
+
if (selectedNode) {
|
|
9772
|
+
setTagNodeSelectedInTree(selectedNode);
|
|
9773
|
+
}
|
|
9774
|
+
};
|
|
9775
|
+
var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9776
|
+
var tagsTree, rows, tree;
|
|
9651
9777
|
return __generator(this, function (_a) {
|
|
9652
9778
|
switch (_a.label) {
|
|
9653
9779
|
case 0:
|
|
9654
|
-
if (!
|
|
9780
|
+
if (!isOpen) return [3 /*break*/, 2];
|
|
9655
9781
|
setIsLoading(true);
|
|
9656
|
-
return [4 /*yield*/,
|
|
9782
|
+
return [4 /*yield*/, getTagsTree()];
|
|
9657
9783
|
case 1:
|
|
9658
|
-
|
|
9659
|
-
if (
|
|
9660
|
-
|
|
9661
|
-
|
|
9662
|
-
|
|
9663
|
-
setError(viewTagsResp.message);
|
|
9784
|
+
tagsTree = _a.sent();
|
|
9785
|
+
if (tagsTree.ok) {
|
|
9786
|
+
rows = tagsTree.data.tables[0].rows;
|
|
9787
|
+
tree = buildTagsTreeV2(rows);
|
|
9788
|
+
setTagsTreeData(tree);
|
|
9664
9789
|
}
|
|
9665
9790
|
setIsLoading(false);
|
|
9666
|
-
handleClose(true);
|
|
9667
9791
|
_a.label = 2;
|
|
9668
9792
|
case 2: return [2 /*return*/];
|
|
9669
9793
|
}
|
|
9670
9794
|
});
|
|
9671
9795
|
}); };
|
|
9672
|
-
var
|
|
9673
|
-
return
|
|
9674
|
-
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
|
|
9679
|
-
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9683
|
-
});
|
|
9684
|
-
}); };
|
|
9685
|
-
var handleEditView = function (view, e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9686
|
-
return __generator(this, function (_a) {
|
|
9687
|
-
setViewForEdit(view);
|
|
9688
|
-
setEditViewModalOpen(true);
|
|
9689
|
-
return [2 /*return*/];
|
|
9690
|
-
});
|
|
9691
|
-
}); };
|
|
9692
|
-
var handleAllViewsCheckbox = function () {
|
|
9693
|
-
setAllViewsChecked(function (prev) { return !prev; });
|
|
9694
|
-
};
|
|
9695
|
-
var publicViews = useMemo(function () {
|
|
9696
|
-
return views.filter(function (v) { return v.IsPublic === true; });
|
|
9697
|
-
}, [views, allViewsChecked]);
|
|
9698
|
-
return (React__default.createElement("div", null,
|
|
9699
|
-
React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Views' },
|
|
9700
|
-
React__default.createElement(MesfModal.Content, null,
|
|
9701
|
-
React__default.createElement(Grid$1, { container: true }, views.length ? (React__default.createElement(React__default.Fragment, null,
|
|
9702
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9703
|
-
React__default.createElement("div", { className: classes.isPublicCheckbox, style: { paddingBottom: '1rem' } },
|
|
9704
|
-
React__default.createElement("label", { htmlFor: "" },
|
|
9705
|
-
React__default.createElement("input", { type: "checkbox", checked: allViewsChecked, onChange: handleAllViewsCheckbox }),
|
|
9706
|
-
React__default.createElement(Typography, null, "All Views")))),
|
|
9707
|
-
React__default.createElement(Grid$1, { item: true, md: 12 },
|
|
9708
|
-
React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", noOptionsText: allViewsChecked ? "No views detected, please create a new view" : "No private views detected, please create a new view .", options: allViewsChecked ? views : publicViews, getOptionLabel: function (option) { return option.ViewName; }, onChange: function (ev, val) { return setViewSelected(val); }, defaultValue: viewSelected, style: { width: "100%" }, renderOption: function (option) { return (React__default.createElement("div", { className: classes.optionContainer },
|
|
9709
|
-
React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
|
|
9710
|
-
React__default.createElement("div", { className: classes.iconContainer },
|
|
9711
|
-
option.IsPublic ? '' :
|
|
9712
|
-
React__default.createElement(React__default.Fragment, null,
|
|
9713
|
-
React__default.createElement(Tooltip, { title: "Private", arrow: true },
|
|
9714
|
-
React__default.createElement(LockIcon, { fontSize: 'small', style: { color: 'black', height: "18px", width: '18px', cursor: 'auto' } }))),
|
|
9715
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleEditView(option); } },
|
|
9716
|
-
React__default.createElement(CreateIcon, { fontSize: 'small', color: 'primary', style: { height: "18px", width: '18px', cursor: 'pointer' } })),
|
|
9717
|
-
React__default.createElement(IconButton$1, { onClick: function (e) { return handleDeleteView(option, e); } },
|
|
9718
|
-
React__default.createElement(DeleteIcon, { fontSize: 'small', color: 'secondary', style: { height: "18px", width: '18px', cursor: 'pointer' } }))))); }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })))) :
|
|
9719
|
-
(React__default.createElement(Typography, null, "No views detected, please add one")))),
|
|
9720
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9721
|
-
React__default.createElement("div", { style: { paddingTop: "1rem" } },
|
|
9722
|
-
React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
|
|
9723
|
-
views.length ? (React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: 'contained', color: 'primary', isLoading: isLoading, style: { marginRight: "1rem" } }, "Apply")) : (React__default.createElement(Button$1, { variant: 'contained', style: { marginRight: "1rem" }, color: 'primary', onClick: function () { return handleClose(false); } }, "Ok"))))),
|
|
9724
|
-
React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
|
|
9725
|
-
setDeleteViewModalOpen(false);
|
|
9726
|
-
if (shouldUpdate)
|
|
9727
|
-
getTagsFromAPI().then(function () { });
|
|
9728
|
-
} }),
|
|
9729
|
-
React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
|
|
9730
|
-
setEditViewModalOpen(false);
|
|
9731
|
-
if (shouldUpdate)
|
|
9732
|
-
getTagsFromAPI().then(function () { });
|
|
9733
|
-
} }),
|
|
9734
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9735
|
-
};
|
|
9736
|
-
|
|
9737
|
-
var SaveAsViewModal = function (_a) {
|
|
9738
|
-
var open = _a.open, handleClose = _a.handleClose;
|
|
9739
|
-
var classes = useTrendingStyles();
|
|
9740
|
-
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
9741
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
9742
|
-
var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
|
|
9743
|
-
var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
|
|
9744
|
-
var _h = useState(''), newView = _h[0], setNewView = _h[1];
|
|
9745
|
-
var handleCheck = function () { return setIsPublic(!isPublic); };
|
|
9746
|
-
var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9747
|
-
var resp, ViewId_1, shouldClose_1;
|
|
9748
|
-
return __generator(this, function (_a) {
|
|
9749
|
-
switch (_a.label) {
|
|
9796
|
+
var expanded = useMemo(function () {
|
|
9797
|
+
return Object.keys(openTagFolders).map(function (el) { return parseInt(el); });
|
|
9798
|
+
}, [openTagFolders]);
|
|
9799
|
+
useEffect(function () {
|
|
9800
|
+
getTagsTreeData();
|
|
9801
|
+
}, [isOpen]);
|
|
9802
|
+
var handleDrop = function (tree, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9803
|
+
var tagId, newFolderId, newTree, newTree;
|
|
9804
|
+
var _a, _b;
|
|
9805
|
+
return __generator(this, function (_c) {
|
|
9806
|
+
switch (_c.label) {
|
|
9750
9807
|
case 0:
|
|
9751
9808
|
setIsLoading(true);
|
|
9752
|
-
return [
|
|
9809
|
+
if (!options.dragSource) return [3 /*break*/, 5];
|
|
9810
|
+
tagId = Number(options.dragSource.id);
|
|
9811
|
+
newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
|
|
9812
|
+
if (tagId === newFolderId) {
|
|
9813
|
+
setIsLoading(false);
|
|
9814
|
+
return [2 /*return*/];
|
|
9815
|
+
}
|
|
9816
|
+
if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
|
|
9817
|
+
return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
|
|
9753
9818
|
case 1:
|
|
9754
|
-
|
|
9755
|
-
if (!
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
9759
|
-
var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible, Unit = _a.Unit;
|
|
9760
|
-
upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
9761
|
-
.then(function (r) {
|
|
9762
|
-
if (!r.ok) {
|
|
9763
|
-
setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
|
|
9764
|
-
if (shouldClose_1) {
|
|
9765
|
-
shouldClose_1 = false;
|
|
9766
|
-
}
|
|
9767
|
-
}
|
|
9768
|
-
});
|
|
9769
|
-
}))];
|
|
9770
|
-
case 2:
|
|
9771
|
-
_a.sent();
|
|
9772
|
-
handleClose(shouldClose_1);
|
|
9819
|
+
newTree = _c.sent();
|
|
9820
|
+
if (!newTree.ok) {
|
|
9821
|
+
setError(newTree.message);
|
|
9822
|
+
}
|
|
9773
9823
|
return [3 /*break*/, 4];
|
|
9824
|
+
case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
9774
9825
|
case 3:
|
|
9775
|
-
|
|
9776
|
-
|
|
9826
|
+
newTree = _c.sent();
|
|
9827
|
+
if (!newTree.ok) {
|
|
9828
|
+
setError(newTree.message);
|
|
9829
|
+
}
|
|
9830
|
+
_c.label = 4;
|
|
9777
9831
|
case 4:
|
|
9832
|
+
setTagsTreeData(tree);
|
|
9833
|
+
_c.label = 5;
|
|
9834
|
+
case 5:
|
|
9778
9835
|
setIsLoading(false);
|
|
9779
9836
|
return [2 /*return*/];
|
|
9780
9837
|
}
|
|
9781
9838
|
});
|
|
9782
9839
|
}); };
|
|
9840
|
+
var handleClick = function (node) {
|
|
9841
|
+
if (node.data) {
|
|
9842
|
+
onTagSelect(node.data);
|
|
9843
|
+
}
|
|
9844
|
+
};
|
|
9845
|
+
var handleCloseContextMenu = function (e) {
|
|
9846
|
+
if (showContextMenu) {
|
|
9847
|
+
setShowContextMenu(false);
|
|
9848
|
+
}
|
|
9849
|
+
};
|
|
9783
9850
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9784
|
-
React__default.createElement(
|
|
9785
|
-
React__default.createElement(
|
|
9786
|
-
|
|
9787
|
-
React__default.createElement(
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
}
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
|
|
9802
|
-
React__default.createElement("label", null,
|
|
9803
|
-
"Public",
|
|
9804
|
-
React__default.createElement("input", { type: "checkbox", checked: isPublic, onChange: handleCheck })))),
|
|
9805
|
-
React__default.createElement(Divider, null),
|
|
9806
|
-
React__default.createElement(MesfModal.Actions, null,
|
|
9807
|
-
React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
|
|
9808
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9809
|
-
React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
|
|
9810
|
-
React__default.createElement(Grid$1, { item: true },
|
|
9811
|
-
React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
|
|
9851
|
+
React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" }, onClick: handleCloseContextMenu },
|
|
9852
|
+
React__default.createElement("div", { style: { overflowY: 'auto', maxHeight: '700px' } }, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
|
|
9853
|
+
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
9854
|
+
React__default.createElement(Tree, { classes: {
|
|
9855
|
+
root: classes.assetRoot,
|
|
9856
|
+
dropTarget: classes.dropTarget
|
|
9857
|
+
}, initialOpen: expanded, tree: tagsTreeData, rootId: backendOffset, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
9858
|
+
return !selectedNodes.some(function (selectedNode) {
|
|
9859
|
+
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
9860
|
+
});
|
|
9861
|
+
}, render: function (node, options) {
|
|
9862
|
+
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
9863
|
+
return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
9864
|
+
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
9865
|
+
// <div>{monitorProps.item.data?.TagName}</div>
|
|
9866
|
+
); } }))))),
|
|
9867
|
+
React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
|
|
9812
9868
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
9813
9869
|
};
|
|
9814
9870
|
|
|
9871
|
+
var TagsTreeModal = function (_a) {
|
|
9872
|
+
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
9873
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
9874
|
+
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
|
|
9875
|
+
React__default.createElement(MesfModal.Content, null,
|
|
9876
|
+
React__default.createElement(Box, null,
|
|
9877
|
+
React__default.createElement(Typography, { id: "modal-modal-description" },
|
|
9878
|
+
React__default.createElement(TagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
|
|
9879
|
+
};
|
|
9880
|
+
|
|
9815
9881
|
var useTagsDataTable = function (_a) {
|
|
9816
|
-
var cursorData = _a.cursorData,
|
|
9882
|
+
var cursorData = _a.cursorData, viewTagsMap = _a.viewTagsMap, chartData = _a.chartData;
|
|
9817
9883
|
return useMemo(function () {
|
|
9818
9884
|
var _a;
|
|
9819
9885
|
var dataTable = {};
|
|
9820
9886
|
if (cursorData) {
|
|
9821
|
-
var _loop_1 = function (
|
|
9822
|
-
var tag =
|
|
9887
|
+
var _loop_1 = function (viewTagEntry) {
|
|
9888
|
+
var tag = viewTagsMap[viewTagEntry].viewTag;
|
|
9823
9889
|
var datasetForTag = ((_a = chartData.datasets.find(function (ds) {
|
|
9824
9890
|
return ds.tagId === (tag === null || tag === void 0 ? void 0 : tag.TagId);
|
|
9825
9891
|
})) === null || _a === void 0 ? void 0 : _a.data) || [];
|
|
@@ -9828,8 +9894,8 @@ var useTagsDataTable = function (_a) {
|
|
|
9828
9894
|
var p1Found = false;
|
|
9829
9895
|
var pmin = { x: 0, y: Number.POSITIVE_INFINITY };
|
|
9830
9896
|
var pmax = { x: 0, y: Number.NEGATIVE_INFINITY };
|
|
9831
|
-
for (var
|
|
9832
|
-
var curr = datasetForTag[
|
|
9897
|
+
for (var idx = 0; idx < datasetForTag.length; idx++) {
|
|
9898
|
+
var curr = datasetForTag[idx];
|
|
9833
9899
|
var currentVal = curr.x;
|
|
9834
9900
|
if (!p1Found) {
|
|
9835
9901
|
if (currentVal < cursorData.x1) {
|
|
@@ -9866,12 +9932,12 @@ var useTagsDataTable = function (_a) {
|
|
|
9866
9932
|
pmax: pmax
|
|
9867
9933
|
};
|
|
9868
9934
|
};
|
|
9869
|
-
for (var
|
|
9870
|
-
_loop_1(
|
|
9935
|
+
for (var viewTagEntry in viewTagsMap) {
|
|
9936
|
+
_loop_1(viewTagEntry);
|
|
9871
9937
|
}
|
|
9872
9938
|
}
|
|
9873
9939
|
return dataTable;
|
|
9874
|
-
}, [
|
|
9940
|
+
}, [viewTagsMap, chartData, cursorData]);
|
|
9875
9941
|
};
|
|
9876
9942
|
|
|
9877
9943
|
var useTagsTableStyles = makeStyles$1(function (theme) { return ({
|
|
@@ -10009,7 +10075,7 @@ var formatTimeDiffWithMs = function (start, end) {
|
|
|
10009
10075
|
};
|
|
10010
10076
|
|
|
10011
10077
|
var TableComponent = function (_a) {
|
|
10012
|
-
var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI, viewTagForDelete = _a.viewTagForDelete, setViewTagForDelete = _a.setViewTagForDelete,
|
|
10078
|
+
var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI, viewTagForDelete = _a.viewTagForDelete, setViewTagForDelete = _a.setViewTagForDelete, selectedRowTagId = _a.selectedRowTagId, setSelectedRowTagId = _a.setSelectedRowTagId, handleRightClick = _a.handleRightClick; _a.setContextMenuPosition; var contextMenuPosition = _a.contextMenuPosition, openContextMenu = _a.openContextMenu, setOpenContextMenu = _a.setOpenContextMenu;
|
|
10013
10079
|
var classes = useTagsTableStyles();
|
|
10014
10080
|
var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setViewTagsAndRefetch = _d.setViewTagsAndRefetch;
|
|
10015
10081
|
var _e = useState({}); _e[0]; _e[1];
|
|
@@ -10019,44 +10085,53 @@ var TableComponent = function (_a) {
|
|
|
10019
10085
|
var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
|
|
10020
10086
|
var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
|
|
10021
10087
|
var _l = useState(''), snackbarMessage = _l[0], setSnackbarMessage = _l[1];
|
|
10022
|
-
var dataTable = useTagsDataTable({
|
|
10088
|
+
var dataTable = useTagsDataTable({ viewTagsMap: viewTags, chartData: chartData, cursorData: cursorData });
|
|
10023
10089
|
var handleChange = function (tagId, value, property) {
|
|
10024
|
-
var newTags = viewTags
|
|
10025
|
-
|
|
10026
|
-
|
|
10027
|
-
});
|
|
10090
|
+
var newTags = structuredClone(viewTags);
|
|
10091
|
+
newTags[tagId]['viewTag'][property] = value;
|
|
10092
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = false;
|
|
10028
10093
|
setViewTags(newTags);
|
|
10029
10094
|
};
|
|
10095
|
+
var handleChangeScale = function (value, scale, tagId) {
|
|
10096
|
+
handleChange(tagId, value, scale);
|
|
10097
|
+
};
|
|
10030
10098
|
var handleChangeAlias = function (tagId, newName) {
|
|
10031
|
-
var newTags = viewTags
|
|
10099
|
+
var newTags = structuredClone(viewTags);
|
|
10100
|
+
newTags[tagId]['viewTag']['Alias'] = newName;
|
|
10032
10101
|
setViewTags(newTags);
|
|
10033
10102
|
};
|
|
10034
10103
|
var handleVisibilityChange = function (tagId, value) {
|
|
10035
|
-
var newTags = viewTags
|
|
10104
|
+
var newTags = structuredClone(viewTags);
|
|
10105
|
+
newTags[tagId]['viewTag']['IsVisible'] = value;
|
|
10036
10106
|
setViewTags(newTags);
|
|
10037
10107
|
};
|
|
10038
10108
|
var handleUnitChange = function (tagId, newUnit) {
|
|
10039
|
-
var newTags = viewTags
|
|
10109
|
+
var newTags = structuredClone(viewTags);
|
|
10110
|
+
newTags[tagId]['viewTag']['Unit'] = newUnit;
|
|
10040
10111
|
setViewTags(newTags);
|
|
10041
10112
|
};
|
|
10042
10113
|
var handleAutoScaleChange = function (tagId, checked) {
|
|
10043
|
-
var newTags = viewTags
|
|
10114
|
+
var newTags = structuredClone(viewTags);
|
|
10115
|
+
newTags[tagId]['viewTag']['IsAutoScale'] = !checked;
|
|
10044
10116
|
setViewTags(newTags);
|
|
10045
10117
|
};
|
|
10046
10118
|
var handleColorChange = function (tagId, value) {
|
|
10047
|
-
var newTags = viewTags
|
|
10119
|
+
var newTags = structuredClone(viewTags);
|
|
10120
|
+
newTags[tagId]['viewTag']['Color'] = value;
|
|
10048
10121
|
setViewTags(newTags);
|
|
10049
10122
|
};
|
|
10050
10123
|
var handleDeleteTag = function (tagId) {
|
|
10051
|
-
var newTags = viewTags
|
|
10124
|
+
var newTags = structuredClone(viewTags);
|
|
10125
|
+
delete newTags[tagId];
|
|
10052
10126
|
setViewTagsAndRefetch(newTags);
|
|
10053
10127
|
};
|
|
10054
10128
|
var handleAddTag = function (newTag) {
|
|
10055
|
-
var
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
}
|
|
10129
|
+
var newTags = structuredClone(viewTags);
|
|
10130
|
+
newTags[newTag.TagId] = {
|
|
10131
|
+
viewTag: __assign(__assign({}, newTag), { IsVisible: true, TagType: newTag.TagTypeCode, Color: newTag.Color || getRandomColor(), IsAutoScale: newTag.MinScale || newTag.MaxScale ? false : true }),
|
|
10132
|
+
order: Object.keys(viewTags).length
|
|
10133
|
+
};
|
|
10134
|
+
setViewTagsAndRefetch(newTags);
|
|
10060
10135
|
};
|
|
10061
10136
|
var handleAbleScales = function (tagId, checked) {
|
|
10062
10137
|
if (checked) {
|
|
@@ -10114,7 +10189,7 @@ var TableComponent = function (_a) {
|
|
|
10114
10189
|
},
|
|
10115
10190
|
]);
|
|
10116
10191
|
var handleTagSelect = function (selectedTag) {
|
|
10117
|
-
var alreadySelected = viewTags
|
|
10192
|
+
var alreadySelected = viewTags[selectedTag.TagId];
|
|
10118
10193
|
if (!alreadySelected) {
|
|
10119
10194
|
handleAddTag(selectedTag);
|
|
10120
10195
|
}
|
|
@@ -10122,13 +10197,13 @@ var TableComponent = function (_a) {
|
|
|
10122
10197
|
setError("".concat(selectedTag.TagName, " is already selected"));
|
|
10123
10198
|
}
|
|
10124
10199
|
};
|
|
10125
|
-
var handleDelete = function (
|
|
10200
|
+
var handleDelete = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10126
10201
|
return __generator(this, function (_a) {
|
|
10127
10202
|
if (!isNil$1(viewTagForDelete)) {
|
|
10128
10203
|
if (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) {
|
|
10129
10204
|
handleDeleteTag(viewTagForDelete.TagId);
|
|
10130
10205
|
}
|
|
10131
|
-
|
|
10206
|
+
setSelectedRowTagId(null); // Reset the selected row index
|
|
10132
10207
|
setViewTagForDelete(null);
|
|
10133
10208
|
}
|
|
10134
10209
|
return [2 /*return*/];
|
|
@@ -10155,8 +10230,8 @@ var TableComponent = function (_a) {
|
|
|
10155
10230
|
if (!deleteResp.ok) {
|
|
10156
10231
|
setError(deleteResp.message);
|
|
10157
10232
|
}
|
|
10158
|
-
return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
|
|
10159
|
-
var
|
|
10233
|
+
return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).sort(function (a, b) { return b.order - a.order; }).map(function (_a) {
|
|
10234
|
+
var _b = _a.viewTag, TagId = _b.TagId, Color = _b.Color, MinScale = _b.MinScale, MaxScale = _b.MaxScale, IsAutoScale = _b.IsAutoScale, IsVisible = _b.IsVisible, Unit = _b.Unit;
|
|
10160
10235
|
upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)
|
|
10161
10236
|
.then(function (r) {
|
|
10162
10237
|
if (!r.ok) {
|
|
@@ -10171,7 +10246,7 @@ var TableComponent = function (_a) {
|
|
|
10171
10246
|
setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
|
|
10172
10247
|
}
|
|
10173
10248
|
else {
|
|
10174
|
-
|
|
10249
|
+
setSelectedRowTagId(null);
|
|
10175
10250
|
setSnackbarMessage('View saved successfully');
|
|
10176
10251
|
}
|
|
10177
10252
|
});
|
|
@@ -10194,13 +10269,13 @@ var TableComponent = function (_a) {
|
|
|
10194
10269
|
};
|
|
10195
10270
|
useEffect(function () {
|
|
10196
10271
|
var handleGlobalClick = function (e) {
|
|
10197
|
-
if (
|
|
10198
|
-
|
|
10272
|
+
if (selectedRowTagId !== null) {
|
|
10273
|
+
setSelectedRowTagId(null);
|
|
10199
10274
|
}
|
|
10200
10275
|
};
|
|
10201
10276
|
var handleKeyDown = function (e) {
|
|
10202
|
-
if (e.key === "Escape" &&
|
|
10203
|
-
|
|
10277
|
+
if (e.key === "Escape" && selectedRowTagId !== null) {
|
|
10278
|
+
setSelectedRowTagId(null);
|
|
10204
10279
|
}
|
|
10205
10280
|
};
|
|
10206
10281
|
// Attach event listeners
|
|
@@ -10211,14 +10286,14 @@ var TableComponent = function (_a) {
|
|
|
10211
10286
|
document.removeEventListener("click", handleGlobalClick);
|
|
10212
10287
|
document.removeEventListener("keydown", handleKeyDown);
|
|
10213
10288
|
};
|
|
10214
|
-
}, [
|
|
10289
|
+
}, [selectedRowTagId]);
|
|
10215
10290
|
var handleSaveDefaultToTag = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10216
10291
|
var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale, saveTagDefaultsResp, upsertViewTagResp;
|
|
10217
10292
|
return __generator(this, function (_b) {
|
|
10218
10293
|
switch (_b.label) {
|
|
10219
10294
|
case 0:
|
|
10220
|
-
if (!(viewSelected &&
|
|
10221
|
-
_a = viewTags[
|
|
10295
|
+
if (!(viewSelected && selectedRowTagId !== null)) return [3 /*break*/, 3];
|
|
10296
|
+
_a = viewTags[selectedRowTagId].viewTag, TagId = _a.TagId, Alias = _a.Alias, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, Unit = _a.Unit, IsVisible = _a.IsVisible, IsAutoScale = _a.IsAutoScale;
|
|
10222
10297
|
return [4 /*yield*/, saveTagDefaults(TagId, Alias, Color, MinScale, MaxScale, Unit)];
|
|
10223
10298
|
case 1:
|
|
10224
10299
|
saveTagDefaultsResp = _b.sent();
|
|
@@ -10231,7 +10306,7 @@ var TableComponent = function (_a) {
|
|
|
10231
10306
|
if (!upsertViewTagResp.ok) {
|
|
10232
10307
|
setError(upsertViewTagResp.message);
|
|
10233
10308
|
}
|
|
10234
|
-
|
|
10309
|
+
setSelectedRowTagId(null);
|
|
10235
10310
|
_b.label = 3;
|
|
10236
10311
|
case 3: return [2 /*return*/];
|
|
10237
10312
|
}
|
|
@@ -10255,7 +10330,7 @@ var TableComponent = function (_a) {
|
|
|
10255
10330
|
React__default.createElement("thead", null,
|
|
10256
10331
|
React__default.createElement("tr", null,
|
|
10257
10332
|
React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.viewSelected) }, viewSelected ?
|
|
10258
|
-
(React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setLoadViewOpen(true); } }, (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName) || '')) : (React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
|
|
10333
|
+
(React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setLoadViewOpen(true); }, startIcon: viewSelected.IsPublic ? React__default.createElement(React__default.Fragment, null) : React__default.createElement(LockIcon, { fontSize: 'small' }) }, (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName) || '')) : (React__default.createElement(Button$1, { variant: 'text', style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
|
|
10259
10334
|
React__default.createElement("i", null,
|
|
10260
10335
|
React__default.createElement(SaveIcon, null),
|
|
10261
10336
|
"(Save view as)")))),
|
|
@@ -10339,11 +10414,12 @@ var TableComponent = function (_a) {
|
|
|
10339
10414
|
React__default.createElement(Grid$1, { item: true, xs: 12 },
|
|
10340
10415
|
React__default.createElement("div", { style: { width: '100%', height: '100%', maxHeight: '100%' } },
|
|
10341
10416
|
React__default.createElement("table", { cellPadding: '4px', style: { width: '100%', tableLayout: 'fixed', textAlign: "center" } },
|
|
10342
|
-
React__default.createElement("tbody", null, viewTags
|
|
10343
|
-
var
|
|
10417
|
+
React__default.createElement("tbody", null, Object.values(viewTags).length ? Object.values(viewTags).map(function (_a) {
|
|
10418
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
10419
|
+
var tag = _a.viewTag;
|
|
10344
10420
|
return (React__default.createElement("tr", { key: tag.TagName,
|
|
10345
10421
|
// onClick={() => handleRowClick(index)}
|
|
10346
|
-
onContextMenu: function (e) { return handleRightClick(e,
|
|
10422
|
+
onContextMenu: function (e) { return handleRightClick(e, tag.TagId); }, className: classes.rowHover },
|
|
10347
10423
|
React__default.createElement("td", { className: "".concat(classes.visible, " ").concat(classes.checkbox) },
|
|
10348
10424
|
React__default.createElement("input", { type: "checkbox", checked: tag.IsVisible, onChange: function (e) { return handleVisibilityChange(tag.TagId, e.target.checked); } })),
|
|
10349
10425
|
React__default.createElement("td", { className: classes.aliasCol },
|
|
@@ -10362,24 +10438,14 @@ var TableComponent = function (_a) {
|
|
|
10362
10438
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10363
10439
|
color: 'rgba(84, 84, 84, 1)',
|
|
10364
10440
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10365
|
-
} : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10366
|
-
var value = e.target.value;
|
|
10367
|
-
var numericValue = Number(value);
|
|
10368
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10369
|
-
handleChange(tag.TagId, numericValue, 'MinScale');
|
|
10370
|
-
}
|
|
10371
|
-
} })),
|
|
10441
|
+
} : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) { return handleChangeScale((e.target).value, "MinScale", tag.TagId); } })),
|
|
10372
10442
|
React__default.createElement("td", { className: classes.inputCol },
|
|
10373
10443
|
React__default.createElement("input", { type: "number", className: classes.numberInput, style: __assign({ width: '100%', WebkitAppearance: 'none' }, (tag.IsAutoScale ? {
|
|
10374
10444
|
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
10375
10445
|
color: 'rgba(84, 84, 84, 1)',
|
|
10376
10446
|
border: '1px solid rgba(118, 118, 118, 0.3)'
|
|
10377
10447
|
} : {})), value: tag.MaxScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
10378
|
-
|
|
10379
|
-
var numericValue = Number(value);
|
|
10380
|
-
if (!isNaN(numericValue) && value.trim() !== '') {
|
|
10381
|
-
handleChange(tag.TagId, numericValue, 'MaxScale');
|
|
10382
|
-
}
|
|
10448
|
+
handleChangeScale((e.target).value, "MaxScale", tag.TagId);
|
|
10383
10449
|
} })),
|
|
10384
10450
|
React__default.createElement("td", { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
|
|
10385
10451
|
React__default.createElement("input", { type: "checkbox", checked: !!tag.IsAutoScale, onChange: function (e) { return handleAutoScaleChange(tag.TagId, tag.IsAutoScale); } })),
|
|
@@ -10390,14 +10456,14 @@ var TableComponent = function (_a) {
|
|
|
10390
10456
|
var value = e.target.value;
|
|
10391
10457
|
handleUnitChange(tag.TagId, value);
|
|
10392
10458
|
}, value: tag.Unit === "-" ? '' : tag.Unit, onFocus: function (e) { return e.target.select(); } })),
|
|
10393
|
-
React__default.createElement("td", null, round((
|
|
10394
|
-
React__default.createElement("td", { className: classes.doubleInput }, round((
|
|
10395
|
-
React__default.createElement("td", null, round((
|
|
10459
|
+
React__default.createElement("td", null, round((_b = dataTable[tag.TagName]) === null || _b === void 0 ? void 0 : _b.y1, 3) || 0),
|
|
10460
|
+
React__default.createElement("td", { className: classes.doubleInput }, round((_c = dataTable[tag.TagName]) === null || _c === void 0 ? void 0 : _c.y2, 3) || 0),
|
|
10461
|
+
React__default.createElement("td", null, round((_d = dataTable[tag.TagName]) === null || _d === void 0 ? void 0 : _d.y2y1, 3) || 0),
|
|
10396
10462
|
React__default.createElement("td", null,
|
|
10397
|
-
!isNaN(((
|
|
10463
|
+
!isNaN(((_e = dataTable[tag.TagName]) === null || _e === void 0 ? void 0 : _e.pmin.y) * 0) ? round((_f = dataTable[tag.TagName]) === null || _f === void 0 ? void 0 : _f.pmin.y, 3) : 0,
|
|
10398
10464
|
" "),
|
|
10399
10465
|
React__default.createElement("td", null,
|
|
10400
|
-
!isNaN(((
|
|
10466
|
+
!isNaN(((_g = dataTable[tag.TagName]) === null || _g === void 0 ? void 0 : _g.pmax.y) * 0) ? round((_h = dataTable[tag.TagName]) === null || _h === void 0 ? void 0 : _h.pmax.y) : 0,
|
|
10401
10467
|
" ")));
|
|
10402
10468
|
}) : React__default.createElement("div", { style: { padding: '1rem' } },
|
|
10403
10469
|
React__default.createElement("div", { style: { padding: "1rem" } }, "No tag view detected. "),
|
|
@@ -10844,23 +10910,32 @@ var TrendingChart = function (_a) {
|
|
|
10844
10910
|
var _c = useState(null), lineTabCoords = _c[0], setLineTabCoords = _c[1];
|
|
10845
10911
|
var _d = useState(null), chartArea = _d[0], setChartArea = _d[1];
|
|
10846
10912
|
var chartRef = useRef(null);
|
|
10913
|
+
var forDebounce = useRef({
|
|
10914
|
+
viewTags: viewTags,
|
|
10915
|
+
series: series,
|
|
10916
|
+
setChartOptions: setChartOptions,
|
|
10917
|
+
setChartData: setChartData
|
|
10918
|
+
});
|
|
10847
10919
|
var debouncedUpdateChart = useRef(debounce(function () {
|
|
10848
10920
|
if (chartRef.current) {
|
|
10849
10921
|
updateCursorData(chartRef.current, setCursorData);
|
|
10850
10922
|
chartRef.current.update();
|
|
10851
10923
|
}
|
|
10852
|
-
}, 250))
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
|
|
10856
|
-
|
|
10857
|
-
|
|
10858
|
-
|
|
10924
|
+
}, 250));
|
|
10925
|
+
forDebounce.current = {
|
|
10926
|
+
viewTags: viewTags,
|
|
10927
|
+
series: series,
|
|
10928
|
+
setChartOptions: setChartOptions,
|
|
10929
|
+
setChartData: setChartData
|
|
10930
|
+
};
|
|
10931
|
+
var debouncedUpdateChartBasedOnData = useRef(debounce(function () {
|
|
10932
|
+
var _a = forDebounce.current, viewTags = _a.viewTags, series = _a.series, setChartOptions = _a.setChartOptions, setChartData = _a.setChartData;
|
|
10859
10933
|
var axes = [];
|
|
10860
10934
|
if (!series.length) {
|
|
10861
10935
|
return;
|
|
10862
10936
|
}
|
|
10863
|
-
viewTags.forEach(function (
|
|
10937
|
+
Object.values(viewTags).forEach(function (_a, index) {
|
|
10938
|
+
var tag = _a.viewTag;
|
|
10864
10939
|
var existingAxis = axes.findIndex(function (existingTag) {
|
|
10865
10940
|
return areRangesSimilar(existingTag, tag);
|
|
10866
10941
|
});
|
|
@@ -10874,6 +10949,11 @@ var TrendingChart = function (_a) {
|
|
|
10874
10949
|
});
|
|
10875
10950
|
// Configure yAxes based on grouped axes
|
|
10876
10951
|
var yAxesConfig = axes.map(function (axis) {
|
|
10952
|
+
var min = Number(axis.MinScale);
|
|
10953
|
+
var max = Number(axis.MaxScale);
|
|
10954
|
+
if (!min && !max) {
|
|
10955
|
+
max = 1;
|
|
10956
|
+
}
|
|
10877
10957
|
return {
|
|
10878
10958
|
id: "y-axis-".concat(axis.TagId),
|
|
10879
10959
|
type: "linear",
|
|
@@ -10882,10 +10962,10 @@ var TrendingChart = function (_a) {
|
|
|
10882
10962
|
display: true,
|
|
10883
10963
|
labelString: axis.TagName
|
|
10884
10964
|
},
|
|
10885
|
-
min: axis.IsAutoScale ? undefined :
|
|
10886
|
-
max: axis.IsAutoScale ? undefined :
|
|
10887
|
-
suggestedMin: axis.IsAutoScale ? undefined :
|
|
10888
|
-
suggestedMax: axis.IsAutoScale ? undefined :
|
|
10965
|
+
min: axis.IsAutoScale ? undefined : min,
|
|
10966
|
+
max: axis.IsAutoScale ? undefined : max,
|
|
10967
|
+
suggestedMin: axis.IsAutoScale ? undefined : min,
|
|
10968
|
+
suggestedMax: axis.IsAutoScale ? undefined : max,
|
|
10889
10969
|
stepSize: 10,
|
|
10890
10970
|
grid: {
|
|
10891
10971
|
display: true
|
|
@@ -10923,7 +11003,9 @@ var TrendingChart = function (_a) {
|
|
|
10923
11003
|
return newResp;
|
|
10924
11004
|
});
|
|
10925
11005
|
var updatedSeries = series.map(function (serie, index) {
|
|
10926
|
-
var
|
|
11006
|
+
var _a;
|
|
11007
|
+
var tagsSortedArray = Object.values(viewTags).sort(function (a, b) { return b.order - a.order; });
|
|
11008
|
+
var tag = (_a = tagsSortedArray[index]) === null || _a === void 0 ? void 0 : _a.viewTag;
|
|
10927
11009
|
var yAxisTagId = seriesVsTags.current[tag === null || tag === void 0 ? void 0 : tag.TagId];
|
|
10928
11010
|
return {
|
|
10929
11011
|
yAxisID: "y-axis-".concat(yAxisTagId),
|
|
@@ -10942,6 +11024,14 @@ var TrendingChart = function (_a) {
|
|
|
10942
11024
|
labels: [],
|
|
10943
11025
|
datasets: updatedSeries
|
|
10944
11026
|
});
|
|
11027
|
+
}, 1000));
|
|
11028
|
+
var _e = useState(false), chartShouldInitCursors = _e[0], setChartShouldInitCursors = _e[1];
|
|
11029
|
+
var verticalLinePlugin = useGetVerticalLinePlugin(setChartArea, setLineTabCoords);
|
|
11030
|
+
var xAxisDatePlugin = useXAxisDatePlugin();
|
|
11031
|
+
var yAxisPlugin = useYAxisPlugin();
|
|
11032
|
+
var seriesVsTags = useRef({});
|
|
11033
|
+
useEffect(function () {
|
|
11034
|
+
debouncedUpdateChartBasedOnData.current();
|
|
10945
11035
|
}, [state.graphShouldUpdate, series]);
|
|
10946
11036
|
useEffect(function () {
|
|
10947
11037
|
if (chartShouldInitCursors) {
|
|
@@ -10959,7 +11049,7 @@ var TrendingChart = function (_a) {
|
|
|
10959
11049
|
});
|
|
10960
11050
|
// @ts-ignore
|
|
10961
11051
|
chartRef.current.mouseX = newLeft;
|
|
10962
|
-
debouncedUpdateChart();
|
|
11052
|
+
debouncedUpdateChart.current();
|
|
10963
11053
|
} })) : null,
|
|
10964
11054
|
lineTabCoords && chartArea ? (React__default.createElement(DraggableLineControl, { color: 'blue', initialLeft: lineTabCoords === null || lineTabCoords === void 0 ? void 0 : lineTabCoords.x2, otherLineCoord: lineTabCoords === null || lineTabCoords === void 0 ? void 0 : lineTabCoords.x1, chartArea: chartArea, onUpdate: function (newLeft) {
|
|
10965
11055
|
setLineTabCoords(function (prevCoords) {
|
|
@@ -10968,7 +11058,7 @@ var TrendingChart = function (_a) {
|
|
|
10968
11058
|
});
|
|
10969
11059
|
// @ts-ignore
|
|
10970
11060
|
chartRef.current.secondLineX = newLeft;
|
|
10971
|
-
debouncedUpdateChart();
|
|
11061
|
+
debouncedUpdateChart.current();
|
|
10972
11062
|
} })) : null,
|
|
10973
11063
|
React__default.createElement(Line, { ref: chartRef, data: chartData, options: chartOptions, plugins: [verticalLinePlugin, xAxisDatePlugin, yAxisPlugin] })));
|
|
10974
11064
|
};
|
|
@@ -10980,7 +11070,7 @@ var Trending = function (_a) {
|
|
|
10980
11070
|
var _d = useState(''), error = _d[0], setError = _d[1];
|
|
10981
11071
|
var _e = useState(true), loading = _e[0], setLoading = _e[1];
|
|
10982
11072
|
var _f = useState([]), series = _f[0], setSeries = _f[1];
|
|
10983
|
-
var _g = useState(null),
|
|
11073
|
+
var _g = useState(null), selectedRowTagId = _g[0], setSelectedRowTagId = _g[1];
|
|
10984
11074
|
var _h = useState(null), viewTagForDelete = _h[0], setViewTagForDelete = _h[1];
|
|
10985
11075
|
var _j = useChartOptions(), chartOptions = _j[0], setChartOptions = _j[1];
|
|
10986
11076
|
var _k = useState({
|
|
@@ -10991,16 +11081,16 @@ var Trending = function (_a) {
|
|
|
10991
11081
|
var debounceForFetchingData = useRef(null);
|
|
10992
11082
|
var _m = useState({ x: 0, y: 0 }), contextMenuPosition = _m[0], setContextMenuPosition = _m[1];
|
|
10993
11083
|
var _o = useState(false), openContextMenu = _o[0], setOpenContextMenu = _o[1];
|
|
10994
|
-
var handleRightClick = function (event,
|
|
11084
|
+
var handleRightClick = function (event, tagId) {
|
|
10995
11085
|
event.preventDefault();
|
|
10996
11086
|
event.stopPropagation(); // Prevent the click event from propagating to the document
|
|
10997
|
-
if (isNumber(
|
|
10998
|
-
setViewTagForDelete(viewTags[
|
|
11087
|
+
if (isNumber(tagId)) {
|
|
11088
|
+
setViewTagForDelete(viewTags[tagId].viewTag);
|
|
10999
11089
|
}
|
|
11000
11090
|
else {
|
|
11001
11091
|
setViewTagForDelete(null);
|
|
11002
11092
|
}
|
|
11003
|
-
|
|
11093
|
+
setSelectedRowTagId(tagId);
|
|
11004
11094
|
setOpenContextMenu(true);
|
|
11005
11095
|
setContextMenuPosition({ x: event.clientX, y: event.clientY });
|
|
11006
11096
|
};
|
|
@@ -11010,14 +11100,15 @@ var Trending = function (_a) {
|
|
|
11010
11100
|
}
|
|
11011
11101
|
debounceForFetchingData.current = setTimeout(function () {
|
|
11012
11102
|
var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
11013
|
-
var tagIds, response, error_1;
|
|
11103
|
+
var viewTagsArr, tagIds, response, error_1;
|
|
11014
11104
|
return __generator(this, function (_a) {
|
|
11015
11105
|
switch (_a.label) {
|
|
11016
11106
|
case 0:
|
|
11017
11107
|
_a.trys.push([0, 3, , 4]);
|
|
11018
11108
|
setLoading(true);
|
|
11019
|
-
|
|
11020
|
-
tagIds =
|
|
11109
|
+
viewTagsArr = Object.values(viewTags).sort(function (a, b) { return b.order - a.order; });
|
|
11110
|
+
tagIds = viewTagsArr.map(function (tag) { return tag.viewTag.TagId; });
|
|
11111
|
+
if (!tagIds.length) return [3 /*break*/, 2];
|
|
11021
11112
|
return [4 /*yield*/, axios.post("/series?nodeName=null", {
|
|
11022
11113
|
start: state.timeScopeStart.getTime(),
|
|
11023
11114
|
end: state.timeScopeEnd.getTime(),
|
|
@@ -11042,6 +11133,11 @@ var Trending = function (_a) {
|
|
|
11042
11133
|
}); };
|
|
11043
11134
|
fetchData();
|
|
11044
11135
|
}, 800);
|
|
11136
|
+
return function () {
|
|
11137
|
+
if (debounceForFetchingData.current) {
|
|
11138
|
+
clearTimeout(debounceForFetchingData.current);
|
|
11139
|
+
}
|
|
11140
|
+
};
|
|
11045
11141
|
}, [shouldRefetchSeries]);
|
|
11046
11142
|
return (React__default.createElement(React__default.Fragment, null,
|
|
11047
11143
|
React__default.createElement(Grid$1, { container: true, style: { width: "95svw", height: "88svh", margin: 0 }, onClick: function () { return setOpenContextMenu(false); } },
|
|
@@ -11072,7 +11168,7 @@ var Trending = function (_a) {
|
|
|
11072
11168
|
zIndex: 2
|
|
11073
11169
|
} },
|
|
11074
11170
|
React__default.createElement(CircularProgress$1, { size: "2rem" }))),
|
|
11075
|
-
React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, getTagsFromAPI: getTagsFromAPI, openContextMenu: openContextMenu, setOpenContextMenu: setOpenContextMenu, viewTagForDelete: viewTagForDelete, setViewTagForDelete: setViewTagForDelete,
|
|
11171
|
+
React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, getTagsFromAPI: getTagsFromAPI, openContextMenu: openContextMenu, setOpenContextMenu: setOpenContextMenu, viewTagForDelete: viewTagForDelete, setViewTagForDelete: setViewTagForDelete, selectedRowTagId: selectedRowTagId, setSelectedRowTagId: setSelectedRowTagId, handleRightClick: handleRightClick, contextMenuPosition: contextMenuPosition, setContextMenuPosition: setContextMenuPosition }))),
|
|
11076
11172
|
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); }, title: "ERROR" })));
|
|
11077
11173
|
};
|
|
11078
11174
|
|
|
@@ -11104,12 +11200,16 @@ var TrendingsPage = function (props) {
|
|
|
11104
11200
|
case 2:
|
|
11105
11201
|
viewTagsResp = _a.sent();
|
|
11106
11202
|
if (viewTagsResp.ok) {
|
|
11107
|
-
viewTags = viewTagsResp.data.tables[0].rows.
|
|
11108
|
-
if (isNil$1(
|
|
11109
|
-
|
|
11203
|
+
viewTags = viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
|
|
11204
|
+
if (isNil$1(curr.Color)) {
|
|
11205
|
+
curr.Color = getRandomColor();
|
|
11110
11206
|
}
|
|
11111
|
-
|
|
11112
|
-
|
|
11207
|
+
carr[curr.TagId] = {
|
|
11208
|
+
viewTag: curr,
|
|
11209
|
+
order: idx
|
|
11210
|
+
};
|
|
11211
|
+
return carr;
|
|
11212
|
+
}, {});
|
|
11113
11213
|
setViewTagsAndRefetch(viewTags);
|
|
11114
11214
|
}
|
|
11115
11215
|
else {
|
|
@@ -11358,5 +11458,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
|
|
|
11358
11458
|
AreaSelector: AreaSelector
|
|
11359
11459
|
});
|
|
11360
11460
|
|
|
11361
|
-
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11461
|
+
export { Account, AssetProvider, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HorizontalTextControl, IntegerFormatter, Login, Logout, LongFilterPanel, MESApiService, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, NumericTextControl, SimplePasswordControl, SimpleSelectorControl, SimpleTextAreaControl, SimpleTextControl, TimeFormatter, TimeService, TreePickerControl, TrendingsPage, USER_LABELS, UTLSettingsProvider, UploadFileControl, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getProfiles, getShiftStyle, getTokenFromLS, getUsers, renewToken, setPassword, setProfilesToUser, upsertUser, useAssetContext, useToken, useUTLSettingsContext, useUserContext };
|
|
11362
11462
|
//# sourceMappingURL=index.esm.js.map
|