@dexteel/mesf-core 5.5.2 → 5.6.0

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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "5.5.2"
2
+ ".": "5.6.0"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,30 @@
1
+ # Changelog
2
+
3
+ ## [5.6.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.5.3...@dexteel/mesf-core-v5.6.0) (2025-07-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * **ShiftPeriodNavigatorControl:** add custom option in periods ([c1c1cf6](https://github.com/dexteel/mesf-core-frontend/commit/c1c1cf61f283daf46a787c3edde797f373debf25))
9
+ * **ShiftPeriodNavigatorControl:** add custom period ([4a54f61](https://github.com/dexteel/mesf-core-frontend/commit/4a54f61196e754345f69447ab74f6997ce0a684c))
10
+
11
+ ## [5.5.3] - 2025-07-08
12
+
13
+
14
+
15
+ # Changelog
16
+
17
+ ## [5.5.3](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.5.2...@dexteel/mesf-core-v5.5.3) (2025-07-08)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **ShiftPeriodNavigatorControl:** add a prop to fix ([adf04ec](https://github.com/dexteel/mesf-core-frontend/commit/adf04ecd314926786977c3ffdce5eecd185e7c83))
23
+
24
+ ## [5.5.2] - 2025-07-01
25
+
26
+
27
+
1
28
  # Changelog
2
29
 
3
30
  ## [5.5.2](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v5.5.1...@dexteel/mesf-core-v5.5.2) (2025-07-01)
package/dist/index.esm.js CHANGED
@@ -1592,11 +1592,15 @@ var ShiftPeriodNavigatorControl = function (_a) {
1592
1592
  var _h = useState(""); _h[0]; var setError = _h[1];
1593
1593
  var _j = useState([]), shiftPeriodList = _j[0], setShiftPeriodList = _j[1];
1594
1594
  var _k = useState(false), isActionInProgress = _k[0], setIsActionInProgress = _k[1];
1595
+ var _l = useState(null), customStartDate = _l[0], setCustomStartDate = _l[1];
1596
+ var _m = useState(null), customEndDate = _m[0], setCustomEndDate = _m[1];
1595
1597
  var handleArrowNavigation = function (direction) { return __awaiter(void 0, void 0, void 0, function () {
1596
1598
  var error_1;
1597
1599
  return __generator(this, function (_a) {
1598
1600
  switch (_a.label) {
1599
1601
  case 0:
1602
+ if (period === "Custom")
1603
+ return [2 /*return*/];
1600
1604
  if (!(startShift === null || startShift === void 0 ? void 0 : startShift.Start) && !(endShift === null || endShift === void 0 ? void 0 : endShift.End))
1601
1605
  return [2 /*return*/];
1602
1606
  _a.label = 1;
@@ -1627,16 +1631,20 @@ var ShiftPeriodNavigatorControl = function (_a) {
1627
1631
  return __generator(this, function (_a) {
1628
1632
  switch (_a.label) {
1629
1633
  case 0:
1630
- _a.trys.push([0, 2, , 3]);
1631
- return [4 /*yield*/, searchShiftsRangeByParameters(period, null, null, false, "last")];
1634
+ if (period === "Custom")
1635
+ return [2 /*return*/];
1636
+ _a.label = 1;
1632
1637
  case 1:
1633
- _a.sent();
1634
- return [3 /*break*/, 3];
1638
+ _a.trys.push([1, 3, , 4]);
1639
+ return [4 /*yield*/, searchShiftsRangeByParameters(period, null, null, false, "last")];
1635
1640
  case 2:
1641
+ _a.sent();
1642
+ return [3 /*break*/, 4];
1643
+ case 3:
1636
1644
  error_2 = _a.sent();
1637
1645
  setError(error_2);
1638
- return [3 /*break*/, 3];
1639
- case 3: return [2 /*return*/];
1646
+ return [3 /*break*/, 4];
1647
+ case 4: return [2 /*return*/];
1640
1648
  }
1641
1649
  });
1642
1650
  }); };
@@ -1646,7 +1654,7 @@ var ShiftPeriodNavigatorControl = function (_a) {
1646
1654
  args_1[_i - 3] = arguments[_i];
1647
1655
  }
1648
1656
  return __awaiter(void 0, __spreadArray([newPeriod_1, newStartDate_1, newEndDate_1], args_1, true), void 0, function (newPeriod, newStartDate, newEndDate, useShiftIds, action) {
1649
- var res, rowsSource, error_3;
1657
+ var res, rowsSource, firstShift, lastShift, error_3;
1650
1658
  var _a, _b;
1651
1659
  if (useShiftIds === void 0) { useShiftIds = true; }
1652
1660
  if (action === void 0) { action = null; }
@@ -1666,11 +1674,29 @@ var ShiftPeriodNavigatorControl = function (_a) {
1666
1674
  if (res.ok) {
1667
1675
  rowsSource = get(res, "data.tables[0].rows", []);
1668
1676
  setShiftPeriodList(rowsSource);
1669
- if (rowsSource.length >= 2) {
1670
- onChange({
1671
- StartShiftId: rowsSource[0].ShiftId,
1672
- EndShiftId: rowsSource[1].ShiftId,
1673
- });
1677
+ if (newPeriod === "Custom") {
1678
+ if (rowsSource.length >= 1) {
1679
+ firstShift = rowsSource[0];
1680
+ lastShift = rowsSource[rowsSource.length - 1];
1681
+ onChange({
1682
+ StartShiftId: firstShift.ShiftId,
1683
+ EndShiftId: lastShift.ShiftId,
1684
+ });
1685
+ }
1686
+ }
1687
+ else {
1688
+ if (rowsSource.length >= 2) {
1689
+ onChange({
1690
+ StartShiftId: rowsSource[0].ShiftId,
1691
+ EndShiftId: rowsSource[1].ShiftId,
1692
+ });
1693
+ }
1694
+ else if (rowsSource.length === 1) {
1695
+ onChange({
1696
+ StartShiftId: rowsSource[0].ShiftId,
1697
+ EndShiftId: rowsSource[0].ShiftId,
1698
+ });
1699
+ }
1674
1700
  }
1675
1701
  }
1676
1702
  else {
@@ -1697,39 +1723,68 @@ var ShiftPeriodNavigatorControl = function (_a) {
1697
1723
  case 0:
1698
1724
  if (!value || !value.isValid())
1699
1725
  return [2 /*return*/];
1700
- _a.label = 1;
1701
- case 1:
1702
- _a.trys.push([1, 6, , 7]);
1703
- newDate = value.toDate();
1726
+ if (!(period === "Custom")) return [3 /*break*/, 6];
1704
1727
  if (!(key === "start")) return [3 /*break*/, 3];
1705
- return [4 /*yield*/, searchShiftsRangeByParameters(period, newDate, null, false)];
1706
- case 2:
1728
+ setCustomStartDate(value);
1729
+ if (!customEndDate) return [3 /*break*/, 2];
1730
+ return [4 /*yield*/, searchShiftsRangeByParameters("Custom", value.toDate(), customEndDate.toDate(), false)];
1731
+ case 1:
1707
1732
  _a.sent();
1708
- return [3 /*break*/, 5];
1709
- case 3: return [4 /*yield*/, searchShiftsRangeByParameters(period, null, newDate, false)];
1733
+ _a.label = 2;
1734
+ case 2: return [3 /*break*/, 5];
1735
+ case 3:
1736
+ setCustomEndDate(value);
1737
+ if (!customStartDate) return [3 /*break*/, 5];
1738
+ return [4 /*yield*/, searchShiftsRangeByParameters("Custom", customStartDate.toDate(), value.toDate(), false)];
1710
1739
  case 4:
1711
1740
  _a.sent();
1712
1741
  _a.label = 5;
1713
- case 5: return [3 /*break*/, 7];
1742
+ case 5: return [2 /*return*/];
1714
1743
  case 6:
1744
+ _a.trys.push([6, 11, , 12]);
1745
+ newDate = value.toDate();
1746
+ if (!(key === "start")) return [3 /*break*/, 8];
1747
+ return [4 /*yield*/, searchShiftsRangeByParameters(period, newDate, null, false)];
1748
+ case 7:
1749
+ _a.sent();
1750
+ return [3 /*break*/, 10];
1751
+ case 8: return [4 /*yield*/, searchShiftsRangeByParameters(period, null, newDate, false)];
1752
+ case 9:
1753
+ _a.sent();
1754
+ _a.label = 10;
1755
+ case 10: return [3 /*break*/, 12];
1756
+ case 11:
1715
1757
  error_4 = _a.sent();
1716
1758
  setError(error_4);
1717
- return [3 /*break*/, 7];
1718
- case 7: return [2 /*return*/];
1759
+ return [3 /*break*/, 12];
1760
+ case 12: return [2 /*return*/];
1719
1761
  }
1720
1762
  });
1721
1763
  }); };
1722
1764
  var handleChangeScope = function (e) { return __awaiter(void 0, void 0, void 0, function () {
1723
- var newPeriod;
1765
+ var newPeriod, today, yesterday;
1724
1766
  return __generator(this, function (_a) {
1725
1767
  switch (_a.label) {
1726
1768
  case 0:
1727
1769
  newPeriod = e.target.value;
1728
1770
  setPeriod(newPeriod);
1729
- return [4 /*yield*/, searchShiftsRangeByParameters(newPeriod, null, (endShift === null || endShift === void 0 ? void 0 : endShift.Start) ? moment$2(endShift.Start).toDate() : null, false)];
1771
+ if (!(newPeriod === "Custom")) return [3 /*break*/, 2];
1772
+ today = moment$2();
1773
+ yesterday = moment$2().subtract(1, "day");
1774
+ setCustomStartDate(yesterday);
1775
+ setCustomEndDate(today);
1776
+ return [4 /*yield*/, searchShiftsRangeByParameters("Custom", yesterday.toDate(), today.toDate(), false)];
1730
1777
  case 1:
1731
1778
  _a.sent();
1732
- return [2 /*return*/];
1779
+ return [3 /*break*/, 4];
1780
+ case 2:
1781
+ setCustomStartDate(null);
1782
+ setCustomEndDate(null);
1783
+ return [4 /*yield*/, searchShiftsRangeByParameters(newPeriod, null, (endShift === null || endShift === void 0 ? void 0 : endShift.Start) ? moment$2(endShift.Start).toDate() : null, false)];
1784
+ case 3:
1785
+ _a.sent();
1786
+ _a.label = 4;
1787
+ case 4: return [2 /*return*/];
1733
1788
  }
1734
1789
  });
1735
1790
  }); };
@@ -1742,9 +1797,9 @@ var ShiftPeriodNavigatorControl = function (_a) {
1742
1797
  searchShiftsRangeByParameters(period, null, null, true);
1743
1798
  }, []);
1744
1799
  var startShift = shiftPeriodList[0];
1745
- var endShift = shiftPeriodList[1];
1800
+ var endShift = shiftPeriodList[1] || shiftPeriodList[0];
1746
1801
  var renderShiftCrewInfo = function (shift) {
1747
- if (!showShiftAndCrews || !shift)
1802
+ if (!showShiftAndCrews || !shift || period === "Custom")
1748
1803
  return null;
1749
1804
  return (React__default.createElement("span", { style: {
1750
1805
  paddingRight: 5,
@@ -1758,14 +1813,15 @@ var ShiftPeriodNavigatorControl = function (_a) {
1758
1813
  " - ",
1759
1814
  shift.Crew));
1760
1815
  };
1816
+ var isCustomMode = period === "Custom";
1761
1817
  return (React__default.createElement("div", { className: classes.container },
1762
1818
  React__default.createElement("div", { className: classes.gridItem },
1763
- React__default.createElement(IconButton$1, { size: "small", color: "primary", disabled: loadingShiftPeriodList, onClick: function () { return handleArrowNavigation("prev"); } },
1819
+ React__default.createElement(IconButton$1, { size: "small", color: "primary", disabled: loadingShiftPeriodList || isCustomMode, onClick: function () { return handleArrowNavigation("prev"); } },
1764
1820
  React__default.createElement(ChevronLeft, null))),
1765
1821
  React__default.createElement("div", { className: "".concat(classes.gridItem, " ").concat(classes.datePickerWrapper) },
1766
1822
  React__default.createElement(DatePicker$1, { label: "Start", format: dateFormat, value: moment$2((startShift === null || startShift === void 0 ? void 0 : startShift.Start) || moment$2().subtract(1, "day")), onChange: function (value) {
1767
1823
  return handleDateChange(value ? moment$2(value) : null, "start");
1768
- }, disabled: loadingShiftPeriodList, slots: {
1824
+ }, disabled: loadingShiftPeriodList, enableAccessibleFieldDOMStructure: false, slots: {
1769
1825
  textField: function (props) { return (React__default.createElement(TextField, __assign({}, props, { size: "small", variant: "outlined", fullWidth: true, style: { width: "100%" }, InputProps: __assign(__assign({}, props.InputProps), { style: { paddingTop: "2px" } }) }))); },
1770
1826
  openPickerIcon: function () { return (React__default.createElement("div", { style: {
1771
1827
  display: "flex",
@@ -1785,7 +1841,7 @@ var ShiftPeriodNavigatorControl = function (_a) {
1785
1841
  React__default.createElement("div", { className: "".concat(classes.gridItem, " ").concat(classes.datePickerWrapper) },
1786
1842
  React__default.createElement(DatePicker$1, { label: "End", format: dateFormat, value: moment$2((endShift === null || endShift === void 0 ? void 0 : endShift.Start) || moment$2().subtract(1, "day")), onChange: function (value) {
1787
1843
  return handleDateChange(value ? moment$2(value) : null, "end");
1788
- }, disabled: loadingShiftPeriodList, slots: {
1844
+ }, disabled: loadingShiftPeriodList, enableAccessibleFieldDOMStructure: false, slots: {
1789
1845
  textField: function (props) { return (React__default.createElement(TextField, __assign({}, props, { size: "small", variant: "outlined", fullWidth: true, style: { width: "100%" }, InputProps: __assign(__assign({}, props.InputProps), { style: { paddingTop: "2px" } }) }))); },
1790
1846
  openPickerIcon: function () { return (React__default.createElement("div", { style: {
1791
1847
  display: "flex",
@@ -1798,10 +1854,10 @@ var ShiftPeriodNavigatorControl = function (_a) {
1798
1854
  React__default.createElement(CalendarIcon, null)))); },
1799
1855
  } })),
1800
1856
  React__default.createElement("div", { className: classes.gridItem },
1801
- React__default.createElement(IconButton$1, { size: "small", disabled: loadingShiftPeriodList, onClick: function () { return handleArrowNavigation("next"); } },
1857
+ React__default.createElement(IconButton$1, { size: "small", disabled: loadingShiftPeriodList || isCustomMode, onClick: function () { return handleArrowNavigation("next"); } },
1802
1858
  React__default.createElement(ChevronRight, null))),
1803
1859
  React__default.createElement("div", { className: classes.gridItem },
1804
- React__default.createElement(IconButton$1, { size: "small", disabled: loadingShiftPeriodList, onClick: handleLastShift },
1860
+ React__default.createElement(IconButton$1, { size: "small", disabled: loadingShiftPeriodList || isCustomMode, onClick: handleLastShift },
1805
1861
  React__default.createElement(SkipNextIcon, null)))));
1806
1862
  };
1807
1863