@dexteel/mesf-core 4.10.0 → 4.10.1

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
@@ -8674,6 +8674,50 @@ var getTagsTree = function () { return __awaiter(void 0, void 0, void 0, functio
8674
8674
  }
8675
8675
  });
8676
8676
  }); };
8677
+ var deleteTagFolder = function (TagFolderId) { return __awaiter(void 0, void 0, void 0, function () {
8678
+ var apiService, parameters, backendOffset, resp;
8679
+ return __generator(this, function (_a) {
8680
+ switch (_a.label) {
8681
+ case 0:
8682
+ apiService = new MESApiService();
8683
+ parameters = [];
8684
+ backendOffset = 1000000;
8685
+ if (TagFolderId && TagFolderId > backendOffset) {
8686
+ TagFolderId = TagFolderId - backendOffset;
8687
+ }
8688
+ parameters.push({ name: "TagFolderId", value: TagFolderId });
8689
+ return [4 /*yield*/, apiService.callV2(getIhPath() + ".[DeleteTagFolder]", parameters)];
8690
+ case 1:
8691
+ resp = _a.sent();
8692
+ return [2 /*return*/, resp];
8693
+ }
8694
+ });
8695
+ }); };
8696
+ var upsertTagFolder = function (TagFolderId, ParentTagFolderId, TagFolderName, IsActive) { return __awaiter(void 0, void 0, void 0, function () {
8697
+ var apiService, parameters, backendOffset, resp;
8698
+ return __generator(this, function (_a) {
8699
+ switch (_a.label) {
8700
+ case 0:
8701
+ apiService = new MESApiService();
8702
+ parameters = [];
8703
+ backendOffset = 1000000;
8704
+ if (TagFolderId && TagFolderId > backendOffset) {
8705
+ TagFolderId = TagFolderId - backendOffset;
8706
+ }
8707
+ if (ParentTagFolderId && ParentTagFolderId > backendOffset) {
8708
+ ParentTagFolderId = ParentTagFolderId - backendOffset;
8709
+ }
8710
+ parameters.push({ name: "TagFolderId", value: TagFolderId });
8711
+ parameters.push({ name: "ParentTagFolderId", value: ParentTagFolderId });
8712
+ parameters.push({ name: "TagFolderName", value: TagFolderName });
8713
+ parameters.push({ name: "IsActive", value: IsActive });
8714
+ return [4 /*yield*/, apiService.callV2(getIhPath() + ".[UpsertTagFolder]", parameters)];
8715
+ case 1:
8716
+ resp = _a.sent();
8717
+ return [2 /*return*/, resp];
8718
+ }
8719
+ });
8720
+ }); };
8677
8721
  var changeTagFolderToTag = function (TagId, TagFolderId) { return __awaiter(void 0, void 0, void 0, function () {
8678
8722
  var apiService, parameters, backendOffset, resp;
8679
8723
  return __generator(this, function (_a) {
@@ -8873,13 +8917,14 @@ var useTagsTreeModalStyles = makeStyles$1(function (theme) { return ({
8873
8917
  fontSize: "14px",
8874
8918
  backgroundColor: "#fff",
8875
8919
  borderRadius: "2px",
8876
- padding: "5px 0 5px 0",
8877
- width: "150px",
8920
+ padding: "5px 10px;",
8921
+ width: "140px",
8878
8922
  height: "auto",
8879
8923
  margin: "0",
8880
8924
  position: "fixed",
8881
- listStyle: "none",
8882
- boxShadow: "0 0 20px 0 #ccc"
8925
+ boxShadow: "0 0 20px 0 #ccc",
8926
+ display: "flex",
8927
+ flexDirection: "column"
8883
8928
  },
8884
8929
  storyRoot: {
8885
8930
  display: "grid",
@@ -8947,13 +8992,14 @@ var CustomDragPreview = function (props) {
8947
8992
 
8948
8993
  var customStyles = "\n ul, ol {\n list-style-type: none;\n margin: 0;\n padding: 0;\n }\n";
8949
8994
  var TagFolderCustomNode = function (_a) {
8950
- var _b, _c, _d, _e, _f, _g, _h;
8951
- var node = _a.node, _j = _a.options, depth = _j.depth, isOpen = _j.isOpen, onToggle = _j.onToggle, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, isSelected = _a.isSelected;
8995
+ var _b, _c, _d, _e, _f, _g, _h, _j;
8996
+ var node = _a.node, _k = _a.options, depth = _k.depth, isOpen = _k.isOpen, onToggle = _k.onToggle, containerRef = _k.containerRef, options = _a.options, setOpenTagFolders = _a.setOpenTagFolders, openTagFolders = _a.openTagFolders, handleSelect = _a.handleSelect, setContextMenuOver = _a.setContextMenuOver, isSelected = _a.isSelected;
8952
8997
  var classes = useTagsTreeModalStyles();
8953
8998
  var nodeClasses = "".concat(classes.customNodeRoot, " ").concat(classes.root, " ").concat(isSelected ? classes.selected : "");
8954
8999
  var onClickHandler = function () {
8955
9000
  var _a;
8956
- if (options.hasChild) {
9001
+ var _b;
9002
+ if (options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F') {
8957
9003
  if (openTagFolders[node.id]) {
8958
9004
  var newOpenTagFolders = __assign({}, openTagFolders);
8959
9005
  delete newOpenTagFolders[node.id];
@@ -8969,81 +9015,255 @@ var TagFolderCustomNode = function (_a) {
8969
9015
  handleSelect(node);
8970
9016
  }
8971
9017
  };
9018
+ var handleContextMenu = useCallback(function (ev) {
9019
+ ev.stopPropagation();
9020
+ ev.preventDefault();
9021
+ setContextMenuOver(node, ev);
9022
+ }, [node.id, setContextMenuOver]);
9023
+ useEffect(function () {
9024
+ var _a;
9025
+ (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.addEventListener("contextmenu", handleContextMenu);
9026
+ return function () {
9027
+ var _a;
9028
+ (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("contextmenu", handleContextMenu);
9029
+ };
9030
+ }, []);
8972
9031
  return (React__default.createElement("div", { className: nodeClasses, onClick: onClickHandler, style: { paddingLeft: depth * 20, cursor: "pointer" } },
8973
9032
  React__default.createElement("style", null, customStyles),
8974
9033
  React__default.createElement(React__default.Fragment, null,
8975
9034
  options.hasChild ? (React__default.createElement("div", null, isOpen ? React__default.createElement(ArrowDropDownIcon, null) : React__default.createElement(ArrowRight, null)))
8976
9035
  : null,
8977
- React__default.createElement("div", null, options.hasChild ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
8978
- ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagName) &&
9036
+ React__default.createElement("div", null, options.hasChild || ((_b = node.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === 'F' ? (React__default.createElement(FolderIcon, null)) : (React__default.createElement(InsertChartIcon, { fontSize: 'small' })))),
9037
+ ((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagName) &&
8979
9038
  React__default.createElement(React__default.Fragment, null,
8980
- ((_c = node.data) === null || _c === void 0 ? void 0 : _c.TagTypeCode) && ((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
8981
- backgroundColor: ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) === 'A' ? 'blue' : 'red',
9039
+ ((_d = node.data) === null || _d === void 0 ? void 0 : _d.TagTypeCode) && ((_e = node.data) === null || _e === void 0 ? void 0 : _e.TagTypeCode) !== 'F' && (React__default.createElement("div", { className: classes.dataTypeOfTree, style: {
9040
+ backgroundColor: ((_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode) === 'A' ? 'blue' : 'red',
8982
9041
  margin: "0 5px"
8983
- } }, (_f = node.data) === null || _f === void 0 ? void 0 : _f.TagTypeCode)),
9042
+ } }, (_g = node.data) === null || _g === void 0 ? void 0 : _g.TagTypeCode)),
8984
9043
  React__default.createElement(Tooltip, { title: node.data.TagName, placement: "top", arrow: true },
8985
- React__default.createElement(Typography, { variant: "body2" }, ((_g = node.data) === null || _g === void 0 ? void 0 : _g.Alias) || ((_h = node.data) === null || _h === void 0 ? void 0 : _h.TagName))))));
9044
+ React__default.createElement(Typography, { variant: "body2" }, ((_h = node.data) === null || _h === void 0 ? void 0 : _h.Alias) || ((_j = node.data) === null || _j === void 0 ? void 0 : _j.TagName))))));
9045
+ };
9046
+
9047
+ var ButtonWithLoading = function (_a) {
9048
+ var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
9049
+ return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
9050
+ isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
9051
+ children));
9052
+ };
9053
+
9054
+ var NewFolderModal = function (_a) {
9055
+ var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
9056
+ var _b = useState(), name = _b[0], setName = _b[1];
9057
+ var _c = useState(''), error = _c[0], setError = _c[1];
9058
+ var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
9059
+ var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
9060
+ var parentId, parentTagId, resp;
9061
+ var _a;
9062
+ return __generator(this, function (_b) {
9063
+ switch (_b.label) {
9064
+ case 0:
9065
+ e.preventDefault();
9066
+ parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
9067
+ parentTagId = ((_a = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _a === void 0 ? void 0 : _a.TagTypeCode) === "F" ? Number(tagNodeSelectedInTree.id) : parentId;
9068
+ setIsLoading(true);
9069
+ if (!name) return [3 /*break*/, 2];
9070
+ return [4 /*yield*/, upsertTagFolder(null, parentTagId, name, true)];
9071
+ case 1:
9072
+ resp = _b.sent();
9073
+ if (!resp.ok) {
9074
+ setError(resp.message);
9075
+ }
9076
+ _b.label = 2;
9077
+ case 2:
9078
+ handleClose(true);
9079
+ setName('');
9080
+ setIsLoading(false);
9081
+ return [2 /*return*/];
9082
+ }
9083
+ });
9084
+ }); };
9085
+ return (React__default.createElement(React__default.Fragment, null,
9086
+ React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'New folder' },
9087
+ React__default.createElement(MesfModal.Content, null,
9088
+ React__default.createElement(Box, null,
9089
+ React__default.createElement(TextField, { style: { minWidth: "600px" }, id: "outlined-basic", label: "Folder name", variant: "outlined", value: name, onChange: (function (e) { return setName(e.target.value); }) }))),
9090
+ React__default.createElement(MesfModal.Actions, null,
9091
+ React__default.createElement("div", null,
9092
+ React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
9093
+ React__default.createElement("div", null,
9094
+ React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Save")))),
9095
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
9096
+ };
9097
+
9098
+ var RemoveFolderModal = function (_a) {
9099
+ var open = _a.open, handleClose = _a.handleClose, tagNodeSelectedInTree = _a.tagNodeSelectedInTree;
9100
+ var _b = useState(''), error = _b[0], setError = _b[1];
9101
+ var _c = useState(false), isLoading = _c[0], setIsLoading = _c[1];
9102
+ var onSubmit = function (e) { return __awaiter(void 0, void 0, void 0, function () {
9103
+ var parentId, name_1, id, resp;
9104
+ return __generator(this, function (_a) {
9105
+ switch (_a.label) {
9106
+ case 0:
9107
+ e.preventDefault();
9108
+ if (!tagNodeSelectedInTree) return [3 /*break*/, 5];
9109
+ parentId = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.parent) || null;
9110
+ name_1 = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text;
9111
+ id = Number(tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.id);
9112
+ resp = void 0;
9113
+ setIsLoading(true);
9114
+ if (!parentId) return [3 /*break*/, 2];
9115
+ return [4 /*yield*/, deleteTagFolder(id)];
9116
+ case 1:
9117
+ resp = _a.sent();
9118
+ if (!resp.ok) {
9119
+ setError(resp.message);
9120
+ }
9121
+ return [3 /*break*/, 4];
9122
+ case 2: return [4 /*yield*/, upsertTagFolder(id, parentId, name_1, false)];
9123
+ case 3:
9124
+ resp = _a.sent();
9125
+ _a.label = 4;
9126
+ case 4:
9127
+ if (!resp.ok) {
9128
+ setError(resp.message);
9129
+ }
9130
+ _a.label = 5;
9131
+ case 5:
9132
+ handleClose(true);
9133
+ setIsLoading(false);
9134
+ return [2 /*return*/];
9135
+ }
9136
+ });
9137
+ }); };
9138
+ return (React__default.createElement(React__default.Fragment, null,
9139
+ React__default.createElement(MesfModal, { open: open, handleClose: function () { return handleClose(false); }, maxWidth: "lg", "aria-labelledby": "modal-modal-title", "aria-describedby": "modal-modal-description", title: 'Remove Folder' },
9140
+ React__default.createElement(MesfModal.Content, null,
9141
+ React__default.createElement(Box, null,
9142
+ React__default.createElement(Typography, null,
9143
+ "Are you sure you want to remove ",
9144
+ React__default.createElement("strong", null, tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.text),
9145
+ " folder?"))),
9146
+ React__default.createElement(MesfModal.Actions, null,
9147
+ React__default.createElement("div", null,
9148
+ React__default.createElement(Button$1, { color: 'secondary', variant: 'outlined', onClick: function () { return handleClose(false); } }, "Cancel")),
9149
+ React__default.createElement("div", null,
9150
+ React__default.createElement(ButtonWithLoading, { isLoading: isLoading, onClick: onSubmit, color: 'primary', variant: 'contained' }, "Remove")))),
9151
+ React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
9152
+ };
9153
+
9154
+ var ContextMenu = function (_a) {
9155
+ var _b;
9156
+ var isOpen = _a.isOpen, anchorPoint = _a.anchorPoint, tagNodeSelectedInTree = _a.tagNodeSelectedInTree, getTagsTreeData = _a.getTagsTreeData, setShowContextMenu = _a.setShowContextMenu;
9157
+ var classes = useTagsTreeModalStyles();
9158
+ var _c = useState(false), showNewTagModal = _c[0], setShowNewTagModal = _c[1];
9159
+ var _d = useState(false), showRemoveTagModal = _d[0], setShowRemoveTagModal = _d[1];
9160
+ var isFolder = ((_b = tagNodeSelectedInTree === null || tagNodeSelectedInTree === void 0 ? void 0 : tagNodeSelectedInTree.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F";
9161
+ return (React__default.createElement(React__default.Fragment, null,
9162
+ isOpen && anchorPoint ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: anchorPoint.y, left: anchorPoint.x } },
9163
+ React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowNewTagModal(true); } }, "New Folder"),
9164
+ tagNodeSelectedInTree && isFolder && (React__default.createElement(MenuItem$1, { style: { width: "100%", justifyContent: "left" }, onClick: function () { return setShowRemoveTagModal(true); } }, "Remove Folder")))) : (null),
9165
+ React__default.createElement(NewFolderModal, { open: showNewTagModal, handleClose: function (shouldUpdate) {
9166
+ if (shouldUpdate) {
9167
+ getTagsTreeData();
9168
+ }
9169
+ setShowContextMenu(false);
9170
+ setShowNewTagModal(false);
9171
+ }, tagNodeSelectedInTree: tagNodeSelectedInTree }),
9172
+ React__default.createElement(RemoveFolderModal, { open: showRemoveTagModal, handleClose: function (shouldUpdate) {
9173
+ if (shouldUpdate) {
9174
+ getTagsTreeData();
9175
+ }
9176
+ setShowContextMenu(false);
9177
+ setShowRemoveTagModal(false);
9178
+ }, tagNodeSelectedInTree: tagNodeSelectedInTree })));
8986
9179
  };
8987
9180
 
8988
- var NewTagSelectionModal = function (_a) {
9181
+ var TagSelectionModal = function (_a) {
8989
9182
  var isOpen = _a.isOpen; _a.onClose; var onTagSelect = _a.onTagSelect;
8990
9183
  var classes = useTagsTreeModalStyles();
8991
9184
  var _b = useState(true), isLoading = _b[0], setIsLoading = _b[1];
8992
9185
  var _c = useState(''), error = _c[0], setError = _c[1];
8993
9186
  var _d = useState([]), tagsTreeData = _d[0], setTagsTreeData = _d[1];
8994
- var _e = useState({}), openTagFolders = _e[0], setOpenTagFolders = _e[1];
8995
- var _f = useState([]), selectedNodes = _f[0]; _f[1];
9187
+ var _e = useState(null), tagNodeSelectedInTree = _e[0], setTagNodeSelectedInTree = _e[1];
9188
+ var _f = useState(null), anchorPoint = _f[0], setAnchorPoint = _f[1];
9189
+ var _g = useState(false), showContextMenu = _g[0], setShowContextMenu = _g[1];
9190
+ var _h = useState({}), openTagFolders = _h[0], setOpenTagFolders = _h[1];
9191
+ var _j = useState([]), selectedNodes = _j[0], setSelectedNodes = _j[1];
8996
9192
  useTrendingContext().state.viewTags;
9193
+ var handleContextMenu = function (data, e) {
9194
+ e.preventDefault();
9195
+ var top = e.clientY;
9196
+ var left = e.clientX;
9197
+ setAnchorPoint({ x: left, y: top });
9198
+ setSelectedNodes([data]);
9199
+ setShowContextMenu(true);
9200
+ var selectedNode = tagsTreeData.find(function (node) { var _a; return ((_a = node.data) === null || _a === void 0 ? void 0 : _a.TagId) === data.id; });
9201
+ if (selectedNode) {
9202
+ setTagNodeSelectedInTree(selectedNode);
9203
+ }
9204
+ };
9205
+ var getTagsTreeData = function () { return __awaiter(void 0, void 0, void 0, function () {
9206
+ var tagsTree, rows, tree;
9207
+ return __generator(this, function (_a) {
9208
+ switch (_a.label) {
9209
+ case 0:
9210
+ if (!isOpen) return [3 /*break*/, 2];
9211
+ setIsLoading(true);
9212
+ return [4 /*yield*/, getTagsTree()];
9213
+ case 1:
9214
+ tagsTree = _a.sent();
9215
+ if (tagsTree.ok) {
9216
+ rows = tagsTree.data.tables[0].rows;
9217
+ tree = buildTagsTreeV2(rows);
9218
+ setTagsTreeData(tree);
9219
+ }
9220
+ setIsLoading(false);
9221
+ _a.label = 2;
9222
+ case 2: return [2 /*return*/];
9223
+ }
9224
+ });
9225
+ }); };
8997
9226
  var expanded = useMemo(function () {
8998
9227
  return Object.keys(openTagFolders).map(function (el) { return parseInt(el); });
8999
9228
  }, [openTagFolders]);
9000
9229
  useEffect(function () {
9001
- var loadData = function () { return __awaiter(void 0, void 0, void 0, function () {
9002
- var tagsTree, rows, tree;
9003
- return __generator(this, function (_a) {
9004
- switch (_a.label) {
9005
- case 0:
9006
- if (!isOpen) return [3 /*break*/, 2];
9007
- setIsLoading(true);
9008
- return [4 /*yield*/, getTagsTree()];
9009
- case 1:
9010
- tagsTree = _a.sent();
9011
- if (tagsTree.ok) {
9012
- rows = tagsTree.data.tables[0].rows;
9013
- tree = buildTagsTreeV2(rows);
9014
- setTagsTreeData(tree);
9015
- }
9016
- setIsLoading(false);
9017
- _a.label = 2;
9018
- case 2: return [2 /*return*/];
9019
- }
9020
- });
9021
- }); };
9022
- loadData();
9230
+ getTagsTreeData();
9023
9231
  }, [isOpen]);
9024
9232
  var handleDrop = function (tree, options) { return __awaiter(void 0, void 0, void 0, function () {
9025
- var tagId, newFolderId, newTree;
9026
- return __generator(this, function (_a) {
9027
- switch (_a.label) {
9233
+ var tagId, newFolderId, newTree, newTree;
9234
+ var _a, _b;
9235
+ return __generator(this, function (_c) {
9236
+ switch (_c.label) {
9028
9237
  case 0:
9029
- if (!(options.dragSource && options.dropTarget)) return [3 /*break*/, 2];
9030
9238
  setIsLoading(true);
9239
+ if (!options.dragSource) return [3 /*break*/, 5];
9031
9240
  tagId = Number(options.dragSource.id);
9032
- newFolderId = Number(options.dropTarget.id);
9241
+ newFolderId = Number((_a = options.dropTarget) === null || _a === void 0 ? void 0 : _a.id) || null;
9033
9242
  if (tagId === newFolderId) {
9034
9243
  setIsLoading(false);
9035
9244
  return [2 /*return*/];
9036
9245
  }
9037
- return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
9246
+ if (!(((_b = options.dragSource.data) === null || _b === void 0 ? void 0 : _b.TagTypeCode) === "F")) return [3 /*break*/, 2];
9247
+ return [4 /*yield*/, upsertTagFolder(tagId, newFolderId, options.dragSource.text, true)];
9038
9248
  case 1:
9039
- newTree = _a.sent();
9040
- setTagsTreeData(tree);
9041
- setIsLoading(false);
9249
+ newTree = _c.sent();
9042
9250
  if (!newTree.ok) {
9043
9251
  setError(newTree.message);
9044
9252
  }
9045
- _a.label = 2;
9046
- case 2: return [2 /*return*/];
9253
+ return [3 /*break*/, 4];
9254
+ case 2: return [4 /*yield*/, changeTagFolderToTag(tagId, newFolderId)];
9255
+ case 3:
9256
+ newTree = _c.sent();
9257
+ if (!newTree.ok) {
9258
+ setError(newTree.message);
9259
+ }
9260
+ _c.label = 4;
9261
+ case 4:
9262
+ setTagsTreeData(tree);
9263
+ _c.label = 5;
9264
+ case 5:
9265
+ setIsLoading(false);
9266
+ return [2 /*return*/];
9047
9267
  }
9048
9268
  });
9049
9269
  }); };
@@ -9052,8 +9272,13 @@ var NewTagSelectionModal = function (_a) {
9052
9272
  onTagSelect(node.data);
9053
9273
  }
9054
9274
  };
9275
+ var handleCloseContextMenu = function (e) {
9276
+ if (showContextMenu) {
9277
+ setShowContextMenu(false);
9278
+ }
9279
+ };
9055
9280
  return (React__default.createElement(React__default.Fragment, null,
9056
- React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" } },
9281
+ React__default.createElement("div", { style: { display: isOpen ? "block" : "none", minHeight: "700px", minWidth: "800px" }, onClick: handleCloseContextMenu },
9057
9282
  React__default.createElement("div", { style: { overflowY: 'auto', maxHeight: '700px' } }, isLoading ? (React__default.createElement(Grid$1, { container: true, justifyContent: "center", alignItems: "center", style: { minHeight: "100px" } },
9058
9283
  React__default.createElement(CircularProgress$1, { size: "2rem" }))) : (React__default.createElement(DndProvider$1, { backend: HTML5Backend },
9059
9284
  React__default.createElement(Tree, { classes: {
@@ -9065,10 +9290,11 @@ var NewTagSelectionModal = function (_a) {
9065
9290
  });
9066
9291
  }, render: function (node, options) {
9067
9292
  var selected = selectedNodes.some(function (selectedNode) { return Number(selectedNode.id) === Number(node.id); });
9068
- return (React__default.createElement(TagFolderCustomNode, { node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
9293
+ return (React__default.createElement(TagFolderCustomNode, { setContextMenuOver: handleContextMenu, node: node, options: options, isSelected: selected, openTagFolders: openTagFolders, setOpenTagFolders: setOpenTagFolders, handleSelect: handleClick }));
9069
9294
  }, dragPreviewRender: function (monitorProps) { return (React__default.createElement(CustomDragPreview, { monitorProps: monitorProps })
9070
9295
  // <div>{monitorProps.item.data?.TagName}</div>
9071
9296
  ); } }))))),
9297
+ React__default.createElement(ContextMenu, { anchorPoint: anchorPoint, isOpen: showContextMenu, setShowContextMenu: setShowContextMenu, tagNodeSelectedInTree: tagNodeSelectedInTree, getTagsTreeData: getTagsTreeData }),
9072
9298
  React__default.createElement(ErrorModal, { error: error, onHide: function () { return setError(''); } })));
9073
9299
  };
9074
9300
 
@@ -9079,14 +9305,7 @@ var TagsTreeModal = function (_a) {
9079
9305
  React__default.createElement(MesfModal.Content, null,
9080
9306
  React__default.createElement(Box, null,
9081
9307
  React__default.createElement(Typography, { id: "modal-modal-description" },
9082
- React__default.createElement(NewTagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
9083
- };
9084
-
9085
- var ButtonWithLoading = function (_a) {
9086
- var children = _a.children, isLoading = _a.isLoading, props = __rest(_a, ["children", "isLoading"]);
9087
- return (React__default.createElement(Button$1, __assign({}, props, { disabled: isLoading }),
9088
- isLoading && React__default.createElement(CircularProgress$1, { size: "1rem" }),
9089
- children));
9308
+ React__default.createElement(TagSelectionModal, { isOpen: open, onClose: function () { return handleClose; }, onTagSelect: onTagSelect })))))));
9090
9309
  };
9091
9310
 
9092
9311
  var useTrendingStyles = makeStyles$1(function (theme) { return ({