@dexteel/mesf-core 4.6.1 → 4.6.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,6 @@
1
1
  # CHANGELOG
2
+ ## 4.6.2
3
+ - Save Current View changes
2
4
  ## 4.6.1
3
5
  - Fix manual scales
4
6
  ## 4.6.0
package/dist/index.esm.js CHANGED
@@ -8881,7 +8881,7 @@ var upsertViewTag = function (ViewId, TagId, Color, MinScale, MaxScale, IsVisibl
8881
8881
 
8882
8882
  var LoadViewModal = function (_a) {
8883
8883
  var open = _a.open, handleClose = _a.handleClose;
8884
- var _b = useTrendingContext(), _c = _b.state; _c.viewTags; var views = _c.views, viewSelected = _c.viewSelected, _d = _b.actions; _d.setViews; var setViewTags = _d.setViewTags, setViewSelected = _d.setViewSelected;
8884
+ var _b = useTrendingContext(), _c = _b.state, views = _c.views, viewSelected = _c.viewSelected, _d = _b.actions; _d.setViews; var setViewTags = _d.setViewTags, setViewSelected = _d.setViewSelected;
8885
8885
  var _e = useState(false), isLoading = _e[0], setIsLoading = _e[1];
8886
8886
  var _f = useState(''), error = _f[0], setError = _f[1];
8887
8887
  var handleSelect = function () { return __awaiter(void 0, void 0, void 0, function () {
@@ -8901,21 +8901,21 @@ var LoadViewModal = function (_a) {
8901
8901
  setError(viewTagsResp.message);
8902
8902
  }
8903
8903
  setIsLoading(false);
8904
- handleClose();
8904
+ handleClose(true);
8905
8905
  _a.label = 2;
8906
8906
  case 2: return [2 /*return*/];
8907
8907
  }
8908
8908
  });
8909
8909
  }); };
8910
8910
  return (React__default.createElement("div", null,
8911
- React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
8911
+ 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' },
8912
8912
  React__default.createElement(MesfModal.Content, null,
8913
8913
  React__default.createElement(Grid$1, { container: true },
8914
8914
  React__default.createElement(Grid$1, { item: true, md: 12 }, views.length ? (React__default.createElement(Autocomplete, { size: 'small', id: "list-of-views", options: views, getOptionLabel: function (option) { return option.ViewName; }, onChange: function (ev, val) { return setViewSelected(val); }, style: { width: "100%" }, renderInput: function (params) { return React__default.createElement(TextField, __assign({}, params, { label: "Views", variant: "outlined" })); } })) :
8915
8915
  (React__default.createElement("div", null, "No tag views detected, please add one"))))),
8916
8916
  React__default.createElement(MesfModal.Actions, null,
8917
8917
  React__default.createElement("div", { style: { paddingTop: "1rem" } },
8918
- React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: handleClose }, "Cancel"),
8918
+ React__default.createElement(Button$1, { variant: 'outlined', style: { marginRight: "1rem" }, color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel"),
8919
8919
  React__default.createElement(ButtonWithLoading, { onClick: handleSelect, variant: 'contained', color: 'primary', isLoading: isLoading, style: { marginRight: "1rem" } }, "Apply")))),
8920
8920
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
8921
8921
  };
@@ -9027,7 +9027,7 @@ var SaveAsViewModal = function (_a) {
9027
9027
  setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
9028
9028
  }
9029
9029
  else {
9030
- handleClose();
9030
+ handleClose(true);
9031
9031
  }
9032
9032
  });
9033
9033
  return [3 /*break*/, 4];
@@ -9041,7 +9041,7 @@ var SaveAsViewModal = function (_a) {
9041
9041
  });
9042
9042
  }); };
9043
9043
  return (React__default.createElement(React__default.Fragment, null,
9044
- React__default.createElement(MesfModal, { open: open, handleClose: handleClose, maxWidth: "xl", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Tags' },
9044
+ 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' },
9045
9045
  React__default.createElement(Divider, null),
9046
9046
  React__default.createElement(MesfModal.Content, null,
9047
9047
  React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
@@ -9055,7 +9055,7 @@ var SaveAsViewModal = function (_a) {
9055
9055
  React__default.createElement(MesfModal.Actions, null,
9056
9056
  React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
9057
9057
  React__default.createElement(Grid$1, { item: true },
9058
- React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: handleClose }, "Cancel")),
9058
+ React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
9059
9059
  React__default.createElement(Grid$1, { item: true },
9060
9060
  React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
9061
9061
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
@@ -9193,8 +9193,73 @@ var timeDifference = function (start, end) {
9193
9193
  return "".concat(hours, "h ").concat(remainingMinutes, "m ").concat(remainingSeconds, "s");
9194
9194
  };
9195
9195
 
9196
+ var SaveViewModal = function (_a) {
9197
+ var open = _a.open, handleClose = _a.handleClose;
9198
+ var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
9199
+ var _c = useState(''), error = _c[0], setError = _c[1];
9200
+ var _d = useTrendingContext().state, viewTags = _d.viewTags, viewSelected = _d.viewSelected;
9201
+ var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {
9202
+ var resp, results;
9203
+ return __generator(this, function (_a) {
9204
+ switch (_a.label) {
9205
+ case 0:
9206
+ setIsLoading(true);
9207
+ if (!(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId)) return [3 /*break*/, 4];
9208
+ return [4 /*yield*/, upsertView(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, viewSelected.ViewName, viewSelected.IsPublic)];
9209
+ case 1:
9210
+ resp = _a.sent();
9211
+ if (!resp.ok) return [3 /*break*/, 3];
9212
+ return [4 /*yield*/, Promise.allSettled(viewTags.map(function (_a) {
9213
+ var TagId = _a.TagId, Color = _a.Color, MinScale = _a.MinScale, MaxScale = _a.MaxScale, IsAutoScale = _a.IsAutoScale, IsVisible = _a.IsVisible;
9214
+ upsertViewTag(viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewId, TagId, Color, MinScale, MaxScale, IsVisible, IsAutoScale)
9215
+ .then(function (r) {
9216
+ if (!r.ok) {
9217
+ setError(r.message);
9218
+ }
9219
+ });
9220
+ }))];
9221
+ case 2:
9222
+ results = _a.sent();
9223
+ results.forEach(function (result, index) {
9224
+ if (result.status === "rejected") {
9225
+ setError("Tag ".concat(index, " failed with reason: ").concat(result.reason));
9226
+ }
9227
+ else {
9228
+ handleClose(true);
9229
+ }
9230
+ });
9231
+ return [3 /*break*/, 4];
9232
+ case 3:
9233
+ setError(resp.message);
9234
+ _a.label = 4;
9235
+ case 4:
9236
+ setIsLoading(false);
9237
+ return [2 /*return*/];
9238
+ }
9239
+ });
9240
+ }); };
9241
+ return (React__default.createElement(React__default.Fragment, null,
9242
+ 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' },
9243
+ React__default.createElement(Divider, null),
9244
+ React__default.createElement(MesfModal.Content, null,
9245
+ React__default.createElement(Grid$1, { container: true, spacing: 5, style: { padding: "1rem" } },
9246
+ React__default.createElement(Grid$1, { item: true, md: 12, xs: 12, style: { padding: "10px", width: "100%" } },
9247
+ React__default.createElement(Typography, null,
9248
+ "Do you want to save changes on ",
9249
+ React__default.createElement("strong", null, viewSelected === null || viewSelected === void 0 ? void 0 : viewSelected.ViewName),
9250
+ " ?")))),
9251
+ React__default.createElement(Divider, null),
9252
+ React__default.createElement(MesfModal.Actions, null,
9253
+ React__default.createElement(Grid$1, { container: true, spacing: 1, style: { display: 'flex', alignItems: 'flex-end', justifyContent: 'flex-end' } },
9254
+ React__default.createElement(Grid$1, { item: true },
9255
+ React__default.createElement(Button$1, { variant: 'outlined', color: 'secondary', onClick: function () { return handleClose(false); } }, "Cancel")),
9256
+ React__default.createElement(Grid$1, { item: true },
9257
+ React__default.createElement(ButtonWithLoading, { variant: 'contained', color: 'primary', onClick: handleSubmit, isLoading: isLoading }, "Save"))))),
9258
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
9259
+ };
9260
+
9196
9261
  var TableComponent = function (_a) {
9197
- var chartData = _a.chartData, cursorData = _a.cursorData;
9262
+ var chartData = _a.chartData, cursorData = _a.cursorData, getTagsFromAPI = _a.getTagsFromAPI;
9198
9263
  var classes = useTagsTableStyles();
9199
9264
  var _b = useTrendingContext(), _c = _b.state, viewTags = _c.viewTags, viewSelected = _c.viewSelected, _d = _b.actions, setViewTags = _d.setViewTags, setGraphShouldUpdate = _d.setGraphShouldUpdate;
9200
9265
  var _e = useState(''), error = _e[0], setError = _e[1];
@@ -9242,8 +9307,9 @@ var TableComponent = function (_a) {
9242
9307
  };
9243
9308
  var _g = useState(null), selectedRowIndex = _g[0], setSelectedRowIndex = _g[1];
9244
9309
  var _h = useState(false), addTagModalOpen = _h[0], setAddTagModalOpen = _h[1];
9245
- var _j = useState(false), saveAsViewModalOpen = _j[0], setSaveAsViewModalOpen = _j[1];
9246
- var _k = useState(false), loadViewOpen = _k[0], setLoadViewOpen = _k[1];
9310
+ var _j = useState(false), saveViewModalOpen = _j[0], setSaveViewModalOpen = _j[1];
9311
+ var _k = useState(false), saveAsViewModalOpen = _k[0], setSaveAsViewModalOpen = _k[1];
9312
+ var _l = useState(false), loadViewOpen = _l[0], setLoadViewOpen = _l[1];
9247
9313
  var handleClose = function () { return setAddTagModalOpen(false); };
9248
9314
  var ContextMenu = function (_a) {
9249
9315
  var x = _a.x, y = _a.y, options = _a.options;
@@ -9254,12 +9320,13 @@ var TableComponent = function (_a) {
9254
9320
  React__default.createElement("ul", null, options.map(function (option) { return (React__default.createElement("li", { key: option.id, onClick: option.onClick }, option.label)); }))));
9255
9321
  };
9256
9322
  // Position state for the context menu
9257
- var _l = useState({ x: 0, y: 0 }), contextMenuPosition = _l[0], setContextMenuPosition = _l[1];
9323
+ var _m = useState({ x: 0, y: 0 }), contextMenuPosition = _m[0], setContextMenuPosition = _m[1];
9258
9324
  var contextMenuOptions = [
9259
9325
  { id: 'delete', label: 'Remove Tag', onClick: function () { return handleDelete(); } },
9260
9326
  { id: 'add', label: 'Add Tag', onClick: function () { return setAddTagModalOpen(true); } },
9261
9327
  { id: 'saveDefault', label: 'Save Default To Tag', onClick: function () { return handleSaveDefaultToTag(); } },
9262
- { id: 'saveAsView', label: 'Save as View', onClick: function () { return setSaveAsViewModalOpen(true); } },
9328
+ { id: 'saveView', label: 'Save View', onClick: function () { setSaveViewModalOpen(true); } },
9329
+ { id: 'saveViewAs', label: 'Save View as', onClick: function () { return setSaveAsViewModalOpen(true); } },
9263
9330
  { id: 'loadView', label: 'Load View', onClick: function () { return setLoadViewOpen(true); } },
9264
9331
  ];
9265
9332
  var handleTagSelect = function (selectedTag) {
@@ -9484,8 +9551,21 @@ var TableComponent = function (_a) {
9484
9551
  React__default.createElement(Button$1, { onClick: function () { return setLoadViewOpen(true); }, variant: 'outlined', color: 'primary' }, " Load view"))))))),
9485
9552
  selectedRowIndex !== null && (React__default.createElement(ContextMenu, { x: contextMenuPosition.x, y: contextMenuPosition.y, options: contextMenuOptions })),
9486
9553
  React__default.createElement(AddTagModal, { open: addTagModalOpen, handleClose: handleClose, onTagSelect: handleTagSelect }),
9487
- React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function () { return setSaveAsViewModalOpen(false); } }),
9488
- React__default.createElement(LoadViewModal, { open: loadViewOpen, handleClose: function () { return setLoadViewOpen(false); } })),
9554
+ React__default.createElement(SaveViewModal, { open: saveViewModalOpen, handleClose: function (shouldUpdate) {
9555
+ setSaveViewModalOpen(false);
9556
+ if (shouldUpdate)
9557
+ getTagsFromAPI().then(function () { });
9558
+ } }),
9559
+ React__default.createElement(SaveAsViewModal, { open: saveAsViewModalOpen, handleClose: function (shouldUpdate) {
9560
+ setSaveAsViewModalOpen(false);
9561
+ if (shouldUpdate)
9562
+ getTagsFromAPI().then(function () { });
9563
+ } }),
9564
+ React__default.createElement(LoadViewModal, { open: loadViewOpen, handleClose: function (shouldUpdate) {
9565
+ setLoadViewOpen(false);
9566
+ if (shouldUpdate)
9567
+ getTagsFromAPI().then(function () { });
9568
+ } })),
9489
9569
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
9490
9570
  };
9491
9571
 
@@ -10005,7 +10085,7 @@ var TrendingChart = function (_a) {
10005
10085
 
10006
10086
  Chart.register(CategoryScale, LinearScale, PointElement, LineElement, Title, Tooltip$1, Legend, TimeScale, zoomPlugin);
10007
10087
  var Trending = function (_a) {
10008
- _a.title;
10088
+ _a.title; var getTagsFromAPI = _a.getTagsFromAPI;
10009
10089
  var _b = useTrendingContext(), state = _b.state, viewTags = _b.state.viewTags;
10010
10090
  var _c = useState(''), error = _c[0], setError = _c[1];
10011
10091
  var _d = useState(true), loading = _d[0], setLoading = _d[1];
@@ -10062,7 +10142,7 @@ var Trending = function (_a) {
10062
10142
  React__default.createElement(Grid$1, { item: true, xs: 12, style: { height: '45%' } },
10063
10143
  React__default.createElement(TrendingChart, { series: series, chartData: chartData, setChartData: setChartData, chartOptions: chartOptions, setChartOptions: setChartOptions, setCursorData: setCursorData })),
10064
10144
  React__default.createElement(Grid$1, { item: true, xs: 12, style: { height: '40%', minWidth: "100%", paddingTop: "3rem" } },
10065
- React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData })),
10145
+ React__default.createElement(TableComponent, { chartData: chartData, cursorData: cursorData, getTagsFromAPI: getTagsFromAPI })),
10066
10146
  loading && (React__default.createElement(Grid$1, { item: true, xs: 12, style: { textAlign: 'center' } },
10067
10147
  React__default.createElement("p", null, "Loading...")))),
10068
10148
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); }, title: "ERROR" })));
@@ -10071,44 +10151,44 @@ var Trending = function (_a) {
10071
10151
  var TrendingsPage = function (props) {
10072
10152
  var _a = useState(''), error = _a[0], setError = _a[1];
10073
10153
  var _b = useTrendingContext().actions, setViews = _b.setViews, setViewTags = _b.setViewTags, setViewSelected = _b.setViewSelected;
10154
+ var getTagsFromAPI = function () { return __awaiter(void 0, void 0, void 0, function () {
10155
+ var viewsResp, lastCreated, viewTagsResp;
10156
+ return __generator(this, function (_a) {
10157
+ switch (_a.label) {
10158
+ case 0: return [4 /*yield*/, getViews(null)];
10159
+ case 1:
10160
+ viewsResp = _a.sent();
10161
+ if (!viewsResp.ok) return [3 /*break*/, 3];
10162
+ setViews(viewsResp.data.tables[0].rows);
10163
+ lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
10164
+ //viewSelected
10165
+ setViewSelected(lastCreated);
10166
+ return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
10167
+ case 2:
10168
+ viewTagsResp = _a.sent();
10169
+ if (viewTagsResp.ok) {
10170
+ setViewTags(viewTagsResp.data.tables[0].rows);
10171
+ }
10172
+ else {
10173
+ setError(viewTagsResp.message);
10174
+ }
10175
+ return [3 /*break*/, 4];
10176
+ case 3:
10177
+ setError(viewsResp.message);
10178
+ _a.label = 4;
10179
+ case 4: return [2 /*return*/];
10180
+ }
10181
+ });
10182
+ }); };
10074
10183
  useEffect(function () {
10075
- var getTags = function () { return __awaiter(void 0, void 0, void 0, function () {
10076
- var viewsResp, lastCreated, viewTagsResp;
10077
- return __generator(this, function (_a) {
10078
- switch (_a.label) {
10079
- case 0: return [4 /*yield*/, getViews(null)];
10080
- case 1:
10081
- viewsResp = _a.sent();
10082
- if (!viewsResp.ok) return [3 /*break*/, 3];
10083
- setViews(viewsResp.data.tables[0].rows);
10084
- lastCreated = viewsResp.data.tables[0].rows.reduce(function (prev, current) { return (prev.ViewId > current.ViewId) ? prev : current; });
10085
- //viewSelected
10086
- setViewSelected(lastCreated);
10087
- return [4 /*yield*/, getViewTags(lastCreated.ViewId)];
10088
- case 2:
10089
- viewTagsResp = _a.sent();
10090
- if (viewTagsResp.ok) {
10091
- setViewTags(viewTagsResp.data.tables[0].rows);
10092
- }
10093
- else {
10094
- setError(viewTagsResp.message);
10095
- }
10096
- return [3 /*break*/, 4];
10097
- case 3:
10098
- setError(viewsResp.message);
10099
- _a.label = 4;
10100
- case 4: return [2 /*return*/];
10101
- }
10102
- });
10103
- }); };
10104
- getTags();
10184
+ getTagsFromAPI();
10105
10185
  }, []);
10106
10186
  return (React__default.createElement(React__default.Fragment, null,
10107
10187
  React__default.createElement(Box, { p: 3, style: { maxWidth: "100%" } },
10108
10188
  React__default.createElement(Paper, null,
10109
10189
  React__default.createElement(Grid$1, { container: true, spacing: 3, style: { padding: "20px" } },
10110
10190
  React__default.createElement(Grid$1, { item: true, xs: 12 },
10111
- React__default.createElement(Trending, { title: "Trending Chart" }))))),
10191
+ React__default.createElement(Trending, { title: "Trending Chart", getTagsFromAPI: getTagsFromAPI }))))),
10112
10192
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); }, size: "xl", title: "ERROR" })));
10113
10193
  };
10114
10194