@dexteel/mesf-core 4.7.6 → 4.7.8

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,11 @@
1
1
  # CHANGELOG
2
+ ## 4.7.8
3
+ - Trendings: Remove the 'Save view' popup and improve the 'Save view as' modal. Now you can choose a view to save in save view as or create a new one
4
+ ## 4.7.7
5
+ - Trendings: Scales now admits negative numbers
6
+ - Trendings: Fix saveTagDefaults bug. When you save the default to Tag, you also save the View Tag selected.
7
+ ## 4.7.6
8
+ - Remove margin in configurations page
2
9
  ## 4.7.5
3
10
  - Added function to format AssetFullPath and display a part in the input
4
11
  ## 4.7.4
package/dist/index.esm.js CHANGED
@@ -10050,7 +10050,7 @@ var TagSelectionModal = function (_a) {
10050
10050
  tag: {
10051
10051
  TagId: dbTag.tagId,
10052
10052
  TagName: dbTag.tagName,
10053
- Color: getColor(),
10053
+ Color: dbTag.color || getColor(),
10054
10054
  IsAutoScale: true,
10055
10055
  MinScale: dbTag.minScale,
10056
10056
  MaxScale: dbTag.maxScale,
@@ -10372,18 +10372,17 @@ var SaveAsViewModal = function (_a) {
10372
10372
  var classes = useTrendingStyles();
10373
10373
  var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
10374
10374
  var _c = useState(''), error = _c[0], setError = _c[1];
10375
- var viewTags = useTrendingContext().state.viewTags;
10376
- var _d = useState(true), isPublic = _d[0], setIsPublic = _d[1];
10377
- var _e = useState(''), viewName = _e[0], setViewName = _e[1];
10375
+ var _d = useTrendingContext(), _e = _d.state, viewTags = _e.viewTags, views = _e.views, viewSelected = _e.viewSelected, _f = _d.actions, setViewSelected = _f.setViewSelected; _f.setViewTags;
10376
+ var _g = useState(true), isPublic = _g[0], setIsPublic = _g[1];
10377
+ var _h = useState(''), newView = _h[0], setNewView = _h[1];
10378
10378
  var handleCheck = function () { return setIsPublic(!isPublic); };
10379
- var handleInputChange = function (e) { return setViewName(e.target.value); };
10380
10379
  var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
10381
10380
  var resp, ViewId_1, results;
10382
10381
  return __generator(this, function (_a) {
10383
10382
  switch (_a.label) {
10384
10383
  case 0:
10385
10384
  setIsLoading(true);
10386
- return [4 /*yield*/, upsertView(null, viewName, isPublic)];
10385
+ return [4 /*yield*/, upsertView(null, newView, isPublic)];
10387
10386
  case 1:
10388
10387
  resp = _a.sent();
10389
10388
  if (!resp.ok) return [3 /*break*/, 3];
@@ -10418,12 +10417,22 @@ var SaveAsViewModal = function (_a) {
10418
10417
  });
10419
10418
  }); };
10420
10419
  return (React__default.createElement(React__default.Fragment, null,
10421
- React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
10420
+ React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Save View As' },
10422
10421
  React__default.createElement(Divider, null),
10423
10422
  React__default.createElement(MesfModal.Content, null,
10424
10423
  React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
10425
- React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
10426
- React__default.createElement(TextField, { size: 'small', id: "outlined-basic", label: "View Name", variant: "outlined", value: viewName, onChange: handleInputChange, style: { width: "100%" } }))),
10424
+ React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } }, views.length && viewSelected ? (React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", options: views, defaultValue: viewSelected, getOptionLabel: function (option) { return option.ViewName; }, freeSolo: true, onChange: function (ev, val) {
10425
+ setViewSelected(val);
10426
+ if (val) {
10427
+ setNewView("");
10428
+ }
10429
+ }, onInputChange: function (event, newInputValue) {
10430
+ var isValueInViews = views.some(function (view) { return view.ViewName === newInputValue; });
10431
+ if (!isValueInViews) {
10432
+ setNewView(newInputValue);
10433
+ }
10434
+ }, style: { width: "100%" }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })) :
10435
+ (React__default.createElement("div", null, "No tag views detected, please add one")))),
10427
10436
  React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { paddingTop: "2rem" }, className: classes.isPublicCheckbox },
10428
10437
  React__default.createElement("label", null,
10429
10438
  "Public",
@@ -10570,78 +10579,13 @@ var timeDifference = function (start, end) {
10570
10579
  return "".concat(hours, "h ").concat(remainingMinutes, "m ").concat(remainingSeconds, "s");
10571
10580
  };
10572
10581
 
10573
- var SaveViewModal = function (_a) {
10574
- var open = _a.open, handleClose = _a.handleClose;
10575
- var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
10576
- var _c = useState(''), error = _c[0], setError = _c[1];
10577
- var _d = useTrendingContext().state, viewTags = _d.viewTags, viewSelected = _d.viewSelected;
10578
- var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
10579
- var resp, results;
10580
- return __generator(this, function (_a) {
10581
- switch (_a.label) {
10582
- case 0:
10583
- setIsLoading(true);
10584
- if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 4];
10585
- return [4 /*yield*/, upsertView(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, viewSelected.ViewName, viewSelected.IsPublic)];
10586
- case 1:
10587
- resp = _a.sent();
10588
- if (!resp.ok) return [3 /*break*/, 3];
10589
- return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
10590
- var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible;
10591
- upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale)
10592
- .then(function (r) {
10593
- if (!r.ok) {
10594
- setError(r.message);
10595
- }
10596
- });
10597
- }))];
10598
- case 2:
10599
- results = _a.sent();
10600
- results.forEach(function (result, index) {
10601
- if (result.status === "rejected") {
10602
- setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
10603
- }
10604
- else {
10605
- handleClose(true);
10606
- }
10607
- });
10608
- return [3 /*break*/, 4];
10609
- case 3:
10610
- setError(resp.message);
10611
- _a.label = 4;
10612
- case 4:
10613
- setIsLoading(false);
10614
- return [2 /*return*/];
10615
- }
10616
- });
10617
- }); };
10618
- return (React__default.createElement(React__default.Fragment, null,
10619
- React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
10620
- React__default.createElement(Divider, null),
10621
- React__default.createElement(MesfModal.Content, null,
10622
- React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
10623
- React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
10624
- React__default.createElement(Typography, null,
10625
- "Do you want to save changes on ",
10626
- React__default.createElement("strong", null, viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName),
10627
- " ?")))),
10628
- React__default.createElement(Divider, null),
10629
- React__default.createElement(MesfModal.Actions, null,
10630
- React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
10631
- React__default.createElement(Grid$1, { item: true },
10632
- React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
10633
- React__default.createElement(Grid$1, { item: true },
10634
- React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
10635
- React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
10636
- };
10637
-
10638
10582
  var TableComponent = function (_a) {
10639
10583
  var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI;
10640
10584
  var classes = useTagsTableStyles();
10641
- var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setGraphShouldUpdate = _d.setGraphShouldUpdate;
10585
+ var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setGraphShouldUpdate = _d.setGraphShouldUpdate; _d.setViewSelected;
10642
10586
  var _e = useState(''), error = _e[0], setError = _e[1];
10587
+ var _f = useState(false); _f[0]; var setIsLoading = _f[1];
10643
10588
  var dataTable = useTagsDataTable({ viewTags: viewTags, chartData: chartData, cursorData: cursorData });
10644
- var _f = useState({}), editableTagNames = _f[0], setEditableTagNames = _f[1];
10645
10589
  var handleChange = function (tagId, value, property) {
10646
10590
  var newTags = viewTags.map(function (tag) {
10647
10591
  var _a;
@@ -10688,9 +10632,9 @@ var TableComponent = function (_a) {
10688
10632
  };
10689
10633
  var _g = useState(null), selectedRowIndex = _g[0], setSelectedRowIndex = _g[1];
10690
10634
  var _h = useState(false), addTagModalOpen = _h[0], setAddTagModalOpen = _h[1];
10691
- var _j = useState(false), saveViewModalOpen = _j[0], setSaveViewModalOpen = _j[1];
10692
- var _k = useState(false), saveAsViewModalOpen = _k[0], setSaveAsViewModalOpen = _k[1];
10693
- var _l = useState(false), loadViewOpen = _l[0], setLoadViewOpen = _l[1];
10635
+ var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
10636
+ var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
10637
+ var _l = useState(''), snackbarMessage = _l[0], setSnackbarMessage = _l[1];
10694
10638
  var handleClose = function () { return setAddTagModalOpen(false); };
10695
10639
  var ContextMenu = function (_a) {
10696
10640
  var x = _a.x, y = _a.y, options = _a.options;
@@ -10706,7 +10650,7 @@ var TableComponent = function (_a) {
10706
10650
  { id: 'delete', label: 'Remove Tag', onClick: function () { return handleDelete(); } },
10707
10651
  { id: 'add', label: 'Add Tag', onClick: function () { return setAddTagModalOpen(true); } },
10708
10652
  { id: 'saveDefault', label: 'Save Default To Tag', onClick: function () { return handleSaveDefaultToTag(); } },
10709
- { id: 'saveView', label: 'Save View', onClick: function () { setSaveViewModalOpen(true); } },
10653
+ { id: 'saveView', label: 'Save View', onClick: function () { return handleSaveView(); } },
10710
10654
  { id: 'saveViewAs', label: 'Save View as', onClick: function () { return setSaveAsViewModalOpen(true); } },
10711
10655
  { id: 'loadView', label: 'Load View', onClick: function () { return setLoadViewOpen(true); } },
10712
10656
  ];
@@ -10738,14 +10682,53 @@ var TableComponent = function (_a) {
10738
10682
  }
10739
10683
  });
10740
10684
  }); };
10741
- useEffect(function () {
10742
- if (Array.isArray(viewTags)) {
10743
- setEditableTagNames(viewTags.reduce(function (acc, tag) {
10744
- acc[tag.TagId] = tag.Alias || tag.TagName;
10745
- return acc;
10746
- }, {}));
10685
+ var handleSaveView = function () { return __awaiter(void 0, void 0, void 0, function () {
10686
+ var resp, results;
10687
+ return __generator(this, function (_a) {
10688
+ switch (_a.label) {
10689
+ case 0:
10690
+ setIsLoading(true);
10691
+ if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 4];
10692
+ return [4 /*yield*/, upsertView(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, viewSelected.ViewName, viewSelected.IsPublic)];
10693
+ case 1:
10694
+ resp = _a.sent();
10695
+ if (!resp.ok) return [3 /*break*/, 3];
10696
+ return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
10697
+ var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible;
10698
+ upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale)
10699
+ .then(function (r) {
10700
+ if (!r.ok) {
10701
+ setError(r.message);
10702
+ }
10703
+ });
10704
+ }))];
10705
+ case 2:
10706
+ results = _a.sent();
10707
+ results.forEach(function (result, index) {
10708
+ if (result.status === "rejected") {
10709
+ setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
10710
+ }
10711
+ else {
10712
+ setSelectedRowIndex(null);
10713
+ setSnackbarMessage('View saved successfully');
10714
+ }
10715
+ });
10716
+ return [3 /*break*/, 4];
10717
+ case 3:
10718
+ setError(resp.message);
10719
+ _a.label = 4;
10720
+ case 4:
10721
+ setIsLoading(false);
10722
+ return [2 /*return*/];
10723
+ }
10724
+ });
10725
+ }); };
10726
+ var handleCloseSnackbar = function (event, reason) {
10727
+ if (reason === 'clickaway') {
10728
+ return;
10747
10729
  }
10748
- }, [viewTags]);
10730
+ setSnackbarMessage('');
10731
+ };
10749
10732
  useEffect(function () {
10750
10733
  var handleGlobalClick = function (e) {
10751
10734
  if (selectedRowIndex !== null) {
@@ -10773,39 +10756,27 @@ var TableComponent = function (_a) {
10773
10756
  setContextMenuPosition({ x: event.clientX, y: event.clientY });
10774
10757
  };
10775
10758
  var handleSaveDefaultToTag = function () { return __awaiter(void 0, void 0, void 0, function () {
10776
- var promises, allResponses, error_1;
10777
- return __generator(this, function (_a) {
10778
- switch (_a.label) {
10759
+ var _a, TagId, Alias, Color, MinScale, MaxScale, Unit, IsVisible, IsAutoScale, saveTagDefaultsResp, upsertViewTagResp;
10760
+ return __generator(this, function (_b) {
10761
+ switch (_b.label) {
10779
10762
  case 0:
10780
- _a.trys.push([0, 2, 3, 4]);
10781
- promises = viewTags.map(function (vt) { return __awaiter(void 0, void 0, void 0, function () {
10782
- var response;
10783
- return __generator(this, function (_a) {
10784
- switch (_a.label) {
10785
- case 0: return [4 /*yield*/, saveTagDefaults(vt.TagId, vt.Alias, vt.Color, vt.MinScale, vt.MaxScale, vt.Unit)];
10786
- case 1:
10787
- response = _a.sent();
10788
- return [2 /*return*/, response];
10789
- }
10790
- });
10791
- }); });
10792
- return [4 /*yield*/, Promise.all(promises)];
10763
+ if (!(viewSelected && selectedRowIndex !== null)) return [3 /*break*/, 3];
10764
+ _a = viewTags[selectedRowIndex], TagId = _a.TagId, Alias = _a.Alias, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, Unit = _a.Unit, IsVisible = _a.IsVisible, IsAutoScale = _a.IsAutoScale;
10765
+ return [4 /*yield*/, saveTagDefaults(TagId, Alias, Color, MinScale, MaxScale, Unit)];
10793
10766
  case 1:
10794
- allResponses = _a.sent();
10795
- allResponses.forEach(function (r) {
10796
- if (!r.ok) {
10797
- setError(r.message);
10798
- }
10799
- });
10800
- return [3 /*break*/, 4];
10767
+ saveTagDefaultsResp = _b.sent();
10768
+ return [4 /*yield*/, upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale)];
10801
10769
  case 2:
10802
- error_1 = _a.sent();
10803
- setError(error_1.message);
10804
- return [3 /*break*/, 4];
10805
- case 3:
10770
+ upsertViewTagResp = _b.sent();
10771
+ if (!saveTagDefaultsResp.ok) {
10772
+ setError(saveTagDefaultsResp.message);
10773
+ }
10774
+ if (!upsertViewTagResp.ok) {
10775
+ setError(upsertViewTagResp.message);
10776
+ }
10806
10777
  setSelectedRowIndex(null);
10807
- return [7 /*endfinally*/];
10808
- case 4: return [2 /*return*/];
10778
+ _b.label = 3;
10779
+ case 3: return [2 /*return*/];
10809
10780
  }
10810
10781
  });
10811
10782
  }); };
@@ -10895,35 +10866,33 @@ var TableComponent = function (_a) {
10895
10866
  React__default.createElement("td", { className: classes.inputCol },
10896
10867
  React__default.createElement(Tooltip, { title: tag.TagName, placement: "top", arrow: true, interactive: true, enterDelay: 500 },
10897
10868
  React__default.createElement("div", null,
10898
- React__default.createElement("input", { type: "text", style: { width: '100%' }, value: editableTagNames[tag.TagId], onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
10899
- var _a;
10900
- setEditableTagNames(__assign(__assign({}, editableTagNames), (_a = {}, _a[tag.TagId] = e.target.value, _a)));
10901
- }, onKeyDown: function (e) {
10902
- if (e.key === 'Enter') {
10903
- handleChangeAlias(tag.TagId, editableTagNames[tag.TagId]);
10904
- }
10869
+ React__default.createElement("input", { type: "text", style: { width: '100%' }, value: tag.Alias || tag.TagName, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
10870
+ var newAlias = e.target.value;
10871
+ handleChangeAlias(tag.TagId, newAlias);
10905
10872
  } })))),
10906
10873
  React__default.createElement("td", { className: classes.color },
10907
10874
  React__default.createElement(ColorPicker, { onChange: handleColorChange, color: tag.Color, elementId: tag.TagId })),
10908
10875
  React__default.createElement("td", { className: classes.inputCol },
10909
- React__default.createElement("input", { type: "text", style: __assign({ width: '100%' }, (tag.IsAutoScale ? {
10876
+ React__default.createElement("input", { type: "number", style: __assign({ width: '100%' }, (tag.IsAutoScale ? {
10910
10877
  backgroundColor: 'rgba(239, 239, 239, 0.3)',
10911
10878
  color: 'rgba(84, 84, 84, 1)',
10912
10879
  border: '1px solid rgba(118, 118, 118, 0.3)'
10913
10880
  } : {})), value: tag.MinScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
10914
10881
  var value = e.target.value;
10915
10882
  var numericValue = Number(value);
10916
- handleChange(tag.TagId, numericValue, 'MinScale');
10883
+ if (!isNaN(numericValue) && value.trim() !== '') {
10884
+ handleChange(tag.TagId, numericValue, 'MinScale');
10885
+ }
10917
10886
  } })),
10918
10887
  React__default.createElement("td", { className: classes.inputCol },
10919
- React__default.createElement("input", { type: "text", style: __assign({ width: '100%' }, (tag.IsAutoScale ? {
10888
+ React__default.createElement("input", { type: "number" // Cambiado de text a number para una mejor validación de entrada
10889
+ , style: __assign({ width: '100%' }, (tag.IsAutoScale ? {
10920
10890
  backgroundColor: 'rgba(239, 239, 239, 0.3)',
10921
10891
  color: 'rgba(84, 84, 84, 1)',
10922
10892
  border: '1px solid rgba(118, 118, 118, 0.3)'
10923
10893
  } : {})), value: tag.MaxScale, onClick: function () { return handleAbleScales(tag.TagId, tag.IsAutoScale); }, onFocus: function (e) { return e.target.select(); }, onChange: function (e) {
10924
10894
  var value = e.target.value;
10925
10895
  var numericValue = Number(value);
10926
- // Check if the value is a number and not empty
10927
10896
  if (!isNaN(numericValue) && value.trim() !== '') {
10928
10897
  handleChange(tag.TagId, numericValue, 'MaxScale');
10929
10898
  }
@@ -10956,20 +10925,17 @@ var TableComponent = function (_a) {
10956
10925
  React__default.createElement(Button$1, { onClick: function () { return setLoadViewOpen(true); }, variant: 'outlined', color: 'primary' }, " Load view"))))))),
10957
10926
  selectedRowIndex !== null && (React__default.createElement(ContextMenu, { x: contextMenuPosition.x, y: contextMenuPosition.y, options: contextMenuOptions })),
10958
10927
  React__default.createElement(AddTagModal, { open: addTagModalOpen, handleClose: handleClose, onTagSelect: handleTagSelect }),
10959
- React__default.createElement(SaveViewModal, { open: saveViewModalOpen, handleClose: function (shouldUpdate) {
10960
- setSaveViewModalOpen(false);
10961
- if (shouldUpdate)
10962
- getTagsFromAPI().then(function () { });
10963
- } }),
10964
10928
  React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function (shouldUpdate) {
10965
10929
  setSaveAsViewModalOpen(false);
10966
10930
  if (shouldUpdate)
10967
- getTagsFromAPI().then(function () { });
10931
+ getTagsFromAPI(true).then(function () { });
10968
10932
  } }),
10969
10933
  React__default.createElement(LoadViewModal, { open: loadViewOpen, handleClose: function (shouldUpdate) {
10970
10934
  setLoadViewOpen(false);
10971
10935
  } })),
10972
- React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
10936
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } }),
10937
+ React__default.createElement(Snackbar$1, { open: !!snackbarMessage, autoHideDuration: 800, onClose: handleCloseSnackbar },
10938
+ React__default.createElement(Alert$3, { onClose: handleCloseSnackbar, severity: "success" }, snackbarMessage))));
10973
10939
  };
10974
10940
 
10975
10941
  var formatDateTimeToString = function (date) {
@@ -11574,41 +11540,44 @@ var Trending = function (_a) {
11574
11540
  var TrendingsPage = function (props) {
11575
11541
  var _a = useState(''), error = _a[0], setError = _a[1];
11576
11542
  var _b = useTrendingContext(), viewSelected = _b.state.viewSelected, _c = _b.actions, setViews = _c.setViews, setViewTags = _c.setViewTags, setViewSelected = _c.setViewSelected;
11577
- var getTagsFromAPI = function () { return __awaiter(void 0, void 0, void 0, function () {
11578
- var viewsResp, lastCreated, viewTagsResp;
11579
- return __generator(this, function (_a) {
11580
- switch (_a.label) {
11581
- case 0: return [4 /*yield*/, getViews(null)];
11582
- case 1:
11583
- viewsResp = _a.sent();
11584
- if (!viewsResp.ok) return [3 /*break*/, 3];
11585
- setViews(viewsResp.data.tables[0].rows);
11586
- lastCreated = void 0;
11587
- if (!viewSelected) {
11588
- lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
11589
- //viewSelected
11590
- setViewSelected(lastCreated);
11591
- }
11592
- else {
11593
- lastCreated = viewSelected;
11594
- }
11595
- return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
11596
- case 2:
11597
- viewTagsResp = _a.sent();
11598
- if (viewTagsResp.ok) {
11599
- setViewTags(viewTagsResp.data.tables[0].rows);
11600
- }
11601
- else {
11602
- setError(viewTagsResp.message);
11603
- }
11604
- return [3 /*break*/, 4];
11605
- case 3:
11606
- setError(viewsResp.message);
11607
- _a.label = 4;
11608
- case 4: return [2 /*return*/];
11609
- }
11543
+ var getTagsFromAPI = function (forceReload) {
11544
+ if (forceReload === void 0) { forceReload = false; }
11545
+ return __awaiter(void 0, void 0, void 0, function () {
11546
+ var viewsResp, lastCreated, viewTagsResp;
11547
+ return __generator(this, function (_a) {
11548
+ switch (_a.label) {
11549
+ case 0: return [4 /*yield*/, getViews(null)];
11550
+ case 1:
11551
+ viewsResp = _a.sent();
11552
+ if (!viewsResp.ok) return [3 /*break*/, 3];
11553
+ setViews(viewsResp.data.tables[0].rows);
11554
+ lastCreated = void 0;
11555
+ if (!viewSelected || forceReload) {
11556
+ lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
11557
+ //viewSelected
11558
+ setViewSelected(lastCreated);
11559
+ }
11560
+ else {
11561
+ lastCreated = viewSelected;
11562
+ }
11563
+ return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
11564
+ case 2:
11565
+ viewTagsResp = _a.sent();
11566
+ if (viewTagsResp.ok) {
11567
+ setViewTags(viewTagsResp.data.tables[0].rows);
11568
+ }
11569
+ else {
11570
+ setError(viewTagsResp.message);
11571
+ }
11572
+ return [3 /*break*/, 4];
11573
+ case 3:
11574
+ setError(viewsResp.message);
11575
+ _a.label = 4;
11576
+ case 4: return [2 /*return*/];
11577
+ }
11578
+ });
11610
11579
  });
11611
- }); };
11580
+ };
11612
11581
  useEffect(function () {
11613
11582
  getTagsFromAPI();
11614
11583
  }, []);