@dexteel/mesf-core 7.16.1 → 7.17.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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +30 -0
- package/dist/index.esm.js +43 -18
- package/dist/index.esm.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [7.17.2](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v7.17.1...@dexteel/mesf-core-v7.17.2) (2026-03-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **devops:** add rollup config to build correctly ([df33adc](https://github.com/dexteel/mesf-core-frontend/commit/df33adc71d81c8ced414a59f16c817e238f545c8))
|
|
9
|
+
|
|
10
|
+
## [7.17.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v7.17.0...@dexteel/mesf-core-v7.17.1) (2026-03-27)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **deps:** upgrade rollup-plugin-typescript2 and fix setTimeout types ([#641](https://github.com/dexteel/mesf-core-frontend/issues/641)) ([867c828](https://github.com/dexteel/mesf-core-frontend/commit/867c828187051f3096b544b15a38248976d25c72))
|
|
16
|
+
|
|
17
|
+
## [7.17.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v7.16.1...@dexteel/mesf-core-v7.17.0) (2026-03-27)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* add workflow_dispatch trigger to npm publish workflow ([d776298](https://github.com/dexteel/mesf-core-frontend/commit/d7762989b613ed262cb9969824ef5068d1e05343))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **Asset Search:** Fix search box overlapping tree items at certain resolutions ([5d1e1f3](https://github.com/dexteel/mesf-core-frontend/commit/5d1e1f3370cd96e84b02a4301ec9256c2b768846))
|
|
28
|
+
* **Header:** Show drawer dynamically according to the navbar content and screen size. ([b65cbda](https://github.com/dexteel/mesf-core-frontend/commit/b65cbdac1f6657b27d3e55eba8f435b3b067931f))
|
|
29
|
+
* **logbook:** handle AssetId=0 as valid root asset by replacing falsy checks with null checks ([3e660a9](https://github.com/dexteel/mesf-core-frontend/commit/3e660a9e35de36051b2522d81f7f2825ca9f9854))
|
|
30
|
+
* **Navbar Menu Bar:** Update closeDrawer function reference and adjust hoverSwitchDelayMs. ([0895812](https://github.com/dexteel/mesf-core-frontend/commit/08958129ce081f9bc4f644fb49bee38fa032cca7))
|
|
31
|
+
* upgrade npm to 11.5.1+ for OIDC Trusted Publishing support ([443c5fa](https://github.com/dexteel/mesf-core-frontend/commit/443c5fad15e9b0f68aeff98a4aad4156d34f2588))
|
|
32
|
+
|
|
3
33
|
## [7.16.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v7.16.0...@dexteel/mesf-core-v7.16.1) (2026-03-24)
|
|
4
34
|
|
|
5
35
|
|
package/dist/index.esm.js
CHANGED
|
@@ -2207,9 +2207,15 @@ const ModalTreeFilterControl = (props) => {
|
|
|
2207
2207
|
} },
|
|
2208
2208
|
allowSearch && (React__default.createElement(Grid2, { ref: searchContainerRef, style: {
|
|
2209
2209
|
position: "sticky",
|
|
2210
|
-
top:
|
|
2210
|
+
top: -16,
|
|
2211
2211
|
zIndex: 1000,
|
|
2212
2212
|
backgroundColor: "#fff",
|
|
2213
|
+
paddingTop: 5,
|
|
2214
|
+
paddingBottom: 5,
|
|
2215
|
+
marginLeft: -24,
|
|
2216
|
+
marginRight: -24,
|
|
2217
|
+
paddingLeft: 24,
|
|
2218
|
+
paddingRight: 24,
|
|
2213
2219
|
} },
|
|
2214
2220
|
React__default.createElement(TextField, { sx: {
|
|
2215
2221
|
marginBottom: 1,
|
|
@@ -6687,7 +6693,7 @@ function Logout() {
|
|
|
6687
6693
|
React__default.createElement(Typography$1, { variant: "h6" }, "Logging out..."))));
|
|
6688
6694
|
}
|
|
6689
6695
|
|
|
6690
|
-
function NavbarMenuBar({ menus, isMobile = false, closeDrawer, hoverSwitchDelayMs =
|
|
6696
|
+
function NavbarMenuBar({ menus, isMobile = false, closeDrawer, hoverSwitchDelayMs = 10, }) {
|
|
6691
6697
|
const hasPermissionTo = useHasPermission();
|
|
6692
6698
|
const [openMenuId, setOpenMenuId] = useState(null);
|
|
6693
6699
|
const [menuAnchorEl, setMenuAnchorEl] = useState(null);
|
|
@@ -9847,10 +9853,25 @@ function Header({ showAreaSelector = false, showTrendingsV2Icon = true, navbarTi
|
|
|
9847
9853
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
9848
9854
|
const hasPermissionTo = useHasPermission();
|
|
9849
9855
|
const theme = useTheme();
|
|
9850
|
-
const
|
|
9856
|
+
const navContainerRef = useRef(null);
|
|
9857
|
+
const [isOverflowing, setIsOverflowing] = useState(false);
|
|
9858
|
+
const isMobileBreakpoint = useMediaQuery(theme.breakpoints.down("lg"));
|
|
9851
9859
|
const handleDrawerToggle = () => {
|
|
9852
9860
|
setDrawerOpen(!drawerOpen);
|
|
9853
9861
|
};
|
|
9862
|
+
const closeDrawer = () => {
|
|
9863
|
+
setDrawerOpen(false);
|
|
9864
|
+
};
|
|
9865
|
+
useEffect(() => {
|
|
9866
|
+
const container = navContainerRef.current;
|
|
9867
|
+
if (!container)
|
|
9868
|
+
return;
|
|
9869
|
+
const observer = new ResizeObserver(() => {
|
|
9870
|
+
setIsOverflowing(container.scrollWidth > container.offsetWidth);
|
|
9871
|
+
});
|
|
9872
|
+
observer.observe(container);
|
|
9873
|
+
return () => observer.disconnect();
|
|
9874
|
+
}, []);
|
|
9854
9875
|
useEffect(() => {
|
|
9855
9876
|
const handleMenuItemClick = (event) => {
|
|
9856
9877
|
const target = event.target;
|
|
@@ -9868,6 +9889,7 @@ function Header({ showAreaSelector = false, showTrendingsV2Icon = true, navbarTi
|
|
|
9868
9889
|
};
|
|
9869
9890
|
}, []);
|
|
9870
9891
|
const canShowSettings = hasPermissionTo("ui.navbar.settings");
|
|
9892
|
+
const isCompactNavigation = isMobileBreakpoint || isOverflowing;
|
|
9871
9893
|
return (React__default.createElement(React__default.Fragment, null,
|
|
9872
9894
|
React__default.createElement(AppBar, { position: "static", sx: {
|
|
9873
9895
|
backgroundColor: (theme) => theme.palette.primary.main,
|
|
@@ -9893,19 +9915,21 @@ function Header({ showAreaSelector = false, showTrendingsV2Icon = true, navbarTi
|
|
|
9893
9915
|
color: "white",
|
|
9894
9916
|
textWrap: "nowrap",
|
|
9895
9917
|
} }, navbarTitle),
|
|
9896
|
-
React__default.createElement(Box, { sx: {
|
|
9918
|
+
React__default.createElement(Box, { ref: navContainerRef, sx: {
|
|
9897
9919
|
display: "flex",
|
|
9898
9920
|
flexGrow: 1,
|
|
9899
9921
|
minWidth: 0,
|
|
9900
9922
|
overflow: "hidden",
|
|
9923
|
+
visibility: isCompactNavigation ? "hidden" : "visible",
|
|
9924
|
+
pointerEvents: isCompactNavigation ? "none" : "auto",
|
|
9901
9925
|
"& a": {
|
|
9902
9926
|
color: "white",
|
|
9903
9927
|
},
|
|
9904
9928
|
"& > *": {
|
|
9905
|
-
|
|
9906
|
-
maxWidth: "100%",
|
|
9929
|
+
flexShrink: 0,
|
|
9907
9930
|
},
|
|
9908
|
-
}
|
|
9931
|
+
}, "aria-hidden": isCompactNavigation },
|
|
9932
|
+
React__default.createElement(CustomNavbar, { closeDrawer: closeDrawer })),
|
|
9909
9933
|
React__default.createElement(Box, { sx: {
|
|
9910
9934
|
display: "flex",
|
|
9911
9935
|
alignItems: "center",
|
|
@@ -9948,7 +9972,7 @@ function Header({ showAreaSelector = false, showTrendingsV2Icon = true, navbarTi
|
|
|
9948
9972
|
color: (theme) => theme.palette.text.primary,
|
|
9949
9973
|
},
|
|
9950
9974
|
} },
|
|
9951
|
-
React__default.createElement(CustomNavbar, { isMobile: true }))),
|
|
9975
|
+
React__default.createElement(CustomNavbar, { isMobile: true, closeDrawer: closeDrawer }))),
|
|
9952
9976
|
React__default.createElement(ErrorModal, { error: error, onHide: () => setError("") })));
|
|
9953
9977
|
}
|
|
9954
9978
|
|
|
@@ -15729,7 +15753,7 @@ const getEntries$1 = (_a) => __awaiter(void 0, [_a], void 0, function* ({ shiftI
|
|
|
15729
15753
|
const parameters = [
|
|
15730
15754
|
{ name: "ShiftId", value: shiftId },
|
|
15731
15755
|
];
|
|
15732
|
-
if (assetId) {
|
|
15756
|
+
if (assetId != null) {
|
|
15733
15757
|
parameters.push({ name: "AssetId", value: assetId });
|
|
15734
15758
|
}
|
|
15735
15759
|
const resp = yield apiService.callV2("[LB].[GetEntries]", parameters, signal);
|
|
@@ -15892,6 +15916,7 @@ const useEntries$1 = ({ shiftId, assetId }) => {
|
|
|
15892
15916
|
return useQuery({
|
|
15893
15917
|
queryKey: ["entries", shiftId, assetId],
|
|
15894
15918
|
queryFn: ({ signal }) => getEntries$1({ shiftId, assetId, signal }),
|
|
15919
|
+
enabled: shiftId != null,
|
|
15895
15920
|
});
|
|
15896
15921
|
};
|
|
15897
15922
|
const routeLogbookEntry$1 = "/logbook/entry";
|
|
@@ -16148,7 +16173,7 @@ const AssetsFilter = ({ label = "Asset", value, onChange, filterAreaAssets = fal
|
|
|
16148
16173
|
];
|
|
16149
16174
|
const selectedOption = options.find((option) => option.value === (value || null)) || options[0];
|
|
16150
16175
|
return (React__default.createElement(React__default.Fragment, null,
|
|
16151
|
-
React__default.createElement(Autocomplete, { options: filterAreaAssets ? options.filter((o) => o.isAreaAsset) : options, value: selectedOption, onChange: (event, newValue) => {
|
|
16176
|
+
React__default.createElement(Autocomplete, { size: "small", options: filterAreaAssets ? options.filter((o) => o.isAreaAsset) : options, value: selectedOption, onChange: (event, newValue) => {
|
|
16152
16177
|
var _a;
|
|
16153
16178
|
if (newValue) {
|
|
16154
16179
|
onChange((_a = newValue.value) !== null && _a !== void 0 ? _a : null);
|
|
@@ -17431,7 +17456,7 @@ const getEntriesReport$1 = (params, signal) => __awaiter(void 0, void 0, void 0,
|
|
|
17431
17456
|
{ name: "StartShiftId", value: params.startShiftId },
|
|
17432
17457
|
{ name: "EndShiftId", value: params.endShiftId },
|
|
17433
17458
|
];
|
|
17434
|
-
if (params.assetId) {
|
|
17459
|
+
if (params.assetId != null) {
|
|
17435
17460
|
parameters.push({ name: "AssetId", value: params.assetId });
|
|
17436
17461
|
}
|
|
17437
17462
|
const resp = yield apiService.callV2("[LB].[GetEntries]", parameters);
|
|
@@ -17453,7 +17478,7 @@ const useEntriesReport$1 = ({ startShiftId, endShiftId, assetId, }) => {
|
|
|
17453
17478
|
return useQuery({
|
|
17454
17479
|
queryKey: ["entriesReport", startShiftId, endShiftId, assetId],
|
|
17455
17480
|
queryFn: ({ signal }) => getEntriesReport$1({ startShiftId, endShiftId, assetId }),
|
|
17456
|
-
enabled: !!startShiftId && !!endShiftId &&
|
|
17481
|
+
enabled: !!startShiftId && !!endShiftId && assetId != null,
|
|
17457
17482
|
});
|
|
17458
17483
|
};
|
|
17459
17484
|
const routeLogbookReport = "/logbook/report";
|
|
@@ -17668,12 +17693,13 @@ const Filters$2 = ({ withAssetFilter, filterAssets, quickFilter, onQuickFilterCh
|
|
|
17668
17693
|
React__default.createElement(Grid2, { size: { xs: 12 }, alignItems: "center", justifyContent: "center" },
|
|
17669
17694
|
React__default.createElement(ShiftPeriodNavigatorControl, { onChange: handleShiftPeriodChange, value: shiftPeriod, actualPeriod: actualPeriod, showShiftAndCrews: false, dateFormat: "MM/DD/YYYY", periodOptions: customPeriodOptions$1 })),
|
|
17670
17695
|
React__default.createElement(Grid2, { size: { xs: 12, md: withAssetFilter ? 6 : 12 } },
|
|
17671
|
-
React__default.createElement(TextField, { fullWidth: true, label: "Search", variant: "outlined", size: "small",
|
|
17696
|
+
React__default.createElement(TextField, { fullWidth: true, label: "Search", variant: "outlined", size: "small", value: quickFilter, onChange: (event) => {
|
|
17672
17697
|
onQuickFilterChange(event === null || event === void 0 ? void 0 : event.target.value);
|
|
17673
|
-
},
|
|
17674
|
-
|
|
17675
|
-
React__default.createElement(
|
|
17676
|
-
React__default.createElement(SearchIcon,
|
|
17698
|
+
}, slotProps: {
|
|
17699
|
+
input: {
|
|
17700
|
+
startAdornment: (React__default.createElement(InputAdornment, { position: "start" },
|
|
17701
|
+
React__default.createElement(SearchIcon, { fontSize: "small" }))),
|
|
17702
|
+
},
|
|
17677
17703
|
} })),
|
|
17678
17704
|
withAssetFilter === "tree" && assets && (React__default.createElement(Grid2, { size: { xs: 12, md: 6 }, style: {
|
|
17679
17705
|
alignItems: "center",
|
|
@@ -17683,7 +17709,6 @@ const Filters$2 = ({ withAssetFilter, filterAssets, quickFilter, onQuickFilterCh
|
|
|
17683
17709
|
withAssetFilter === "selector" && (React__default.createElement(Grid2, { size: { xs: 12, md: 6 }, style: {
|
|
17684
17710
|
alignItems: "center",
|
|
17685
17711
|
justifyContent: "center",
|
|
17686
|
-
marginTop: 6,
|
|
17687
17712
|
} },
|
|
17688
17713
|
React__default.createElement(AssetsFilter, { value: assetId !== null && assetId !== void 0 ? assetId : null, onChange: (newValue) => {
|
|
17689
17714
|
setAssetId(newValue !== null && newValue !== void 0 ? newValue : null);
|