@dexteel/mesf-core 6.1.0 → 6.1.2

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/dist/index.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { HubConnectionBuilder, LogLevel } from '@microsoft/signalr';
2
2
  export * from '@microsoft/signalr';
3
3
  export { LicenseManager } from 'ag-grid-enterprise';
4
- import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, TextField, Paper, List, ListItem, ListItemIcon, ListItemText, Chip, SvgIcon, Collapse, Typography as Typography$1, Checkbox, InputAdornment, IconButton as IconButton$1, MenuItem, Box, Card, CardContent, CardActions, createTheme, CircularProgress, Snackbar, FormControlLabel, Switch, InputLabel, Select, DialogContentText, Popover, MenuList, FormControl, FormHelperText, Badge, Tooltip, useTheme, Input, Divider, CssBaseline, AppBar, Toolbar, Container, Menu, Hidden, Drawer, useMediaQuery, ListSubheader, TableContainer, Table, TableHead, TableRow, TableCell, TableBody, debounce, ThemeProvider, ListItemSecondaryAction } from '@material-ui/core';
4
+ import { withStyles, DialogTitle as DialogTitle$1, DialogContent as DialogContent$1, DialogActions as DialogActions$1, createStyles, Grid, Button, alpha, makeStyles, Dialog as Dialog$1, TextField, Paper, List, ListItem, ListItemIcon, ListItemText, Chip, SvgIcon, Collapse, Typography as Typography$1, Checkbox, InputAdornment, IconButton as IconButton$1, MenuItem, Box, Card, CardContent, CardActions, createTheme, CircularProgress, Snackbar, FormControlLabel, Switch, InputLabel, Select, DialogContentText, Popover, MenuList, FormControl, FormHelperText, Badge, Tooltip, useTheme, Input, Divider, CssBaseline, AppBar, Toolbar, Container, Menu, Hidden, Drawer, useMediaQuery, ListSubheader, debounce, ThemeProvider, ListItemSecondaryAction } from '@material-ui/core';
5
5
  import { useMutation, useQueryClient, useQuery, QueryClient, QueryClientProvider } from '@tanstack/react-query';
6
6
  import * as React from 'react';
7
7
  import React__default, { createContext, useContext, useState, useRef, useEffect, useMemo, Component, useCallback, lazy, Suspense } from 'react';
@@ -11933,113 +11933,6 @@ var TrendingProvider = function (_a) {
11933
11933
  return (React__default.createElement(TrendingContext.Provider, { value: { state: state, actions: actions } }, children));
11934
11934
  };
11935
11935
 
11936
- var useTrendingStyles = makeStyles(function (theme) { return ({
11937
- datetimePicker: {
11938
- alignItems: "center",
11939
- "& .MuiInputBase-root": {
11940
- color: "black",
11941
- backgroundColor: "white",
11942
- borderRadius: theme.shape.borderRadius,
11943
- width: "90%",
11944
- minWidth: "90%",
11945
- maxWidth: "90%",
11946
- },
11947
- "& .MuiInputBase-input": {
11948
- fontSize: "13px !important",
11949
- height: "15px !important",
11950
- paddingRight: "3px",
11951
- paddingLeft: "3px",
11952
- },
11953
- "& .MuiInput-underline:before": {
11954
- borderBottomColor: "rgba(0, 0, 0, 0.42)",
11955
- },
11956
- padding: 0,
11957
- },
11958
- select: {
11959
- "& .MuiInput-root": {
11960
- width: "100%",
11961
- },
11962
- "& .MuiInputBase-root": {
11963
- color: "black",
11964
- backgroundColor: "white",
11965
- borderRadius: theme.shape.borderRadius,
11966
- minWidth: "100%",
11967
- },
11968
- "& .MuiInputBase-input": {
11969
- fontSize: "14px !important",
11970
- height: "15px !important",
11971
- },
11972
- "& .MuiInput-underline:before": {
11973
- borderBottomColor: "rgba(0, 0, 0, 0.42)",
11974
- },
11975
- padding: 0,
11976
- },
11977
- labelOptions: {
11978
- paddingLeft: "2rem",
11979
- userSelect: "none",
11980
- "& > label": {
11981
- display: "flex",
11982
- alignItems: "center",
11983
- gap: "5px",
11984
- },
11985
- '& input[type="checkbox"]': {
11986
- zoom: 1.5,
11987
- },
11988
- },
11989
- isPublicCheckbox: {
11990
- userSelect: "none",
11991
- paddingLeft: "1rem",
11992
- "& > label": {
11993
- display: "flex",
11994
- alignItems: "center",
11995
- gap: "15px",
11996
- },
11997
- '& input[type="checkbox"]': {
11998
- zoom: 1.5,
11999
- },
12000
- },
12001
- navigatorButton: {
12002
- "& .MuiSvgIcon-root": {
12003
- cursor: "pointer !important",
12004
- height: "24px",
12005
- width: "24px",
12006
- "& svg": {
12007
- // Adjust the icon size as well
12008
- fontSize: "1.5rem",
12009
- },
12010
- },
12011
- color: "black",
12012
- },
12013
- iconContainer: {
12014
- display: "flex",
12015
- justifyContent: "flex-end",
12016
- alignItems: "center",
12017
- flex: 1,
12018
- },
12019
- optionContainer: {
12020
- display: "flex",
12021
- justifyContent: "flex-start",
12022
- alignItems: "center",
12023
- width: "100%",
12024
- },
12025
- optionLabel: {
12026
- flexGrow: 1,
12027
- },
12028
- inputCustom: {
12029
- color: "rgba(0, 0, 0, 0.87)",
12030
- cursor: "text",
12031
- fontSize: "0.7rem",
12032
- boxSizing: "border-box",
12033
- fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
12034
- fontWeight: 400,
12035
- lineHeight: 1.1876,
12036
- letterSpacing: "0.00938em",
12037
- "& .MuiOutlinedInput-input": {
12038
- padding: "10px 10px",
12039
- },
12040
- },
12041
- }); });
12042
-
12043
11936
  var getIhPath = function () {
12044
11937
  return localStorage.getItem("ihPath") || "[mssql2022].[IH_100020].[ih]";
12045
11938
  };
@@ -12054,12 +11947,7 @@ var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, functio
12054
11947
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetTagsTree]", parameters)];
12055
11948
  case 1:
12056
11949
  resp = _a.sent();
12057
- if (resp.ok) {
12058
- return [2 /*return*/, get(resp, "data.tables[0].rows", [])];
12059
- }
12060
- else {
12061
- throw new Error(resp.message || "Error fetching tags tree");
12062
- }
11950
+ return [2 /*return*/, resp];
12063
11951
  }
12064
11952
  });
12065
11953
  }); };
@@ -12069,100 +11957,81 @@ var deleteTagFolder = function (TagFolderId) { return __awaiter(void 0, void 0,
12069
11957
  switch (_a.label) {
12070
11958
  case 0:
12071
11959
  apiService = new MESApiService();
12072
- parameters = [
12073
- { name: "TagFolderId", value: TagFolderId },
12074
- ];
11960
+ parameters = [];
12075
11961
  backendOffset = 1000000;
12076
11962
  if (TagFolderId && TagFolderId > backendOffset) {
12077
11963
  TagFolderId = TagFolderId - backendOffset;
12078
11964
  }
11965
+ parameters.push({ name: "TagFolderId", value: TagFolderId });
12079
11966
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteTagFolder]", parameters)];
12080
11967
  case 1:
12081
11968
  resp = _a.sent();
12082
- if (!resp.ok) {
12083
- throw new Error(resp.message || "Error when delete tag folder");
12084
- }
12085
- return [2 /*return*/];
11969
+ return [2 /*return*/, resp];
12086
11970
  }
12087
11971
  });
12088
11972
  }); };
12089
- var upsertTagFolder = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
11973
+ var upsertTagFolder = function (TagFolderId, ParentTagFolderId, TagFolderName, IsActive) { return __awaiter(void 0, void 0, void 0, function () {
12090
11974
  var apiService, parameters, backendOffset, resp;
12091
- var tagFolderId = _b.tagFolderId, parentTagFolderId = _b.parentTagFolderId, tagFolderName = _b.tagFolderName, isActive = _b.isActive;
12092
- return __generator(this, function (_c) {
12093
- switch (_c.label) {
11975
+ return __generator(this, function (_a) {
11976
+ switch (_a.label) {
12094
11977
  case 0:
12095
11978
  apiService = new MESApiService();
12096
- parameters = [
12097
- { name: "TagFolderId", value: tagFolderId },
12098
- { name: "ParentTagFolderId", value: parentTagFolderId },
12099
- { name: "TagFolderName", value: tagFolderName },
12100
- { name: "IsActive", value: isActive },
12101
- ];
11979
+ parameters = [];
12102
11980
  backendOffset = 1000000;
12103
- if (tagFolderId && tagFolderId > backendOffset) {
12104
- tagFolderId = tagFolderId - backendOffset;
11981
+ if (TagFolderId && TagFolderId > backendOffset) {
11982
+ TagFolderId = TagFolderId - backendOffset;
12105
11983
  }
12106
- if (parentTagFolderId && parentTagFolderId > backendOffset) {
12107
- parentTagFolderId = parentTagFolderId - backendOffset;
11984
+ if (ParentTagFolderId && ParentTagFolderId > backendOffset) {
11985
+ ParentTagFolderId = ParentTagFolderId - backendOffset;
12108
11986
  }
11987
+ parameters.push({ name: "TagFolderId", value: TagFolderId });
11988
+ parameters.push({ name: "ParentTagFolderId", value: ParentTagFolderId });
11989
+ parameters.push({ name: "TagFolderName", value: TagFolderName });
11990
+ parameters.push({ name: "IsActive", value: IsActive });
12109
11991
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertTagFolder]", parameters)];
12110
11992
  case 1:
12111
- resp = _c.sent();
12112
- if (!resp.ok) {
12113
- throw new Error(resp.message || "Error when upsert tag folder");
12114
- }
12115
- return [2 /*return*/];
11993
+ resp = _a.sent();
11994
+ return [2 /*return*/, resp];
12116
11995
  }
12117
11996
  });
12118
11997
  }); };
12119
- var changeTagFolderToTag = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
11998
+ var changeTagFolderToTag = function (TagId, TagFolderId) { return __awaiter(void 0, void 0, void 0, function () {
12120
11999
  var apiService, parameters, backendOffset, resp;
12121
- var tagId = _b.tagId, tagFolderId = _b.tagFolderId;
12122
- return __generator(this, function (_c) {
12123
- switch (_c.label) {
12000
+ return __generator(this, function (_a) {
12001
+ switch (_a.label) {
12124
12002
  case 0:
12125
12003
  apiService = new MESApiService();
12126
- parameters = [
12127
- { name: "TagId", value: tagId },
12128
- { name: "TagFolderId", value: tagFolderId },
12129
- ];
12004
+ parameters = [];
12130
12005
  backendOffset = 1000000;
12131
- if (tagFolderId && tagFolderId > backendOffset) {
12132
- tagFolderId = tagFolderId - backendOffset;
12006
+ if (TagFolderId && TagFolderId > backendOffset) {
12007
+ TagFolderId = TagFolderId - backendOffset;
12133
12008
  }
12009
+ parameters.push({ name: "TagId", value: TagId });
12010
+ parameters.push({ name: "TagFolderId", value: TagFolderId });
12134
12011
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[ChangeTagFolderToTag]", parameters)];
12135
12012
  case 1:
12136
- resp = _c.sent();
12137
- if (!resp.ok) {
12138
- throw new Error(resp.message || "Error when change tag folder tag");
12139
- }
12140
- return [2 /*return*/];
12013
+ resp = _a.sent();
12014
+ return [2 /*return*/, resp];
12141
12015
  }
12142
12016
  });
12143
12017
  }); };
12144
- var saveTagDefaults = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
12018
+ var saveTagDefaults = function (TagId, Alias, Color, MinScale, MaxScale, Unit) { return __awaiter(void 0, void 0, void 0, function () {
12145
12019
  var apiService, parameters, resp;
12146
- var tagId = _b.tagId, alias = _b.alias, color = _b.color, minScale = _b.minScale, maxScale = _b.maxScale, unit = _b.unit;
12147
- return __generator(this, function (_c) {
12148
- switch (_c.label) {
12020
+ return __generator(this, function (_a) {
12021
+ switch (_a.label) {
12149
12022
  case 0:
12150
12023
  apiService = new MESApiService();
12151
- parameters = [
12152
- { name: "TagId", value: tagId },
12153
- { name: "Alias", value: alias },
12154
- { name: "Color", value: color },
12155
- { name: "MinScale", value: minScale },
12156
- { name: "MaxScale", value: maxScale },
12157
- { name: "Unit", value: unit },
12158
- ];
12024
+ parameters = [];
12025
+ parameters.push({ name: "TagId", value: TagId });
12026
+ parameters.push({ name: "Alias", value: Alias });
12027
+ parameters.push({ name: "Color", value: Color });
12028
+ parameters.push({ name: "MinScale", value: MinScale });
12029
+ parameters.push({ name: "MaxScale", value: MaxScale });
12030
+ parameters.push({ name: "Unit", value: Unit });
12159
12031
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[SaveTagDefaults]", parameters)];
12160
12032
  case 1:
12161
- resp = _c.sent();
12162
- if (!resp.ok) {
12163
- throw new Error(resp.message || "Error when save tag defaults");
12164
- }
12165
- return [2 /*return*/];
12033
+ resp = _a.sent();
12034
+ return [2 /*return*/, resp];
12166
12035
  }
12167
12036
  });
12168
12037
  }); };
@@ -12173,40 +12042,29 @@ var getViews = function (Search) { return __awaiter(void 0, void 0, void 0, func
12173
12042
  switch (_a.label) {
12174
12043
  case 0:
12175
12044
  apiService = new MESApiService();
12176
- parameters = [{ name: "Search", value: Search }];
12045
+ parameters = [];
12046
+ parameters.push({ name: "Search", value: Search });
12177
12047
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetViews]", parameters)];
12178
12048
  case 1:
12179
12049
  resp = _a.sent();
12180
- if (resp.ok) {
12181
- return [2 /*return*/, get(resp, "data.tables[0].rows", [])];
12182
- }
12183
- else {
12184
- throw new Error(resp.message || "Error fetching views");
12185
- }
12050
+ return [2 /*return*/, resp];
12186
12051
  }
12187
12052
  });
12188
12053
  }); };
12189
- var upsertView = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
12054
+ var upsertView = function (ViewId, ViewName, isPublic) { return __awaiter(void 0, void 0, void 0, function () {
12190
12055
  var apiService, parameters, resp;
12191
- var viewId = _b.viewId, viewName = _b.viewName, isPublic = _b.isPublic;
12192
- return __generator(this, function (_c) {
12193
- switch (_c.label) {
12056
+ return __generator(this, function (_a) {
12057
+ switch (_a.label) {
12194
12058
  case 0:
12195
12059
  apiService = new MESApiService();
12196
- parameters = [
12197
- { name: "ViewId", value: viewId },
12198
- { name: "ViewName", value: viewName },
12199
- { name: "isPublic", value: isPublic },
12200
- ];
12060
+ parameters = [];
12061
+ parameters.push({ name: "ViewId", value: ViewId });
12062
+ parameters.push({ name: "ViewName", value: ViewName });
12063
+ parameters.push({ name: "isPublic", value: isPublic });
12201
12064
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertView]", parameters)];
12202
12065
  case 1:
12203
- resp = _c.sent();
12204
- if (resp.ok) {
12205
- return [2 /*return*/, get(resp, "data.returnValue", null)];
12206
- }
12207
- else {
12208
- throw new Error(resp.message || "Error when delete view");
12209
- }
12066
+ resp = _a.sent();
12067
+ return [2 /*return*/, resp];
12210
12068
  }
12211
12069
  });
12212
12070
  }); };
@@ -12216,14 +12074,12 @@ var deleteView = function (ViewId) { return __awaiter(void 0, void 0, void 0, fu
12216
12074
  switch (_a.label) {
12217
12075
  case 0:
12218
12076
  apiService = new MESApiService();
12219
- parameters = [{ name: "ViewId", value: ViewId }];
12077
+ parameters = [];
12078
+ parameters.push({ name: "ViewId", value: ViewId });
12220
12079
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteView]", parameters)];
12221
12080
  case 1:
12222
12081
  resp = _a.sent();
12223
- if (!resp.ok) {
12224
- throw new Error(resp.message || "Error when delete view");
12225
- }
12226
- return [2 /*return*/];
12082
+ return [2 /*return*/, resp];
12227
12083
  }
12228
12084
  });
12229
12085
  }); };
@@ -12234,43 +12090,34 @@ var getViewTags = function (ViewId) { return __awaiter(void 0, void 0, void 0, f
12234
12090
  switch (_a.label) {
12235
12091
  case 0:
12236
12092
  apiService = new MESApiService();
12237
- parameters = [{ name: "ViewId", value: ViewId }];
12093
+ parameters = [];
12094
+ parameters.push({ name: "ViewId", value: ViewId });
12238
12095
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[GetViewTags]", parameters)];
12239
12096
  case 1:
12240
12097
  resp = _a.sent();
12241
- if (resp.ok) {
12242
- return [2 /*return*/, get(resp, "data.tables[0].rows", [])];
12243
- }
12244
- else {
12245
- throw new Error(resp.message || "Error fetching view tags");
12246
- }
12098
+ return [2 /*return*/, resp];
12247
12099
  }
12248
12100
  });
12249
12101
  }); };
12250
- var upsertViewTag = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
12102
+ var upsertViewTag = function (ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit) { return __awaiter(void 0, void 0, void 0, function () {
12251
12103
  var apiService, parameters, resp;
12252
- var viewId = _b.viewId, tagId = _b.tagId, color = _b.color, minScale = _b.minScale, maxScale = _b.maxScale, isVisible = _b.isVisible, isAutoScale = _b.isAutoScale, unit = _b.unit;
12253
- return __generator(this, function (_c) {
12254
- switch (_c.label) {
12104
+ return __generator(this, function (_a) {
12105
+ switch (_a.label) {
12255
12106
  case 0:
12256
12107
  apiService = new MESApiService();
12257
- parameters = [
12258
- { name: "ViewId", value: viewId },
12259
- { name: "TagId", value: tagId },
12260
- { name: "Color", value: color },
12261
- { name: "MinScale", value: minScale },
12262
- { name: "MaxScale", value: maxScale },
12263
- { name: "IsVisible", value: isVisible },
12264
- { name: "IsAutoScale", value: isAutoScale },
12265
- { name: "Unit", value: unit },
12266
- ];
12108
+ parameters = [];
12109
+ parameters.push({ name: "ViewId", value: ViewId });
12110
+ parameters.push({ name: "TagId", value: TagId });
12111
+ parameters.push({ name: "Color", value: Color });
12112
+ parameters.push({ name: "MinScale", value: MinScale });
12113
+ parameters.push({ name: "MaxScale", value: MaxScale });
12114
+ parameters.push({ name: "IsVisible", value: IsVisible });
12115
+ parameters.push({ name: "IsAutoScale", value: IsAutoScale });
12116
+ parameters.push({ name: "Unit", value: Unit });
12267
12117
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertViewTag]", parameters)];
12268
12118
  case 1:
12269
- resp = _c.sent();
12270
- if (!resp.ok) {
12271
- throw new Error(resp.message || "Error when upsert view tag");
12272
- }
12273
- return [2 /*return*/];
12119
+ resp = _a.sent();
12120
+ return [2 /*return*/, resp];
12274
12121
  }
12275
12122
  });
12276
12123
  }); };
@@ -12285,36 +12132,138 @@ var deleteAllViewTagsFromView = function (ViewId) { return __awaiter(void 0, voi
12285
12132
  return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteAllViewTagsFromView]", parameters)];
12286
12133
  case 1:
12287
12134
  resp = _a.sent();
12288
- if (!resp.ok) {
12289
- throw new Error(resp.message || "Error when delete all view tags");
12290
- }
12291
- return [2 /*return*/];
12135
+ return [2 /*return*/, resp];
12292
12136
  }
12293
12137
  });
12294
12138
  }); };
12295
12139
 
12140
+ var useTrendingStyles = makeStyles(function (theme) { return ({
12141
+ datetimePicker: {
12142
+ alignItems: "center",
12143
+ "& .MuiInputBase-root": {
12144
+ color: "black",
12145
+ backgroundColor: "white",
12146
+ borderRadius: theme.shape.borderRadius,
12147
+ width: "90%",
12148
+ minWidth: "90%",
12149
+ maxWidth: "90%",
12150
+ },
12151
+ "& .MuiInputBase-input": {
12152
+ fontSize: "13px !important",
12153
+ height: "15px !important",
12154
+ paddingRight: "3px",
12155
+ paddingLeft: "3px",
12156
+ },
12157
+ "& .MuiInput-underline:before": {
12158
+ borderBottomColor: "rgba(0, 0, 0, 0.42)",
12159
+ },
12160
+ padding: 0,
12161
+ },
12162
+ select: {
12163
+ "& .MuiInput-root": {
12164
+ width: "100%",
12165
+ },
12166
+ "& .MuiInputBase-root": {
12167
+ color: "black",
12168
+ backgroundColor: "white",
12169
+ borderRadius: theme.shape.borderRadius,
12170
+ minWidth: "100%",
12171
+ },
12172
+ "& .MuiInputBase-input": {
12173
+ fontSize: "14px !important",
12174
+ height: "15px !important",
12175
+ },
12176
+ "& .MuiInput-underline:before": {
12177
+ borderBottomColor: "rgba(0, 0, 0, 0.42)",
12178
+ },
12179
+ padding: 0,
12180
+ },
12181
+ labelOptions: {
12182
+ paddingLeft: "2rem",
12183
+ userSelect: "none",
12184
+ "& > label": {
12185
+ display: "flex",
12186
+ alignItems: "center",
12187
+ gap: "5px",
12188
+ },
12189
+ '& input[type="checkbox"]': {
12190
+ zoom: 1.5,
12191
+ },
12192
+ },
12193
+ isPublicCheckbox: {
12194
+ userSelect: "none",
12195
+ paddingLeft: "1rem",
12196
+ "& > label": {
12197
+ display: "flex",
12198
+ alignItems: "center",
12199
+ gap: "15px",
12200
+ },
12201
+ '& input[type="checkbox"]': {
12202
+ zoom: 1.5,
12203
+ },
12204
+ },
12205
+ navigatorButton: {
12206
+ "& .MuiSvgIcon-root": {
12207
+ cursor: "pointer !important",
12208
+ height: "24px",
12209
+ width: "24px",
12210
+ "& svg": {
12211
+ // Adjust the icon size as well
12212
+ fontSize: "1.5rem",
12213
+ },
12214
+ },
12215
+ color: "black",
12216
+ },
12217
+ iconContainer: {
12218
+ display: "flex",
12219
+ justifyContent: "flex-end",
12220
+ alignItems: "center",
12221
+ flex: 1,
12222
+ },
12223
+ optionContainer: {
12224
+ display: "flex",
12225
+ justifyContent: "flex-start",
12226
+ alignItems: "center",
12227
+ width: "100%",
12228
+ },
12229
+ optionLabel: {
12230
+ flexGrow: 1,
12231
+ },
12232
+ inputCustom: {
12233
+ color: "rgba(0, 0, 0, 0.87)",
12234
+ cursor: "text",
12235
+ fontSize: "0.7rem",
12236
+ boxSizing: "border-box",
12237
+ fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
12238
+ fontWeight: 400,
12239
+ lineHeight: 1.1876,
12240
+ letterSpacing: "0.00938em",
12241
+ "& .MuiOutlinedInput-input": {
12242
+ padding: "10px 10px",
12243
+ },
12244
+ },
12245
+ }); });
12246
+
12296
12247
  var DeleteViewModal = function (_a) {
12297
12248
  var open = _a.open, handleClose = _a.handleClose, view = _a.view;
12298
12249
  var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
12299
12250
  var _c = useState(""), error = _c[0], setError = _c[1];
12300
- var removeView = useMutation({
12301
- mutationFn: deleteView,
12302
- onSuccess: function () {
12303
- handleClose(true);
12304
- },
12305
- onError: function (error) {
12306
- setError(error.message);
12307
- },
12308
- });
12309
12251
  var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
12252
+ var resp;
12310
12253
  return __generator(this, function (_a) {
12311
12254
  switch (_a.label) {
12312
12255
  case 0:
12313
12256
  setIsLoading(true);
12314
12257
  if (!!isNil(view)) return [3 /*break*/, 2];
12315
- return [4 /*yield*/, removeView.mutate(view.ViewId)];
12258
+ return [4 /*yield*/, deleteView(view.ViewId)];
12316
12259
  case 1:
12317
- _a.sent();
12260
+ resp = _a.sent();
12261
+ if (!resp.ok) {
12262
+ setError(resp.message);
12263
+ }
12264
+ else {
12265
+ handleClose(true);
12266
+ }
12318
12267
  _a.label = 2;
12319
12268
  case 2:
12320
12269
  setIsLoading(false);
@@ -12352,28 +12301,22 @@ var EditViewModal = function (_a) {
12352
12301
  var _c = useState(true), isPublic = _c[0], setIsPublic = _c[1];
12353
12302
  var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
12354
12303
  var _e = useState(""), error = _e[0], setError = _e[1];
12355
- var updateView = useMutation({
12356
- mutationFn: upsertView,
12357
- onSuccess: function () {
12358
- handleClose(true);
12359
- },
12360
- onError: function (error) {
12361
- setError(error.message);
12362
- },
12363
- });
12364
12304
  var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
12305
+ var resp;
12365
12306
  return __generator(this, function (_a) {
12366
12307
  switch (_a.label) {
12367
12308
  case 0:
12368
12309
  setIsLoading(true);
12369
12310
  if (!!isNil(view)) return [3 /*break*/, 2];
12370
- return [4 /*yield*/, updateView.mutate({
12371
- viewId: view.ViewId,
12372
- viewName: newName,
12373
- isPublic: isPublic,
12374
- })];
12311
+ return [4 /*yield*/, upsertView(view.ViewId, newName, isPublic)];
12375
12312
  case 1:
12376
- _a.sent();
12313
+ resp = _a.sent();
12314
+ if (!resp.ok) {
12315
+ setError(resp.message);
12316
+ }
12317
+ else {
12318
+ handleClose(true);
12319
+ }
12377
12320
  _a.label = 2;
12378
12321
  case 2:
12379
12322
  setIsLoading(false);
@@ -12417,35 +12360,45 @@ var EditViewModal = function (_a) {
12417
12360
  };
12418
12361
 
12419
12362
  var LoadViewModal = function (_a) {
12420
- var _b;
12421
- var open = _a.open, handleClose = _a.handleClose;
12422
- var queryClient = useQueryClient();
12423
- var _c = useTrendingContext(), _d = _c.state, views = _d.views, viewSelected = _d.viewSelected, _e = _c.actions, setViewTagsAndRefetch = _e.setViewTagsAndRefetch, setViewSelected = _e.setViewSelected;
12363
+ var open = _a.open, handleClose = _a.handleClose, getTagsFromAPI = _a.getTagsFromAPI;
12364
+ var _b = useTrendingContext(), _c = _b.state, views = _c.views, viewSelected = _c.viewSelected, _d = _b.actions; _d.setViews; var setViewTagsAndRefetch = _d.setViewTagsAndRefetch, setViewSelected = _d.setViewSelected;
12424
12365
  var classes = useTrendingStyles();
12425
- var _f = useState(null), viewForDelete = _f[0], setViewForDelete = _f[1];
12426
- var _g = useState(null), viewForEdit = _g[0], setViewForEdit = _g[1];
12427
- var _h = useState(null), optionSelected = _h[0], setOptionSelected = _h[1];
12428
- var _j = useState(false), deleteViewModalOpen = _j[0], setDeleteViewModalOpen = _j[1];
12429
- var _k = useState(false), editViewModalOpen = _k[0], setEditViewModalOpen = _k[1];
12430
- var _l = useState(false), allViewsChecked = _l[0], setAllViewsChecked = _l[1];
12431
- var _m = useState(""), error = _m[0], setError = _m[1];
12432
- var _o = searchViewTags({ viewId: (_b = viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) !== null && _b !== void 0 ? _b : null }), viewTags = _o.data, viewTagsLoading = _o.isLoading; _o.isError; _o.error; var viewTagsSuccess = _o.isSuccess, viewTagsFetched = _o.isFetched;
12366
+ var _e = useState(null), viewForDelete = _e[0], setViewForDelete = _e[1];
12367
+ var _f = useState(null), viewForEdit = _f[0], setViewForEdit = _f[1];
12368
+ var _g = useState(false), deleteViewModalOpen = _g[0], setDeleteViewModalOpen = _g[1];
12369
+ var _h = useState(false), editViewModalOpen = _h[0], setEditViewModalOpen = _h[1];
12370
+ var _j = useState(false), allViewsChecked = _j[0], setAllViewsChecked = _j[1];
12371
+ var _k = useState(false), isLoading = _k[0], setIsLoading = _k[1];
12372
+ var _l = useState(""), error = _l[0], setError = _l[1];
12433
12373
  var handleSelect = function () { return __awaiter(void 0, void 0, void 0, function () {
12374
+ var viewTagsResp;
12434
12375
  return __generator(this, function (_a) {
12435
12376
  switch (_a.label) {
12436
12377
  case 0:
12437
- if (!optionSelected) return [3 /*break*/, 2];
12438
- setViewSelected(optionSelected);
12439
- return [4 /*yield*/, queryClient.invalidateQueries({
12440
- queryKey: ["viewTags", viewSelected.ViewId],
12441
- })];
12378
+ if (!viewSelected) return [3 /*break*/, 2];
12379
+ setIsLoading(true);
12380
+ return [4 /*yield*/, getViewTags(viewSelected.ViewId)];
12442
12381
  case 1:
12443
- _a.sent();
12444
- handleClose(true);
12445
- return [2 /*return*/];
12446
- case 2:
12382
+ viewTagsResp = _a.sent();
12383
+ if (viewTagsResp.ok) {
12384
+ setViewTagsAndRefetch(viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
12385
+ if (isNil(curr.Color)) {
12386
+ curr.Color = getRandomColor();
12387
+ }
12388
+ carr[curr.TagId] = {
12389
+ viewTag: curr,
12390
+ order: idx,
12391
+ };
12392
+ return carr;
12393
+ }, {}));
12394
+ }
12395
+ else {
12396
+ setError(viewTagsResp.message);
12397
+ }
12398
+ setIsLoading(false);
12447
12399
  handleClose(false);
12448
- return [2 /*return*/];
12400
+ _a.label = 2;
12401
+ case 2: return [2 /*return*/];
12449
12402
  }
12450
12403
  });
12451
12404
  }); };
@@ -12475,20 +12428,6 @@ var LoadViewModal = function (_a) {
12475
12428
  var publicViews = useMemo(function () {
12476
12429
  return views.filter(function (v) { return v.IsPublic === true; });
12477
12430
  }, [views, allViewsChecked]);
12478
- useEffect(function () {
12479
- if (viewTagsSuccess && viewTagsFetched) {
12480
- setViewTagsAndRefetch((viewTags !== null && viewTags !== void 0 ? viewTags : []).reduce(function (carr, curr, idx) {
12481
- if (isNil(curr.Color)) {
12482
- curr.Color = getRandomColor();
12483
- }
12484
- carr[curr.TagId] = {
12485
- viewTag: curr,
12486
- order: idx,
12487
- };
12488
- return carr;
12489
- }, {}));
12490
- }
12491
- }, [viewTagsSuccess, viewTagsFetched]);
12492
12431
  return (React__default.createElement("div", null,
12493
12432
  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" },
12494
12433
  React__default.createElement(MesfModal.Content, null,
@@ -12501,7 +12440,7 @@ var LoadViewModal = function (_a) {
12501
12440
  React__default.createElement(Grid, { item: true, md: 12 },
12502
12441
  React__default.createElement(Autocomplete, { size: "small", id: "list-of-views", noOptionsText: allViewsChecked
12503
12442
  ? "No views detected, please create a new view"
12504
- : "No private views detected, please create a new view .", options: allViewsChecked ? views : publicViews, getOptionLabel: function (option) { return option.ViewName; }, onChange: function (ev, val) { return setOptionSelected(val); }, defaultValue: optionSelected || viewSelected, style: { width: "100%" }, renderOption: function (option) { return (React__default.createElement("div", { className: classes.optionContainer },
12443
+ : "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 },
12505
12444
  React__default.createElement("div", { className: classes.optionLabel }, option.ViewName),
12506
12445
  React__default.createElement("div", { className: classes.iconContainer },
12507
12446
  option.IsPublic ? ("") : (React__default.createElement(React__default.Fragment, null,
@@ -12527,35 +12466,17 @@ var LoadViewModal = function (_a) {
12527
12466
  React__default.createElement(MesfModal.Actions, null,
12528
12467
  React__default.createElement("div", { style: { paddingTop: "1rem" } },
12529
12468
  React__default.createElement(Button, { variant: "outlined", style: { marginRight: "1rem" }, color: "secondary", onClick: function () { return handleClose(false); } }, "Cancel"),
12530
- views.length ? (React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: "contained", color: "primary", isLoading: viewTagsLoading, style: { marginRight: "1rem" } }, "Apply")) : (React__default.createElement(Button, { variant: "contained", style: { marginRight: "1rem" }, color: "primary", onClick: function () { return handleClose(false); } }, "Ok"))))),
12531
- React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) { return __awaiter(void 0, void 0, void 0, function () {
12532
- return __generator(this, function (_a) {
12533
- switch (_a.label) {
12534
- case 0:
12535
- setDeleteViewModalOpen(false);
12536
- if (!shouldUpdate) return [3 /*break*/, 2];
12537
- return [4 /*yield*/, queryClient.invalidateQueries({ queryKey: ["views"] })];
12538
- case 1:
12539
- _a.sent();
12540
- _a.label = 2;
12541
- case 2: return [2 /*return*/];
12542
- }
12543
- });
12544
- }); } }),
12545
- React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) { return __awaiter(void 0, void 0, void 0, function () {
12546
- return __generator(this, function (_a) {
12547
- switch (_a.label) {
12548
- case 0:
12549
- setEditViewModalOpen(false);
12550
- if (!shouldUpdate) return [3 /*break*/, 2];
12551
- return [4 /*yield*/, queryClient.invalidateQueries({ queryKey: ["views"] })];
12552
- case 1:
12553
- _a.sent();
12554
- _a.label = 2;
12555
- case 2: return [2 /*return*/];
12556
- }
12557
- });
12558
- }); } }),
12469
+ views.length ? (React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: "contained", color: "primary", isLoading: isLoading, style: { marginRight: "1rem" } }, "Apply")) : (React__default.createElement(Button, { variant: "contained", style: { marginRight: "1rem" }, color: "primary", onClick: function () { return handleClose(false); } }, "Ok"))))),
12470
+ React__default.createElement(DeleteViewModal, { open: deleteViewModalOpen, view: viewForDelete, handleClose: function (shouldUpdate) {
12471
+ setDeleteViewModalOpen(false);
12472
+ if (shouldUpdate)
12473
+ getTagsFromAPI().then(function () { });
12474
+ } }),
12475
+ React__default.createElement(EditViewModal, { open: editViewModalOpen, view: viewForEdit, handleClose: function (shouldUpdate) {
12476
+ setEditViewModalOpen(false);
12477
+ if (shouldUpdate)
12478
+ getTagsFromAPI().then(function () { });
12479
+ } }),
12559
12480
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
12560
12481
  };
12561
12482
 
@@ -12568,63 +12489,37 @@ var SaveAsViewModal = function (_a) {
12568
12489
  var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
12569
12490
  var _h = useState(""), newView = _h[0], setNewView = _h[1];
12570
12491
  var handleCheck = function () { return setIsPublic(!isPublic); };
12571
- var updateViewTag = useMutation({
12572
- mutationFn: upsertViewTag,
12573
- onError: function (error) {
12574
- setError(error.message);
12575
- },
12576
- });
12577
- var updateView = useMutation({
12578
- mutationFn: upsertView,
12579
- onSuccess: function (viewId) { return __awaiter(void 0, void 0, void 0, function () {
12580
- var shouldClose;
12581
- return __generator(this, function (_a) {
12582
- switch (_a.label) {
12583
- case 0:
12584
- shouldClose = true;
12585
- return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).map(function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
12586
- var _c = _b.viewTag, TagId = _c.TagId, Color = _c.Color, MinScale = _c.MinScale, MaxScale = _c.MaxScale, IsAutoScale = _c.IsAutoScale, IsVisible = _c.IsVisible, Unit = _c.Unit;
12587
- return __generator(this, function (_d) {
12588
- switch (_d.label) {
12589
- case 0: return [4 /*yield*/, updateViewTag.mutate({
12590
- viewId: viewId,
12591
- tagId: TagId,
12592
- color: Color,
12593
- minScale: MinScale,
12594
- maxScale: MaxScale,
12595
- isVisible: IsVisible,
12596
- isAutoScale: IsAutoScale,
12597
- unit: Unit,
12598
- })];
12599
- case 1:
12600
- _d.sent();
12601
- return [2 /*return*/];
12602
- }
12603
- });
12604
- }); }))];
12605
- case 1:
12606
- _a.sent();
12607
- handleClose(shouldClose);
12608
- return [2 /*return*/];
12609
- }
12610
- });
12611
- }); },
12612
- onError: function (error) {
12613
- setError(error.message);
12614
- },
12615
- });
12616
12492
  var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
12493
+ var resp, ViewId_1, shouldClose_1;
12617
12494
  return __generator(this, function (_a) {
12618
12495
  switch (_a.label) {
12619
12496
  case 0:
12620
12497
  setIsLoading(true);
12621
- return [4 /*yield*/, updateView.mutate({
12622
- viewId: null,
12623
- viewName: newView,
12624
- isPublic: isPublic,
12625
- })];
12498
+ return [4 /*yield*/, upsertView(null, newView, isPublic)];
12626
12499
  case 1:
12500
+ resp = _a.sent();
12501
+ if (!resp.ok) return [3 /*break*/, 3];
12502
+ ViewId_1 = resp.data.returnValue;
12503
+ shouldClose_1 = true;
12504
+ return [4 /*yield*/, Promise.allSettled(Object.values(viewTags).map(function (_a) {
12505
+ 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;
12506
+ upsertViewTag(ViewId_1, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit).then(function (r) {
12507
+ if (!r.ok) {
12508
+ setError(function (prevErr) { return "".concat(prevErr, ". ").concat(r.message); });
12509
+ if (shouldClose_1) {
12510
+ shouldClose_1 = false;
12511
+ }
12512
+ }
12513
+ });
12514
+ }))];
12515
+ case 2:
12627
12516
  _a.sent();
12517
+ handleClose(shouldClose_1);
12518
+ return [3 /*break*/, 4];
12519
+ case 3:
12520
+ setError(resp.message);
12521
+ _a.label = 4;
12522
+ case 4:
12628
12523
  setIsLoading(false);
12629
12524
  return [2 /*return*/];
12630
12525
  }
@@ -12790,14 +12685,8 @@ var NewFolderModal = function (_a) {
12790
12685
  var _b = useState(), name = _b[0], setName = _b[1];
12791
12686
  var _c = useState(""), error = _c[0], setError = _c[1];
12792
12687
  var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
12793
- var updateTagFolder = useMutation({
12794
- mutationFn: upsertTagFolder,
12795
- onError: function (error) {
12796
- setError(error.message);
12797
- },
12798
- });
12799
12688
  var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
12800
- var parentId, parentTagId;
12689
+ var parentId, parentTagId, resp;
12801
12690
  var _a;
12802
12691
  return __generator(this, function (_b) {
12803
12692
  switch (_b.label) {
@@ -12809,14 +12698,12 @@ var NewFolderModal = function (_a) {
12809
12698
  : parentId;
12810
12699
  setIsLoading(true);
12811
12700
  if (!name) return [3 /*break*/, 2];
12812
- return [4 /*yield*/, updateTagFolder.mutate({
12813
- tagFolderId: null,
12814
- parentTagFolderId: parentTagId,
12815
- tagFolderName: name,
12816
- isActive: true,
12817
- })];
12701
+ return [4 /*yield*/, upsertTagFolder(null, parentTagId, name, true)];
12818
12702
  case 1:
12819
- _b.sent();
12703
+ resp = _b.sent();
12704
+ if (!resp.ok) {
12705
+ setError(resp.message);
12706
+ }
12820
12707
  _b.label = 2;
12821
12708
  case 2:
12822
12709
  handleClose(true);
@@ -12843,44 +12730,36 @@ var RemoveFolderModal = function (_a) {
12843
12730
  var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
12844
12731
  var _b = useState(""), error = _b[0], setError = _b[1];
12845
12732
  var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
12846
- var updateTagFolder = useMutation({
12847
- mutationFn: upsertTagFolder,
12848
- onError: function (error) {
12849
- setError(error.message);
12850
- },
12851
- });
12852
- var removeFolder = useMutation({
12853
- mutationFn: deleteTagFolder,
12854
- onError: function (error) {
12855
- setError(error.message);
12856
- },
12857
- });
12858
12733
  var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
12859
- var parentId, name_1, id;
12734
+ var parentId, name_1, id, resp;
12860
12735
  return __generator(this, function (_a) {
12861
12736
  switch (_a.label) {
12862
12737
  case 0:
12863
12738
  e.preventDefault();
12864
- if (!tagNodeSelectedInTree) return [3 /*break*/, 4];
12739
+ if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
12865
12740
  parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
12866
12741
  name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
12867
12742
  id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
12743
+ resp = void 0;
12868
12744
  setIsLoading(true);
12869
12745
  if (!parentId) return [3 /*break*/, 2];
12870
- return [4 /*yield*/, removeFolder.mutate(id)];
12746
+ return [4 /*yield*/, deleteTagFolder(id)];
12871
12747
  case 1:
12872
- _a.sent();
12748
+ resp = _a.sent();
12749
+ if (!resp.ok) {
12750
+ setError(resp.message);
12751
+ }
12873
12752
  return [3 /*break*/, 4];
12874
- case 2: return [4 /*yield*/, updateTagFolder.mutate({
12875
- tagFolderId: id,
12876
- parentTagFolderId: parentId,
12877
- tagFolderName: name_1,
12878
- isActive: false,
12879
- })];
12753
+ case 2: return [4 /*yield*/, upsertTagFolder(id, parentId, name_1, false)];
12880
12754
  case 3:
12881
- _a.sent();
12755
+ resp = _a.sent();
12882
12756
  _a.label = 4;
12883
12757
  case 4:
12758
+ if (!resp.ok) {
12759
+ setError(resp.message);
12760
+ }
12761
+ _a.label = 5;
12762
+ case 5:
12884
12763
  handleClose(true);
12885
12764
  setIsLoading(false);
12886
12765
  return [2 /*return*/];
@@ -12996,7 +12875,7 @@ var TagFolderCustomNode = function (_a) {
12996
12875
  var TagSelectionModal = function (_a) {
12997
12876
  var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
12998
12877
  var classes = useTagsTreeModalStyles();
12999
- var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
12878
+ var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
13000
12879
  var _c = useState(""), error = _c[0], setError = _c[1];
13001
12880
  var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
13002
12881
  var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
@@ -13005,6 +12884,7 @@ var TagSelectionModal = function (_a) {
13005
12884
  var backendOffset = 1000000;
13006
12885
  var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
13007
12886
  var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
12887
+ useTrendingContext().state.viewTags;
13008
12888
  var handleContextMenu = function (data, e) {
13009
12889
  e.preventDefault();
13010
12890
  var top = e.clientY;
@@ -13017,24 +12897,35 @@ var TagSelectionModal = function (_a) {
13017
12897
  setTagNodeSelectedInTree(selectedNode);
13018
12898
  }
13019
12899
  };
13020
- var _k = searchTagsTree(), tagsTree = _k.data, tagsTreeLoading = _k.isLoading, tagsTreeIsError = _k.isError, tagsTreeError = _k.error, tagsTreeIsSuccess = _k.isSuccess, tagsTreeIsFetched = _k.isFetched, refetch = _k.refetch;
13021
- var updateTagFolder = useMutation({
13022
- mutationFn: upsertTagFolder,
13023
- onError: function (error) {
13024
- setError(error.message);
13025
- },
13026
- });
13027
- var changeTagFolderTag = useMutation({
13028
- mutationFn: changeTagFolderToTag,
13029
- onError: function (error) {
13030
- setError(error.message);
13031
- },
13032
- });
12900
+ var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
12901
+ var tagsTree, rows, tree;
12902
+ return __generator(this, function (_a) {
12903
+ switch (_a.label) {
12904
+ case 0:
12905
+ if (!isOpen) return [3 /*break*/, 2];
12906
+ setIsLoading(true);
12907
+ return [4 /*yield*/, getTagsTree()];
12908
+ case 1:
12909
+ tagsTree = _a.sent();
12910
+ if (tagsTree.ok) {
12911
+ rows = tagsTree.data.tables[0].rows;
12912
+ tree = buildTagsTreeV2(rows);
12913
+ setTagsTreeData(tree);
12914
+ }
12915
+ setIsLoading(false);
12916
+ _a.label = 2;
12917
+ case 2: return [2 /*return*/];
12918
+ }
12919
+ });
12920
+ }); };
13033
12921
  var expanded = useMemo(function () {
13034
12922
  return Object.keys(openTagFolders).map(function (el) { return Number.parseInt(el); });
13035
12923
  }, [openTagFolders]);
12924
+ useEffect(function () {
12925
+ getTagsTreeData();
12926
+ }, [isOpen]);
13036
12927
  var handleDrop = function (tree, options) { return __awaiter(void 0, void 0, void 0, function () {
13037
- var tagId, newFolderId;
12928
+ var tagId, newFolderId, newTree, newTree;
13038
12929
  var _a, _b;
13039
12930
  return __generator(this, function (_c) {
13040
12931
  switch (_c.label) {
@@ -13048,18 +12939,19 @@ var TagSelectionModal = function (_a) {
13048
12939
  return [2 /*return*/];
13049
12940
  }
13050
12941
  if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
13051
- return [4 /*yield*/, updateTagFolder.mutate({
13052
- tagFolderId: tagId,
13053
- parentTagFolderId: newFolderId,
13054
- tagFolderName: options.dragSource.text,
13055
- isActive: true,
13056
- })];
12942
+ return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
13057
12943
  case 1:
13058
- _c.sent();
12944
+ newTree = _c.sent();
12945
+ if (!newTree.ok) {
12946
+ setError(newTree.message);
12947
+ }
13059
12948
  return [3 /*break*/, 4];
13060
- case 2: return [4 /*yield*/, changeTagFolderTag.mutate({ tagId: tagId, tagFolderId: newFolderId })];
12949
+ case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
13061
12950
  case 3:
13062
- _c.sent();
12951
+ newTree = _c.sent();
12952
+ if (!newTree.ok) {
12953
+ setError(newTree.message);
12954
+ }
13063
12955
  _c.label = 4;
13064
12956
  case 4:
13065
12957
  setTagsTreeData(tree);
@@ -13080,29 +12972,13 @@ var TagSelectionModal = function (_a) {
13080
12972
  setShowContextMenu(false);
13081
12973
  }
13082
12974
  };
13083
- useEffect(function () {
13084
- if (isOpen) {
13085
- refetch();
13086
- }
13087
- }, [isOpen]);
13088
- useEffect(function () {
13089
- if (isOpen) {
13090
- var tree = buildTagsTreeV2(tagsTree !== null && tagsTree !== void 0 ? tagsTree : []);
13091
- setTagsTreeData(tree);
13092
- }
13093
- }, [tagsTreeIsSuccess, tagsTreeIsFetched]);
13094
- useEffect(function () {
13095
- if (tagsTreeError && tagsTreeIsError) {
13096
- setError(tagsTreeError.message);
13097
- }
13098
- }, [tagsTreeError, tagsTreeIsError]);
13099
12975
  return (React__default.createElement(React__default.Fragment, null,
13100
12976
  React__default.createElement("div", { style: {
13101
12977
  display: isOpen ? "block" : "none",
13102
12978
  minHeight: "700px",
13103
12979
  minWidth: "800px",
13104
12980
  }, onClick: handleCloseContextMenu },
13105
- React__default.createElement("div", { style: { overflowY: "auto", maxHeight: "700px" } }, isLoading || tagsTreeLoading ? (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
12981
+ React__default.createElement("div", { style: { overflowY: "auto", maxHeight: "700px" } }, isLoading ? (React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
13106
12982
  React__default.createElement(CircularProgress, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
13107
12983
  React__default.createElement(Tree, { classes: {
13108
12984
  root: classes.assetRoot,
@@ -13119,7 +12995,7 @@ var TagSelectionModal = function (_a) {
13119
12995
  }, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
13120
12996
  // <div>{monitorProps.item.data?.TagName}</div>
13121
12997
  ); } }))))),
13122
- React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: function () { return refetch(); } }),
12998
+ React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
13123
12999
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } })));
13124
13000
  };
13125
13001
 
@@ -13330,80 +13206,16 @@ var formatTimeDiffWithMs = function (start, end) {
13330
13206
  };
13331
13207
 
13332
13208
  var TableComponent = function (_a) {
13333
- var chartData = _a.chartData, cursorData = _a.cursorData; _a.viewTagForDelete; var setViewTagForDelete = _a.setViewTagForDelete, selectedRowTagId = _a.selectedRowTagId, setSelectedRowTagId = _a.setSelectedRowTagId;
13209
+ 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;
13334
13210
  var classes = useTagsTableStyles();
13335
- var queryClient = useQueryClient();
13336
- var _b = useContextMenuMESF(), registerConfig = _b.registerConfig, showContextMenu = _b.showContextMenu;
13337
- var _c = useTrendingContext(), _d = _c.state, viewTags = _d.viewTags, viewSelected = _d.viewSelected, _e = _c.actions, setViewTags = _e.setViewTags, setViewTagsAndRefetch = _e.setViewTagsAndRefetch;
13211
+ var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setViewTagsAndRefetch = _d.setViewTagsAndRefetch;
13212
+ var _e = useState({}); _e[0]; _e[1];
13338
13213
  var _f = useState(""), error = _f[0], setError = _f[1];
13339
13214
  var _g = useState(false); _g[0]; var setIsLoading = _g[1];
13340
13215
  var _h = useState(false), tagsTreeModalOpen = _h[0], setTagsTreeModalOpen = _h[1];
13341
13216
  var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
13342
13217
  var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
13343
13218
  var _l = useState(""), snackbarMessage = _l[0], setSnackbarMessage = _l[1];
13344
- var deleteAllViewTags = useMutation({
13345
- mutationFn: deleteAllViewTagsFromView,
13346
- onError: function (error) {
13347
- setError(error.message);
13348
- },
13349
- });
13350
- var updateView = useMutation({
13351
- mutationFn: upsertView,
13352
- onSuccess: function () { return __awaiter(void 0, void 0, void 0, function () {
13353
- var results;
13354
- var _a;
13355
- return __generator(this, function (_b) {
13356
- switch (_b.label) {
13357
- case 0: return [4 /*yield*/, deleteAllViewTags.mutate((_a = viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) !== null && _a !== void 0 ? _a : 0)];
13358
- case 1:
13359
- _b.sent();
13360
- return [4 /*yield*/, Promise.allSettled(Object.values(viewTags)
13361
- .sort(function (a, b) { return b.order - a.order; })
13362
- .map(function (_a) {
13363
- var _b;
13364
- var _c = _a.viewTag, TagId = _c.TagId, Color = _c.Color, MinScale = _c.MinScale, MaxScale = _c.MaxScale, IsAutoScale = _c.IsAutoScale, IsVisible = _c.IsVisible, Unit = _c.Unit;
13365
- updateViewTag.mutate({
13366
- viewId: (_b = viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) !== null && _b !== void 0 ? _b : 0,
13367
- tagId: TagId,
13368
- color: Color,
13369
- minScale: MinScale,
13370
- maxScale: MaxScale,
13371
- isVisible: IsVisible,
13372
- isAutoScale: IsAutoScale,
13373
- unit: Unit,
13374
- });
13375
- }))];
13376
- case 2:
13377
- results = _b.sent();
13378
- results.forEach(function (result, index) {
13379
- if (result.status === "rejected") {
13380
- setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
13381
- }
13382
- else {
13383
- setSelectedRowTagId(null);
13384
- setSnackbarMessage("View saved successfully");
13385
- }
13386
- });
13387
- return [2 /*return*/];
13388
- }
13389
- });
13390
- }); },
13391
- onError: function (error) {
13392
- setError(error.message);
13393
- },
13394
- });
13395
- var saveTags = useMutation({
13396
- mutationFn: saveTagDefaults,
13397
- onError: function (error) {
13398
- setError(error.message);
13399
- },
13400
- });
13401
- var updateViewTag = useMutation({
13402
- mutationFn: upsertViewTag,
13403
- onError: function (error) {
13404
- setError(error.message);
13405
- },
13406
- });
13407
13219
  var dataTable = useTagsDataTable({
13408
13220
  viewTagsMap: viewTags,
13409
13221
  chartData: chartData,
@@ -13462,62 +13274,69 @@ var TableComponent = function (_a) {
13462
13274
  }
13463
13275
  };
13464
13276
  var handleClose = function () { return setTagsTreeModalOpen(false); };
13465
- var getMenuOptions = function (data) {
13466
- var options = [];
13467
- if (data) {
13468
- options.push({
13469
- key: "delete",
13470
- name: "Remove Tag",
13471
- onClick: function () {
13472
- if (!isNil(data)) {
13473
- handleDeleteTag(data.TagId);
13474
- setSelectedRowTagId(null);
13475
- setViewTagForDelete(null);
13476
- }
13477
- },
13478
- });
13479
- }
13480
- options = options.concat([
13481
- {
13482
- key: "add",
13483
- name: "Tags Tree",
13484
- onClick: function () {
13485
- setTagsTreeModalOpen(true);
13486
- },
13277
+ var ContextMenu = function (_a) {
13278
+ var x = _a.x, y = _a.y, options = _a.options;
13279
+ var handleContextMenuClick = function (e) {
13280
+ e.stopPropagation(); // Prevent click inside the menu from closing it
13281
+ };
13282
+ return (React__default.createElement("div", { className: "context-menu", style: { top: y, left: x }, onClick: handleContextMenuClick },
13283
+ React__default.createElement("ul", null, options.map(function (option) { return (React__default.createElement("li", { key: option.id, onClick: option.onClick }, option.label)); }))));
13284
+ };
13285
+ var contextMenuOptions = [];
13286
+ if (viewTagForDelete) {
13287
+ contextMenuOptions.push({
13288
+ id: "delete",
13289
+ label: "Remove Tag",
13290
+ onClick: function () {
13291
+ handleDelete();
13292
+ setOpenContextMenu(false);
13487
13293
  },
13488
- {
13489
- key: "saveDefault",
13490
- name: "Save Default To Tag",
13491
- onClick: function () {
13492
- handleSaveDefaultToTag(data.TagId);
13493
- },
13294
+ });
13295
+ }
13296
+ contextMenuOptions.push.apply(contextMenuOptions, [
13297
+ {
13298
+ id: "add",
13299
+ label: "Tags Tree",
13300
+ onClick: function () {
13301
+ setTagsTreeModalOpen(true);
13302
+ setOpenContextMenu(false);
13494
13303
  },
13495
- {
13496
- key: "saveView",
13497
- name: "Save View",
13498
- onClick: function () {
13499
- handleSaveView();
13500
- },
13304
+ },
13305
+ {
13306
+ id: "saveDefault",
13307
+ label: "Save Default To Tag",
13308
+ onClick: function () {
13309
+ handleSaveDefaultToTag();
13310
+ setOpenContextMenu(false);
13501
13311
  },
13502
- {
13503
- key: "saveViewAs",
13504
- name: "Save View as",
13505
- onClick: function () {
13506
- setSaveAsViewModalOpen(true);
13507
- },
13312
+ },
13313
+ {
13314
+ id: "saveView",
13315
+ label: "Save View",
13316
+ onClick: function () {
13317
+ handleSaveView();
13318
+ setOpenContextMenu(false);
13508
13319
  },
13509
- {
13510
- key: "loadView",
13511
- name: "Load View",
13512
- onClick: function () {
13513
- setLoadViewOpen(true);
13514
- },
13320
+ },
13321
+ {
13322
+ id: "saveViewAs",
13323
+ label: "Save View as",
13324
+ onClick: function () {
13325
+ setSaveAsViewModalOpen(true);
13326
+ setOpenContextMenu(false);
13515
13327
  },
13516
- ]);
13517
- return options;
13518
- };
13328
+ },
13329
+ {
13330
+ id: "loadView",
13331
+ label: "Load View",
13332
+ onClick: function () {
13333
+ setLoadViewOpen(true);
13334
+ setOpenContextMenu(false);
13335
+ },
13336
+ },
13337
+ ]);
13519
13338
  var handleTagSelect = function (selectedTag) {
13520
- var alreadySelected = viewTags[selectedTag.Tagkey];
13339
+ var alreadySelected = viewTags[selectedTag.TagId];
13521
13340
  if (!alreadySelected) {
13522
13341
  handleAddTag(selectedTag);
13523
13342
  }
@@ -13525,7 +13344,20 @@ var TableComponent = function (_a) {
13525
13344
  setError("".concat(selectedTag.TagName, " is already selected"));
13526
13345
  }
13527
13346
  };
13347
+ var handleDelete = function () { return __awaiter(void 0, void 0, void 0, function () {
13348
+ return __generator(this, function (_a) {
13349
+ if (!isNil(viewTagForDelete)) {
13350
+ if (viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId) {
13351
+ handleDeleteTag(viewTagForDelete.TagId);
13352
+ }
13353
+ setSelectedRowTagId(null); // Reset the selected row index
13354
+ setViewTagForDelete(null);
13355
+ }
13356
+ return [2 /*return*/];
13357
+ });
13358
+ }); };
13528
13359
  var handleSaveView = function () { return __awaiter(void 0, void 0, void 0, function () {
13360
+ var resp, deleteResp, results;
13529
13361
  return __generator(this, function (_a) {
13530
13362
  switch (_a.label) {
13531
13363
  case 0:
@@ -13534,19 +13366,46 @@ var TableComponent = function (_a) {
13534
13366
  return [2 /*return*/];
13535
13367
  case 1:
13536
13368
  setIsLoading(true);
13537
- if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 3];
13538
- return [4 /*yield*/, updateView.mutate({
13539
- viewId: viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId,
13540
- viewName: viewSelected.ViewName,
13541
- isPublic: viewSelected.IsPublic,
13542
- })];
13369
+ if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 6];
13370
+ return [4 /*yield*/, upsertView(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, viewSelected.ViewName, viewSelected.IsPublic)];
13543
13371
  case 2:
13544
- _a.sent();
13545
- _a.label = 3;
13372
+ resp = _a.sent();
13373
+ if (!resp.ok) return [3 /*break*/, 5];
13374
+ return [4 /*yield*/, deleteAllViewTagsFromView(viewSelected.ViewId)];
13546
13375
  case 3:
13376
+ deleteResp = _a.sent();
13377
+ if (!deleteResp.ok) {
13378
+ setError(deleteResp.message);
13379
+ }
13380
+ return [4 /*yield*/, Promise.allSettled(Object.values(viewTags)
13381
+ .sort(function (a, b) { return b.order - a.order; })
13382
+ .map(function (_a) {
13383
+ 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;
13384
+ upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit).then(function (r) {
13385
+ if (!r.ok) {
13386
+ setError(r.message);
13387
+ }
13388
+ });
13389
+ }))];
13390
+ case 4:
13391
+ results = _a.sent();
13392
+ results.forEach(function (result, index) {
13393
+ if (result.status === "rejected") {
13394
+ setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
13395
+ }
13396
+ else {
13397
+ setSelectedRowTagId(null);
13398
+ setSnackbarMessage("View saved successfully");
13399
+ }
13400
+ });
13401
+ return [3 /*break*/, 6];
13402
+ case 5:
13403
+ setError(resp.message);
13404
+ _a.label = 6;
13405
+ case 6:
13547
13406
  setIsLoading(false);
13548
- _a.label = 4;
13549
- case 4: return [2 /*return*/];
13407
+ _a.label = 7;
13408
+ case 7: return [2 /*return*/];
13550
13409
  }
13551
13410
  });
13552
13411
  }); };
@@ -13576,48 +13435,31 @@ var TableComponent = function (_a) {
13576
13435
  document.removeEventListener("keydown", handleKeyDown);
13577
13436
  };
13578
13437
  }, [selectedRowTagId]);
13579
- var handleSaveDefaultToTag = function (selectedRowTagId) { return __awaiter(void 0, void 0, void 0, function () {
13580
- var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale;
13438
+ var handleSaveDefaultToTag = function () { return __awaiter(void 0, void 0, void 0, function () {
13439
+ var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale, saveTagDefaultsResp, upsertViewTagResp;
13581
13440
  return __generator(this, function (_b) {
13582
13441
  switch (_b.label) {
13583
13442
  case 0:
13584
- debugger;
13585
13443
  if (!(viewSelected && selectedRowTagId !== null)) return [3 /*break*/, 3];
13586
13444
  _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;
13587
- return [4 /*yield*/, saveTags.mutate({
13588
- tagId: TagId,
13589
- alias: Alias,
13590
- color: Color,
13591
- minScale: MinScale,
13592
- maxScale: MaxScale,
13593
- unit: Unit,
13594
- })];
13445
+ return [4 /*yield*/, saveTagDefaults(TagId, Alias, Color, MinScale, MaxScale, Unit)];
13595
13446
  case 1:
13596
- _b.sent();
13597
- return [4 /*yield*/, updateViewTag.mutate({
13598
- viewId: viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId,
13599
- tagId: TagId,
13600
- color: Color,
13601
- minScale: MinScale,
13602
- maxScale: MaxScale,
13603
- isVisible: IsVisible,
13604
- isAutoScale: IsAutoScale,
13605
- unit: Unit,
13606
- })];
13447
+ saveTagDefaultsResp = _b.sent();
13448
+ return [4 /*yield*/, upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale, Unit)];
13607
13449
  case 2:
13608
- _b.sent();
13450
+ upsertViewTagResp = _b.sent();
13451
+ if (!saveTagDefaultsResp.ok) {
13452
+ setError(saveTagDefaultsResp.message);
13453
+ }
13454
+ if (!upsertViewTagResp.ok) {
13455
+ setError(upsertViewTagResp.message);
13456
+ }
13609
13457
  setSelectedRowTagId(null);
13610
13458
  _b.label = 3;
13611
13459
  case 3: return [2 /*return*/];
13612
13460
  }
13613
13461
  });
13614
13462
  }); };
13615
- useEffect(function () {
13616
- registerConfig({
13617
- id: "chartContext",
13618
- getOptions: getMenuOptions,
13619
- });
13620
- }, [viewTags, selectedRowTagId]);
13621
13463
  return (React__default.createElement(React__default.Fragment, null,
13622
13464
  React__default.createElement(Grid, { container: true, spacing: 1, alignContent: "flex-start", style: {
13623
13465
  height: "100%",
@@ -13631,21 +13473,20 @@ var TableComponent = function (_a) {
13631
13473
  left: 0,
13632
13474
  zIndex: 1000,
13633
13475
  } },
13634
- React__default.createElement(TableContainer, { component: Paper, style: {
13635
- overflowX: "auto",
13636
- width: "100%",
13637
- boxShadow: "none",
13638
- border: "none",
13639
- } },
13640
- React__default.createElement(Table, { size: "small", style: { width: "100%", tableLayout: "fixed" } },
13641
- React__default.createElement(TableHead, null,
13642
- React__default.createElement(TableRow, null,
13643
- React__default.createElement(TableCell, { align: "center", className: "".concat(classes.topTitles, " ").concat(classes.viewSelected) }, viewSelected ? (React__default.createElement(Button, { 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, { variant: "text", style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
13476
+ React__default.createElement("div", { style: { overflowX: "auto", width: "100%" } },
13477
+ React__default.createElement("table", { style: {
13478
+ width: "100%",
13479
+ tableLayout: "fixed",
13480
+ textAlign: "center",
13481
+ } },
13482
+ React__default.createElement("thead", null,
13483
+ React__default.createElement("tr", null,
13484
+ React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.viewSelected) }, viewSelected ? (React__default.createElement(Button, { 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, { variant: "text", style: { color: "#0075ff" }, className: classes.viewSelected, onClick: function () { return setSaveAsViewModalOpen(true); } },
13644
13485
  React__default.createElement("i", null,
13645
13486
  React__default.createElement(SaveIcon, null),
13646
13487
  "(Save view as)")))),
13647
- React__default.createElement(TableCell, { align: "center", colSpan: 4, className: "".concat(classes.topTitles, " ").concat(classes.scale) }, "Scale"),
13648
- React__default.createElement(TableCell, { align: "center", className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13488
+ React__default.createElement("th", { colSpan: 4, className: "".concat(classes.topTitles, " ").concat(classes.scale) }, "Scale"),
13489
+ React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13649
13490
  ? (function () {
13650
13491
  var dateX1 = new Date(cursorData.x1);
13651
13492
  var dateX2 = new Date(cursorData.x2);
@@ -13664,7 +13505,7 @@ var TableComponent = function (_a) {
13664
13505
  dateText));
13665
13506
  })()
13666
13507
  : null),
13667
- React__default.createElement(TableCell, { align: "center", className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13508
+ React__default.createElement("th", { className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13668
13509
  ? (function () {
13669
13510
  var dateX1 = new Date(cursorData.x1);
13670
13511
  var dateX2 = new Date(cursorData.x2);
@@ -13683,20 +13524,24 @@ var TableComponent = function (_a) {
13683
13524
  dateText));
13684
13525
  })()
13685
13526
  : null),
13686
- React__default.createElement(TableCell, { align: "center", colSpan: 3, className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13527
+ React__default.createElement("th", { colSpan: 3, className: "".concat(classes.topTitles, " ").concat(classes.xStats) }, cursorData
13687
13528
  ? formatTimeDiffWithMs(cursorData.x1, cursorData.x2)
13688
13529
  : null)))),
13689
- React__default.createElement(Table, { size: "small", style: { width: "100%", tableLayout: "fixed" } },
13690
- React__default.createElement(TableHead, null,
13691
- React__default.createElement(TableRow, { className: classes.bottomTitlesRow },
13692
- React__default.createElement(TableCell, { align: "center", className: classes.visible }, "Visible"),
13693
- React__default.createElement(TableCell, { align: "center", className: classes.aliasCol }, "Alias / Tagname"),
13694
- React__default.createElement(TableCell, { align: "center", className: classes.color }, "Color"),
13695
- React__default.createElement(TableCell, { align: "center", className: classes.inputCol }, "Min Scale"),
13696
- React__default.createElement(TableCell, { align: "center", className: classes.inputCol }, "Max Scale"),
13697
- React__default.createElement(TableCell, { align: "center", className: classes.autoScale }, "AutoScale"),
13698
- React__default.createElement(TableCell, { align: "center", className: classes.unit }, "Unit"),
13699
- React__default.createElement(TableCell, { align: "center" },
13530
+ React__default.createElement("table", { style: {
13531
+ width: "100%",
13532
+ tableLayout: "fixed",
13533
+ textAlign: "center",
13534
+ } },
13535
+ React__default.createElement("thead", null,
13536
+ React__default.createElement("tr", { className: classes.bottomTitlesRow },
13537
+ React__default.createElement("th", { className: classes.visible }, "Visible"),
13538
+ React__default.createElement("th", { className: classes.aliasCol }, "Alias / Tagname"),
13539
+ React__default.createElement("th", { className: classes.color }, "Color"),
13540
+ React__default.createElement("th", { className: classes.inputCol }, "Min Scale"),
13541
+ React__default.createElement("th", { className: classes.inputCol }, "Max Scale"),
13542
+ React__default.createElement("th", { className: classes.autoScale }, "AutoScale"),
13543
+ React__default.createElement("th", { className: classes.unit }, "Unit"),
13544
+ React__default.createElement("th", null,
13700
13545
  " ",
13701
13546
  cursorData
13702
13547
  ? (function () {
@@ -13715,7 +13560,7 @@ var TableComponent = function (_a) {
13715
13560
  })()
13716
13561
  : null,
13717
13562
  " "),
13718
- React__default.createElement(TableCell, { align: "center" },
13563
+ React__default.createElement("th", null,
13719
13564
  " ",
13720
13565
  cursorData
13721
13566
  ? (function () {
@@ -13734,29 +13579,27 @@ var TableComponent = function (_a) {
13734
13579
  })()
13735
13580
  : null,
13736
13581
  " "),
13737
- React__default.createElement(TableCell, { align: "center" }, "Y2-Y1"),
13738
- React__default.createElement(TableCell, { align: "center" }, "Min"),
13739
- React__default.createElement(TableCell, { align: "center" }, "Max")))))),
13582
+ React__default.createElement("th", null, "Y2-Y1"),
13583
+ React__default.createElement("th", null, "Min"),
13584
+ React__default.createElement("th", null, "Max")))))),
13740
13585
  React__default.createElement(Grid, { item: true, xs: 12 },
13741
- React__default.createElement(TableContainer, { component: Paper, style: {
13742
- width: "100%",
13743
- height: "100%",
13744
- maxHeight: "100%",
13745
- boxShadow: "none",
13746
- border: "none",
13747
- } },
13748
- React__default.createElement(Table, { size: "small", style: { width: "100%", tableLayout: "fixed" } },
13749
- React__default.createElement(TableBody, null, Object.values(viewTags).length ? (Object.values(viewTags).map(function (_a) {
13586
+ React__default.createElement("div", { style: { width: "100%", height: "100%", maxHeight: "100%" } },
13587
+ React__default.createElement("table", { cellPadding: "4px", style: {
13588
+ width: "100%",
13589
+ tableLayout: "fixed",
13590
+ textAlign: "center",
13591
+ } },
13592
+ React__default.createElement("tbody", null, Object.values(viewTags).length ? (Object.values(viewTags).map(function (_a) {
13750
13593
  var _b, _c, _d, _e, _f, _g, _h;
13751
13594
  var tag = _a.viewTag;
13752
- return (React__default.createElement(TableRow, { key: tag.TagName, onContextMenu: function (e) {
13753
- showContextMenu(e, tag, "chartContext");
13754
- }, className: classes.rowHover },
13755
- React__default.createElement(TableCell, { align: "center", className: "".concat(classes.visible, " ").concat(classes.checkbox) },
13595
+ return (React__default.createElement("tr", { key: tag.TagName,
13596
+ // onClick={() => handleRowClick(index)}
13597
+ onContextMenu: function (e) { return handleRightClick(e, tag.TagId); }, className: classes.rowHover },
13598
+ React__default.createElement("td", { className: "".concat(classes.visible, " ").concat(classes.checkbox) },
13756
13599
  React__default.createElement("input", { type: "checkbox", checked: tag.IsVisible, onChange: function (e) {
13757
13600
  return handleVisibilityChange(tag.TagId, e.target.checked);
13758
13601
  } })),
13759
- React__default.createElement(TableCell, { className: classes.aliasCol },
13602
+ React__default.createElement("td", { className: classes.aliasCol },
13760
13603
  React__default.createElement(Tooltip, { title: tag.TagName, placement: "top", arrow: true, interactive: true, enterDelay: 500 },
13761
13604
  React__default.createElement("div", { style: { display: "flex", alignItems: "center" } },
13762
13605
  tag.TagType && (React__default.createElement("div", { className: classes.dataType, style: {
@@ -13766,9 +13609,9 @@ var TableComponent = function (_a) {
13766
13609
  var newAlias = e.target.value;
13767
13610
  handleChangeAlias(tag.TagId, newAlias);
13768
13611
  } })))),
13769
- React__default.createElement(TableCell, { align: "center", className: classes.color },
13612
+ React__default.createElement("td", { className: classes.color },
13770
13613
  React__default.createElement(ColorPicker, { onChange: handleColorChange, color: tag.Color, elementId: tag.TagId })),
13771
- React__default.createElement(TableCell, { className: classes.inputCol },
13614
+ React__default.createElement("td", { className: classes.inputCol },
13772
13615
  React__default.createElement("input", { type: "number", className: classes.numberInput, style: __assign({ width: "100%" }, (tag.IsAutoScale
13773
13616
  ? {
13774
13617
  backgroundColor: "rgba(239, 239, 239, 0.3)",
@@ -13780,7 +13623,7 @@ var TableComponent = function (_a) {
13780
13623
  }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
13781
13624
  return handleChangeScale(e.target.value, "MinScale", tag.TagId);
13782
13625
  } })),
13783
- React__default.createElement(TableCell, { className: classes.inputCol },
13626
+ React__default.createElement("td", { className: classes.inputCol },
13784
13627
  React__default.createElement("input", { type: "number", className: classes.numberInput, style: __assign({ width: "100%", WebkitAppearance: "none" }, (tag.IsAutoScale
13785
13628
  ? {
13786
13629
  backgroundColor: "rgba(239, 239, 239, 0.3)",
@@ -13792,11 +13635,11 @@ var TableComponent = function (_a) {
13792
13635
  }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
13793
13636
  handleChangeScale(e.target.value, "MaxScale", tag.TagId);
13794
13637
  } })),
13795
- React__default.createElement(TableCell, { align: "center", className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
13638
+ React__default.createElement("td", { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
13796
13639
  React__default.createElement("input", { type: "checkbox", checked: !!tag.IsAutoScale, onChange: function (e) {
13797
13640
  return handleAutoScaleChange(tag.TagId, tag.IsAutoScale);
13798
13641
  } })),
13799
- React__default.createElement(TableCell, { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
13642
+ React__default.createElement("td", { className: "".concat(classes.autoScale, " ").concat(classes.checkbox) },
13800
13643
  React__default.createElement("input", { type: "text", style: {
13801
13644
  width: "100%",
13802
13645
  }, onClick: function () {
@@ -13805,49 +13648,39 @@ var TableComponent = function (_a) {
13805
13648
  var value = e.target.value;
13806
13649
  handleUnitChange(tag.TagId, value);
13807
13650
  }, value: tag.Unit === "-" ? "" : tag.Unit, onFocus: function (e) { return e.target.select(); } })),
13808
- React__default.createElement(TableCell, { align: "center" }, round((_b = dataTable[tag.TagName]) === null || _b === void 0 ? void 0 : _b.y1, 3) || 0),
13809
- React__default.createElement(TableCell, { align: "center", className: classes.doubleInput }, round((_c = dataTable[tag.TagName]) === null || _c === void 0 ? void 0 : _c.y2, 3) || 0),
13810
- React__default.createElement(TableCell, { align: "center" }, round((_d = dataTable[tag.TagName]) === null || _d === void 0 ? void 0 : _d.y2y1, 3) || 0),
13811
- React__default.createElement(TableCell, { align: "center" },
13651
+ React__default.createElement("td", null, round((_b = dataTable[tag.TagName]) === null || _b === void 0 ? void 0 : _b.y1, 3) || 0),
13652
+ React__default.createElement("td", { className: classes.doubleInput }, round((_c = dataTable[tag.TagName]) === null || _c === void 0 ? void 0 : _c.y2, 3) || 0),
13653
+ React__default.createElement("td", null, round((_d = dataTable[tag.TagName]) === null || _d === void 0 ? void 0 : _d.y2y1, 3) || 0),
13654
+ React__default.createElement("td", null,
13812
13655
  !isNaN$1(((_e = dataTable[tag.TagName]) === null || _e === void 0 ? void 0 : _e.pmin.y) * 0)
13813
13656
  ? round((_f = dataTable[tag.TagName]) === null || _f === void 0 ? void 0 : _f.pmin.y, 3)
13814
13657
  : 0,
13815
13658
  " "),
13816
- React__default.createElement(TableCell, { align: "center" },
13659
+ React__default.createElement("td", null,
13817
13660
  !isNaN$1(((_g = dataTable[tag.TagName]) === null || _g === void 0 ? void 0 : _g.pmax.y) * 0)
13818
13661
  ? round((_h = dataTable[tag.TagName]) === null || _h === void 0 ? void 0 : _h.pmax.y)
13819
13662
  : 0,
13820
13663
  " ")));
13821
- })) : (React__default.createElement(TableRow, null,
13822
- React__default.createElement(TableCell, { colSpan: 12 },
13823
- React__default.createElement("div", { style: { padding: "1rem" } },
13824
- React__default.createElement("div", { style: { padding: "1rem" } },
13825
- "No tag view detected.",
13826
- " "),
13827
- React__default.createElement("div", { style: { padding: "1rem" } },
13828
- React__default.createElement(Button, { onClick: function () { return setTagsTreeModalOpen(true); }, variant: "contained", color: "primary" },
13829
- " ",
13830
- "Add tag")),
13831
- React__default.createElement("div", null,
13832
- React__default.createElement(Button, { onClick: function () { return setLoadViewOpen(true); }, variant: "outlined", color: "primary" },
13833
- " ",
13834
- "Load view")))))))))),
13664
+ })) : (React__default.createElement("div", { style: { padding: "1rem" } },
13665
+ React__default.createElement("div", { style: { padding: "1rem" } },
13666
+ "No tag view detected.",
13667
+ " "),
13668
+ React__default.createElement("div", { style: { padding: "1rem" } },
13669
+ React__default.createElement(Button, { onClick: function () { return setTagsTreeModalOpen(true); }, variant: "contained", color: "primary" },
13670
+ " ",
13671
+ "Add tag")),
13672
+ React__default.createElement("div", null,
13673
+ React__default.createElement(Button, { onClick: function () { return setLoadViewOpen(true); }, variant: "outlined", color: "primary" },
13674
+ " ",
13675
+ "Load view")))))))),
13676
+ openContextMenu && (React__default.createElement(ContextMenu, { x: contextMenuPosition.x, y: contextMenuPosition.y, options: contextMenuOptions })),
13835
13677
  React__default.createElement(TagsTreeModal, { open: tagsTreeModalOpen, handleClose: handleClose, onTagSelect: handleTagSelect }),
13836
- React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function (shouldUpdate) { return __awaiter(void 0, void 0, void 0, function () {
13837
- return __generator(this, function (_a) {
13838
- switch (_a.label) {
13839
- case 0:
13840
- setSaveAsViewModalOpen(false);
13841
- if (!shouldUpdate) return [3 /*break*/, 2];
13842
- return [4 /*yield*/, queryClient.invalidateQueries({ queryKey: ["views"] })];
13843
- case 1:
13844
- _a.sent();
13845
- _a.label = 2;
13846
- case 2: return [2 /*return*/];
13847
- }
13848
- });
13849
- }); } }),
13850
- React__default.createElement(LoadViewModal, { open: loadViewOpen, handleClose: function (shouldUpdate) {
13678
+ React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function (shouldUpdate) {
13679
+ setSaveAsViewModalOpen(false);
13680
+ if (shouldUpdate)
13681
+ getTagsFromAPI(true).then(function () { });
13682
+ } }),
13683
+ React__default.createElement(LoadViewModal, { open: loadViewOpen, getTagsFromAPI: getTagsFromAPI, handleClose: function (shouldUpdate) {
13851
13684
  setLoadViewOpen(false);
13852
13685
  } })),
13853
13686
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); } }),
@@ -13976,7 +13809,7 @@ var useChartOptions = function () {
13976
13809
  };
13977
13810
 
13978
13811
  var CustomOptionsComponent = function (_a) {
13979
- var customOptions = _a.customOptions, setCustomOptions = _a.setCustomOptions, autoRefresh = _a.autoRefresh, setAutoRefresh = _a.setAutoRefresh;
13812
+ var customOptions = _a.customOptions, setCustomOptions = _a.setCustomOptions;
13980
13813
  var classes = useTrendingStyles();
13981
13814
  var handleGridChange = function (value) {
13982
13815
  setCustomOptions(function (prevOptions) { return (__assign(__assign({}, prevOptions), { showGrid: value })); });
@@ -13986,17 +13819,13 @@ var CustomOptionsComponent = function (_a) {
13986
13819
  };
13987
13820
  return (React__default.createElement(React__default.Fragment, null,
13988
13821
  React__default.createElement(Grid, { item: true, className: classes.labelOptions },
13989
- React__default.createElement(FormControlLabel, { checked: customOptions.showGrid, control: React__default.createElement(Checkbox, { color: "primary" }), label: "Show Grid", onChange: function (e, checked) {
13990
- handleGridChange(checked);
13991
- } })),
13992
- React__default.createElement(Grid, { item: true, className: classes.labelOptions },
13993
- React__default.createElement(FormControlLabel, { checked: customOptions.stepped, control: React__default.createElement(Checkbox, { color: "primary" }), label: "Stepped", onChange: function (e, checked) {
13994
- handleSteppedChange(checked);
13995
- } })),
13822
+ React__default.createElement("label", null,
13823
+ React__default.createElement("input", { type: "checkbox", checked: customOptions.showGrid, onChange: function (e) { return handleGridChange(e.target.checked); } }),
13824
+ "Show Grid")),
13996
13825
  React__default.createElement(Grid, { item: true, className: classes.labelOptions },
13997
- React__default.createElement(FormControlLabel, { checked: autoRefresh, control: React__default.createElement(Switch, { color: "primary" }), label: "Auto Refresh", onChange: function (e, checked) {
13998
- setAutoRefresh(checked);
13999
- } }))));
13826
+ React__default.createElement("label", null,
13827
+ React__default.createElement("input", { type: "checkbox", checked: customOptions.stepped, onChange: function (e) { return handleSteppedChange(e.target.checked); } }),
13828
+ "Stepped"))));
14000
13829
  };
14001
13830
 
14002
13831
  var dateNavigator = function (startDate, endDate, scope, operator, current) {
@@ -14033,7 +13862,7 @@ var dateNavigator = function (startDate, endDate, scope, operator, current) {
14033
13862
  };
14034
13863
 
14035
13864
  var Header = function (_a) {
14036
- var setChartOptions = _a.setChartOptions, autoRefresh = _a.autoRefresh, setAutoRefresh = _a.setAutoRefresh;
13865
+ var setChartOptions = _a.setChartOptions;
14037
13866
  var classes = useTrendingStyles();
14038
13867
  var _b = useTrendingContext(), state = _b.state, actions = _b.actions;
14039
13868
  var _c = useState({
@@ -14056,9 +13885,10 @@ var Header = function (_a) {
14056
13885
  //@ts-ignore
14057
13886
  actions.setTotalScope((_a = {}, _a[key] = moment$8(newValue).toDate(), _a));
14058
13887
  };
14059
- var handleChangeScope = function (value) {
13888
+ var handleChangeScope = function (e) {
13889
+ var newScope = e.target.value;
14060
13890
  actions.setTotalScope({
14061
- scope: value,
13891
+ scope: newScope,
14062
13892
  });
14063
13893
  };
14064
13894
  useEffect(function () {
@@ -14083,7 +13913,7 @@ var Header = function (_a) {
14083
13913
  useEffect(function () {
14084
13914
  setChartOptions(function (prevOptions) { return (__assign(__assign({}, prevOptions), { scales: __assign(__assign({}, prevOptions.scales), { x: __assign(__assign({}, prevOptions.scales.x), { min: state.timeScopeStart.getTime(), max: state.timeScopeEnd.getTime() }) }) })); });
14085
13915
  }, [state.timeScopeStart, state.timeScopeEnd]);
14086
- return (React__default.createElement(Grid, { item: true, xs: 12, container: true, justifyContent: "space-between", alignItems: "center", style: { height: "8%" } },
13916
+ return (React__default.createElement(Grid, { item: true, xs: 12, container: true, justifyContent: "space-between", alignItems: "center", style: { height: "15%" } },
14087
13917
  React__default.createElement(Grid, { md: 6, item: true, container: true, justifyContent: "flex-start", alignItems: "center", wrap: "wrap" },
14088
13918
  React__default.createElement(Grid, { item: true },
14089
13919
  React__default.createElement(IconButton$1, { color: "primary", onClick: function () { return handleDateNavigator("subtract"); }, className: classes.navigatorButton },
@@ -14097,7 +13927,7 @@ var Header = function (_a) {
14097
13927
  } })),
14098
13928
  React__default.createElement(Grid, { item: true, className: classes.select },
14099
13929
  React__default.createElement(FormControl, { variant: "outlined" },
14100
- React__default.createElement(Select, { value: state.scope, onChange: function (e) { return handleChangeScope(e.target.value); }, displayEmpty: true },
13930
+ React__default.createElement(Select, { value: state.scope, onChange: handleChangeScope, displayEmpty: true },
14101
13931
  React__default.createElement(MenuItem, { value: "10 min" }, "10 min"),
14102
13932
  React__default.createElement(MenuItem, { value: "1 hour" }, "1 hour"),
14103
13933
  React__default.createElement(MenuItem, { value: "4 hours" }, "4 hours"),
@@ -14106,9 +13936,7 @@ var Header = function (_a) {
14106
13936
  React__default.createElement(MenuItem, { value: "10 days" }, "10 days"),
14107
13937
  React__default.createElement(MenuItem, { value: "custom" }, "Custom")))),
14108
13938
  React__default.createElement(Grid, { item: true },
14109
- React__default.createElement(TextField, { label: "End", variant: "outlined", className: classes.datetimePicker, type: "datetime-local", value: autoRefresh
14110
- ? ""
14111
- : moment$8(state.timeScopeEnd).format("YYYY-MM-DDTHH:mm:ss"), onChange: function (e) { return handleDateChange(e.target.value, "end"); }, InputLabelProps: {
13939
+ React__default.createElement(TextField, { label: "End", variant: "outlined", className: classes.datetimePicker, type: "datetime-local", value: moment$8(state.timeScopeEnd).format("YYYY-MM-DDTHH:mm:ss"), onChange: function (e) { return handleDateChange(e.target.value, "end"); }, InputLabelProps: {
14112
13940
  shrink: true,
14113
13941
  style: { marginLeft: "10px" },
14114
13942
  } })),
@@ -14121,13 +13949,7 @@ var Header = function (_a) {
14121
13949
  React__default.createElement(Grid, { md: 6, item: true, container: true, justifyContent: "space-between" },
14122
13950
  React__default.createElement(Grid, { item: true, container: true, wrap: "nowrap", spacing: 1 },
14123
13951
  React__default.createElement(Grid, { item: true, container: true },
14124
- React__default.createElement(CustomOptionsComponent, { customOptions: customOptions, setCustomOptions: setCustomOptions, autoRefresh: autoRefresh, setAutoRefresh: function (autoRefresh) {
14125
- if (autoRefresh) {
14126
- handleChangeScope("custom");
14127
- handleDateChange(new Date(), "end");
14128
- }
14129
- setAutoRefresh(autoRefresh);
14130
- } }))))));
13952
+ React__default.createElement(CustomOptionsComponent, { customOptions: customOptions, setCustomOptions: setCustomOptions }))))));
14131
13953
  };
14132
13954
 
14133
13955
  var DraggableLineControl = function (_a) {
@@ -14472,17 +14294,25 @@ var TrendingChart = function (_a) {
14472
14294
 
14473
14295
  Chart.register(CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip$1, Legend, TimeScale, zoomPlugin);
14474
14296
  var Trending = function (_a) {
14475
- _a.title; var autoRefresh = _a.autoRefresh, setAutoRefresh = _a.setAutoRefresh;
14476
- var _b = useTrendingContext(), state = _b.state, _c = _b.state, viewTags = _c.viewTags; _c.shouldRefetchSeries;
14297
+ _a.title; var getTagsFromAPI = _a.getTagsFromAPI;
14298
+ var _b = useTrendingContext(), state = _b.state, _c = _b.state, viewTags = _c.viewTags, shouldRefetchSeries = _c.shouldRefetchSeries;
14477
14299
  var _d = useState(""), error = _d[0], setError = _d[1];
14478
- var _e = useState(null), selectedRowTagId = _e[0], setSelectedRowTagId = _e[1];
14479
- var _f = useState(null), viewTagForDelete = _f[0], setViewTagForDelete = _f[1];
14480
- var _g = useChartOptions(), chartOptions = _g[0], setChartOptions = _g[1];
14481
- var _h = useState({
14300
+ var _e = useState(true), loading = _e[0], setLoading = _e[1];
14301
+ var _f = useState([]), series = _f[0], setSeries = _f[1];
14302
+ var _g = useState(null), selectedRowTagId = _g[0], setSelectedRowTagId = _g[1];
14303
+ var _h = useState(null), viewTagForDelete = _h[0], setViewTagForDelete = _h[1];
14304
+ var _j = useChartOptions(), chartOptions = _j[0], setChartOptions = _j[1];
14305
+ var _k = useState({
14482
14306
  labels: [],
14483
14307
  datasets: [],
14484
- }), chartData = _h[0], setChartData = _h[1];
14485
- var _j = useState(null), cursorData = _j[0], setCursorData = _j[1];
14308
+ }), chartData = _k[0], setChartData = _k[1];
14309
+ var _l = useState(null), cursorData = _l[0], setCursorData = _l[1];
14310
+ var debounceForFetchingData = useRef(null);
14311
+ var _m = useState({
14312
+ x: 0,
14313
+ y: 0,
14314
+ }), contextMenuPosition = _m[0], setContextMenuPosition = _m[1];
14315
+ var _o = useState(false), openContextMenu = _o[0], setOpenContextMenu = _o[1];
14486
14316
  var handleRightClick = function (event, tagId) {
14487
14317
  event.preventDefault();
14488
14318
  event.stopPropagation(); // Prevent the click event from propagating to the document
@@ -14493,28 +14323,70 @@ var Trending = function (_a) {
14493
14323
  setViewTagForDelete(null);
14494
14324
  }
14495
14325
  setSelectedRowTagId(tagId);
14326
+ setOpenContextMenu(true);
14327
+ setContextMenuPosition({ x: event.clientX, y: event.clientY });
14496
14328
  };
14497
- var _k = searchSeries({
14498
- start: state.timeScopeStart.getTime(),
14499
- end: state.timeScopeEnd.getTime(),
14500
- tagIds: Object.values(viewTags).map(function (tag) { return tag.viewTag.TagId; }),
14501
- autoRefresh: autoRefresh,
14502
- }), series = _k.data, seriesLoading = _k.isLoading; _k.isError; _k.error; _k.isSuccess;
14329
+ useEffect(function () {
14330
+ if (debounceForFetchingData.current) {
14331
+ clearTimeout(debounceForFetchingData.current);
14332
+ }
14333
+ debounceForFetchingData.current = setTimeout(function () {
14334
+ var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
14335
+ var viewTagsArr, tagIds, response, error_1;
14336
+ return __generator(this, function (_a) {
14337
+ switch (_a.label) {
14338
+ case 0:
14339
+ _a.trys.push([0, 3, , 4]);
14340
+ setLoading(true);
14341
+ viewTagsArr = Object.values(viewTags).sort(function (a, b) { return b.order - a.order; });
14342
+ tagIds = viewTagsArr.map(function (tag) { return tag.viewTag.TagId; });
14343
+ if (!tagIds.length) return [3 /*break*/, 2];
14344
+ return [4 /*yield*/, axios.post("/series?nodeName=null", {
14345
+ start: state.timeScopeStart.getTime(),
14346
+ end: state.timeScopeEnd.getTime(),
14347
+ tagIds: tagIds,
14348
+ sampleCount: 1000,
14349
+ })];
14350
+ case 1:
14351
+ response = _a.sent();
14352
+ setSeries(response.data || []);
14353
+ _a.label = 2;
14354
+ case 2:
14355
+ setLoading(false);
14356
+ return [3 /*break*/, 4];
14357
+ case 3:
14358
+ error_1 = _a.sent();
14359
+ setError(error_1.message);
14360
+ setLoading(false);
14361
+ return [3 /*break*/, 4];
14362
+ case 4: return [2 /*return*/];
14363
+ }
14364
+ });
14365
+ }); };
14366
+ fetchData();
14367
+ }, 800);
14368
+ return function () {
14369
+ if (debounceForFetchingData.current) {
14370
+ clearTimeout(debounceForFetchingData.current);
14371
+ }
14372
+ };
14373
+ }, [shouldRefetchSeries]);
14503
14374
  return (React__default.createElement(React__default.Fragment, null,
14504
- React__default.createElement(Grid, { container: true, style: { width: "95svw", height: "88svh", margin: 0 } },
14505
- React__default.createElement(Header, { setChartOptions: setChartOptions, autoRefresh: autoRefresh, setAutoRefresh: setAutoRefresh }),
14506
- React__default.createElement(Grid, { item: true, md: 12 },
14507
- React__default.createElement(Divider, { style: { margin: "10px 0 20px" } })),
14375
+ React__default.createElement(Grid, { container: true, style: { width: "95svw", height: "88svh", margin: 0 }, onClick: function () { return setOpenContextMenu(false); } },
14376
+ React__default.createElement(Header, { setChartOptions: setChartOptions }),
14508
14377
  React__default.createElement(Grid, { item: true, xs: 12, style: { height: "45%" } },
14509
- React__default.createElement(TrendingChart, { series: series !== null && series !== void 0 ? series : [], chartData: chartData, setChartData: setChartData, chartOptions: chartOptions, setChartOptions: setChartOptions, setCursorData: setCursorData })),
14378
+ React__default.createElement(TrendingChart, { series: series, chartData: chartData, setChartData: setChartData, chartOptions: chartOptions, setChartOptions: setChartOptions, setCursorData: setCursorData })),
14510
14379
  React__default.createElement(Grid, { item: true, container: true, xs: 12, onContextMenu: function (e) { return handleRightClick(e, null); }, style: {
14511
14380
  height: "40%",
14512
14381
  minWidth: "100%",
14382
+ paddingTop: "3rem",
14383
+ border: "4px solid #ccc",
14513
14384
  borderRadius: 10,
14514
- margin: "10px 0 10px",
14515
- position: seriesLoading ? "relative" : "inherit",
14385
+ padding: 10,
14386
+ margin: "20px 0 10px",
14387
+ position: loading ? "relative" : "inherit",
14516
14388
  } },
14517
- seriesLoading && (React__default.createElement("div", { style: {
14389
+ loading && (React__default.createElement("div", { style: {
14518
14390
  position: "absolute",
14519
14391
  top: 0,
14520
14392
  left: 0,
@@ -14527,121 +14399,79 @@ var Trending = function (_a) {
14527
14399
  zIndex: 2,
14528
14400
  } },
14529
14401
  React__default.createElement(CircularProgress, { size: "2rem" }))),
14530
- React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, viewTagForDelete: viewTagForDelete, setViewTagForDelete: setViewTagForDelete, selectedRowTagId: selectedRowTagId, setSelectedRowTagId: setSelectedRowTagId }))),
14402
+ 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 }))),
14531
14403
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, title: "ERROR" })));
14532
14404
  };
14533
14405
 
14534
- var searchViews = function (_a) {
14535
- var _b = _a.autoRefresh, autoRefresh = _b === void 0 ? false : _b;
14536
- return useQuery({
14537
- queryKey: ["views"],
14538
- queryFn: function () { return getViews(null); },
14539
- refetchInterval: autoRefresh ? 10000 : false,
14540
- });
14541
- };
14542
- var searchViewTags = function (_a) {
14543
- var viewId = _a.viewId;
14544
- return useQuery({
14545
- queryKey: ["viewTags", viewId],
14546
- queryFn: function () {
14547
- if (viewId) {
14548
- return getViewTags(viewId);
14549
- }
14550
- else {
14551
- return [];
14552
- }
14553
- },
14554
- });
14555
- };
14556
- var searchTagsTree = function () {
14557
- return useQuery({
14558
- queryKey: ["tagsTree"],
14559
- queryFn: function () { return getTagsTree(); },
14560
- });
14561
- };
14562
- var searchSeries = function (_a) {
14563
- var start = _a.start, end = _a.end, tagIds = _a.tagIds, _b = _a.autoRefresh, autoRefresh = _b === void 0 ? false : _b;
14564
- return useQuery({
14565
- queryKey: ["series", start, end, tagIds],
14566
- queryFn: function () { return __awaiter(void 0, void 0, void 0, function () {
14567
- var resp, error_1;
14406
+ var TrendingsPage = function (props) {
14407
+ var _a = useState(""), error = _a[0], setError = _a[1];
14408
+ var _b = useTrendingContext(), viewSelected = _b.state.viewSelected, _c = _b.actions, setViews = _c.setViews, setViewTagsAndRefetch = _c.setViewTagsAndRefetch, setViewSelected = _c.setViewSelected;
14409
+ var getTagsFromAPI = function () {
14410
+ var args_1 = [];
14411
+ for (var _i = 0; _i < arguments.length; _i++) {
14412
+ args_1[_i] = arguments[_i];
14413
+ }
14414
+ return __awaiter(void 0, __spreadArray([], args_1, true), void 0, function (forceReload) {
14415
+ var viewsResp, lastCreated, viewTagsResp, viewTags;
14416
+ if (forceReload === void 0) { forceReload = false; }
14568
14417
  return __generator(this, function (_a) {
14569
14418
  switch (_a.label) {
14570
- case 0:
14571
- _a.trys.push([0, 2, , 3]);
14572
- return [4 /*yield*/, axios.post("/series?nodeName=null", {
14573
- start: start,
14574
- end: end ? end : new Date().getTime(),
14575
- tagIds: tagIds,
14576
- sampleCount: 1000,
14577
- })];
14419
+ case 0: return [4 /*yield*/, getViews(null)];
14578
14420
  case 1:
14579
- resp = _a.sent();
14580
- return [2 /*return*/, get(resp, "data", [])];
14421
+ viewsResp = _a.sent();
14422
+ if (!viewsResp.ok) return [3 /*break*/, 4];
14423
+ setViews(viewsResp.data.tables[0].rows);
14424
+ lastCreated = void 0;
14425
+ if (!viewSelected || forceReload) {
14426
+ lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) {
14427
+ return prev && prev.ViewId > current.ViewId ? prev : current;
14428
+ }, null);
14429
+ //viewSelected
14430
+ setViewSelected(lastCreated);
14431
+ }
14432
+ else {
14433
+ lastCreated = viewSelected;
14434
+ }
14435
+ if (!lastCreated) return [3 /*break*/, 3];
14436
+ return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
14581
14437
  case 2:
14582
- error_1 = _a.sent();
14583
- throw new Error(getError(error_1));
14584
- case 3: return [2 /*return*/];
14438
+ viewTagsResp = _a.sent();
14439
+ if (viewTagsResp.ok) {
14440
+ viewTags = viewTagsResp.data.tables[0].rows.reduce(function (carr, curr, idx) {
14441
+ if (isNil(curr.Color)) {
14442
+ curr.Color = getRandomColor();
14443
+ }
14444
+ carr[curr.TagId] = {
14445
+ viewTag: curr,
14446
+ order: idx,
14447
+ };
14448
+ return carr;
14449
+ }, {});
14450
+ setViewTagsAndRefetch(viewTags);
14451
+ }
14452
+ else {
14453
+ setError(viewTagsResp.message);
14454
+ }
14455
+ _a.label = 3;
14456
+ case 3: return [3 /*break*/, 5];
14457
+ case 4:
14458
+ setError(viewsResp.message);
14459
+ _a.label = 5;
14460
+ case 5: return [2 /*return*/];
14585
14461
  }
14586
14462
  });
14587
- }); },
14588
- refetchInterval: autoRefresh ? 10000 : false,
14589
- });
14590
- };
14591
- var TrendingsPage = function () {
14592
- var _a = useState(false), autoRefresh = _a[0], setAutoRefresh = _a[1];
14593
- var _b = useState(""), error = _b[0], setError = _b[1];
14594
- var _c = useState(null), viewId = _c[0], setViewId = _c[1];
14595
- var _d = useTrendingContext(), viewSelected = _d.state.viewSelected, _e = _d.actions, setViews = _e.setViews, setViewTagsAndRefetch = _e.setViewTagsAndRefetch, setViewSelected = _e.setViewSelected;
14596
- var _f = searchViews({ autoRefresh: autoRefresh }), views = _f.data; _f.isLoading; var viewsIsError = _f.isError, viewsError = _f.error, viewSuccess = _f.isSuccess;
14597
- var _g = searchViewTags({ viewId: viewId }), viewTags = _g.data; _g.isLoading; var viewTagsIsError = _g.isError, viewTagsError = _g.error, viewTagsSuccess = _g.isSuccess;
14598
- useEffect(function () {
14599
- var lastCreated;
14600
- if (!viewSelected) {
14601
- if (!views)
14602
- return;
14603
- setViews(views);
14604
- lastCreated = views.reduce(function (prev, current) {
14605
- return prev && prev.ViewId > current.ViewId ? prev : current;
14606
- }, null);
14607
- setViewId(lastCreated.ViewId);
14608
- //viewSelected
14609
- setViewSelected(lastCreated);
14610
- }
14611
- else {
14612
- lastCreated = viewSelected;
14613
- setViewId(lastCreated.ViewId);
14614
- }
14615
- }, [viewSuccess]);
14616
- useEffect(function () {
14617
- if (viewTags) {
14618
- if (!viewTags)
14619
- return;
14620
- var vTags = viewTags.reduce(function (carr, curr, idx) {
14621
- if (isNil(curr.Color)) {
14622
- curr.Color = getRandomColor();
14623
- }
14624
- carr[curr.TagId] = {
14625
- viewTag: curr,
14626
- order: idx,
14627
- };
14628
- return carr;
14629
- }, {});
14630
- setViewTagsAndRefetch(vTags);
14631
- }
14632
- }, [viewTagsSuccess]);
14463
+ });
14464
+ };
14633
14465
  useEffect(function () {
14634
- if (viewTagsError && viewTagsIsError) {
14635
- setError(viewTagsError.message);
14636
- }
14637
- if (viewsError && viewsIsError) {
14638
- setError(viewsError.message);
14639
- }
14640
- }, [viewsError, viewsIsError, viewTagsError, viewTagsIsError]);
14466
+ getTagsFromAPI();
14467
+ }, []);
14641
14468
  return (React__default.createElement(React__default.Fragment, null,
14642
14469
  React__default.createElement(HelmetDexteel, { title: "Trending Chart" }),
14643
- React__default.createElement(Grid, { style: { padding: "20px", justifyContent: "center", display: "flex" } },
14644
- React__default.createElement(Trending, { title: "Trending Chart", autoRefresh: autoRefresh, setAutoRefresh: setAutoRefresh })),
14470
+ React__default.createElement(Box, { p: 3, style: { maxWidth: "100%" } },
14471
+ React__default.createElement(Paper, null,
14472
+ React__default.createElement(Grid, { container: true, spacing: 3, style: { padding: "20px" } },
14473
+ React__default.createElement(Grid, { item: true, xs: 12 },
14474
+ React__default.createElement(Trending, { title: "Trending Chart", getTagsFromAPI: getTagsFromAPI }))))),
14645
14475
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(""); }, size: "xl", title: "ERROR" })));
14646
14476
  };
14647
14477
 
@@ -17675,5 +17505,5 @@ var areaSelector = /*#__PURE__*/Object.freeze({
17675
17505
  AreaSelector: AreaSelector
17676
17506
  });
17677
17507
 
17678
- export { Account, AssetProvider, AssetTreePicker, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, ContextMenu$1 as ContextMenu, ContextMenuMESFProvider, CreateNewAssetDialog, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, EditAssetDialog, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HelmetDexteel, IntegerFormatter, LogbookSettingsInitialState, LogbookSettingsProvider, Login, Logout, LongFilterPanel, MESApiService, MESFLogbookEntry, MESFLogbookReport, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, RemoveAssetDialog, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, TimeAndUserMenu, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUserPermissionsFromAPI, getUsers, logbookNavbar, logbookRoutesMESF, renewToken, routeLogbookEntry, routeLogbookReport, searchAssets, searchSeries, searchTagsTree, searchViewTags, searchViews, setPassword, setProfilesToUser, themeDXT, themeMESF, upsertUser, useAssetContext, useContextMenuMESF, useHasPermission, useHasProfile, useLogbookSettings, useMesfRealtime, useShiftNavigator, useShiftNavigatorManager, useStyles$i as useStyles, useToken, useUTLSettingsContext, useUserContext };
17508
+ export { Account, AssetProvider, AssetTreePicker, AuthContext, AuthProvider, BarChartControl, ButtonWithLoading, ChangePassword, CheckBoxControl, Configuration$1 as Configuration, ContextMenu$1 as ContextMenu, ContextMenuMESFProvider, CreateNewAssetDialog, CurrencyFormatter, DataGridControl, DateFormatter, DateTimeFormatter, EditAssetDialog, ErrorModal, FetchError, FilterPanel, GenericPanel, GenericTable, GetCrewColor, GetShiftColor, HelmetDexteel, IntegerFormatter, LogbookSettingsInitialState, LogbookSettingsProvider, Login, Logout, LongFilterPanel, MESApiService, MESFLogbookEntry, MESFLogbookReport, MESFMain, MESSAGE_API, MESSAGE_ERRORS, MasterDetailPanel, MesfModal, ModalTreeFilterControl, MultipleSelectorControl, NumberFormatter, RemoveAssetDialog, ShiftDayNavigatorControl, ShiftNavigatorProvider, ShiftPeriodNavigatorControl, SimplePasswordControl, SimpleSelectorControl, TimeAndUserMenu, TimeFormatter, TimeService, TreePickerControl, TreePickerControlV2, TrendingsPage, USER_LABELS, UTLSettingsProvider, UserProvider, axiosInstance, deleteUser, dxtServerTimeZone, dxtToLocalServerTime, dxtToUTC, formatNumber, getAuthTypes, getCrewStyle, getDataUser, getError, getMomentTz, getShiftByParameters, getShiftStyle, getShiftsRangeByParameters, getTokenFromLS, getUserPermissionsFromAPI, getUsers, logbookNavbar, logbookRoutesMESF, renewToken, routeLogbookEntry, routeLogbookReport, searchAssets, setPassword, setProfilesToUser, themeDXT, themeMESF, upsertUser, useAssetContext, useContextMenuMESF, useHasPermission, useHasProfile, useLogbookSettings, useMesfRealtime, useShiftNavigator, useShiftNavigatorManager, useStyles$i as useStyles, useToken, useUTLSettingsContext, useUserContext };
17679
17509
  //# sourceMappingURL=index.esm.js.map