@dexteel/mesf-core 4.8.6 → 4.9.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/CHANGELOG.md +4 -0
- package/dist/index.esm.js +414 -289
- package/dist/index.esm.js.map +1 -1
- package/dist/pages/trendings/components/chart/components/modals/tagsTreeModal/CustomDragView.d.ts +8 -0
- package/dist/pages/trendings/components/chart/components/modals/tagsTreeModal/NewTagSelectionModal.d.ts +9 -0
- package/dist/pages/trendings/components/chart/components/modals/tagsTreeModal/TagFolderCustomNode.d.ts +19 -0
- package/dist/pages/trendings/components/chart/components/modals/tagsTreeModal/TagsTreeModal.d.ts +9 -0
- package/dist/pages/trendings/components/chart/context/TrendingContext.d.ts +20 -0
- package/dist/pages/trendings/components/chart/models/TagsTree.model.d.ts +12 -0
- package/dist/pages/trendings/components/chart/models/TrendingModels.d.ts +1 -1
- package/dist/pages/trendings/components/chart/repository/TrendingRepository.d.ts +3 -1
- package/dist/pages/trendings/components/chart/styles/TasgTreeModalStyles.d.ts +1 -0
- package/dist/pages/trendings/components/chart/utils/buildTagsTree.d.ts +4 -0
- package/package.json +1 -1
- package/dist/pages/trendings/components/chart/components/modals/addTagModal/AddTagModal.d.ts +0 -9
- /package/dist/pages/trendings/components/chart/components/modals/{addTagModal → tagsTreeModal}/TagSelectionModal.d.ts +0 -0
package/dist/index.esm.js
CHANGED
|
@@ -26,19 +26,20 @@ import { AgGridReact } from 'ag-grid-react';
|
|
|
26
26
|
import { withStyles, alpha, makeStyles, createStyles, useTheme } from '@material-ui/core/styles';
|
|
27
27
|
import Typography$1 from '@material-ui/core/Typography';
|
|
28
28
|
import { useForm, Controller, get as get$2 } from 'react-hook-form';
|
|
29
|
-
import { Alert as Alert$3,
|
|
29
|
+
import { Alert as Alert$3, Autocomplete } from '@material-ui/lab';
|
|
30
30
|
import moment from 'moment';
|
|
31
31
|
import axios from 'axios';
|
|
32
32
|
import { _adapters, Chart, CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip as Tooltip$1, Legend, TimeScale } from 'chart.js';
|
|
33
33
|
import zoomPlugin from 'chartjs-plugin-zoom';
|
|
34
34
|
import Popover from '@material-ui/core/Popover';
|
|
35
|
-
import
|
|
35
|
+
import { isAncestor, Tree, DndProvider as DndProvider$1 } from '@minoru/react-dnd-treeview';
|
|
36
36
|
import FolderIcon from '@material-ui/icons/Folder';
|
|
37
|
-
import
|
|
37
|
+
import InsertChartIcon from '@material-ui/icons/InsertChart';
|
|
38
|
+
import { ArrowRight, ChevronLeft, ChevronRight } from '@material-ui/icons';
|
|
39
|
+
import ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';
|
|
38
40
|
import CreateIcon from '@material-ui/icons/Create';
|
|
39
41
|
import DeleteIcon from '@material-ui/icons/Delete';
|
|
40
42
|
import LockIcon from '@material-ui/icons/Lock';
|
|
41
|
-
import { ArrowRight, ChevronLeft, ChevronRight } from '@material-ui/icons';
|
|
42
43
|
import SkipNextIcon from '@material-ui/icons/SkipNext';
|
|
43
44
|
import { Line } from 'react-chartjs-2';
|
|
44
45
|
import PersonPinCircleIcon from '@material-ui/icons/PersonPinCircle';
|
|
@@ -72,7 +73,6 @@ import 'ag-grid-enterprise/styles/ag-grid.css';
|
|
|
72
73
|
import 'ag-grid-enterprise/styles/ag-theme-balham.min.css';
|
|
73
74
|
import 'ag-grid-community/styles/ag-grid.css';
|
|
74
75
|
import 'ag-grid-community/styles/ag-theme-alpine.css';
|
|
75
|
-
import { isAncestor, Tree } from '@minoru/react-dnd-treeview';
|
|
76
76
|
import ImageIcon from '@material-ui/icons/Image';
|
|
77
77
|
import ListAltIcon from '@material-ui/icons/ListAlt';
|
|
78
78
|
import DescriptionIcon from '@material-ui/icons/Description';
|
|
@@ -4305,7 +4305,7 @@ var useStyles$l = makeStyles$1(function (theme) { return ({
|
|
|
4305
4305
|
opacity: 0.5
|
|
4306
4306
|
}
|
|
4307
4307
|
}); });
|
|
4308
|
-
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
4308
|
+
var customStyles$1 = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
4309
4309
|
var CustomNode = function (_a) {
|
|
4310
4310
|
var setContextMenuOver = _a.setContextMenuOver, onDoubleClick = _a.onDoubleClick; _a.testIdPrefix; var isSelected = _a.isSelected, props = __rest(_a, ["setContextMenuOver", "onDoubleClick", "testIdPrefix", "isSelected"]);
|
|
4311
4311
|
var _c = useConfigurationAssetContext(), openAssets = _c.state.openAssets, setOpenAssets = _c.actions.setOpenAssets;
|
|
@@ -4356,7 +4356,7 @@ var CustomNode = function (_a) {
|
|
|
4356
4356
|
};
|
|
4357
4357
|
}, []);
|
|
4358
4358
|
return (React__default.createElement("div", { className: nodeClasses, style: { paddingInlineStart: indent }, "data-node-id": id, onClick: handleClick, title: "".concat(props.node.id, " - ").concat(props.node.text) },
|
|
4359
|
-
React__default.createElement("style", null, customStyles),
|
|
4359
|
+
React__default.createElement("style", null, customStyles$1),
|
|
4360
4360
|
props.node.droppable ? (React__default.createElement("div", { className: "".concat(classes.arrow, " ").concat(props.isOpen ? classes["arrow.is-open"] : "") },
|
|
4361
4361
|
React__default.createElement("div", { onClick: handleToggle },
|
|
4362
4362
|
React__default.createElement(ArrowRight, { "data-testid": "arrow-right-icon-".concat(id) })))) : null,
|
|
@@ -4432,7 +4432,7 @@ var useStyles$j = makeStyles$1(function (theme) { return ({
|
|
|
4432
4432
|
display: "flex"
|
|
4433
4433
|
}
|
|
4434
4434
|
}); });
|
|
4435
|
-
var CustomDragPreview = function (props) {
|
|
4435
|
+
var CustomDragPreview$1 = function (props) {
|
|
4436
4436
|
var _a;
|
|
4437
4437
|
var classes = useStyles$j();
|
|
4438
4438
|
var item = props.monitorProps.item;
|
|
@@ -5455,7 +5455,7 @@ var AssetViewComponent = function () {
|
|
|
5455
5455
|
if (selectedNodes.length > 1) {
|
|
5456
5456
|
return (React__default.createElement(MultipleDragPreview, { dragSources: selectedNodes }));
|
|
5457
5457
|
}
|
|
5458
|
-
return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps }));
|
|
5458
|
+
return (React__default.createElement(CustomDragPreview$1, { monitorProps: monitorProps }));
|
|
5459
5459
|
} })))))),
|
|
5460
5460
|
React__default.createElement(CreateNewAssetDialog, { show: showCreateNewAssetDialog, onHide: function (shouldUpdate) {
|
|
5461
5461
|
setShowCreateNewAssetDialog(false);
|
|
@@ -9983,275 +9983,42 @@ var ColorPicker = function (_a) {
|
|
|
9983
9983
|
} })); })))));
|
|
9984
9984
|
};
|
|
9985
9985
|
|
|
9986
|
-
var
|
|
9987
|
-
|
|
9988
|
-
|
|
9989
|
-
|
|
9990
|
-
|
|
9991
|
-
|
|
9992
|
-
|
|
9993
|
-
|
|
9994
|
-
|
|
9995
|
-
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
border: "0.0625rem black solid",
|
|
10000
|
-
borderBottom: "none",
|
|
10001
|
-
backgroundColor: "#e9ecef"
|
|
10002
|
-
},
|
|
10003
|
-
bottomTitlesRow: {
|
|
10004
|
-
'& th': {
|
|
10005
|
-
border: "1px black solid"
|
|
10006
|
-
},
|
|
10007
|
-
backgroundColor: "#e9ecef"
|
|
10008
|
-
},
|
|
10009
|
-
doubleInput: {
|
|
10010
|
-
padding: "0",
|
|
10011
|
-
'& input[type="text"] ': {
|
|
10012
|
-
width: "100%",
|
|
10013
|
-
height: "17px",
|
|
10014
|
-
display: "block",
|
|
10015
|
-
margin: "0",
|
|
10016
|
-
padding: "0"
|
|
10017
|
-
}
|
|
10018
|
-
},
|
|
10019
|
-
inputCol: {
|
|
10020
|
-
width: "11.25rem",
|
|
10021
|
-
overflow: 'hidden',
|
|
10022
|
-
textOverflow: 'ellipsis',
|
|
10023
|
-
whiteSpace: 'nowrap'
|
|
10024
|
-
},
|
|
10025
|
-
aliasCol: {
|
|
10026
|
-
width: "18rem",
|
|
10027
|
-
overflow: 'hidden',
|
|
10028
|
-
textOverflow: 'ellipsis',
|
|
10029
|
-
whiteSpace: 'nowrap'
|
|
10030
|
-
},
|
|
10031
|
-
autoScale: {
|
|
10032
|
-
width: '7.5rem'
|
|
10033
|
-
},
|
|
10034
|
-
scale: {
|
|
10035
|
-
width: '37.5rem',
|
|
10036
|
-
padding: "0"
|
|
10037
|
-
},
|
|
10038
|
-
visible: {
|
|
10039
|
-
width: '3.75rem'
|
|
10040
|
-
},
|
|
10041
|
-
color: {
|
|
10042
|
-
width: '4.375rem'
|
|
10043
|
-
},
|
|
10044
|
-
unit: {
|
|
10045
|
-
width: '7.5rem'
|
|
10046
|
-
},
|
|
10047
|
-
numberInput: {
|
|
10048
|
-
'&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
|
|
10049
|
-
'-webkit-appearance': 'none',
|
|
10050
|
-
margin: 0
|
|
10051
|
-
},
|
|
10052
|
-
'&': {
|
|
10053
|
-
'-moz-appearance': 'textfield'
|
|
9986
|
+
var getIhPath = function () { return localStorage.getItem('ihPath') || "[mssql2022].[IH_100020].[ih]"; };
|
|
9987
|
+
//tags
|
|
9988
|
+
var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9989
|
+
var apiService, parameters, resp;
|
|
9990
|
+
return __generator(this, function (_a) {
|
|
9991
|
+
switch (_a.label) {
|
|
9992
|
+
case 0:
|
|
9993
|
+
apiService = new MESApiService();
|
|
9994
|
+
parameters = [];
|
|
9995
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetTagsTree]", parameters)];
|
|
9996
|
+
case 1:
|
|
9997
|
+
resp = _a.sent();
|
|
9998
|
+
return [2 /*return*/, resp];
|
|
10054
9999
|
}
|
|
10055
|
-
}
|
|
10056
|
-
|
|
10057
|
-
|
|
10058
|
-
|
|
10059
|
-
|
|
10060
|
-
|
|
10061
|
-
|
|
10062
|
-
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
border: "1px black solid"
|
|
10068
|
-
}
|
|
10069
|
-
}); });
|
|
10070
|
-
|
|
10071
|
-
var TagSelectionModal = function (_a) {
|
|
10072
|
-
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
10073
|
-
var classes = useTagsTableStyles();
|
|
10074
|
-
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
10075
|
-
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
10076
|
-
var _d = useState([]), treeData = _d[0], setTreeData = _d[1];
|
|
10077
|
-
var _e = useState([]), expanded = _e[0], setExpanded = _e[1];
|
|
10078
|
-
var viewTags = useTrendingContext().state.viewTags;
|
|
10079
|
-
var currentColorIndex = useRef(0);
|
|
10080
|
-
useEffect(function () {
|
|
10081
|
-
var loadData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10082
|
-
var children;
|
|
10083
|
-
return __generator(this, function (_a) {
|
|
10084
|
-
switch (_a.label) {
|
|
10085
|
-
case 0:
|
|
10086
|
-
if (!isOpen) return [3 /*break*/, 2];
|
|
10087
|
-
setIsLoading(true);
|
|
10088
|
-
return [4 /*yield*/, fetchChildren("root")];
|
|
10089
|
-
case 1:
|
|
10090
|
-
children = _a.sent();
|
|
10091
|
-
setTreeData([
|
|
10092
|
-
{
|
|
10093
|
-
TagId: null,
|
|
10094
|
-
TagName: "root",
|
|
10095
|
-
children: children,
|
|
10096
|
-
isLoaded: true,
|
|
10097
|
-
shortName: "Tags",
|
|
10098
|
-
tag: null
|
|
10099
|
-
},
|
|
10100
|
-
]);
|
|
10101
|
-
setIsLoading(false);
|
|
10102
|
-
_a.label = 2;
|
|
10103
|
-
case 2: return [2 /*return*/];
|
|
10104
|
-
}
|
|
10105
|
-
});
|
|
10106
|
-
}); };
|
|
10107
|
-
loadData();
|
|
10108
|
-
}, [isOpen]);
|
|
10109
|
-
var getColor = function () {
|
|
10110
|
-
var color = tagColors[currentColorIndex.current];
|
|
10111
|
-
currentColorIndex.current =
|
|
10112
|
-
(currentColorIndex.current + 1) % tagColors.length;
|
|
10113
|
-
return color;
|
|
10114
|
-
};
|
|
10115
|
-
var fetchChildren = function (tagName, depth, maxDepth) {
|
|
10116
|
-
if (depth === void 0) { depth = 0; }
|
|
10117
|
-
if (maxDepth === void 0) { maxDepth = 3; }
|
|
10118
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
10119
|
-
var response, childrenData, error_1;
|
|
10120
|
-
return __generator(this, function (_a) {
|
|
10121
|
-
switch (_a.label) {
|
|
10122
|
-
case 0:
|
|
10123
|
-
// Limiting the recursion depth for safety
|
|
10124
|
-
if (depth > maxDepth) {
|
|
10125
|
-
return [2 /*return*/, []];
|
|
10126
|
-
}
|
|
10127
|
-
_a.label = 1;
|
|
10128
|
-
case 1:
|
|
10129
|
-
_a.trys.push([1, 4, , 5]);
|
|
10130
|
-
return [4 /*yield*/, axios.get("/Tag/".concat(tagName, "/children"))];
|
|
10131
|
-
case 2:
|
|
10132
|
-
response = _a.sent();
|
|
10133
|
-
return [4 /*yield*/, Promise.all(response.data.map(function (dbTag) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10134
|
-
var children, childTagName;
|
|
10135
|
-
return __generator(this, function (_a) {
|
|
10136
|
-
switch (_a.label) {
|
|
10137
|
-
case 0:
|
|
10138
|
-
children = null;
|
|
10139
|
-
childTagName = tagName !== "root" ? tagName + "." + dbTag.tagName : dbTag.tagName;
|
|
10140
|
-
if (!isNil$1(dbTag.tagType)) return [3 /*break*/, 2];
|
|
10141
|
-
return [4 /*yield*/, fetchChildren(childTagName, depth + 1, maxDepth)];
|
|
10142
|
-
case 1:
|
|
10143
|
-
children = _a.sent();
|
|
10144
|
-
_a.label = 2;
|
|
10145
|
-
case 2: return [2 /*return*/, {
|
|
10146
|
-
TagId: dbTag.tagId,
|
|
10147
|
-
TagName: childTagName,
|
|
10148
|
-
shortName: dbTag.tagName,
|
|
10149
|
-
children: children,
|
|
10150
|
-
isLoaded: true,
|
|
10151
|
-
tag: {
|
|
10152
|
-
TagId: dbTag.tagId,
|
|
10153
|
-
TagName: dbTag.tagName,
|
|
10154
|
-
Color: dbTag.color || getColor(),
|
|
10155
|
-
IsAutoScale: (dbTag.minValue || dbTag.maxValue) ? false : true,
|
|
10156
|
-
MinScale: dbTag.minValue,
|
|
10157
|
-
MaxScale: dbTag.maxValue,
|
|
10158
|
-
IsVisible: true,
|
|
10159
|
-
TagType: dbTag.tagType,
|
|
10160
|
-
Alias: dbTag.alias,
|
|
10161
|
-
Unit: dbTag.unit
|
|
10162
|
-
}
|
|
10163
|
-
}];
|
|
10164
|
-
}
|
|
10165
|
-
});
|
|
10166
|
-
}); }))];
|
|
10167
|
-
case 3:
|
|
10168
|
-
childrenData = _a.sent();
|
|
10169
|
-
// Flatten the structure if needed or perform other transformations
|
|
10170
|
-
// ...
|
|
10171
|
-
return [2 /*return*/, childrenData];
|
|
10172
|
-
case 4:
|
|
10173
|
-
error_1 = _a.sent();
|
|
10174
|
-
setError(error_1.message);
|
|
10175
|
-
return [2 /*return*/, []];
|
|
10176
|
-
case 5: return [2 /*return*/];
|
|
10177
|
-
}
|
|
10178
|
-
});
|
|
10179
|
-
});
|
|
10180
|
-
};
|
|
10181
|
-
/* I have to get the grandchildren because the toggle action would not be triggered if no children */
|
|
10182
|
-
var handleNodeToggle = function (event, nodeIds) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10183
|
-
return __generator(this, function (_a) {
|
|
10184
|
-
setExpanded(nodeIds);
|
|
10185
|
-
return [2 /*return*/];
|
|
10186
|
-
});
|
|
10187
|
-
}); };
|
|
10188
|
-
var handleNodeSelect = function (event, nodeId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10189
|
-
var node, alreadySelected;
|
|
10190
|
-
return __generator(this, function (_a) {
|
|
10191
|
-
node = findNode(treeData, nodeId);
|
|
10192
|
-
if (node === null || node === void 0 ? void 0 : node.TagId) {
|
|
10193
|
-
alreadySelected = viewTags.find(function (vt) { return vt.TagId === node.TagId; });
|
|
10194
|
-
if (!alreadySelected) {
|
|
10195
|
-
onTagSelect(node.tag);
|
|
10196
|
-
}
|
|
10197
|
-
else {
|
|
10198
|
-
setError("".concat(node.TagName, " is already added to the view"));
|
|
10000
|
+
});
|
|
10001
|
+
}); };
|
|
10002
|
+
var changeTagFolderToTag = function (TagId, TagFolderId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10003
|
+
var apiService, parameters, backendOffset, resp;
|
|
10004
|
+
return __generator(this, function (_a) {
|
|
10005
|
+
switch (_a.label) {
|
|
10006
|
+
case 0:
|
|
10007
|
+
apiService = new MESApiService();
|
|
10008
|
+
parameters = [];
|
|
10009
|
+
backendOffset = 1000000;
|
|
10010
|
+
if (TagFolderId && TagFolderId > backendOffset) {
|
|
10011
|
+
TagFolderId = TagFolderId - backendOffset;
|
|
10199
10012
|
}
|
|
10200
|
-
|
|
10201
|
-
|
|
10202
|
-
|
|
10203
|
-
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
var node = nodes_1[_i];
|
|
10207
|
-
if (node.TagName === tagName) {
|
|
10208
|
-
return node;
|
|
10209
|
-
}
|
|
10210
|
-
else if (node.children) {
|
|
10211
|
-
var found = findNode(node.children, tagName);
|
|
10212
|
-
if (found)
|
|
10213
|
-
return found;
|
|
10214
|
-
}
|
|
10013
|
+
parameters.push({ name: "TagId", value: TagId });
|
|
10014
|
+
parameters.push({ name: "TagFolderId", value: TagFolderId });
|
|
10015
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[ChangeTagFolderToTag]", parameters)];
|
|
10016
|
+
case 1:
|
|
10017
|
+
resp = _a.sent();
|
|
10018
|
+
return [2 /*return*/, resp];
|
|
10215
10019
|
}
|
|
10216
|
-
|
|
10217
|
-
|
|
10218
|
-
var renderTree = function (node) {
|
|
10219
|
-
var _a;
|
|
10220
|
-
return (React__default.createElement(TreeItem$1, { key: node.TagName, nodeId: node.TagName, label: React__default.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
|
|
10221
|
-
((_a = node.tag) === null || _a === void 0 ? void 0 : _a.TagType) && (React__default.createElement("div", { className: classes.dataType, style: {
|
|
10222
|
-
backgroundColor: node.tag.TagType === 'A' ? 'blue' : 'red'
|
|
10223
|
-
} }, node.tag.TagType)),
|
|
10224
|
-
React__default.createElement("div", { style: { paddingLeft: "5px" } }, node.shortName)), endIcon: React__default.createElement(ArrowDropDownIcon, null), icon: node.children && node.children.length > 0 ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertDriveFileIcon, null)) }, node.children && node.children.map(function (child) { return renderTree(child); })));
|
|
10225
|
-
};
|
|
10226
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
10227
|
-
React__default.createElement("div", { style: {
|
|
10228
|
-
display: isOpen ? "block" : "none",
|
|
10229
|
-
minHeight: "400px",
|
|
10230
|
-
minWidth: "600px"
|
|
10231
|
-
} },
|
|
10232
|
-
React__default.createElement("div", null, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
|
|
10233
|
-
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(TreeView$1, { expanded: expanded, onNodeSelect: handleNodeSelect, onNodeToggle: handleNodeToggle }, treeData.map(function (tree) { return renderTree(tree); }))))),
|
|
10234
|
-
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
10235
|
-
};
|
|
10236
|
-
|
|
10237
|
-
var AddTagModal = function (_a) {
|
|
10238
|
-
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
10239
|
-
return (React__default.createElement(React__default.Fragment, null,
|
|
10240
|
-
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
|
|
10241
|
-
React__default.createElement(MesfModal.Content, null,
|
|
10242
|
-
React__default.createElement(Box, null,
|
|
10243
|
-
React__default.createElement(Typography, { id: "modal-modal-description" },
|
|
10244
|
-
React__default.createElement(TagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
|
|
10245
|
-
};
|
|
10246
|
-
|
|
10247
|
-
var ButtonWithLoading = function (_a) {
|
|
10248
|
-
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
10249
|
-
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
10250
|
-
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
10251
|
-
children));
|
|
10252
|
-
};
|
|
10253
|
-
|
|
10254
|
-
var ihPath = localStorage.getItem('ihPath') || "[mssql2022].[IH_100020].[ih]";
|
|
10020
|
+
});
|
|
10021
|
+
}); };
|
|
10255
10022
|
var saveTagDefaults = function (TagId, Alias, Color, MinScale, MaxScale, Unit) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10256
10023
|
var apiService, parameters, resp;
|
|
10257
10024
|
return __generator(this, function (_a) {
|
|
@@ -10265,7 +10032,7 @@ var saveTagDefaults = function (TagId, Alias, Color, MinScale, MaxScale, Unit) {
|
|
|
10265
10032
|
parameters.push({ name: "MinScale", value: MinScale });
|
|
10266
10033
|
parameters.push({ name: "MaxScale", value: MaxScale });
|
|
10267
10034
|
parameters.push({ name: "Unit", value: Unit });
|
|
10268
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10035
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[SaveTagDefaults]", parameters)];
|
|
10269
10036
|
case 1:
|
|
10270
10037
|
resp = _a.sent();
|
|
10271
10038
|
return [2 /*return*/, resp];
|
|
@@ -10281,7 +10048,7 @@ var getViews = function (Search) { return __awaiter(void 0, void 0, void 0, func
|
|
|
10281
10048
|
apiService = new MESApiService();
|
|
10282
10049
|
parameters = [];
|
|
10283
10050
|
parameters.push({ name: "Search", value: Search });
|
|
10284
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10051
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetViews]", parameters)];
|
|
10285
10052
|
case 1:
|
|
10286
10053
|
resp = _a.sent();
|
|
10287
10054
|
return [2 /*return*/, resp];
|
|
@@ -10298,7 +10065,7 @@ var upsertView = function (ViewId, ViewName, isPublic) { return __awaiter(void 0
|
|
|
10298
10065
|
parameters.push({ name: "ViewId", value: ViewId });
|
|
10299
10066
|
parameters.push({ name: "ViewName", value: ViewName });
|
|
10300
10067
|
parameters.push({ name: "isPublic", value: isPublic });
|
|
10301
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10068
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertView]", parameters)];
|
|
10302
10069
|
case 1:
|
|
10303
10070
|
resp = _a.sent();
|
|
10304
10071
|
return [2 /*return*/, resp];
|
|
@@ -10313,7 +10080,7 @@ var deleteView = function (ViewId) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
10313
10080
|
apiService = new MESApiService();
|
|
10314
10081
|
parameters = [];
|
|
10315
10082
|
parameters.push({ name: "ViewId", value: ViewId });
|
|
10316
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10083
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteView]", parameters)];
|
|
10317
10084
|
case 1:
|
|
10318
10085
|
resp = _a.sent();
|
|
10319
10086
|
return [2 /*return*/, resp];
|
|
@@ -10329,7 +10096,7 @@ var getViewTags = function (ViewId) { return __awaiter(void 0, void 0, void 0, f
|
|
|
10329
10096
|
apiService = new MESApiService();
|
|
10330
10097
|
parameters = [];
|
|
10331
10098
|
parameters.push({ name: "ViewId", value: ViewId });
|
|
10332
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10099
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetViewTags]", parameters)];
|
|
10333
10100
|
case 1:
|
|
10334
10101
|
resp = _a.sent();
|
|
10335
10102
|
return [2 /*return*/, resp];
|
|
@@ -10351,7 +10118,7 @@ var upsertViewTag = function (ViewId, TagId, Color, MinScale, MaxScale, IsVisibl
|
|
|
10351
10118
|
parameters.push({ name: "IsVisible", value: IsVisible });
|
|
10352
10119
|
parameters.push({ name: "IsAutoScale", value: IsAutoScale });
|
|
10353
10120
|
parameters.push({ name: "Unit", value: Unit });
|
|
10354
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10121
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertViewTag]", parameters)];
|
|
10355
10122
|
case 1:
|
|
10356
10123
|
resp = _a.sent();
|
|
10357
10124
|
return [2 /*return*/, resp];
|
|
@@ -10366,7 +10133,7 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
|
|
|
10366
10133
|
apiService = new MESApiService();
|
|
10367
10134
|
parameters = [];
|
|
10368
10135
|
parameters.push({ name: "ViewId", value: ViewId });
|
|
10369
|
-
return [4 /*yield*/, apiService.callV2(
|
|
10136
|
+
return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteAllViewTagsFromView]", parameters)];
|
|
10370
10137
|
case 1:
|
|
10371
10138
|
resp = _a.sent();
|
|
10372
10139
|
return [2 /*return*/, resp];
|
|
@@ -10374,6 +10141,279 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
|
|
|
10374
10141
|
});
|
|
10375
10142
|
}); };
|
|
10376
10143
|
|
|
10144
|
+
var useTagsTreeModalStyles = makeStyles$1(function (theme) { return ({
|
|
10145
|
+
dataTypeOfTree: {
|
|
10146
|
+
width: '25px',
|
|
10147
|
+
height: '25px',
|
|
10148
|
+
color: "white",
|
|
10149
|
+
display: 'flex',
|
|
10150
|
+
justifyContent: 'center',
|
|
10151
|
+
alignItems: 'center',
|
|
10152
|
+
cursor: 'pointer',
|
|
10153
|
+
border: "1px black solid"
|
|
10154
|
+
},
|
|
10155
|
+
root: {
|
|
10156
|
+
alignItems: "center",
|
|
10157
|
+
display: "flex",
|
|
10158
|
+
height: "32px"
|
|
10159
|
+
},
|
|
10160
|
+
customNodeRoot: {
|
|
10161
|
+
listStyleType: "none",
|
|
10162
|
+
margin: 0,
|
|
10163
|
+
padding: 0,
|
|
10164
|
+
'&:hover': {
|
|
10165
|
+
backgroundColor: "#f2f2f2"
|
|
10166
|
+
}
|
|
10167
|
+
},
|
|
10168
|
+
arrow: {
|
|
10169
|
+
alignItems: "center",
|
|
10170
|
+
cursor: "pointer",
|
|
10171
|
+
display: "flex",
|
|
10172
|
+
height: "24px",
|
|
10173
|
+
justifyContent: "center",
|
|
10174
|
+
width: "24px",
|
|
10175
|
+
transition: "transform linear 0.1s",
|
|
10176
|
+
transform: "rotate(0deg)"
|
|
10177
|
+
},
|
|
10178
|
+
"arrow > div": {
|
|
10179
|
+
alignItems: "center",
|
|
10180
|
+
display: "flex"
|
|
10181
|
+
},
|
|
10182
|
+
"arrow.is-open": {
|
|
10183
|
+
transform: "rotate(90deg)"
|
|
10184
|
+
},
|
|
10185
|
+
filetype: {
|
|
10186
|
+
display: "flex"
|
|
10187
|
+
},
|
|
10188
|
+
label: {
|
|
10189
|
+
paddingInlineStart: "8px"
|
|
10190
|
+
},
|
|
10191
|
+
selected: {
|
|
10192
|
+
backgroundColor: "#e8f0fe"
|
|
10193
|
+
},
|
|
10194
|
+
dragging: {
|
|
10195
|
+
opacity: 0.5
|
|
10196
|
+
},
|
|
10197
|
+
contextMenu: {
|
|
10198
|
+
fontSize: "14px",
|
|
10199
|
+
backgroundColor: "#fff",
|
|
10200
|
+
borderRadius: "2px",
|
|
10201
|
+
padding: "5px 0 5px 0",
|
|
10202
|
+
width: "150px",
|
|
10203
|
+
height: "auto",
|
|
10204
|
+
margin: "0",
|
|
10205
|
+
position: "fixed",
|
|
10206
|
+
listStyle: "none",
|
|
10207
|
+
boxShadow: "0 0 20px 0 #ccc"
|
|
10208
|
+
},
|
|
10209
|
+
storyRoot: {
|
|
10210
|
+
display: "grid",
|
|
10211
|
+
height: "100%",
|
|
10212
|
+
gridTemplateRows: "auto 1fr",
|
|
10213
|
+
listStyleType: "none !important"
|
|
10214
|
+
},
|
|
10215
|
+
assetRoot: {
|
|
10216
|
+
boxSizing: "border-box",
|
|
10217
|
+
height: "100%",
|
|
10218
|
+
padding: "32px"
|
|
10219
|
+
},
|
|
10220
|
+
dropTarget: {
|
|
10221
|
+
boxShadow: "0 0 0 1px #1967d2 inset",
|
|
10222
|
+
borderRadius: '1px',
|
|
10223
|
+
backgroundColor: '#DAE4F2'
|
|
10224
|
+
},
|
|
10225
|
+
customDragRoot: {
|
|
10226
|
+
alignItems: "center",
|
|
10227
|
+
backgroundColor: "#1967d2",
|
|
10228
|
+
borderRadius: "4px",
|
|
10229
|
+
boxShadow: " 0 12px 24px -6px rgba(0, 0, 0, .25); 0 0 0 1px rgba(0, 0, 0, .08)",
|
|
10230
|
+
color: "#fff",
|
|
10231
|
+
display: "inline-grid",
|
|
10232
|
+
fontSize: "14px",
|
|
10233
|
+
gap: "8px",
|
|
10234
|
+
gridTemplateColumns: "auto auto",
|
|
10235
|
+
padding: "4px 8px",
|
|
10236
|
+
pointerEvents: "none"
|
|
10237
|
+
},
|
|
10238
|
+
icon: {
|
|
10239
|
+
alignItems: "center",
|
|
10240
|
+
display: "flex"
|
|
10241
|
+
},
|
|
10242
|
+
customDragLabel: {
|
|
10243
|
+
alignItems: "center",
|
|
10244
|
+
display: "flex"
|
|
10245
|
+
}
|
|
10246
|
+
}); });
|
|
10247
|
+
|
|
10248
|
+
function buildTagsTreeV2(data) {
|
|
10249
|
+
var tagsForTree = [];
|
|
10250
|
+
data.forEach(function (el) {
|
|
10251
|
+
var tagForTree = {
|
|
10252
|
+
id: el.TagId,
|
|
10253
|
+
parent: (el.ParentTagId || 0),
|
|
10254
|
+
text: el.TagName,
|
|
10255
|
+
data: el,
|
|
10256
|
+
droppable: el.TagTypeCode === 'F'
|
|
10257
|
+
};
|
|
10258
|
+
return tagsForTree.push(tagForTree);
|
|
10259
|
+
});
|
|
10260
|
+
return tagsForTree;
|
|
10261
|
+
}
|
|
10262
|
+
|
|
10263
|
+
var CustomDragPreview = function (props) {
|
|
10264
|
+
var _a, _b, _c;
|
|
10265
|
+
var classes = useTagsTreeModalStyles();
|
|
10266
|
+
var item = props.monitorProps.item;
|
|
10267
|
+
var isFolder = ((_a = item.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === 'F' ? true : false;
|
|
10268
|
+
return (React__default.createElement("div", { className: classes.customDragRoot },
|
|
10269
|
+
React__default.createElement("div", { className: classes.icon }, isFolder ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' }))),
|
|
10270
|
+
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))));
|
|
10271
|
+
};
|
|
10272
|
+
|
|
10273
|
+
var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
|
|
10274
|
+
var TagFolderCustomNode = function (_a) {
|
|
10275
|
+
var _b, _c, _d, _e, _f, _g, _h;
|
|
10276
|
+
var node = _a.node, _j = _a.options, depth = _j.depth, isOpen = _j.isOpen, onToggle = _j.onToggle, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, isSelected = _a.isSelected;
|
|
10277
|
+
var classes = useTagsTreeModalStyles();
|
|
10278
|
+
var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
|
|
10279
|
+
var onClickHandler = function () {
|
|
10280
|
+
var _a;
|
|
10281
|
+
if (options.hasChild) {
|
|
10282
|
+
if (openTagFolders[node.id]) {
|
|
10283
|
+
var newOpenTagFolders = __assign({}, openTagFolders);
|
|
10284
|
+
delete newOpenTagFolders[node.id];
|
|
10285
|
+
setOpenTagFolders(newOpenTagFolders);
|
|
10286
|
+
}
|
|
10287
|
+
else {
|
|
10288
|
+
setOpenTagFolders(__assign(__assign({}, openTagFolders), (_a = {}, _a[node.id] = node.id, _a)));
|
|
10289
|
+
}
|
|
10290
|
+
onToggle();
|
|
10291
|
+
return;
|
|
10292
|
+
}
|
|
10293
|
+
if (!options.hasChild) {
|
|
10294
|
+
handleSelect(node);
|
|
10295
|
+
}
|
|
10296
|
+
};
|
|
10297
|
+
return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
|
|
10298
|
+
React__default.createElement("style", null, customStyles),
|
|
10299
|
+
React__default.createElement(React__default.Fragment, null,
|
|
10300
|
+
options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
|
|
10301
|
+
: null,
|
|
10302
|
+
React__default.createElement("div", null, options.hasChild ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
|
|
10303
|
+
((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagName) &&
|
|
10304
|
+
React__default.createElement(React__default.Fragment, null,
|
|
10305
|
+
((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagTypeCode) && ((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
|
|
10306
|
+
backgroundColor: ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) === 'A' ? 'blue' : 'red',
|
|
10307
|
+
margin: "0 5px"
|
|
10308
|
+
} }, (_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode)),
|
|
10309
|
+
React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
|
|
10310
|
+
React__default.createElement(Typography, { variant: "body2" }, ((_g = node.data) === null || _g === void 0 ? void 0 : _g.Alias) || ((_h = node.data) === null || _h === void 0 ? void 0 : _h.TagName))))));
|
|
10311
|
+
};
|
|
10312
|
+
|
|
10313
|
+
var NewTagSelectionModal = function (_a) {
|
|
10314
|
+
var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
|
|
10315
|
+
var classes = useTagsTreeModalStyles();
|
|
10316
|
+
var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
|
|
10317
|
+
var _c = useState(''), error = _c[0], setError = _c[1];
|
|
10318
|
+
var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
|
|
10319
|
+
var _e = useState({}), openTagFolders = _e[0], setOpenTagFolders = _e[1];
|
|
10320
|
+
var _f = useState([]), selectedNodes = _f[0]; _f[1];
|
|
10321
|
+
useTrendingContext().state.viewTags;
|
|
10322
|
+
var expanded = useMemo(function () {
|
|
10323
|
+
return Object.keys(openTagFolders).map(function (el) { return parseInt(el); });
|
|
10324
|
+
}, [openTagFolders]);
|
|
10325
|
+
useEffect(function () {
|
|
10326
|
+
var loadData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
10327
|
+
var tagsTree, rows, tree;
|
|
10328
|
+
return __generator(this, function (_a) {
|
|
10329
|
+
switch (_a.label) {
|
|
10330
|
+
case 0:
|
|
10331
|
+
if (!isOpen) return [3 /*break*/, 2];
|
|
10332
|
+
setIsLoading(true);
|
|
10333
|
+
return [4 /*yield*/, getTagsTree()];
|
|
10334
|
+
case 1:
|
|
10335
|
+
tagsTree = _a.sent();
|
|
10336
|
+
if (tagsTree.ok) {
|
|
10337
|
+
rows = tagsTree.data.tables[0].rows;
|
|
10338
|
+
tree = buildTagsTreeV2(rows);
|
|
10339
|
+
setTagsTreeData(tree);
|
|
10340
|
+
}
|
|
10341
|
+
setIsLoading(false);
|
|
10342
|
+
_a.label = 2;
|
|
10343
|
+
case 2: return [2 /*return*/];
|
|
10344
|
+
}
|
|
10345
|
+
});
|
|
10346
|
+
}); };
|
|
10347
|
+
loadData();
|
|
10348
|
+
}, [isOpen]);
|
|
10349
|
+
var handleDrop = function (tree, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
10350
|
+
var tagId, newFolderId, newTree;
|
|
10351
|
+
return __generator(this, function (_a) {
|
|
10352
|
+
switch (_a.label) {
|
|
10353
|
+
case 0:
|
|
10354
|
+
if (!(options.dragSource && options.dropTarget)) return [3 /*break*/, 2];
|
|
10355
|
+
setIsLoading(true);
|
|
10356
|
+
tagId = Number(options.dragSource.id);
|
|
10357
|
+
newFolderId = Number(options.dropTarget.id);
|
|
10358
|
+
if (tagId === newFolderId) {
|
|
10359
|
+
setIsLoading(false);
|
|
10360
|
+
return [2 /*return*/];
|
|
10361
|
+
}
|
|
10362
|
+
return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
|
|
10363
|
+
case 1:
|
|
10364
|
+
newTree = _a.sent();
|
|
10365
|
+
setTagsTreeData(tree);
|
|
10366
|
+
setIsLoading(false);
|
|
10367
|
+
if (!newTree.ok) {
|
|
10368
|
+
setError(newTree.message);
|
|
10369
|
+
}
|
|
10370
|
+
_a.label = 2;
|
|
10371
|
+
case 2: return [2 /*return*/];
|
|
10372
|
+
}
|
|
10373
|
+
});
|
|
10374
|
+
}); };
|
|
10375
|
+
var handleClick = function (node) {
|
|
10376
|
+
if (node.data) {
|
|
10377
|
+
onTagSelect(node.data);
|
|
10378
|
+
}
|
|
10379
|
+
};
|
|
10380
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
10381
|
+
React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" } },
|
|
10382
|
+
React__default.createElement("div", { style: { overflowY: 'auto', maxHeight: '700px' } }, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
|
|
10383
|
+
React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
|
|
10384
|
+
React__default.createElement(Tree, { classes: {
|
|
10385
|
+
root: classes.assetRoot,
|
|
10386
|
+
dropTarget: classes.dropTarget
|
|
10387
|
+
}, initialOpen: expanded, tree: tagsTreeData, rootId: 0, onDrop: handleDrop, canDrop: function (tag, options) {
|
|
10388
|
+
return !selectedNodes.some(function (selectedNode) {
|
|
10389
|
+
return Number(selectedNode.id) === Number(options.dropTargetId);
|
|
10390
|
+
});
|
|
10391
|
+
}, render: function (node, options) {
|
|
10392
|
+
var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
|
|
10393
|
+
return (React__default.createElement(TagFolderCustomNode, { node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
|
|
10394
|
+
}, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
|
|
10395
|
+
// <div>{monitorProps.item.data?.TagName}</div>
|
|
10396
|
+
); } }))))),
|
|
10397
|
+
React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
|
|
10398
|
+
};
|
|
10399
|
+
|
|
10400
|
+
var TagsTreeModal = function (_a) {
|
|
10401
|
+
var open = _a.open, handleClose = _a.handleClose, onTagSelect = _a.onTagSelect;
|
|
10402
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
10403
|
+
React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
|
|
10404
|
+
React__default.createElement(MesfModal.Content, null,
|
|
10405
|
+
React__default.createElement(Box, null,
|
|
10406
|
+
React__default.createElement(Typography, { id: "modal-modal-description" },
|
|
10407
|
+
React__default.createElement(NewTagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
|
|
10408
|
+
};
|
|
10409
|
+
|
|
10410
|
+
var ButtonWithLoading = function (_a) {
|
|
10411
|
+
var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
|
|
10412
|
+
return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
|
|
10413
|
+
isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
|
|
10414
|
+
children));
|
|
10415
|
+
};
|
|
10416
|
+
|
|
10377
10417
|
var useTrendingStyles = makeStyles$1(function (theme) { return ({
|
|
10378
10418
|
datetimePicker: {
|
|
10379
10419
|
alignItems: "center",
|
|
@@ -10831,6 +10871,91 @@ var useTagsDataTable = function (_a) {
|
|
|
10831
10871
|
}, [viewTags, chartData, cursorData]);
|
|
10832
10872
|
};
|
|
10833
10873
|
|
|
10874
|
+
var useTagsTableStyles = makeStyles$1(function (theme) { return ({
|
|
10875
|
+
checkbox: {
|
|
10876
|
+
'& input[type="checkbox"]': {
|
|
10877
|
+
zoom: 1.5
|
|
10878
|
+
},
|
|
10879
|
+
textAlign: 'center'
|
|
10880
|
+
},
|
|
10881
|
+
rowHover: {
|
|
10882
|
+
'&:hover': {
|
|
10883
|
+
backgroundColor: "#f2f2f2"
|
|
10884
|
+
}
|
|
10885
|
+
},
|
|
10886
|
+
topTitles: {
|
|
10887
|
+
border: "0.0625rem black solid",
|
|
10888
|
+
borderBottom: "none",
|
|
10889
|
+
backgroundColor: "#e9ecef"
|
|
10890
|
+
},
|
|
10891
|
+
bottomTitlesRow: {
|
|
10892
|
+
'& th': {
|
|
10893
|
+
border: "1px black solid"
|
|
10894
|
+
},
|
|
10895
|
+
backgroundColor: "#e9ecef"
|
|
10896
|
+
},
|
|
10897
|
+
doubleInput: {
|
|
10898
|
+
padding: "0",
|
|
10899
|
+
'& input[type="text"] ': {
|
|
10900
|
+
width: "100%",
|
|
10901
|
+
height: "17px",
|
|
10902
|
+
display: "block",
|
|
10903
|
+
margin: "0",
|
|
10904
|
+
padding: "0"
|
|
10905
|
+
}
|
|
10906
|
+
},
|
|
10907
|
+
inputCol: {
|
|
10908
|
+
width: "11.25rem",
|
|
10909
|
+
overflow: 'hidden',
|
|
10910
|
+
textOverflow: 'ellipsis',
|
|
10911
|
+
whiteSpace: 'nowrap'
|
|
10912
|
+
},
|
|
10913
|
+
aliasCol: {
|
|
10914
|
+
width: "18rem",
|
|
10915
|
+
overflow: 'hidden',
|
|
10916
|
+
textOverflow: 'ellipsis',
|
|
10917
|
+
whiteSpace: 'nowrap'
|
|
10918
|
+
},
|
|
10919
|
+
autoScale: {
|
|
10920
|
+
width: '7.5rem'
|
|
10921
|
+
},
|
|
10922
|
+
scale: {
|
|
10923
|
+
width: '37.5rem',
|
|
10924
|
+
padding: "0"
|
|
10925
|
+
},
|
|
10926
|
+
visible: {
|
|
10927
|
+
width: '3.75rem'
|
|
10928
|
+
},
|
|
10929
|
+
color: {
|
|
10930
|
+
width: '4.375rem'
|
|
10931
|
+
},
|
|
10932
|
+
unit: {
|
|
10933
|
+
width: '7.5rem'
|
|
10934
|
+
},
|
|
10935
|
+
numberInput: {
|
|
10936
|
+
'&::-webkit-inner-spin-button, &::-webkit-outer-spin-button': {
|
|
10937
|
+
'-webkit-appearance': 'none',
|
|
10938
|
+
margin: 0
|
|
10939
|
+
},
|
|
10940
|
+
'&': {
|
|
10941
|
+
'-moz-appearance': 'textfield'
|
|
10942
|
+
}
|
|
10943
|
+
},
|
|
10944
|
+
xStats: {
|
|
10945
|
+
// ...
|
|
10946
|
+
},
|
|
10947
|
+
dataType: {
|
|
10948
|
+
width: '30px',
|
|
10949
|
+
height: '30px',
|
|
10950
|
+
color: "white",
|
|
10951
|
+
display: 'flex',
|
|
10952
|
+
justifyContent: 'center',
|
|
10953
|
+
alignItems: 'center',
|
|
10954
|
+
cursor: 'pointer',
|
|
10955
|
+
border: "1px black solid"
|
|
10956
|
+
}
|
|
10957
|
+
}); });
|
|
10958
|
+
|
|
10834
10959
|
var formatTimeDiffWithMs = function (start, end) {
|
|
10835
10960
|
// Calculate total difference in milliseconds
|
|
10836
10961
|
var totalMilliseconds = end - start;
|
|
@@ -10876,7 +11001,7 @@ var TableComponent = function (_a) {
|
|
|
10876
11001
|
var _g = useState(false); _g[0]; var setIsLoading = _g[1];
|
|
10877
11002
|
var _h = useState(null), viewTagForDelete = _h[0], setViewTagForDelete = _h[1];
|
|
10878
11003
|
var _j = useState(null), selectedRowIndex = _j[0], setSelectedRowIndex = _j[1];
|
|
10879
|
-
var _k = useState(false),
|
|
11004
|
+
var _k = useState(false), tagsTreeModalOpen = _k[0], setTagsTreeModalOpen = _k[1];
|
|
10880
11005
|
var _l = useState(false), saveAsViewModalOpen = _l[0], setSaveAsViewModalOpen = _l[1];
|
|
10881
11006
|
var _m = useState(false), loadViewOpen = _m[0], setLoadViewOpen = _m[1];
|
|
10882
11007
|
var _o = useState(''), snackbarMessage = _o[0], setSnackbarMessage = _o[1];
|
|
@@ -10915,7 +11040,7 @@ var TableComponent = function (_a) {
|
|
|
10915
11040
|
var handleAddTag = function (newTag) {
|
|
10916
11041
|
var newArr = __spreadArray([], viewTags, true);
|
|
10917
11042
|
if (newTag) {
|
|
10918
|
-
newArr.push(newTag);
|
|
11043
|
+
newArr.push(__assign(__assign({}, newTag), { IsVisible: true }));
|
|
10919
11044
|
setViewTagsAndRefetch(newArr);
|
|
10920
11045
|
}
|
|
10921
11046
|
};
|
|
@@ -10924,7 +11049,7 @@ var TableComponent = function (_a) {
|
|
|
10924
11049
|
handleAutoScaleChange(tagId, checked);
|
|
10925
11050
|
}
|
|
10926
11051
|
};
|
|
10927
|
-
var handleClose = function () { return
|
|
11052
|
+
var handleClose = function () { return setTagsTreeModalOpen(false); };
|
|
10928
11053
|
var ContextMenu = function (_a) {
|
|
10929
11054
|
var x = _a.x, y = _a.y, options = _a.options;
|
|
10930
11055
|
var handleContextMenuClick = function (e) {
|
|
@@ -10937,7 +11062,7 @@ var TableComponent = function (_a) {
|
|
|
10937
11062
|
var _p = useState({ x: 0, y: 0 }), contextMenuPosition = _p[0], setContextMenuPosition = _p[1];
|
|
10938
11063
|
var contextMenuOptions = [
|
|
10939
11064
|
{ id: 'delete', label: 'Remove Tag', onClick: function () { return handleDelete(); } },
|
|
10940
|
-
{ id: 'add', label: '
|
|
11065
|
+
{ id: 'add', label: 'Tags Tree', onClick: function () { return setTagsTreeModalOpen(true); } },
|
|
10941
11066
|
{ id: 'saveDefault', label: 'Save Default To Tag', onClick: function () { return handleSaveDefaultToTag(); } },
|
|
10942
11067
|
{ id: 'saveView', label: 'Save View', onClick: function () { return handleSaveView(); } },
|
|
10943
11068
|
{ id: 'saveViewAs', label: 'Save View as', onClick: function () { return setSaveAsViewModalOpen(true); } },
|
|
@@ -11163,7 +11288,7 @@ var TableComponent = function (_a) {
|
|
|
11163
11288
|
React__default.createElement("td", { className: classes.aliasCol },
|
|
11164
11289
|
React__default.createElement(Tooltip, { title: tag.TagName, placement: "top", arrow: true, interactive: true, enterDelay: 500 },
|
|
11165
11290
|
React__default.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
|
|
11166
|
-
React__default.createElement("div", { className: classes.dataType, style: { backgroundColor: tag.
|
|
11291
|
+
React__default.createElement("div", { className: classes.dataType, style: { backgroundColor: tag.TagTypeCode === "Real" || tag.TagTypeCode === "A" ? "blue" : ("red") } }, tag.TagTypeCode === "Real" || tag.TagTypeCode === "A" ? "A" : "D"),
|
|
11167
11292
|
React__default.createElement("input", { type: "text", style: { width: '100%' }, value: tag.Alias || tag.TagName, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
|
|
11168
11293
|
var newAlias = e.target.value;
|
|
11169
11294
|
handleChangeAlias(tag.TagId, newAlias);
|
|
@@ -11215,11 +11340,11 @@ var TableComponent = function (_a) {
|
|
|
11215
11340
|
}) : React__default.createElement("div", { style: { padding: '2rem' } },
|
|
11216
11341
|
React__default.createElement("div", { style: { padding: "1rem" } }, "No tag view detected. "),
|
|
11217
11342
|
React__default.createElement("div", { style: { padding: "1rem" } },
|
|
11218
|
-
React__default.createElement(Button$1, { onClick: function () { return
|
|
11343
|
+
React__default.createElement(Button$1, { onClick: function () { return setTagsTreeModalOpen(true); }, variant: 'contained', color: 'primary' }, " Add tag")),
|
|
11219
11344
|
React__default.createElement("div", null,
|
|
11220
11345
|
React__default.createElement(Button$1, { onClick: function () { return setLoadViewOpen(true); }, variant: 'outlined', color: 'primary' }, " Load view"))))))),
|
|
11221
11346
|
selectedRowIndex !== null && (React__default.createElement(ContextMenu, { x: contextMenuPosition.x, y: contextMenuPosition.y, options: contextMenuOptions })),
|
|
11222
|
-
React__default.createElement(
|
|
11347
|
+
React__default.createElement(TagsTreeModal, { open: tagsTreeModalOpen, handleClose: handleClose, onTagSelect: handleTagSelect }),
|
|
11223
11348
|
React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function (shouldUpdate) {
|
|
11224
11349
|
setSaveAsViewModalOpen(false);
|
|
11225
11350
|
if (shouldUpdate)
|