@dexteel/mesf-core 4.7.0 → 4.7.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/CHANGELOG.md CHANGED
@@ -1,4 +1,9 @@
1
1
  # CHANGELOG
2
+ ## 4.7.2
3
+ - Trending: Fix repeated tags bug. When you select a tag that was already in the view, you get an error message
4
+ - MESF: Add a button in the navbar to go to /trendings
5
+ ## 4.7.1
6
+ - Trending: fix error when removing a tag and saving the view & fix load view
2
7
  ## 4.7.0
3
8
  A new page is introduced to display a table containing forms and establish relationships between forms/assets/users. Additionally, tables are created to effectively showcase relevant information
4
9
  ## 4.6.2
package/dist/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { LicenseManager } from 'ag-grid-enterprise';
2
- import { Typography, TextField, makeStyles as makeStyles$1, Button as Button$1, Grid as Grid$1, Dialog as Dialog$1, DialogTitle as DialogTitle$2, DialogContent as DialogContent$2, DialogContentText, DialogActions as DialogActions$2, FormHelperText, CircularProgress as CircularProgress$1, Badge, FormControlLabel, Checkbox, Snackbar as Snackbar$1, Paper as Paper$1, MenuItem as MenuItem$1, useTheme as useTheme$1, createStyles as createStyles$1, FormControl as FormControl$1, Select as Select$1, Box, Divider, Tooltip, IconButton as IconButton$1, debounce, List, ListItem, ListItemText } from '@material-ui/core';
2
+ import { Typography, TextField, makeStyles as makeStyles$1, Button as Button$1, Grid as Grid$1, Dialog as Dialog$1, DialogTitle as DialogTitle$2, DialogContent as DialogContent$2, DialogContentText, DialogActions as DialogActions$2, FormHelperText, CircularProgress as CircularProgress$1, Badge, FormControlLabel, Checkbox, Snackbar as Snackbar$1, Paper as Paper$1, MenuItem as MenuItem$1, useTheme as useTheme$1, Tooltip, createStyles as createStyles$1, FormControl as FormControl$1, Select as Select$1, Box, Divider, IconButton as IconButton$1, debounce, List, ListItem, ListItemText } from '@material-ui/core';
3
3
  import { values, get, isNil as isNil$1, isEmpty, isNaN } from 'lodash-es';
4
4
  import * as React from 'react';
5
5
  import React__default, { useState, useRef, useEffect, Component, createContext, useContext, useMemo, useCallback, lazy, Suspense } from 'react';
@@ -14,6 +14,7 @@ import { useMsal, MsalProvider } from '@azure/msal-react';
14
14
  import { LogLevel, PublicClientApplication } from '@azure/msal-browser';
15
15
  import { useComplexState } from 'use-complex-state';
16
16
  import { createSlice } from '@reduxjs/toolkit';
17
+ import ShowChartIcon from '@material-ui/icons/ShowChart';
17
18
  import MenuItem from '@material-ui/core/MenuItem';
18
19
  import MenuList from '@material-ui/core/MenuList';
19
20
  import Paper from '@material-ui/core/Paper';
@@ -8190,6 +8191,10 @@ function Header$1(_a) {
8190
8191
  React__default.createElement(Nav, { className: "me-auto" },
8191
8192
  React__default.createElement(CustomNavbar, null)),
8192
8193
  React__default.createElement(Nav, { className: "ml-auto", style: { alignItems: "baseline" } },
8194
+ React__default.createElement(Nav, { className: "mx-2" },
8195
+ React__default.createElement(Nav.Link, { as: Link, to: "/trendings" },
8196
+ React__default.createElement(Tooltip, { title: 'Trendings', placement: "top", arrow: true, interactive: true, enterDelay: 1500 },
8197
+ React__default.createElement(ShowChartIcon, null)))),
8193
8198
  React__default.createElement(Nav, null,
8194
8199
  React__default.createElement("span", { className: "navbar-text" }, date.toLocaleTimeString())),
8195
8200
  React__default.createElement(Nav, { className: "mx-2" },
@@ -9624,21 +9629,7 @@ var TrendingsInitialState = {
9624
9629
  }
9625
9630
  ],
9626
9631
  viewSelected: null,
9627
- viewTags: [
9628
- {
9629
- ViewId: 0,
9630
- TagId: 0,
9631
- TagName: '',
9632
- Color: '',
9633
- IsVisible: true,
9634
- MinScale: 0,
9635
- MaxScale: 0,
9636
- IsAutoScale: true,
9637
- Alias: '',
9638
- TagType: '',
9639
- Unit: ''
9640
- }
9641
- ]
9632
+ viewTags: []
9642
9633
  };
9643
9634
  var TrendingsReducer = createSlice({
9644
9635
  name: "__",
@@ -9956,6 +9947,7 @@ var TagSelectionModal = function (_a) {
9956
9947
  var _c = useState(''), error = _c[0], setError = _c[1];
9957
9948
  var _d = useState([]), treeData = _d[0], setTreeData = _d[1];
9958
9949
  var _e = useState([]), expanded = _e[0], setExpanded = _e[1];
9950
+ var viewTags = useTrendingContext().state.viewTags;
9959
9951
  var currentColorIndex = useRef(0);
9960
9952
  useEffect(function () {
9961
9953
  var loadData = function () { return __awaiter(void 0, void 0, void 0, function () {
@@ -10055,17 +10047,22 @@ var TagSelectionModal = function (_a) {
10055
10047
  /* I have to get the grandchildren because the toggle action would not be triggered if no children */
10056
10048
  var handleNodeToggle = function (event, nodeIds) { return __awaiter(void 0, void 0, void 0, function () {
10057
10049
  return __generator(this, function (_a) {
10058
- // console.log("Toggle:", nodeIds);
10059
10050
  setExpanded(nodeIds);
10060
10051
  return [2 /*return*/];
10061
10052
  });
10062
10053
  }); };
10063
10054
  var handleNodeSelect = function (event, nodeId) { return __awaiter(void 0, void 0, void 0, function () {
10064
- var node;
10055
+ var node, alreadySelected;
10065
10056
  return __generator(this, function (_a) {
10066
10057
  node = findNode(treeData, nodeId);
10067
10058
  if (node === null || node === void 0 ? void 0 : node.TagId) {
10068
- onTagSelect(node.tag);
10059
+ alreadySelected = viewTags.find(function (vt) { return vt.TagId === node.TagId; });
10060
+ if (!alreadySelected) {
10061
+ onTagSelect(node.tag);
10062
+ }
10063
+ else {
10064
+ setError("".concat(node.TagName, " is already added to the view"));
10065
+ }
10069
10066
  }
10070
10067
  return [2 /*return*/];
10071
10068
  });
@@ -10149,7 +10146,7 @@ var getViews = function (Search) { return __awaiter(void 0, void 0, void 0, func
10149
10146
  }
10150
10147
  });
10151
10148
  }); };
10152
- var getViewTags = function (ViewId) { return __awaiter(void 0, void 0, void 0, function () {
10149
+ var upsertView = function (ViewId, ViewName, isPublic) { return __awaiter(void 0, void 0, void 0, function () {
10153
10150
  var apiService, parameters, resp;
10154
10151
  return __generator(this, function (_a) {
10155
10152
  switch (_a.label) {
@@ -10157,14 +10154,17 @@ var getViewTags = function (ViewId) { return __awaiter(void 0, void 0, void 0, f
10157
10154
  apiService = new MESApiService();
10158
10155
  parameters = [];
10159
10156
  parameters.push({ name: "ViewId", value: ViewId });
10160
- return [4 /*yield*/, apiService.callV2("[mssql2022].[IH_100020].[ih].[GetViewTags]", parameters)];
10157
+ parameters.push({ name: "ViewName", value: ViewName });
10158
+ parameters.push({ name: "isPublic", value: isPublic });
10159
+ return [4 /*yield*/, apiService.callV2("[mssql2022].[IH_100020].[ih].[UpsertView]", parameters)];
10161
10160
  case 1:
10162
10161
  resp = _a.sent();
10163
10162
  return [2 /*return*/, resp];
10164
10163
  }
10165
10164
  });
10166
10165
  }); };
10167
- var upsertView = function (ViewId, ViewName, isPublic) { return __awaiter(void 0, void 0, void 0, function () {
10166
+ //viewTags
10167
+ var getViewTags = function (ViewId) { return __awaiter(void 0, void 0, void 0, function () {
10168
10168
  var apiService, parameters, resp;
10169
10169
  return __generator(this, function (_a) {
10170
10170
  switch (_a.label) {
@@ -10172,9 +10172,7 @@ var upsertView = function (ViewId, ViewName, isPublic) { return __awaiter(void 0
10172
10172
  apiService = new MESApiService();
10173
10173
  parameters = [];
10174
10174
  parameters.push({ name: "ViewId", value: ViewId });
10175
- parameters.push({ name: "ViewName", value: ViewName });
10176
- parameters.push({ name: "isPublic", value: isPublic });
10177
- return [4 /*yield*/, apiService.callV2("[mssql2022].[IH_100020].[ih].[UpsertView]", parameters)];
10175
+ return [4 /*yield*/, apiService.callV2("[mssql2022].[IH_100020].[ih].[GetViewTags]", parameters)];
10178
10176
  case 1:
10179
10177
  resp = _a.sent();
10180
10178
  return [2 /*return*/, resp];
@@ -10201,6 +10199,22 @@ var upsertViewTag = function (ViewId, TagId, Color, MinScale, MaxScale, IsVisibl
10201
10199
  return [2 /*return*/, resp];
10202
10200
  }
10203
10201
  });
10202
+ }); };
10203
+ var deleteViewTag = function (ViewId, TagId) { return __awaiter(void 0, void 0, void 0, function () {
10204
+ var apiService, parameters, resp;
10205
+ return __generator(this, function (_a) {
10206
+ switch (_a.label) {
10207
+ case 0:
10208
+ apiService = new MESApiService();
10209
+ parameters = [];
10210
+ parameters.push({ name: "ViewId", value: ViewId });
10211
+ parameters.push({ name: "TagId", value: TagId });
10212
+ return [4 /*yield*/, apiService.callV2("[mssql2022].[IH_100020].[ih].[DeleteViewTag]", parameters)];
10213
+ case 1:
10214
+ resp = _a.sent();
10215
+ return [2 /*return*/, resp];
10216
+ }
10217
+ });
10204
10218
  }); };
10205
10219
 
10206
10220
  var LoadViewModal = function (_a) {
@@ -10657,13 +10671,31 @@ var TableComponent = function (_a) {
10657
10671
  handleAddTag(selectedTag);
10658
10672
  handleClose();
10659
10673
  };
10660
- var handleDelete = function (index) {
10661
- if (selectedRowIndex !== null) {
10662
- var tagToDelete = viewTags[selectedRowIndex];
10663
- handleDeleteTag(tagToDelete.TagId);
10664
- setSelectedRowIndex(null); // Reset the selected row index
10665
- }
10666
- };
10674
+ var handleDelete = function (index) { return __awaiter(void 0, void 0, void 0, function () {
10675
+ var tagToDelete, resp;
10676
+ return __generator(this, function (_a) {
10677
+ switch (_a.label) {
10678
+ case 0:
10679
+ if (!(selectedRowIndex !== null)) return [3 /*break*/, 3];
10680
+ tagToDelete = viewTags[selectedRowIndex];
10681
+ if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 2];
10682
+ return [4 /*yield*/, deleteViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, tagToDelete.TagId)];
10683
+ case 1:
10684
+ resp = _a.sent();
10685
+ if (resp.ok) {
10686
+ handleDeleteTag(tagToDelete.TagId);
10687
+ }
10688
+ else {
10689
+ setError(resp.message);
10690
+ }
10691
+ _a.label = 2;
10692
+ case 2:
10693
+ setSelectedRowIndex(null); // Reset the selected row index
10694
+ _a.label = 3;
10695
+ case 3: return [2 /*return*/];
10696
+ }
10697
+ });
10698
+ }); };
10667
10699
  useEffect(function () {
10668
10700
  if (Array.isArray(viewTags)) {
10669
10701
  setEditableTagNames(viewTags.reduce(function (acc, tag) {
@@ -10887,8 +10919,6 @@ var TableComponent = function (_a) {
10887
10919
  } }),
10888
10920
  React__default.createElement(LoadViewModal, { open: loadViewOpen, handleClose: function (shouldUpdate) {
10889
10921
  setLoadViewOpen(false);
10890
- if (shouldUpdate)
10891
- getTagsFromAPI().then(function () { });
10892
10922
  } })),
10893
10923
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
10894
10924
  };
@@ -11474,7 +11504,7 @@ var Trending = function (_a) {
11474
11504
 
11475
11505
  var TrendingsPage = function (props) {
11476
11506
  var _a = useState(''), error = _a[0], setError = _a[1];
11477
- var _b = useTrendingContext().actions, setViews = _b.setViews, setViewTags = _b.setViewTags, setViewSelected = _b.setViewSelected;
11507
+ var _b = useTrendingContext(), viewSelected = _b.state.viewSelected, _c = _b.actions, setViews = _c.setViews, setViewTags = _c.setViewTags, setViewSelected = _c.setViewSelected;
11478
11508
  var getTagsFromAPI = function () { return __awaiter(void 0, void 0, void 0, function () {
11479
11509
  var viewsResp, lastCreated, viewTagsResp;
11480
11510
  return __generator(this, function (_a) {
@@ -11484,9 +11514,15 @@ var TrendingsPage = function (props) {
11484
11514
  viewsResp = _a.sent();
11485
11515
  if (!viewsResp.ok) return [3 /*break*/, 3];
11486
11516
  setViews(viewsResp.data.tables[0].rows);
11487
- lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
11488
- //viewSelected
11489
- setViewSelected(lastCreated);
11517
+ lastCreated = void 0;
11518
+ if (!viewSelected) {
11519
+ lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
11520
+ //viewSelected
11521
+ setViewSelected(lastCreated);
11522
+ }
11523
+ else {
11524
+ lastCreated = viewSelected;
11525
+ }
11490
11526
  return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
11491
11527
  case 2:
11492
11528
  viewTagsResp = _a.sent();