@dexteel/mesf-core 3.12.1-alpha → 3.12.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
+ ## 3.12.1
3
+ - Added Assets Configuration (Tree with Drag and Drop)
2
4
  ## 3.11.9
3
5
  - Added 499 Custom Http Status Code support (Unauthorized)
4
6
  ## 3.11.1
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  type Props = {
3
3
  show: boolean;
4
4
  onHide: (onHide: boolean) => void;
@@ -21,5 +21,7 @@ export declare const useAssetActions: ({ asset, selectedNodes, originalAsset, se
21
21
  updatedSuccessfullyMessage: boolean;
22
22
  setUpdatedSuccessfullyMessage: import("react").Dispatch<import("react").SetStateAction<boolean>>;
23
23
  setChangedNodes: import("react").Dispatch<import("react").SetStateAction<NodeModel<FileProperties>[]>>;
24
+ showErrorMessage: boolean;
25
+ setShowErrorMessage: import("react").Dispatch<import("react").SetStateAction<boolean>>;
24
26
  };
25
27
  export {};
package/dist/index.esm.js CHANGED
@@ -3705,7 +3705,7 @@ var CustomNode = function (_a) {
3705
3705
  (_b = props.containerRef.current) === null || _b === void 0 ? void 0 : _b.removeEventListener('dblclick', handleViewAssetDialog);
3706
3706
  };
3707
3707
  }, []);
3708
- return (React__default.createElement("div", { className: nodeClasses, style: { paddingInlineStart: indent }, "data-node-id": id, onClick: handleClick },
3708
+ return (React__default.createElement("div", { className: nodeClasses, style: { paddingInlineStart: indent }, "data-node-id": id, onClick: handleClick, title: "".concat(props.node.id, " - ").concat(props.node.text) },
3709
3709
  React__default.createElement("style", null, customStyles),
3710
3710
  props.node.droppable ? (React__default.createElement("div", { className: "".concat(classes.arrow, " ").concat(props.isOpen ? classes['arrow.is-open'] : "") },
3711
3711
  React__default.createElement("div", { onClick: handleToggle },
@@ -4084,6 +4084,7 @@ var useAssetActions = function (_a) {
4084
4084
  var asset = _a.asset, selectedNodes = _a.selectedNodes, originalAsset = _a.originalAsset, setAsset = _a.setAsset, setSelectedNodes = _a.setSelectedNodes, isCtrlPressing = _a.isCtrlPressing, setIsDragging = _a.setIsDragging, setIsCtrlPressing = _a.setIsCtrlPressing;
4085
4085
  var _b = useState([]), changedNodes = _b[0], setChangedNodes = _b[1];
4086
4086
  var _c = useState(false), updatedSuccessfullyMessage = _c[0], setUpdatedSuccessfullyMessage = _c[1];
4087
+ var _d = useState(false), showErrorMessage = _d[0], setShowErrorMessage = _d[1];
4087
4088
  var searchAssets = useSearchAssets$1().searchAssets;
4088
4089
  var hasNodeChanged = function (originalNode, currentNode) {
4089
4090
  return originalNode.parent !== currentNode.parent;
@@ -4134,15 +4135,20 @@ var useAssetActions = function (_a) {
4134
4135
  var updateAssetNode;
4135
4136
  return __generator(this, function (_a) {
4136
4137
  switch (_a.label) {
4137
- case 0: return [4 /*yield*/, updateAsset(node.id, node.parent ? node.parent : null)];
4138
+ case 0:
4139
+ if (changedNodes[0].parent === null || changedNodes[0].parent === 0) {
4140
+ setShowErrorMessage(true);
4141
+ return [2 /*return*/];
4142
+ }
4143
+ return [4 /*yield*/, updateAsset(node.id, node.parent ? node.parent : null)];
4138
4144
  case 1:
4139
4145
  updateAssetNode = _a.sent();
4140
4146
  if (!updateAssetNode.ok) ;
4147
+ setUpdatedSuccessfullyMessage(true);
4141
4148
  return [2 /*return*/];
4142
4149
  }
4143
4150
  });
4144
4151
  }); }, setTimeout(function () {
4145
- setUpdatedSuccessfullyMessage(true);
4146
4152
  searchAssets();
4147
4153
  }, 100));
4148
4154
  setChangedNodes([]);
@@ -4194,7 +4200,7 @@ var useAssetActions = function (_a) {
4194
4200
  setIsCtrlPressing(false);
4195
4201
  setSelectedNodes([]);
4196
4202
  };
4197
- return { handleDrop: handleDrop, handleUpdateAsset: handleUpdateAsset, handleCtrlClick: handleCtrlClick, handleDragEnd: handleDragEnd, handleDragStart: handleDragStart, changedNodes: changedNodes, updatedSuccessfullyMessage: updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage: setUpdatedSuccessfullyMessage, setChangedNodes: setChangedNodes };
4203
+ return { handleDrop: handleDrop, handleUpdateAsset: handleUpdateAsset, handleCtrlClick: handleCtrlClick, handleDragEnd: handleDragEnd, handleDragStart: handleDragStart, changedNodes: changedNodes, updatedSuccessfullyMessage: updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage: setUpdatedSuccessfullyMessage, setChangedNodes: setChangedNodes, showErrorMessage: showErrorMessage, setShowErrorMessage: setShowErrorMessage };
4198
4204
  };
4199
4205
 
4200
4206
  var useAssetCodes = function () {
@@ -4288,14 +4294,14 @@ var CreateNewAssetDialog = function (_a) {
4288
4294
  var _b = useState(true), fullWidth = _b[0]; _b[1];
4289
4295
  var _c = useState('sm'), maxWidth = _c[0]; _c[1];
4290
4296
  var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
4291
- var _e = useState(false); _e[0]; _e[1];
4292
- var _f = useState(false), assetCreatedSuccess = _f[0], setAssetCreatedSuccess = _f[1];
4293
- var _g = useState(false), error = _g[0], setError = _g[1];
4294
- var _h = useState(""), errorMessege = _h[0], setErrorMessege = _h[1];
4295
- var _j = useConfigurationAssetContext(), _k = _j.state, ParentAssetId = _k.dataToCreateAsset.ParentAssetId, assetCodes = _k.assetCodes, dataToCreateAsset = _k.dataToCreateAsset, assetTreeName = _k.assetTreeName, _l = _j.actions, setAssetNameToCreateAsset = _l.setAssetNameToCreateAsset, setAssetTreeName = _l.setAssetTreeName, setAssetParentAssetIdToCreateAsset = _l.setAssetParentAssetIdToCreateAsset;
4297
+ var _e = useState(false), assetCreatedSuccess = _e[0], setAssetCreatedSuccess = _e[1];
4298
+ var _f = useState(false), error = _f[0], setError = _f[1];
4299
+ var _g = useState(""), errorMessege = _g[0], setErrorMessege = _g[1];
4300
+ var allAssets = useAssetContext().state.allAssets;
4301
+ var _h = useConfigurationAssetContext(), _j = _h.state, assetNodeSelectedInTree = _j.assetNodeSelectedInTree, assetCodes = _j.assetCodes, dataToCreateAsset = _j.dataToCreateAsset, _k = _h.actions, setAssetNameToCreateAsset = _k.setAssetNameToCreateAsset, setAssetTreeName = _k.setAssetTreeName, setAssetParentAssetIdToCreateAsset = _k.setAssetParentAssetIdToCreateAsset, setParentAssetNameInNodeSelectedInTree = _k.setParentAssetNameInNodeSelectedInTree;
4296
4302
  var searchAssets = useSearchAssets$1().searchAssets;
4297
4303
  var loadFilterAssets = useAssetCodes().loadFilterAssets;
4298
- var _m = useForm({ defaultValues: dataToCreateAsset ? dataToCreateAsset : DATA_ASSET_INITIAL_VALUES }), control = _m.control, handleSubmit = _m.handleSubmit, reset = _m.reset, setValue = _m.setValue, errors = _m.formState.errors;
4304
+ var _l = useForm({ defaultValues: dataToCreateAsset ? dataToCreateAsset : DATA_ASSET_INITIAL_VALUES }), control = _l.control, handleSubmit = _l.handleSubmit, reset = _l.reset, setValue = _l.setValue, errors = _l.formState.errors;
4299
4305
  var handleCancel = function () {
4300
4306
  reset();
4301
4307
  onHide(false);
@@ -4320,6 +4326,7 @@ var CreateNewAssetDialog = function (_a) {
4320
4326
  if (res) {
4321
4327
  setIsSubmitLoading(false);
4322
4328
  setAssetCreatedSuccess(true);
4329
+ setValue("AssetName", "");
4323
4330
  searchAssets();
4324
4331
  onHide(true);
4325
4332
  }
@@ -4346,9 +4353,16 @@ var CreateNewAssetDialog = function (_a) {
4346
4353
  useEffect(function () {
4347
4354
  if (show) {
4348
4355
  loadFilterAssets();
4349
- setAssetParentAssetIdToCreateAsset(1);
4350
- setAssetTreeName("Plant");
4351
- setAssetNameToCreateAsset("");
4356
+ if (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) {
4357
+ setValue("ParentAssetId", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId);
4358
+ var parentAssetNode = allAssets.find(function (node) { return node.AssetId === (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId); });
4359
+ setParentAssetNameInNodeSelectedInTree(parentAssetNode === null || parentAssetNode === void 0 ? void 0 : parentAssetNode.AssetName);
4360
+ }
4361
+ else {
4362
+ setAssetParentAssetIdToCreateAsset(1);
4363
+ setAssetTreeName("Plant");
4364
+ setAssetNameToCreateAsset("");
4365
+ }
4352
4366
  }
4353
4367
  }, [show]);
4354
4368
  return ((React__default.createElement("div", { className: classes.root },
@@ -4375,7 +4389,7 @@ var CreateNewAssetDialog = function (_a) {
4375
4389
  React__default.createElement(Grid, { container: true },
4376
4390
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
4377
4391
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
4378
- React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement(TreePickerControl, { inputTitle: "Asset", title: "Choose Parent Asset", dataSource: assetCodes, value: ParentAssetId, description: assetTreeName || "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false })); } }))),
4392
+ React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement(TreePickerControl, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) || "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false })); } }))),
4379
4393
  React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
4380
4394
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4381
4395
  React__default.createElement(Controller, { name: "IsAsset", control: control, defaultValue: false, render: function (_a) {
@@ -4387,7 +4401,7 @@ var CreateNewAssetDialog = function (_a) {
4387
4401
  var field = _a.field;
4388
4402
  return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4389
4403
  } }))))),
4390
- React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
4404
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginTop: "15px" } },
4391
4405
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
4392
4406
  React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
4393
4407
  React__default.createElement(Grid, { container: true, item: true, style: { marginLeft: "auto", marginTop: 5, marginBottom: 0 } },
@@ -4466,8 +4480,9 @@ var ViewerAssetDialog = function (_a) {
4466
4480
  var parentAssetNode = allAssets.find(function (node) { return node.AssetId === (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId); });
4467
4481
  setValue("AssetName", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName);
4468
4482
  setValue("ParentAssetName", parentAssetNode === null || parentAssetNode === void 0 ? void 0 : parentAssetNode.AssetName);
4469
- setValue("IsAsset", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsAsset);
4470
- setValue("CanBeDefaultAsset", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.CanBeDefaultAsset);
4483
+ setValue("IsBranch", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsBranch);
4484
+ var assetNodeFromApi = allAssets.find(function (node) { return node.AssetId === (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetId); });
4485
+ setValue("CanBeDefaultAsset", assetNodeFromApi === null || assetNodeFromApi === void 0 ? void 0 : assetNodeFromApi.CanBeDefaultAsset);
4471
4486
  }
4472
4487
  }, [show]);
4473
4488
  return ((React__default.createElement("div", { className: classes.root },
@@ -4476,9 +4491,7 @@ var ViewerAssetDialog = function (_a) {
4476
4491
  React__default.createElement(Grid, { container: true, style: { padding: "15px 0", height: "50%" } },
4477
4492
  React__default.createElement(Grid, { container: true, item: true },
4478
4493
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
4479
- React__default.createElement(Typography, { style: { padding: "0 24px 12px", fontSize: 25 } },
4480
- "ASSET: ", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 :
4481
- assetNodeSelectedInTree.AssetName))),
4494
+ React__default.createElement(Typography, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
4482
4495
  React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
4483
4496
  React__default.createElement(DialogContent$2, { dividers: true, style: { padding: "10px 24px 0" } },
4484
4497
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
@@ -4493,13 +4506,13 @@ var ViewerAssetDialog = function (_a) {
4493
4506
  React__default.createElement(Controller, { name: "ParentAssetName", control: control, render: function (_a) {
4494
4507
  var _b = _a.field, onChange = _b.onChange, value = _b.value;
4495
4508
  return (React__default.createElement(React__default.Fragment, null, value ?
4496
- React__default.createElement(TextField, { label: "Parent Asset Name", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value || "", disabled: true }) : React__default.createElement(React__default.Fragment, null)));
4509
+ React__default.createElement(TextField, { label: "Parent Asset", variant: "outlined", error: !!errors.AssetName, fullWidth: true, margin: "dense", autoComplete: "off", onChange: onChange, value: value || "", disabled: true }) : React__default.createElement(React__default.Fragment, null)));
4497
4510
  } }))),
4498
4511
  React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
4499
4512
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4500
- React__default.createElement(Controller, { name: "IsAsset", control: control, defaultValue: false, render: function (_a) {
4513
+ React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4501
4514
  var field = _a.field;
4502
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary", disabled: true }), label: "Is Asset" }));
4515
+ return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
4503
4516
  } })),
4504
4517
  React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4505
4518
  React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
@@ -4669,13 +4682,14 @@ var EditAssetDialog = function (_a) {
4669
4682
  var _c = useState('sm'), maxWidth = _c[0]; _c[1];
4670
4683
  var _d = useState(false), isSubmitLoading = _d[0], setIsSubmitLoading = _d[1];
4671
4684
  var _e = useState(false); _e[0]; var setAssetEditedSuccess = _e[1];
4672
- var _f = useState(false); _f[0]; var setError = _f[1];
4673
- var _g = useState(""); _g[0]; var setErrorMessege = _g[1];
4674
- var _h = useConfigurationAssetContext(), _j = _h.state, assetNodeSelectedInTree = _j.assetNodeSelectedInTree, assetCodes = _j.assetCodes, setParentAssetNameInNodeSelectedInTree = _h.actions.setParentAssetNameInNodeSelectedInTree;
4685
+ var _f = useState(""), parentAsset = _f[0], setParentAsset = _f[1];
4686
+ var _g = useState(false); _g[0]; var setError = _g[1];
4687
+ var _h = useState(""); _h[0]; var setErrorMessege = _h[1];
4688
+ var _j = useConfigurationAssetContext(), _k = _j.state, assetNodeSelectedInTree = _k.assetNodeSelectedInTree, assetCodes = _k.assetCodes, setParentAssetNameInNodeSelectedInTree = _j.actions.setParentAssetNameInNodeSelectedInTree;
4675
4689
  var loadFilterAssets = useAssetCodes().loadFilterAssets;
4676
4690
  var allAssets = useAssetContext().state.allAssets;
4677
4691
  var searchAssets = useSearchAssets$1().searchAssets;
4678
- var _k = useForm({ defaultValues: assetNodeSelectedInTree ? assetNodeSelectedInTree : DATA_ASSET_INITIAL_VALUES }), control = _k.control, reset = _k.reset, setValue = _k.setValue, handleSubmit = _k.handleSubmit, errors = _k.formState.errors;
4692
+ var _l = useForm({ defaultValues: assetNodeSelectedInTree ? assetNodeSelectedInTree : DATA_ASSET_INITIAL_VALUES }), control = _l.control, reset = _l.reset, setValue = _l.setValue, handleSubmit = _l.handleSubmit, errors = _l.formState.errors;
4679
4693
  var handleCancel = function () {
4680
4694
  reset();
4681
4695
  onHide(false);
@@ -4721,8 +4735,10 @@ var EditAssetDialog = function (_a) {
4721
4735
  setValue("ParentAssetId", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId);
4722
4736
  var parentAssetNode = allAssets.find(function (node) { return node.AssetId === (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId); });
4723
4737
  setParentAssetNameInNodeSelectedInTree(parentAssetNode === null || parentAssetNode === void 0 ? void 0 : parentAssetNode.AssetName);
4724
- setValue("IsAsset", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsAsset);
4725
- setValue("CanBeDefaultAsset", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.CanBeDefaultAsset);
4738
+ setParentAsset(parentAssetNode === null || parentAssetNode === void 0 ? void 0 : parentAssetNode.AssetName);
4739
+ setValue("IsBranch", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.IsBranch);
4740
+ var assetNodeFromApi = allAssets.find(function (node) { return node.AssetId === (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetId); });
4741
+ setValue("CanBeDefaultAsset", assetNodeFromApi === null || assetNodeFromApi === void 0 ? void 0 : assetNodeFromApi.CanBeDefaultAsset);
4726
4742
  }
4727
4743
  }, [show]);
4728
4744
  return ((React__default.createElement("div", { className: classes.root },
@@ -4731,9 +4747,7 @@ var EditAssetDialog = function (_a) {
4731
4747
  React__default.createElement(Grid, { container: true, style: { padding: "15px 0 20px", height: "50%" } },
4732
4748
  React__default.createElement(Grid, { container: true, item: true },
4733
4749
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
4734
- React__default.createElement(Typography, { style: { padding: "0 24px 12px", fontSize: 25 } },
4735
- "ASSET: ", assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 :
4736
- assetNodeSelectedInTree.AssetName))),
4750
+ React__default.createElement(Typography, { style: { padding: "0 24px 12px", fontSize: 25 } }, assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.AssetName))),
4737
4751
  React__default.createElement(Grid, { container: true, style: { alignItems: "center" } },
4738
4752
  React__default.createElement(DialogContent$2, { dividers: true, style: { padding: "10px 24px 0" } },
4739
4753
  React__default.createElement(Grid, { item: true, md: 12, xs: 12 },
@@ -4745,18 +4759,19 @@ var EditAssetDialog = function (_a) {
4745
4759
  React__default.createElement(Grid, { container: true },
4746
4760
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
4747
4761
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
4748
- React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement(TreePickerControl, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) || "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false })); } }))),
4749
- React__default.createElement(Grid, { container: true, style: { marginTop: "5px", padding: "0 8px" } },
4750
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4751
- React__default.createElement(Controller, { name: "IsAsset", control: control, defaultValue: false, render: function (_a) {
4752
- var field = _a.field;
4753
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary" }), label: "Is Asset" }));
4754
- } })),
4755
- React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4756
- React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4757
- var field = _a.field;
4758
- return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4759
- } }))))),
4762
+ React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) { return (React__default.createElement("div", { title: "Parent Asset: ".concat(parentAsset) },
4763
+ React__default.createElement(TreePickerControl, { inputTitle: parentAsset ? "Parent Asset: ".concat(parentAsset) : "Parent Asset", title: "Asset Parent", dataSource: assetCodes, value: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetId) || 1, description: (assetNodeSelectedInTree === null || assetNodeSelectedInTree === void 0 ? void 0 : assetNodeSelectedInTree.ParentAssetName) || "Plant", onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }))); } })),
4764
+ React__default.createElement(Grid, { container: true, style: { marginTop: "10px", padding: "0px" } },
4765
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4766
+ React__default.createElement(Controller, { name: "IsBranch", control: control, defaultValue: false, render: function (_a) {
4767
+ var field = _a.field;
4768
+ return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "IsAsset", color: "primary", disabled: true }), label: "Has Children" }));
4769
+ } })),
4770
+ React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
4771
+ React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
4772
+ var field = _a.field;
4773
+ return (React__default.createElement(FormControlLabel$1, { className: classes.checkbox, control: React__default.createElement(Checkbox$1, { checked: field.value, onChange: function (e) { return field.onChange(e.target.checked); }, name: "CanBeDefaultAsset", color: "primary" }), label: "Can be Default Asset" }));
4774
+ } })))))),
4760
4775
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, justifyContent: "flex-end", style: { marginTop: "15px" } },
4761
4776
  React__default.createElement(DialogActions$2, { style: { padding: "0px 24px" } },
4762
4777
  React__default.createElement(Grid, { container: true, justifyContent: "flex-end", style: { margin: 0 } },
@@ -4806,7 +4821,7 @@ var AssetViewComponent = function () {
4806
4821
  var allAssets = useAssetContext().state.allAssets;
4807
4822
  var _j = useState([]), asset = _j[0], setAsset = _j[1];
4808
4823
  var _k = useState([]), originalAsset = _k[0], setOriginalAsset = _k[1];
4809
- var _l = useAssetActions({ asset: asset, selectedNodes: selectedNodes, originalAsset: originalAsset, setAsset: setAsset, setSelectedNodes: setSelectedNodes, setIsDragging: setIsDragging, isCtrlPressing: isCtrlPressing, setIsCtrlPressing: setIsCtrlPressing }), handleDrop = _l.handleDrop, handleUpdateAsset = _l.handleUpdateAsset, handleCtrlClick = _l.handleCtrlClick, handleDragStart = _l.handleDragStart, handleDragEnd = _l.handleDragEnd, changedNodes = _l.changedNodes, updatedSuccessfullyMessage = _l.updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage = _l.setUpdatedSuccessfullyMessage, setChangedNodes = _l.setChangedNodes;
4824
+ var _l = useAssetActions({ asset: asset, selectedNodes: selectedNodes, originalAsset: originalAsset, setAsset: setAsset, setSelectedNodes: setSelectedNodes, setIsDragging: setIsDragging, isCtrlPressing: isCtrlPressing, setIsCtrlPressing: setIsCtrlPressing }), handleDrop = _l.handleDrop, handleUpdateAsset = _l.handleUpdateAsset, handleCtrlClick = _l.handleCtrlClick, handleDragStart = _l.handleDragStart, handleDragEnd = _l.handleDragEnd, changedNodes = _l.changedNodes, updatedSuccessfullyMessage = _l.updatedSuccessfullyMessage, setUpdatedSuccessfullyMessage = _l.setUpdatedSuccessfullyMessage, showErrorMessage = _l.showErrorMessage, setShowErrorMessage = _l.setShowErrorMessage;
4810
4825
  var _m = useState(false), showCreateNewAssetDialog = _m[0], setShowCreateNewAssetDialog = _m[1];
4811
4826
  var _o = useState(false), showViewerAssetDialog = _o[0], setShowViewerAssetDialog = _o[1];
4812
4827
  var _p = useState(false), showRemoveAssetDialog = _p[0], setShowRemoveAssetDialog = _p[1];
@@ -4817,6 +4832,7 @@ var AssetViewComponent = function () {
4817
4832
  return;
4818
4833
  }
4819
4834
  setUpdatedSuccessfullyMessage(false);
4835
+ setShowErrorMessage(false);
4820
4836
  };
4821
4837
  var handleClick = function (e) {
4822
4838
  if (showContextMenu) {
@@ -4864,6 +4880,8 @@ var AssetViewComponent = function () {
4864
4880
  var handleKeyDown = function (e) {
4865
4881
  if (e.key.toLowerCase() === "escape") {
4866
4882
  setSelectedNodes([]);
4883
+ setShowCreateNewContextMenu(false);
4884
+ setShowContextMenu(false);
4867
4885
  }
4868
4886
  else if (e.ctrlKey || e.metaKey) {
4869
4887
  setIsCtrlPressing(true);
@@ -4885,6 +4903,10 @@ var AssetViewComponent = function () {
4885
4903
  setAsset(allAssetNodes);
4886
4904
  setOriginalAsset(allAssetNodes);
4887
4905
  }, [allAssetNodes]);
4906
+ useEffect(function () {
4907
+ if (changedNodes.length >= 1)
4908
+ handleUpdateAsset();
4909
+ }, [changedNodes]);
4888
4910
  useEffect(function () {
4889
4911
  searchAssets();
4890
4912
  }, []);
@@ -4893,7 +4915,7 @@ var AssetViewComponent = function () {
4893
4915
  React__default.createElement("div", { onContextMenu: handleCreateNewContextMenu },
4894
4916
  React__default.createElement("div", null,
4895
4917
  React__default.createElement(Grid$1, { container: true, className: classes.root, style: { padding: 20 } },
4896
- React__default.createElement(Paper$1, { elevation: 1, style: { width: "100%", padding: "15px 20px 10px", borderRadius: "0.75rem" } },
4918
+ React__default.createElement(Paper$1, { elevation: 1, style: { width: "100%", padding: "15px 20px", borderRadius: "0.75rem" } },
4897
4919
  React__default.createElement(Paper$1, { elevation: 2, style: { width: "100%", padding: "15px 20px 10px", borderRadius: "0.75rem" } },
4898
4920
  React__default.createElement(Grid$1, { container: true, alignItems: "center" },
4899
4921
  React__default.createElement(Grid$1, { container: true, style: { height: "70vh", overflowY: "auto", paddingBottom: 10 } },
@@ -4912,17 +4934,14 @@ var AssetViewComponent = function () {
4912
4934
  }
4913
4935
  return React__default.createElement(CustomDragPreview, { monitorProps: monitorProps });
4914
4936
  } }))))),
4915
- React__default.createElement(Grid$1, { container: true, style: { padding: "20px 0", justifyContent: "flex-end" } },
4916
- React__default.createElement(Grid$1, { item: true, md: 3, xs: 6, style: { marginRight: "20px" } },
4917
- React__default.createElement(Button$1, { fullWidth: true, variant: "contained", color: "default", disabled: changedNodes.length ? false : true, onClick: function () { setChangedNodes([]), searchAssets(); } }, "CANCEL")),
4918
- React__default.createElement(Grid$1, { item: true, md: 3, xs: 6, style: { margin: 0 } },
4919
- React__default.createElement(Button$1, { fullWidth: true, variant: "contained", color: "primary", disabled: changedNodes.length ? false : true, onClick: function () { return handleUpdateAsset(); } }, "UPDATE TREE"))),
4920
4937
  React__default.createElement(CreateNewAssetDialog, { show: showCreateNewAssetDialog, onHide: function () { return setShowCreateNewAssetDialog(false); } }),
4921
4938
  React__default.createElement(EditAssetDialog, { show: showEditAssetDialog, onHide: function () { return setShowEditAssetDialog(false); } }),
4922
4939
  React__default.createElement(ViewerAssetDialog, { show: showViewerAssetDialog, onHide: function () { setShowViewerAssetDialog(false); setIsDoubleClick(false); } }),
4923
4940
  React__default.createElement(RemoveAssetDialog, { show: showRemoveAssetDialog, onHide: function () { return setShowRemoveAssetDialog(false); } }))),
4924
4941
  React__default.createElement(Snackbar$1, { open: updatedSuccessfullyMessage, autoHideDuration: 2500, onClose: handleClose },
4925
- React__default.createElement(Alert$3, { severity: "success", onClose: handleClose }, "Asset updated successfully"))),
4942
+ React__default.createElement(Alert$3, { severity: "success", onClose: handleClose }, "Asset updated successfully")),
4943
+ React__default.createElement(Snackbar$1, { open: showErrorMessage, autoHideDuration: 2500, onClose: handleClose },
4944
+ React__default.createElement(Alert$3, { severity: "error", onClose: handleClose }, "You cannot move an asset to the same level as the root"))),
4926
4945
  showContextMenu && !isDoubleClick ? (React__default.createElement("ul", { className: classes.contextMenu, style: { top: y, left: x } },
4927
4946
  React__default.createElement(MenuItem$1, { onClick: function () { return setShowViewerAssetDialog(true); } }, "View Asset"),
4928
4947
  React__default.createElement(MenuItem$1, { onClick: function () { return setShowEditAssetDialog(true); } }, "Edit Asset"),
@@ -7514,7 +7533,7 @@ function Configuration() {
7514
7533
  React__default.createElement(MenuItem, { selected: option === 'shifts', className: "p-0" },
7515
7534
  React__default.createElement(Link, { to: "/configuration/shifts", className: "nav-link" }, "Shift / Crews")),
7516
7535
  React__default.createElement(MenuItem, { selected: option === 'asset', className: "p-0" },
7517
- React__default.createElement(Link, { to: "/configuration/asset", className: "nav-link" }, "Configuration Asset"))),
7536
+ React__default.createElement(Link, { to: "/configuration/asset", className: "nav-link" }, "Configuration Tree"))),
7518
7537
  React__default.createElement("h3", { className: "mes-menu-group" }, "Security"),
7519
7538
  React__default.createElement(MenuList, { className: "mes-submenu" },
7520
7539
  React__default.createElement(MenuItem, { selected: option === 'users', className: "p-0" },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dexteel/mesf-core",
3
- "version": "3.12.1-alpha",
3
+ "version": "3.12.2",
4
4
  "author": "Dexteel Team",
5
5
  "module": "dist/index.esm.js",
6
6
  "typings": "dist/index.d.ts",