@dexteel/mesf-core 4.25.2 → 4.26.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.
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "4.25.2"
2
+ ".": "4.26.1"
3
3
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ # Changelog
2
+
3
+ ## [4.26.1](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.26.0...@dexteel/mesf-core-v4.26.1) (2025-03-06)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **Shift Period Navigator:** Use cssGrid instead of Flexbox to improve responsiveness ([f90e120](https://github.com/dexteel/mesf-core-frontend/commit/f90e120c140e15209c976963ae62aa56636fa789))
9
+ * **Shift Period Navigator:** Use cssGrid instead of Flexbox to improve responsiveness ([b645194](https://github.com/dexteel/mesf-core-frontend/commit/b6451942fddeb3f25d4dc01bf48224a3c6ee5c22))
10
+
11
+ ## [4.26.0] - 2025-03-05
12
+
13
+
14
+
15
+ # Changelog
16
+
17
+ ## [4.26.0](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.25.2...@dexteel/mesf-core-v4.26.0) (2025-03-05)
18
+
19
+
20
+ ### Features
21
+
22
+ * **API Service:** Show method and params in URL ([13b3529](https://github.com/dexteel/mesf-core-frontend/commit/13b3529fa6fa82533c2ae4b34469c115422492e3))
23
+ * **settings:** Add SearchBar as quick filter ([8660d62](https://github.com/dexteel/mesf-core-frontend/commit/8660d62fd51b60a3ecf901b167649e74a1905ac5))
24
+
25
+ ## [4.25.2] - 2025-02-11
26
+
27
+
28
+
1
29
  # Changelog
2
30
 
3
31
  ## [4.25.2](https://github.com/dexteel/mesf-core-frontend/compare/@dexteel/mesf-core-v4.25.1...@dexteel/mesf-core-v4.25.2) (2025-02-11)
package/dist/index.esm.js CHANGED
@@ -27,6 +27,7 @@ export * from '@microsoft/signalr';
27
27
  import { Alert as Alert$3, Autocomplete } from '@material-ui/lab';
28
28
  import { useForm, Controller } from 'react-hook-form';
29
29
  import 'ag-grid-community/styles/ag-theme-material.min.css';
30
+ import SearchIcon from '@material-ui/icons/Search';
30
31
  import DeleteIcon from '@material-ui/icons/Delete';
31
32
  import FormatListBulletedSharpIcon from '@material-ui/icons/FormatListBulletedSharp';
32
33
  import axios from 'axios';
@@ -7556,7 +7557,7 @@ var MESApiService = /** @class */ (function () {
7556
7557
  MESApiService.prototype.callV2 = function (procedure, parameters, database) {
7557
7558
  if (database === void 0) { database = ""; }
7558
7559
  return __awaiter(this, void 0, void 0, function () {
7559
- var data, formattedParameters, response, err_1;
7560
+ var data, formattedParameters, curatedMethod, response, err_1;
7560
7561
  return __generator(this, function (_a) {
7561
7562
  switch (_a.label) {
7562
7563
  case 0:
@@ -7577,10 +7578,18 @@ var MESApiService = /** @class */ (function () {
7577
7578
  Date.prototype.toJSON = function () {
7578
7579
  return moment$4(this).format("YYYY-MM-DDTHH:mm:ss");
7579
7580
  }; // eslint-disable-line
7581
+ curatedMethod = procedure.replace(/[\[\]]/g, "");
7580
7582
  _a.label = 1;
7581
7583
  case 1:
7582
7584
  _a.trys.push([1, 3, , 4]);
7583
- return [4 /*yield*/, axiosInstance.post(this.config.API_PROCEDURE_URL + "/Execute", data)];
7585
+ return [4 /*yield*/, axiosInstance.post("/action/".concat(curatedMethod), data, {
7586
+ params: data.parameters.map(function (param) {
7587
+ var _a;
7588
+ return (_a = {},
7589
+ _a[param.name.replace("@", "")] = param.value,
7590
+ _a);
7591
+ })
7592
+ })];
7584
7593
  case 2:
7585
7594
  response = _a.sent();
7586
7595
  return [2 /*return*/, { ok: true, data: response.data }];
@@ -8328,43 +8337,42 @@ var getShiftsRangeByParameters = function (period, Start, End, StartShiftId, End
8328
8337
  });
8329
8338
  };
8330
8339
 
8331
- var useStyles$7 = makeStyles(function (theme) {
8332
- var _a, _b, _c;
8333
- return ({
8334
- container: {
8335
- display: "flex",
8336
- alignItems: "center",
8337
- width: "100%",
8338
- margin: 0,
8339
- padding: "8px 0",
8340
- gap: "8px",
8341
- flexWrap: "wrap"
8340
+ var useStyles$7 = makeStyles(function (theme) { return ({
8341
+ container: {
8342
+ display: "grid",
8343
+ gridTemplateColumns: "auto minmax(100px, 1fr) 80px minmax(100px, 1fr) auto auto",
8344
+ alignItems: "center",
8345
+ width: "100%",
8346
+ margin: 0,
8347
+ padding: "8px 0",
8348
+ gap: "8px"
8349
+ },
8350
+ gridItem: {
8351
+ display: "flex",
8352
+ alignItems: "center"
8353
+ },
8354
+ datePickerWrapper: {
8355
+ minWidth: "100px",
8356
+ fontSize: ".8rem!important",
8357
+ margin: "0!important",
8358
+ "& .MuiInputAdornment-root": {
8359
+ margin: "0!important"
8342
8360
  },
8343
- gridItem: (_a = {
8344
- display: "flex",
8345
- alignItems: "center"
8346
- },
8347
- _a[theme.breakpoints.down("sm")] = {
8348
- width: "100%"
8349
- },
8350
- _a),
8351
- datePickerWrapper: (_b = {
8352
- flex: 1,
8353
- minWidth: "150px"
8354
- },
8355
- _b[theme.breakpoints.down("sm")] = {
8356
- minWidth: "100%"
8357
- },
8358
- _b),
8359
- selectWrapper: (_c = {
8360
- width: "120px"
8361
- },
8362
- _c[theme.breakpoints.down("sm")] = {
8363
- width: "100%"
8364
- },
8365
- _c)
8366
- });
8367
- });
8361
+ "& .MuiInputBase-input": {
8362
+ fontSize: "1rem!important",
8363
+ padding: "4px 8px !important"
8364
+ }
8365
+ },
8366
+ selectWrapper: {
8367
+ width: "80px",
8368
+ "& .MuiInputBase-input": {
8369
+ fontSize: "0.8rem !important",
8370
+ padding: "4px 8px !important",
8371
+ display: "inline-flex",
8372
+ alignItems: "center"
8373
+ }
8374
+ }
8375
+ }); });
8368
8376
  var DEFAULT_PERIOD_OPTIONS = [
8369
8377
  { value: "Shift", label: "Shift" },
8370
8378
  { value: "Day", label: "Day" },
@@ -8552,7 +8560,7 @@ var ShiftPeriodNavigatorControl = function (_a) {
8552
8560
  React__default.createElement(DatePicker$1, { label: "Start", format: dateFormat, value: moment((startShift === null || startShift === void 0 ? void 0 : startShift.Start) || moment().subtract(1, "day")), onChange: function (value) {
8553
8561
  return handleDateChange(value ? moment(value) : null, "start");
8554
8562
  }, disabled: loadingShiftPeriodList, slots: {
8555
- 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: { height: "50px", paddingTop: "2px" } }) }))); },
8563
+ 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" } }) }))); },
8556
8564
  openPickerIcon: function () { return (React__default.createElement("div", { style: {
8557
8565
  display: "flex",
8558
8566
  alignItems: "center",
@@ -8564,23 +8572,23 @@ var ShiftPeriodNavigatorControl = function (_a) {
8564
8572
  } })),
8565
8573
  React__default.createElement("div", { className: "".concat(classes.gridItem, " ").concat(classes.selectWrapper) },
8566
8574
  React__default.createElement(FormControl, { variant: "outlined", size: "small", fullWidth: true },
8567
- React__default.createElement(Select, { value: period, onChange: handleChangeScope, disabled: loadingShiftPeriodList, style: {
8568
- height: "50px",
8569
- width: "100%",
8570
- paddingBottom: 0
8575
+ React__default.createElement(InputLabel, { id: "period-select-label" }, "Period"),
8576
+ React__default.createElement(Select, { value: period, onChange: handleChangeScope, disabled: loadingShiftPeriodList, label: "Period", labelId: "period-select-label", style: {
8577
+ width: "100%"
8571
8578
  } }, periodOptions.map(function (option) { return (React__default.createElement(MenuItem, { key: option.value, value: option.value }, option.label)); })))),
8572
8579
  React__default.createElement("div", { className: "".concat(classes.gridItem, " ").concat(classes.datePickerWrapper) },
8573
8580
  React__default.createElement(DatePicker$1, { label: "End", format: dateFormat, value: moment((endShift === null || endShift === void 0 ? void 0 : endShift.Start) || moment().subtract(1, "day")), onChange: function (value) {
8574
8581
  return handleDateChange(value ? moment(value) : null, "end");
8575
8582
  }, disabled: loadingShiftPeriodList, slots: {
8576
- 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: { height: "50px", paddingTop: "2px" } }) }))); },
8583
+ 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" } }) }))); },
8577
8584
  openPickerIcon: function () { return (React__default.createElement("div", { style: {
8578
8585
  display: "flex",
8579
8586
  alignItems: "center",
8587
+ margin: "0 !important",
8580
8588
  width: "100%"
8581
8589
  } },
8582
8590
  renderShiftCrewInfo(endShift),
8583
- React__default.createElement(IconButton$1, { style: { padding: "4px", flexShrink: 0 } },
8591
+ React__default.createElement(IconButton$1, { style: { padding: "0px", flexShrink: 0 } },
8584
8592
  React__default.createElement(CalendarIcon, null)))); }
8585
8593
  } })),
8586
8594
  React__default.createElement("div", { className: classes.gridItem },
@@ -10460,24 +10468,26 @@ var EditSetting = function (_a) {
10460
10468
  };
10461
10469
 
10462
10470
  var TableSettings = function (_a) {
10463
- var getSettingsFromAPI = _a.getSettingsFromAPI; _a.isLoading; var rows = _a.rows;
10471
+ var getSettingsFromAPI = _a.getSettingsFromAPI, isLoading = _a.isLoading, rows = _a.rows;
10464
10472
  var _b = useContextMenuMESF(), showContextMenu = _b.showContextMenu, registerConfig = _b.registerConfig;
10465
- var _c = useSettingsContext(); _c.state; var actions = _c.actions;
10473
+ var _c = useSettingsContext(); _c.state; var setSettingSelected = _c.actions.setSettingSelected;
10466
10474
  var classes = useStyles$3();
10467
- var _d = useState(false), openModalNew = _d[0], setOpenModalNew = _d[1];
10468
- var _e = useState(false), openModalEditSetting = _e[0], setOpenModalEditSetting = _e[1];
10469
- var _f = useState(false), openModalDeleteSetting = _f[0], setOpenModalDeleteSetting = _f[1];
10475
+ var _d = useState(null), gridApi = _d[0], setGridApi = _d[1];
10476
+ var _e = useState(""), filterValue = _e[0], setFilterValue = _e[1];
10477
+ var _f = useState(false), openModalNew = _f[0], setOpenModalNew = _f[1];
10478
+ var _g = useState(false), openModalEditSetting = _g[0], setOpenModalEditSetting = _g[1];
10479
+ var _h = useState(false), openModalDeleteSetting = _h[0], setOpenModalDeleteSetting = _h[1];
10470
10480
  var getMenuOptions = useSettingsOptionsFunctions({
10471
- setSettingId: actions.setSettingSelected,
10481
+ setSettingId: setSettingSelected,
10472
10482
  setShowDeleteModal: setOpenModalDeleteSetting,
10473
10483
  setShowCreateModal: setOpenModalNew,
10474
10484
  setShowEditModal: setOpenModalEditSetting
10475
10485
  }).getMenuOptions;
10476
- var _g = useTableData({
10486
+ var _j = useTableData({
10477
10487
  setOpenModalEditSetting: setOpenModalEditSetting,
10478
10488
  setOpenModalDeleteSetting: setOpenModalDeleteSetting,
10479
10489
  showContextMenu: showContextMenu
10480
- }), columnDefs = _g.columnDefs, defaultColDef = _g.defaultColDef;
10490
+ }), columnDefs = _j.columnDefs, defaultColDef = _j.defaultColDef;
10481
10491
  var loadingOverlayComponent = useMemo(function () {
10482
10492
  return (React__default.createElement("div", { style: {
10483
10493
  width: "100%",
@@ -10502,10 +10512,27 @@ var TableSettings = function (_a) {
10502
10512
  getOptions: getMenuOptions
10503
10513
  });
10504
10514
  }, []);
10515
+ useEffect(function () {
10516
+ if (isLoading) {
10517
+ gridApi === null || gridApi === void 0 ? void 0 : gridApi.showLoadingOverlay();
10518
+ }
10519
+ else {
10520
+ gridApi === null || gridApi === void 0 ? void 0 : gridApi.hideOverlay();
10521
+ }
10522
+ }, [isLoading, gridApi]);
10505
10523
  return (React__default.createElement(React__default.Fragment, null,
10506
10524
  React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", className: classes.root },
10507
10525
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" } },
10508
10526
  React__default.createElement(Typography$1, { variant: "h5", style: { margin: "20px 0 20px", fontWeight: 600 } }, "Settings")),
10527
+ React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { margin: "10px 20px" } },
10528
+ React__default.createElement(TextField, { fullWidth: true, label: "Search", variant: "outlined", size: "small", margin: "dense", value: filterValue, onChange: function (event) {
10529
+ setFilterValue(event.target.value);
10530
+ gridApi === null || gridApi === void 0 ? void 0 : gridApi.setQuickFilter(event.target.value);
10531
+ }, InputProps: {
10532
+ startAdornment: (React__default.createElement(InputAdornment, { position: "start" },
10533
+ React__default.createElement(IconButton$1, { edge: "start", type: "submit" },
10534
+ React__default.createElement(SearchIcon, null))))
10535
+ } })),
10509
10536
  React__default.createElement(Grid, { container: true, justifyContent: "center", alignItems: "center", className: classes.root },
10510
10537
  React__default.createElement(Grid, { item: true, md: 12, xs: 12, style: { padding: "0 15px" }, className: classes.relative },
10511
10538
  React__default.createElement(CreateSetting, { show: openModalNew, onHide: function (shouldUpdate) {
@@ -10532,9 +10559,9 @@ var TableSettings = function (_a) {
10532
10559
  } },
10533
10560
  React__default.createElement("div", { style: { height: "100%", width: "100%" }, className: "ag-theme-alpine" },
10534
10561
  React__default.createElement(AgGridReact, { rowData: rows, columnDefs: columnDefs, defaultColDef: defaultColDef, rowHeight: 34, headerHeight: 34, animateRows: true, loadingOverlayComponent: loadingOverlayComponent, getContextMenuItems: function (e) { return getContextMenuItems(e); }, pagination: true, rowSelection: "single", onRowDoubleClicked: function (event) {
10535
- actions.setSettingSelected(event.data);
10562
+ setSettingSelected(event.data);
10536
10563
  setOpenModalEditSetting(true);
10537
- } }))),
10564
+ }, onGridReady: function (params) { return setGridApi(params.api); } }))),
10538
10565
  React__default.createElement(Grid, { container: true, justifyContent: "flex-end" },
10539
10566
  React__default.createElement(Grid, { item: true, md: 2, xs: 12, style: {
10540
10567
  display: "flex",