@dexteel/mesf-core 5.4.2 → 5.5.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +33 -0
- package/dist/MESFMain.d.ts +2 -1
- package/dist/configuration/pages/asset/models/AssetParameters.d.ts +1 -1
- package/dist/context/ProvidersLoader.d.ts +4 -0
- package/dist/context/UTLSettingContext.d.ts +1 -0
- package/dist/context/assetContext.d.ts +13 -1
- package/dist/context/userContext.d.ts +1 -0
- package/dist/index.esm.js +187 -140
- package/dist/index.esm.js.map +1 -1
- package/dist/reducers/AssetReducer.d.ts +16 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,36 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [5.5.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.5.0...@dexteel/mesf-core-v5.5.1) (2025-06-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **ApiService:** replace fetch with axios for file upload ([a29ceb9](https://github.com/dexteel/mesf-core-frontend/commit/a29ceb9b1a251cf2664975cdae0dab4ed396ff00))
|
|
9
|
+
* enhance app initialization ([9e3eb46](https://github.com/dexteel/mesf-core-frontend/commit/9e3eb46550ae1e88d83739a84b1467fd2d547e21))
|
|
10
|
+
|
|
11
|
+
## [5.5.0] - 2025-06-18
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# Changelog
|
|
16
|
+
|
|
17
|
+
## [5.5.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.4.2...@dexteel/mesf-core-v5.5.0) (2025-06-18)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **asset tree:** update asset tree ([43a2ad3](https://github.com/dexteel/mesf-core-frontend/commit/43a2ad302185a3519dc6371457d5d5c30ed543b0))
|
|
23
|
+
* **asset tree:** update asset tree to support asset 0 and fix area selector ([3311536](https://github.com/dexteel/mesf-core-frontend/commit/3311536b5af0b5527495fcc3a14ab87e81c86c4c))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* use PlantAssetId as prop in MESFMain ([6246891](https://github.com/dexteel/mesf-core-frontend/commit/6246891b0a5c07cecf83b4b175e3f60d043744ab))
|
|
29
|
+
|
|
30
|
+
## [5.4.2] - 2025-05-29
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
1
34
|
# Changelog
|
|
2
35
|
|
|
3
36
|
## [5.4.2](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.4.1...@dexteel/mesf-core-v5.4.2) (2025-05-29)
|
package/dist/MESFMain.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
showAreaSelector?: boolean;
|
|
10
10
|
showTrendingsIcon?: boolean;
|
|
11
11
|
byPassHeaderRoutes?: string[];
|
|
12
|
+
plantAssetId?: number;
|
|
12
13
|
}
|
|
13
|
-
declare function MESFMain({ authentication, routes, navbar, navbarTitle, configurations, showAreaSelector, showTrendingsIcon, byPassHeaderRoutes, }: Props): React.JSX.Element;
|
|
14
|
+
declare function MESFMain({ authentication, routes, navbar, navbarTitle, configurations, showAreaSelector, showTrendingsIcon, byPassHeaderRoutes, plantAssetId, }: Props): React.JSX.Element;
|
|
14
15
|
export { MESFMain };
|
|
@@ -3,11 +3,13 @@ export declare const useAssetContext: () => {
|
|
|
3
3
|
state: {
|
|
4
4
|
areasList: import("../models/Asset").Asset[];
|
|
5
5
|
allAssets: import("../models/Asset").Asset[];
|
|
6
|
+
plantAssetId: number;
|
|
6
7
|
};
|
|
7
8
|
actions: import("@reduxjs/toolkit").CaseReducerActions<{
|
|
8
9
|
setAreasList(state: import("immer/dist/internal").WritableDraft<{
|
|
9
10
|
areasList: import("../models/Asset").Asset[];
|
|
10
11
|
allAssets: import("../models/Asset").Asset[];
|
|
12
|
+
plantAssetId: number;
|
|
11
13
|
}>, { payload }: {
|
|
12
14
|
payload: any;
|
|
13
15
|
type: string;
|
|
@@ -15,12 +17,22 @@ export declare const useAssetContext: () => {
|
|
|
15
17
|
setAllAssets(state: import("immer/dist/internal").WritableDraft<{
|
|
16
18
|
areasList: import("../models/Asset").Asset[];
|
|
17
19
|
allAssets: import("../models/Asset").Asset[];
|
|
20
|
+
plantAssetId: number;
|
|
21
|
+
}>, { payload }: {
|
|
22
|
+
payload: any;
|
|
23
|
+
type: string;
|
|
24
|
+
}): void;
|
|
25
|
+
setPlantAssetId(state: import("immer/dist/internal").WritableDraft<{
|
|
26
|
+
areasList: import("../models/Asset").Asset[];
|
|
27
|
+
allAssets: import("../models/Asset").Asset[];
|
|
28
|
+
plantAssetId: number;
|
|
18
29
|
}>, { payload }: {
|
|
19
30
|
payload: any;
|
|
20
31
|
type: string;
|
|
21
32
|
}): void;
|
|
22
33
|
}, "__">;
|
|
23
34
|
};
|
|
24
|
-
export declare const AssetProvider: ({ children }: {
|
|
35
|
+
export declare const AssetProvider: ({ children, plantAssetId, }: {
|
|
25
36
|
children: ReactNode;
|
|
37
|
+
plantAssetId?: number;
|
|
26
38
|
}) => React.JSX.Element;
|
package/dist/index.esm.js
CHANGED
|
@@ -15,8 +15,6 @@ import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
|
|
|
15
15
|
import MenuIcon from '@material-ui/icons/Menu';
|
|
16
16
|
import SettingsIcon from '@material-ui/icons/Settings';
|
|
17
17
|
import ShowChartIcon from '@material-ui/icons/ShowChart';
|
|
18
|
-
import { useComplexState } from 'use-complex-state';
|
|
19
|
-
import { createSlice } from '@reduxjs/toolkit';
|
|
20
18
|
import AccountCircleIcon from '@material-ui/icons/AccountCircle';
|
|
21
19
|
import { DndProvider } from 'react-dnd';
|
|
22
20
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
@@ -33,6 +31,8 @@ export * from '@microsoft/signalr';
|
|
|
33
31
|
import { Alert as Alert$2, Autocomplete } from '@material-ui/lab';
|
|
34
32
|
import { useForm, Controller } from 'react-hook-form';
|
|
35
33
|
import SearchIcon from '@material-ui/icons/Search';
|
|
34
|
+
import { useComplexState } from 'use-complex-state';
|
|
35
|
+
import { createSlice } from '@reduxjs/toolkit';
|
|
36
36
|
import DeleteIcon from '@material-ui/icons/Delete';
|
|
37
37
|
import FormatListBulletedSharpIcon from '@material-ui/icons/FormatListBulletedSharp';
|
|
38
38
|
import LockOutlinedIcon from '@material-ui/icons/LockOutlined';
|
|
@@ -5337,6 +5337,7 @@ var ShiftsCrewsPage = function (props) {
|
|
|
5337
5337
|
var AssetInitialState = {
|
|
5338
5338
|
areasList: [],
|
|
5339
5339
|
allAssets: [],
|
|
5340
|
+
plantAssetId: 1,
|
|
5340
5341
|
};
|
|
5341
5342
|
var AssetReducer = createSlice({
|
|
5342
5343
|
name: "__",
|
|
@@ -5350,6 +5351,10 @@ var AssetReducer = createSlice({
|
|
|
5350
5351
|
var payload = _a.payload;
|
|
5351
5352
|
state.allAssets = payload;
|
|
5352
5353
|
},
|
|
5354
|
+
setPlantAssetId: function (state, _a) {
|
|
5355
|
+
var payload = _a.payload;
|
|
5356
|
+
state.plantAssetId = payload;
|
|
5357
|
+
},
|
|
5353
5358
|
},
|
|
5354
5359
|
});
|
|
5355
5360
|
|
|
@@ -5359,17 +5364,21 @@ var AssetContext = createContext({
|
|
|
5359
5364
|
});
|
|
5360
5365
|
var useAssetContext = function () { return useContext(AssetContext); };
|
|
5361
5366
|
var AssetProvider = function (_a) {
|
|
5362
|
-
var children = _a.children;
|
|
5363
|
-
var
|
|
5364
|
-
initialState:
|
|
5367
|
+
var children = _a.children, _b = _a.plantAssetId, plantAssetId = _b === void 0 ? 1 : _b;
|
|
5368
|
+
var _c = useComplexState({
|
|
5369
|
+
initialState: {
|
|
5370
|
+
areasList: [],
|
|
5371
|
+
allAssets: [],
|
|
5372
|
+
plantAssetId: plantAssetId,
|
|
5373
|
+
},
|
|
5365
5374
|
reducers: AssetReducer.caseReducers,
|
|
5366
|
-
}), state =
|
|
5375
|
+
}), state = _c[0], actions = _c[1];
|
|
5367
5376
|
return (React__default.createElement(AssetContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
5368
5377
|
};
|
|
5369
5378
|
|
|
5370
5379
|
var DATA_ASSET_INITIAL_VALUES = {
|
|
5371
5380
|
AssetId: null,
|
|
5372
|
-
ParentAssetId:
|
|
5381
|
+
ParentAssetId: 0,
|
|
5373
5382
|
AssetName: "",
|
|
5374
5383
|
IsAsset: false,
|
|
5375
5384
|
CanBeDefaultAsset: false,
|
|
@@ -5484,7 +5493,7 @@ var ConfigurationAssetProvider = function (_a) {
|
|
|
5484
5493
|
var TransformAssetModelData = function (node) {
|
|
5485
5494
|
var model = {
|
|
5486
5495
|
id: node.AssetId,
|
|
5487
|
-
parent: node.ParentAssetId ? node.ParentAssetId
|
|
5496
|
+
parent: node.ParentAssetId === null ? -1 : node.ParentAssetId,
|
|
5488
5497
|
text: node.AssetName,
|
|
5489
5498
|
data: {
|
|
5490
5499
|
fileType: "csv",
|
|
@@ -5599,26 +5608,21 @@ var useAssetCodes = function () {
|
|
|
5599
5608
|
var buildTreeAssets = function (nodes) {
|
|
5600
5609
|
if (nodes === undefined)
|
|
5601
5610
|
return;
|
|
5602
|
-
//tree build functions
|
|
5603
5611
|
var idMapping = nodes.reduce(function (acc, el, i) {
|
|
5604
5612
|
acc[el.id] = i;
|
|
5605
5613
|
return acc;
|
|
5606
5614
|
}, {});
|
|
5607
5615
|
var root;
|
|
5608
5616
|
nodes.forEach(function (el) {
|
|
5609
|
-
// Handle the root element
|
|
5610
5617
|
if (el.parentId === null) {
|
|
5611
5618
|
root = el;
|
|
5612
5619
|
return;
|
|
5613
5620
|
}
|
|
5614
|
-
// Use our mapping to locate the parent element in our data array
|
|
5615
5621
|
var parentEl = nodes[idMapping[el.parentId]];
|
|
5616
|
-
// Handle the case where the element has no parent
|
|
5617
5622
|
if (!parentEl) {
|
|
5618
5623
|
console.log(el);
|
|
5619
5624
|
return;
|
|
5620
5625
|
}
|
|
5621
|
-
// Add our current el to its parent's `children` array
|
|
5622
5626
|
if (!parentEl["children"]) {
|
|
5623
5627
|
parentEl["children"] = [];
|
|
5624
5628
|
}
|
|
@@ -5691,14 +5695,14 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
5691
5695
|
var _d = useState(false), assetCreatedSuccess = _d[0], setAssetCreatedSuccess = _d[1];
|
|
5692
5696
|
var _e = useState(""), errorCreateAsset = _e[0], setErrorCreateAsset = _e[1];
|
|
5693
5697
|
var _f = useState(false), isCreateSubmitLoading = _f[0], setIsCreateSubmitLoading = _f[1];
|
|
5694
|
-
var
|
|
5695
|
-
var
|
|
5698
|
+
var _g = useAssetContext().state, allAssets = _g.allAssets, plantAssetId = _g.plantAssetId;
|
|
5699
|
+
var _h = useConfigurationAssetContext(), _j = _h.state, assetNodeSelectedInTree = _j.assetNodeSelectedInTree, assetCodes = _j.assetCodes, dataToCreateAsset = _j.dataToCreateAsset; _j.assetTreeName; var _k = _h.actions, setAssetNameToCreateAsset = _k.setAssetNameToCreateAsset, setAssetTreeName = _k.setAssetTreeName, setAssetParentAssetIdToCreateAsset = _k.setAssetParentAssetIdToCreateAsset, setParentAssetNameInNodeSelectedInTree = _k.setParentAssetNameInNodeSelectedInTree;
|
|
5696
5700
|
var loadFilterAssets = useAssetCodes().loadFilterAssets;
|
|
5697
|
-
var
|
|
5701
|
+
var _l = useForm({
|
|
5698
5702
|
defaultValues: dataToCreateAsset
|
|
5699
5703
|
? dataToCreateAsset
|
|
5700
5704
|
: DATA_ASSET_INITIAL_VALUES,
|
|
5701
|
-
}), control =
|
|
5705
|
+
}), control = _l.control, handleSubmit = _l.handleSubmit, reset = _l.reset, setValue = _l.setValue, errors = _l.formState.errors;
|
|
5702
5706
|
var handleCancel = function () {
|
|
5703
5707
|
onHide(false);
|
|
5704
5708
|
};
|
|
@@ -5737,6 +5741,14 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
5737
5741
|
setParentAssetNameInNodeSelectedInTree(description);
|
|
5738
5742
|
};
|
|
5739
5743
|
var handleFormSubmit = handleSubmit(handleCreateAsset);
|
|
5744
|
+
var getRootAssetId = function () {
|
|
5745
|
+
var rootAsset = allAssets.find(function (asset) { return asset.ParentAssetId === null; });
|
|
5746
|
+
return rootAsset ? rootAsset.AssetId : plantAssetId;
|
|
5747
|
+
};
|
|
5748
|
+
var getRootAssetName = function () {
|
|
5749
|
+
var rootAsset = allAssets.find(function (asset) { return asset.ParentAssetId === null; });
|
|
5750
|
+
return rootAsset ? rootAsset.AssetName : "Plant";
|
|
5751
|
+
};
|
|
5740
5752
|
useEffect(function () {
|
|
5741
5753
|
if (show) {
|
|
5742
5754
|
reset();
|
|
@@ -5747,9 +5759,11 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
5747
5759
|
setParentAssetNameInNodeSelectedInTree(parentAssetNode === null || parentAssetNode === void 0 ? void 0 : parentAssetNode.AssetName);
|
|
5748
5760
|
}
|
|
5749
5761
|
else {
|
|
5750
|
-
|
|
5751
|
-
|
|
5762
|
+
var rootId = getRootAssetId();
|
|
5763
|
+
setAssetParentAssetIdToCreateAsset(rootId);
|
|
5764
|
+
setAssetTreeName(getRootAssetName());
|
|
5752
5765
|
setAssetNameToCreateAsset("");
|
|
5766
|
+
setValue("ParentAssetId", rootId);
|
|
5753
5767
|
}
|
|
5754
5768
|
}
|
|
5755
5769
|
}, [show]);
|
|
@@ -5777,8 +5791,10 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
5777
5791
|
React__default.createElement(Grid, { container: true },
|
|
5778
5792
|
React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { marginBottom: "8px" } },
|
|
5779
5793
|
React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: 0, marginTop: 10 } },
|
|
5780
|
-
React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) {
|
|
5781
|
-
|
|
5794
|
+
React__default.createElement(Controller, { name: "ParentAssetId", control: control, render: function (_a) {
|
|
5795
|
+
var value = _a.field.value;
|
|
5796
|
+
return (React__default.createElement(TreePickerControlV2, { inputTitle: "Asset", title: "Asset Parent", dataSource: assetCodes, value: value, onSelect: changeParentAssetId, selectBranch: true, selectActive: false, selectInternal: false }));
|
|
5797
|
+
} }))),
|
|
5782
5798
|
React__default.createElement(Grid, { container: true, style: { marginTop: "10px 0", padding: "0" } },
|
|
5783
5799
|
React__default.createElement(Grid, { item: true, xs: 6, md: 6 },
|
|
5784
5800
|
React__default.createElement(Controller, { name: "CanBeDefaultAsset", control: control, defaultValue: false, render: function (_a) {
|
|
@@ -5801,7 +5817,7 @@ var CreateNewAssetDialog = function (_a) {
|
|
|
5801
5817
|
React__default.createElement(Button, { fullWidth: true, startIcon: isCreateSubmitLoading && (React__default.createElement(CircularProgress, { size: "1rem" })), disabled: isCreateSubmitLoading, variant: "contained", color: "primary", type: "submit" }, "Save")))))))))),
|
|
5802
5818
|
React__default.createElement(ErrorModal, { error: errorCreateAsset, onHide: function () { return setErrorCreateAsset(""); } }),
|
|
5803
5819
|
React__default.createElement(Snackbar, { open: assetCreatedSuccess, autoHideDuration: 2500, onClose: handleClose },
|
|
5804
|
-
React__default.createElement(Alert$3, { severity: "info", onClose: handleClose }, "Document created
|
|
5820
|
+
React__default.createElement(Alert$3, { severity: "info", onClose: handleClose }, "Document created successfully"))));
|
|
5805
5821
|
};
|
|
5806
5822
|
|
|
5807
5823
|
var useStyles$p = makeStyles(function (theme) { return ({
|
|
@@ -6219,8 +6235,14 @@ var useAssetActions = function (_a) {
|
|
|
6219
6235
|
switch (_a.label) {
|
|
6220
6236
|
case 0:
|
|
6221
6237
|
dropTargetId = options.dropTargetId;
|
|
6222
|
-
if (dropTargetId
|
|
6223
|
-
dropTargetId
|
|
6238
|
+
if (dropTargetId === -1 ||
|
|
6239
|
+
dropTargetId === null ||
|
|
6240
|
+
dropTargetId === undefined) {
|
|
6241
|
+
onAssetUpdateEnd({
|
|
6242
|
+
ok: false,
|
|
6243
|
+
message: "Cannot move assets to root level. Only one root asset (Plant) is allowed.",
|
|
6244
|
+
});
|
|
6245
|
+
return [2 /*return*/];
|
|
6224
6246
|
}
|
|
6225
6247
|
onAssetUpdateStart();
|
|
6226
6248
|
return [4 /*yield*/, updateAsset(selectedNodes.map(function (cn) { return cn.id; }), dropTargetId)];
|
|
@@ -6387,7 +6409,7 @@ var CustomNode = function (_a) {
|
|
|
6387
6409
|
var handleToggle = function (e) {
|
|
6388
6410
|
var _a;
|
|
6389
6411
|
e.stopPropagation();
|
|
6390
|
-
if (openAssets[id]) {
|
|
6412
|
+
if (openAssets[id] === id) {
|
|
6391
6413
|
var newOpenAssets = __assign({}, openAssets);
|
|
6392
6414
|
delete newOpenAssets[id];
|
|
6393
6415
|
setOpenAssets(newOpenAssets);
|
|
@@ -6654,7 +6676,7 @@ var AssetViewComponent = function () {
|
|
|
6654
6676
|
paddingBottom: 10,
|
|
6655
6677
|
} },
|
|
6656
6678
|
React__default.createElement(Grid, null,
|
|
6657
|
-
React__default.createElement(Tree, { rootId:
|
|
6679
|
+
React__default.createElement(Tree, { rootId: -1, initialOpen: openAssetsArray, tree: allAssetNodes, enableAnimateExpand: true, classes: {
|
|
6658
6680
|
root: classes.assetRoot,
|
|
6659
6681
|
dropTarget: classes.dropTarget,
|
|
6660
6682
|
}, onDrop: handleDrop, onDragStart: handleDragStart, onDragEnd: handleDragEnd, canDrop: function (asset, options) {
|
|
@@ -8214,22 +8236,22 @@ var MESApiService = /** @class */ (function () {
|
|
|
8214
8236
|
};
|
|
8215
8237
|
MESApiService.prototype.uploadFiles = function (selectedFiles_1) {
|
|
8216
8238
|
return __awaiter(this, arguments, void 0, function (selectedFiles, folderName) {
|
|
8217
|
-
var formData, _i, selectedFiles_2, file;
|
|
8239
|
+
var formData, _i, selectedFiles_2, file, response;
|
|
8218
8240
|
if (folderName === void 0) { folderName = ""; }
|
|
8219
8241
|
return __generator(this, function (_a) {
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8242
|
+
switch (_a.label) {
|
|
8243
|
+
case 0:
|
|
8244
|
+
formData = new FormData();
|
|
8245
|
+
for (_i = 0, selectedFiles_2 = selectedFiles; _i < selectedFiles_2.length; _i++) {
|
|
8246
|
+
file = selectedFiles_2[_i];
|
|
8247
|
+
formData.append("files", file, file.name);
|
|
8248
|
+
}
|
|
8249
|
+
formData.append("folderName", folderName);
|
|
8250
|
+
return [4 /*yield*/, axiosInstance.post("/backend/uploadFiles", formData)];
|
|
8251
|
+
case 1:
|
|
8252
|
+
response = _a.sent();
|
|
8253
|
+
return [2 /*return*/, response.data];
|
|
8224
8254
|
}
|
|
8225
|
-
formData.append("folderName", folderName);
|
|
8226
|
-
return [2 /*return*/, fetch(this.config.API_PROCEDURE_URL + "/uploadFiles", {
|
|
8227
|
-
method: "POST",
|
|
8228
|
-
headers: {
|
|
8229
|
-
Authorization: "Bearer " + this.TOKEN,
|
|
8230
|
-
},
|
|
8231
|
-
body: formData,
|
|
8232
|
-
}).then(function (res) { return res.json(); })];
|
|
8233
8255
|
});
|
|
8234
8256
|
});
|
|
8235
8257
|
};
|
|
@@ -8982,6 +9004,7 @@ var UserReducer = createSlice({
|
|
|
8982
9004
|
var UserContext = createContext({
|
|
8983
9005
|
state: UserReducer.getInitialState(),
|
|
8984
9006
|
actions: UserReducer.actions,
|
|
9007
|
+
isLoading: true,
|
|
8985
9008
|
});
|
|
8986
9009
|
var useUserContext = function () { return useContext(UserContext); };
|
|
8987
9010
|
var useHasPermission = function () {
|
|
@@ -9042,16 +9065,7 @@ var UserProvider = function (_a) {
|
|
|
9042
9065
|
}
|
|
9043
9066
|
},
|
|
9044
9067
|
});
|
|
9045
|
-
|
|
9046
|
-
return (React__default.createElement("div", { style: {
|
|
9047
|
-
display: "flex",
|
|
9048
|
-
justifyContent: "center",
|
|
9049
|
-
alignItems: "center",
|
|
9050
|
-
height: "100vh",
|
|
9051
|
-
} },
|
|
9052
|
-
React__default.createElement(CircularProgress, null)));
|
|
9053
|
-
}
|
|
9054
|
-
return (React__default.createElement(UserContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
9068
|
+
return (React__default.createElement(UserContext.Provider, { value: { state: state, actions: actions, isLoading: !permissionsLoaded } }, children));
|
|
9055
9069
|
};
|
|
9056
9070
|
|
|
9057
9071
|
var getTokenFromLS = function () {
|
|
@@ -9661,74 +9675,6 @@ var useSearchAssets = function (setError) {
|
|
|
9661
9675
|
return { searchAssets: searchAssets };
|
|
9662
9676
|
};
|
|
9663
9677
|
|
|
9664
|
-
var UTLSettingsInitialState = {
|
|
9665
|
-
serverTimeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
9666
|
-
settings: {},
|
|
9667
|
-
};
|
|
9668
|
-
var UTLSettingsReducer = createSlice({
|
|
9669
|
-
name: "__",
|
|
9670
|
-
initialState: UTLSettingsInitialState,
|
|
9671
|
-
reducers: {
|
|
9672
|
-
setServerTimeZone: function (state, _a) {
|
|
9673
|
-
var payload = _a.payload;
|
|
9674
|
-
state.serverTimeZone = payload;
|
|
9675
|
-
},
|
|
9676
|
-
setSetting: function (state, _a) {
|
|
9677
|
-
var payload = _a.payload;
|
|
9678
|
-
state.settings[payload.key] = payload.value;
|
|
9679
|
-
},
|
|
9680
|
-
initSettings: function (state, _a) {
|
|
9681
|
-
var payload = _a.payload;
|
|
9682
|
-
state.settings = payload.reduce(function (acc, cur) {
|
|
9683
|
-
if (cur.SettingName.trim() === "TimeZone") {
|
|
9684
|
-
var timeService = TimeService.getInstance();
|
|
9685
|
-
timeService.setTimeZone(cur.Value);
|
|
9686
|
-
}
|
|
9687
|
-
acc[cur.SettingName.trim()] = cur.Value;
|
|
9688
|
-
return acc;
|
|
9689
|
-
}, {});
|
|
9690
|
-
},
|
|
9691
|
-
},
|
|
9692
|
-
});
|
|
9693
|
-
|
|
9694
|
-
var UTLSettingsContext = createContext({
|
|
9695
|
-
state: UTLSettingsReducer.getInitialState(),
|
|
9696
|
-
actions: UTLSettingsReducer.actions,
|
|
9697
|
-
});
|
|
9698
|
-
var useUTLSettingsContext = function () { return useContext(UTLSettingsContext); };
|
|
9699
|
-
var UTLSettingsProvider = function (_a) {
|
|
9700
|
-
var children = _a.children;
|
|
9701
|
-
var _b = useComplexState({
|
|
9702
|
-
initialState: UTLSettingsReducer.getInitialState(),
|
|
9703
|
-
reducers: UTLSettingsReducer.caseReducers,
|
|
9704
|
-
}), state = _b[0], actions = _b[1];
|
|
9705
|
-
return (React__default.createElement(UTLSettingsContext.Provider, { value: { state: state, actions: actions } }, children));
|
|
9706
|
-
};
|
|
9707
|
-
|
|
9708
|
-
var useSearchUTLSettings = function (_a) {
|
|
9709
|
-
var onError = _a.onError;
|
|
9710
|
-
var initSettings = useUTLSettingsContext().actions.initSettings;
|
|
9711
|
-
var searchUTLSettings = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
9712
|
-
var res, settings;
|
|
9713
|
-
return __generator(this, function (_a) {
|
|
9714
|
-
switch (_a.label) {
|
|
9715
|
-
case 0: return [4 /*yield*/, getUTLSettings()];
|
|
9716
|
-
case 1:
|
|
9717
|
-
res = _a.sent();
|
|
9718
|
-
if (res.ok) {
|
|
9719
|
-
settings = get(res, "data.tables[0].rows", []);
|
|
9720
|
-
initSettings(settings);
|
|
9721
|
-
}
|
|
9722
|
-
else {
|
|
9723
|
-
onError(res.message);
|
|
9724
|
-
}
|
|
9725
|
-
return [2 /*return*/];
|
|
9726
|
-
}
|
|
9727
|
-
});
|
|
9728
|
-
}); };
|
|
9729
|
-
return { searchUTLSettings: searchUTLSettings };
|
|
9730
|
-
};
|
|
9731
|
-
|
|
9732
9678
|
var useStyles$7 = makeStyles(function (theme) { return ({
|
|
9733
9679
|
container: {
|
|
9734
9680
|
display: "flex",
|
|
@@ -9850,22 +9796,13 @@ function Header$1(_a) {
|
|
|
9850
9796
|
var CustomNavbar = useContext(NavbarContext);
|
|
9851
9797
|
var searchAssets = useSearchAssets(setError).searchAssets;
|
|
9852
9798
|
var _f = useState(false), drawerOpen = _f[0], setDrawerOpen = _f[1];
|
|
9853
|
-
var _g = useState(false), settingsIsReady = _g[0], setSettingsIsReady = _g[1];
|
|
9854
9799
|
var hasPermissionTo = useHasPermission();
|
|
9855
|
-
var searchUTLSettings = useSearchUTLSettings({
|
|
9856
|
-
onError: setError,
|
|
9857
|
-
}).searchUTLSettings;
|
|
9858
9800
|
var userLogged = useUserContext().state.userLogged;
|
|
9859
9801
|
useEffect(function () {
|
|
9860
|
-
|
|
9861
|
-
setSettingsIsReady(true);
|
|
9862
|
-
});
|
|
9863
|
-
}, []);
|
|
9864
|
-
useEffect(function () {
|
|
9865
|
-
if (showAreaSelector && userLogged && settingsIsReady) {
|
|
9802
|
+
if (showAreaSelector && userLogged) {
|
|
9866
9803
|
searchAssets();
|
|
9867
9804
|
}
|
|
9868
|
-
}, [userLogged
|
|
9805
|
+
}, [userLogged]);
|
|
9869
9806
|
var handleDrawerToggle = function () {
|
|
9870
9807
|
setDrawerOpen(!drawerOpen);
|
|
9871
9808
|
};
|
|
@@ -14141,6 +14078,110 @@ var Navigation = function (_a) {
|
|
|
14141
14078
|
React__default.createElement(MESFMainContainer, null)));
|
|
14142
14079
|
};
|
|
14143
14080
|
|
|
14081
|
+
var useSearchUTLSettings = function (_a) {
|
|
14082
|
+
var onError = _a.onError;
|
|
14083
|
+
var initSettings = useUTLSettingsContext().actions.initSettings;
|
|
14084
|
+
var searchUTLSettings = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
14085
|
+
var res, settings;
|
|
14086
|
+
return __generator(this, function (_a) {
|
|
14087
|
+
switch (_a.label) {
|
|
14088
|
+
case 0: return [4 /*yield*/, getUTLSettings()];
|
|
14089
|
+
case 1:
|
|
14090
|
+
res = _a.sent();
|
|
14091
|
+
if (res.ok) {
|
|
14092
|
+
settings = get(res, "data.tables[0].rows", []);
|
|
14093
|
+
initSettings(settings);
|
|
14094
|
+
}
|
|
14095
|
+
else {
|
|
14096
|
+
onError(res.message);
|
|
14097
|
+
}
|
|
14098
|
+
return [2 /*return*/];
|
|
14099
|
+
}
|
|
14100
|
+
});
|
|
14101
|
+
}); };
|
|
14102
|
+
return { searchUTLSettings: searchUTLSettings };
|
|
14103
|
+
};
|
|
14104
|
+
|
|
14105
|
+
var UTLSettingsInitialState = {
|
|
14106
|
+
serverTimeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
14107
|
+
settings: {},
|
|
14108
|
+
};
|
|
14109
|
+
var UTLSettingsReducer = createSlice({
|
|
14110
|
+
name: "__",
|
|
14111
|
+
initialState: UTLSettingsInitialState,
|
|
14112
|
+
reducers: {
|
|
14113
|
+
setServerTimeZone: function (state, _a) {
|
|
14114
|
+
var payload = _a.payload;
|
|
14115
|
+
state.serverTimeZone = payload;
|
|
14116
|
+
},
|
|
14117
|
+
setSetting: function (state, _a) {
|
|
14118
|
+
var payload = _a.payload;
|
|
14119
|
+
state.settings[payload.key] = payload.value;
|
|
14120
|
+
},
|
|
14121
|
+
initSettings: function (state, _a) {
|
|
14122
|
+
var payload = _a.payload;
|
|
14123
|
+
state.settings = payload.reduce(function (acc, cur) {
|
|
14124
|
+
if (cur.SettingName.trim() === "TimeZone") {
|
|
14125
|
+
var timeService = TimeService.getInstance();
|
|
14126
|
+
timeService.setTimeZone(cur.Value);
|
|
14127
|
+
}
|
|
14128
|
+
acc[cur.SettingName.trim()] = cur.Value;
|
|
14129
|
+
return acc;
|
|
14130
|
+
}, {});
|
|
14131
|
+
},
|
|
14132
|
+
},
|
|
14133
|
+
});
|
|
14134
|
+
|
|
14135
|
+
var UTLSettingsContext = createContext({
|
|
14136
|
+
state: UTLSettingsReducer.getInitialState(),
|
|
14137
|
+
actions: UTLSettingsReducer.actions,
|
|
14138
|
+
isLoading: true,
|
|
14139
|
+
});
|
|
14140
|
+
var useUTLSettingsContext = function () { return useContext(UTLSettingsContext); };
|
|
14141
|
+
var UTLSettingsProvider = function (_a) {
|
|
14142
|
+
var children = _a.children;
|
|
14143
|
+
var _b = useComplexState({
|
|
14144
|
+
initialState: UTLSettingsReducer.getInitialState(),
|
|
14145
|
+
reducers: UTLSettingsReducer.caseReducers,
|
|
14146
|
+
}), state = _b[0], actions = _b[1];
|
|
14147
|
+
var _c = useState(true), isLoading = _c[0], setIsLoading = _c[1];
|
|
14148
|
+
var searchUTLSettings = useSearchUTLSettings({
|
|
14149
|
+
onError: console.error,
|
|
14150
|
+
}).searchUTLSettings;
|
|
14151
|
+
useEffect(function () {
|
|
14152
|
+
setIsLoading(true);
|
|
14153
|
+
searchUTLSettings().then(function () {
|
|
14154
|
+
setIsLoading(false);
|
|
14155
|
+
});
|
|
14156
|
+
}, []);
|
|
14157
|
+
useMesfRealtime({
|
|
14158
|
+
onReceiveMessage: function (author, message) {
|
|
14159
|
+
if (message === "UTL.GetSettings") {
|
|
14160
|
+
searchUTLSettings().then(function () {
|
|
14161
|
+
// setIsLoading(false);
|
|
14162
|
+
});
|
|
14163
|
+
}
|
|
14164
|
+
},
|
|
14165
|
+
});
|
|
14166
|
+
return (React__default.createElement(UTLSettingsContext.Provider, { value: { state: state, actions: actions, isLoading: isLoading } }, children));
|
|
14167
|
+
};
|
|
14168
|
+
|
|
14169
|
+
var ProvidersLoader = function (_a) {
|
|
14170
|
+
var children = _a.children;
|
|
14171
|
+
var isUsersLoading = useUserContext().isLoading;
|
|
14172
|
+
var isSettingsLoading = useUTLSettingsContext().isLoading;
|
|
14173
|
+
if (isUsersLoading || isSettingsLoading) {
|
|
14174
|
+
return (React__default.createElement("div", { style: {
|
|
14175
|
+
display: "flex",
|
|
14176
|
+
justifyContent: "center",
|
|
14177
|
+
alignItems: "center",
|
|
14178
|
+
height: "100vh",
|
|
14179
|
+
} },
|
|
14180
|
+
React__default.createElement(CircularProgress, null)));
|
|
14181
|
+
}
|
|
14182
|
+
return React__default.createElement(React__default.Fragment, null, children);
|
|
14183
|
+
};
|
|
14184
|
+
|
|
14144
14185
|
var themeMESF = createTheme({
|
|
14145
14186
|
palette: {
|
|
14146
14187
|
type: "light",
|
|
@@ -14193,24 +14234,25 @@ var timezone = TimeService.getInstance().getServerTimeZone();
|
|
|
14193
14234
|
moment$2.tz.setDefault(timezone);
|
|
14194
14235
|
var base = document.getElementsByTagName("base")[0].getAttribute("href") || "/";
|
|
14195
14236
|
function MESFMain(_a) {
|
|
14196
|
-
var authentication = _a.authentication, routes = _a.routes, navbar = _a.navbar, _b = _a.navbarTitle, navbarTitle = _b === void 0 ? "MESF" : _b, configurations = _a.configurations, _c = _a.showAreaSelector, showAreaSelector = _c === void 0 ? false : _c, _d = _a.showTrendingsIcon, showTrendingsIcon = _d === void 0 ? true : _d, _e = _a.byPassHeaderRoutes, byPassHeaderRoutes = _e === void 0 ? [] : _e;
|
|
14237
|
+
var authentication = _a.authentication, routes = _a.routes, navbar = _a.navbar, _b = _a.navbarTitle, navbarTitle = _b === void 0 ? "MESF" : _b, configurations = _a.configurations, _c = _a.showAreaSelector, showAreaSelector = _c === void 0 ? false : _c, _d = _a.showTrendingsIcon, showTrendingsIcon = _d === void 0 ? true : _d, _e = _a.byPassHeaderRoutes, byPassHeaderRoutes = _e === void 0 ? [] : _e, _f = _a.plantAssetId, plantAssetId = _f === void 0 ? 1 : _f;
|
|
14197
14238
|
return (React__default.createElement(React__default.Fragment, null,
|
|
14198
14239
|
React__default.createElement(CssBaseline, null),
|
|
14199
14240
|
React__default.createElement(ThemeProvider, { theme: themeMESF },
|
|
14200
14241
|
React__default.createElement(AuthProvider, { authConfig: authentication },
|
|
14201
14242
|
React__default.createElement(LocalizationProvider, { dateAdapter: AdapterMoment, dateLibInstance: moment$2 },
|
|
14202
14243
|
React__default.createElement(UserProvider, null,
|
|
14203
|
-
React__default.createElement(
|
|
14204
|
-
React__default.createElement(
|
|
14205
|
-
React__default.createElement(
|
|
14206
|
-
React__default.createElement(
|
|
14207
|
-
React__default.createElement(
|
|
14208
|
-
React__default.createElement(
|
|
14209
|
-
React__default.createElement(
|
|
14210
|
-
React__default.createElement(
|
|
14211
|
-
React__default.createElement(
|
|
14212
|
-
React__default.createElement(
|
|
14213
|
-
|
|
14244
|
+
React__default.createElement(UTLSettingsProvider, null,
|
|
14245
|
+
React__default.createElement(ProvidersLoader, null,
|
|
14246
|
+
React__default.createElement(AssetProvider, { plantAssetId: plantAssetId },
|
|
14247
|
+
React__default.createElement(RouterContext.Provider, { value: routes },
|
|
14248
|
+
React__default.createElement(NavbarContext.Provider, { value: navbar },
|
|
14249
|
+
React__default.createElement(ConfigurationContext.Provider, { value: configurations },
|
|
14250
|
+
React__default.createElement(ShiftNavigatorProvider, null,
|
|
14251
|
+
React__default.createElement(ContextMenuMESFProvider, null,
|
|
14252
|
+
React__default.createElement(BrowserRouter, { basename: base },
|
|
14253
|
+
React__default.createElement(Routes, null,
|
|
14254
|
+
React__default.createElement(Route, { path: "/logout", element: React__default.createElement(Logout, null) })),
|
|
14255
|
+
React__default.createElement(Navigation, { showAreaSelector: showAreaSelector, showTrendingsIcon: showTrendingsIcon, navbarTitle: navbarTitle, byPassHeaderRoutes: byPassHeaderRoutes }))))))))))))))));
|
|
14214
14256
|
}
|
|
14215
14257
|
|
|
14216
14258
|
var useDefaultAreaId = function (setError) {
|
|
@@ -14325,6 +14367,11 @@ var AreaSelector = function () {
|
|
|
14325
14367
|
setDefaultAreaName(areaSelected === null || areaSelected === void 0 ? void 0 : areaSelected.AssetName);
|
|
14326
14368
|
setDefaultAreaNameToChange(areaSelected === null || areaSelected === void 0 ? void 0 : areaSelected.AssetName);
|
|
14327
14369
|
}
|
|
14370
|
+
else {
|
|
14371
|
+
setDefaultAreaId(0);
|
|
14372
|
+
setDefaultAreaName("Plant");
|
|
14373
|
+
setDefaultAreaNameToChange("Plant");
|
|
14374
|
+
}
|
|
14328
14375
|
}, [defaultAreaId, areasList]);
|
|
14329
14376
|
return (React__default.createElement(React__default.Fragment, null,
|
|
14330
14377
|
React__default.createElement(Box, { mx: 2 },
|