@seedtactics/insight-client 16.8.1 → 16.8.3

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.
Files changed (59) hide show
  1. package/dist/assets/index-BDPKYaRT.js +388 -0
  2. package/dist/components/BarcodeScanning.js +1 -1
  3. package/dist/components/ChooseOperator.js +1 -1
  4. package/dist/components/ErrorsAndLoading.js +1 -1
  5. package/dist/components/LoadingIcon.js +1 -1
  6. package/dist/components/LogEntry.js +25 -25
  7. package/dist/components/ManualSerialEntry.js +1 -1
  8. package/dist/components/MonthSelect.js +1 -1
  9. package/dist/components/Navigation.js +1 -1
  10. package/dist/components/analysis/BasketCycleCards.js +1 -1
  11. package/dist/components/analysis/CostPerPiece.js +1 -1
  12. package/dist/components/analysis/CycleChart.js +2 -2
  13. package/dist/components/analysis/DataTable.js +1 -1
  14. package/dist/components/analysis/HeatChart.js +1 -1
  15. package/dist/components/analysis/ScheduleHistory.js +1 -1
  16. package/dist/components/analysis/ToolReplacements.js +1 -1
  17. package/dist/components/operations/AllMaterial.js +1 -1
  18. package/dist/components/operations/ChartRangeEdit.js +1 -1
  19. package/dist/components/operations/CloseoutReport.js +1 -1
  20. package/dist/components/operations/CompletedParts.js +1 -1
  21. package/dist/components/operations/CurrentWorkorders.js +1 -1
  22. package/dist/components/operations/Dashboard.js +1 -1
  23. package/dist/components/operations/Outliers.js +1 -1
  24. package/dist/components/operations/Programs.js +1 -1
  25. package/dist/components/operations/Rebookings.js +1 -1
  26. package/dist/components/operations/RecentCycleChart.js +1 -1
  27. package/dist/components/operations/RecentSchedules.js +3 -3
  28. package/dist/components/operations/RecentStationCycles.js +1 -1
  29. package/dist/components/operations/SimDayUsage.js +1 -1
  30. package/dist/components/operations/ToolReport.js +4 -4
  31. package/dist/components/operations/WorkorderGantt.js +1 -1
  32. package/dist/components/quality/QualityMaterial.js +1 -1
  33. package/dist/components/quality/RecentFailedInspections.js +1 -1
  34. package/dist/components/station-monitor/BulkRawMaterial.js +1 -1
  35. package/dist/components/station-monitor/Closeout.js +1 -1
  36. package/dist/components/station-monitor/CustomStationMonitorDialog.js +1 -1
  37. package/dist/components/station-monitor/Inspection.js +1 -1
  38. package/dist/components/station-monitor/InvalidateCycle.js +1 -1
  39. package/dist/components/station-monitor/JobDetails.js +1 -1
  40. package/dist/components/station-monitor/LoadStation.js +5 -5
  41. package/dist/components/station-monitor/Material.js +3 -3
  42. package/dist/components/station-monitor/PrintedLabel.js +1 -1
  43. package/dist/components/station-monitor/QuarantineButton.js +1 -1
  44. package/dist/components/station-monitor/Queues.js +3 -3
  45. package/dist/components/station-monitor/QueuesAddMaterial.js +4 -4
  46. package/dist/components/station-monitor/SelectInspType.js +1 -1
  47. package/dist/components/station-monitor/SelectWorkorder.js +1 -1
  48. package/dist/components/station-monitor/SystemOverview.js +9 -7
  49. package/dist/data/all-material-bins.d.ts +1 -1
  50. package/dist/data/all-material-bins.js +5 -5
  51. package/dist/data/chart-times.d.ts +1 -1
  52. package/dist/data/current-cycles.js +3 -3
  53. package/dist/data/operators.d.ts +1 -1
  54. package/dist/data/tools-programs.d.ts +2 -2
  55. package/dist/index.html +1 -1
  56. package/dist/network/api.d.ts +57 -9
  57. package/dist/network/api.js +124 -8
  58. package/package.json +11 -11
  59. package/dist/assets/index-BGjv3-QV.js +0 -388
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* Copyright (c) 2025, John Lenz
3
3
 
4
4
  All rights reserved.
@@ -90,7 +90,7 @@ function SelectJob({ newMaterialTy, setNewMaterialTy, curCollapse, setCurCollaps
90
90
  setCurCollapse(curCollapse && curCollapse.kind === "Job" && curCollapse.unique === j.jobUnique
91
91
  ? null
92
92
  : { kind: "Job", unique: j.jobUnique });
93
- }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { "$expandedOpen": curCollapse !== null &&
93
+ }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { $expandedOpen: curCollapse !== null &&
94
94
  curCollapse.kind === "Job" &&
95
95
  curCollapse.unique === j.jobUnique }) }), j.job ? (_jsx(ListItemIcon, { children: _jsx(PartIdenticon, { part: j.job.partName }) })) : undefined, _jsx(ListItemText, { primary: (j.job?.partName ?? "") + " (" + j.jobUnique + ")", slotProps: { primary: { variant: "h4" } }, secondary: j.job?.routeStartUTC.toLocaleDateString() })] }) }), _jsx(Collapse, { in: curCollapse !== null &&
96
96
  curCollapse.kind === "Job" &&
@@ -110,13 +110,13 @@ function SelectRawMatAndJob({ newMaterialTy, options, setNewMaterialTy, curColla
110
110
  if (newMaterialTy)
111
111
  setNewMaterialTy(null);
112
112
  setCurCollapse(curCollapse && curCollapse.kind === "RawMat" ? null : { kind: "RawMat" });
113
- }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { "$expandedOpen": curCollapse !== null && curCollapse.kind === "RawMat" }) }), _jsx(ListItemText, { primary: "Raw Material" })] }) }), _jsx(Collapse, { in: curCollapse !== null && curCollapse.kind === "RawMat", timeout: "auto", children: _jsx(SelectRawMaterial, { castings: options.castings, newMaterialTy: newMaterialTy, setNewMaterialTy: setNewMaterialTy, indent: true }) }), _jsx(ListItem, { children: _jsxs(ListItemButton, { onClick: () => {
113
+ }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { $expandedOpen: curCollapse !== null && curCollapse.kind === "RawMat" }) }), _jsx(ListItemText, { primary: "Raw Material" })] }) }), _jsx(Collapse, { in: curCollapse !== null && curCollapse.kind === "RawMat", timeout: "auto", children: _jsx(SelectRawMaterial, { castings: options.castings, newMaterialTy: newMaterialTy, setNewMaterialTy: setNewMaterialTy, indent: true }) }), _jsx(ListItem, { children: _jsxs(ListItemButton, { onClick: () => {
114
114
  if (newMaterialTy)
115
115
  setNewMaterialTy(null);
116
116
  setCurCollapse(curCollapse && (curCollapse.kind === "AllJobs" || curCollapse.kind === "Job")
117
117
  ? null
118
118
  : { kind: "AllJobs" });
119
- }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { "$expandedOpen": curCollapse !== null &&
119
+ }, children: [_jsx(ListItemIcon, { children: _jsx(ExpandMore, { $expandedOpen: curCollapse !== null &&
120
120
  (curCollapse.kind === "AllJobs" || curCollapse.kind === "Job") }) }), _jsx(ListItemText, { primary: "Specify Job" })] }) }), _jsx(Collapse, { in: curCollapse !== null && (curCollapse.kind === "AllJobs" || curCollapse.kind === "Job"), timeout: "auto", children: _jsx(SelectJob, { newMaterialTy: newMaterialTy, jobs: options.jobs, setNewMaterialTy: setNewMaterialTy, curCollapse: curCollapse, setCurCollapse: setCurCollapse, indent: true }) })] }));
121
121
  }
122
122
  function PromptForMaterialType({ newMaterialTy, setNewMaterialTy, toQueue, }) {
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* Copyright (c) 2018, John Lenz
3
3
 
4
4
  All rights reserved.
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* Copyright (c) 2021, John Lenz
3
3
 
4
4
  All rights reserved.
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* Copyright (c) 2024, John Lenz
3
3
 
4
4
  All rights reserved.
@@ -248,7 +248,7 @@ function useCellOverview() {
248
248
  basket,
249
249
  mats: matByBasket.get(basket.basketId) ?? [],
250
250
  };
251
- switch (basket.location) {
251
+ switch (basket.position.location) {
252
252
  case BasketLocationEnum.Storage:
253
253
  if (basketWithMaterial.mats.length > 0) {
254
254
  storageFilled += 1;
@@ -259,12 +259,14 @@ function useCellOverview() {
259
259
  break;
260
260
  case BasketLocationEnum.LoadUnload:
261
261
  case BasketLocationEnum.LoadStationStaging: {
262
- const loadNum = basket.locationNum;
262
+ const loadNum = basket.position.locationNum;
263
263
  if (loadNum === null) {
264
264
  floatingBaskets.set(basket.basketId, basketWithMaterial);
265
265
  break;
266
266
  }
267
- const byLoad = basket.location === BasketLocationEnum.LoadUnload ? activeBaskets : stagedBaskets;
267
+ const byLoad = basket.position.location === BasketLocationEnum.LoadUnload
268
+ ? activeBaskets
269
+ : stagedBaskets;
268
270
  const prev = byLoad.get(loadNum) ?? [];
269
271
  prev.push(basketWithMaterial);
270
272
  byLoad.set(loadNum, prev);
@@ -314,7 +316,7 @@ function useCellOverview() {
314
316
  }
315
317
  }
316
318
  const currentBasket = LazySeq.of(activeBaskets.get(load.lulNum) ?? [])
317
- .sortBy((b) => b.basket.locationNum)
319
+ .sortBy((b) => b.basket.position.locationNum)
318
320
  .toRArray();
319
321
  // Extras beyond the first active basket at this station fall back to floating
320
322
  for (const extra of currentBasket.slice(1)) {
@@ -325,7 +327,7 @@ function useCellOverview() {
325
327
  .toRArray());
326
328
  const staging = LazySeq.of(stagedBaskets.get(load.lulNum) ?? [])
327
329
  .filter((basket) => !loadingFromBasketIds.has(basket.basket.basketId))
328
- .sortBy((b) => b.basket.locationNum)
330
+ .sortBy((b) => b.basket.position.locationNum)
329
331
  .toRArray();
330
332
  maxNumStagingRows = Math.max(maxNumStagingRows, staging.length);
331
333
  const sources = LazySeq.of(sourceRows)
@@ -441,7 +443,7 @@ function PalletFaces({ maxNumFaces, mats: allMats, loadingOntoPallet, noFilter,
441
443
  }
442
444
  }
443
445
  function BasketContents({ mats }) {
444
- const byPosition = LazySeq.of(mats).orderedGroupBy((m) => (m.location.basketSubPosition ?? 0) + 1);
446
+ const byPosition = LazySeq.of(mats).orderedGroupBy((m) => (m.location.basketSlot ?? 0) + 1);
445
447
  return (_jsx(Box, { sx: {
446
448
  display: "flex",
447
449
  flexWrap: "wrap",
@@ -8,7 +8,7 @@ export declare const BasketsBinId: MaterialBinId;
8
8
  export interface MaterialBinState {
9
9
  readonly curBinOrder: ReadonlyArray<MaterialBinId>;
10
10
  }
11
- export declare const currentMaterialBinOrder: import("jotai").WritableAtom<readonly string[], [readonly string[] | typeof import("jotai/utils").RESET | ((prev: readonly string[]) => readonly string[] | typeof import("jotai/utils").RESET)], void>;
11
+ export declare const currentMaterialBinOrder: import("jotai").WritableAtom<readonly string[], [typeof import("jotai/utils").RESET | readonly string[] | ((prev: readonly string[]) => typeof import("jotai/utils").RESET | readonly string[])], void>;
12
12
  export declare function moveMaterialBin(curBinOrder: ReadonlyArray<MaterialBinId>, oldIdx: number, newIdx: number): ReadonlyArray<MaterialBinId>;
13
13
  export declare enum MaterialBinType {
14
14
  LoadStations = "Bin_LoadStations",
@@ -63,14 +63,14 @@ export var MaterialBinType;
63
63
  })(MaterialBinType || (MaterialBinType = {}));
64
64
  function basketLocation(st) {
65
65
  let loc;
66
- if (st.locationTitle && st.locationTitle.length > 0) {
67
- loc = st.locationTitle;
66
+ if (st.position.locationTitle && st.position.locationTitle.length > 0) {
67
+ loc = st.position.locationTitle;
68
68
  }
69
69
  else {
70
- loc = st.location + " " + st.locationNum.toString();
70
+ loc = st.position.location + " " + st.position.locationNum.toString();
71
71
  }
72
- if (st.slot) {
73
- loc += `-${st.slot}`;
72
+ if (st.position.zone) {
73
+ loc += `-${st.position.zone}`;
74
74
  }
75
75
  return loc;
76
76
  }
@@ -1,7 +1,7 @@
1
1
  import { Atom, WritableAtom } from "jotai";
2
2
  export type Last30ChartStart = "StartOfToday" | "StartOfYesterday" | "StartOfWeek" | "StartOfLastWeek" | "Last30";
3
3
  export type Last30ChartEnd = "Now" | "EndOfYesterday" | "EndOfLastWeek";
4
- export declare const last30WeekdayStartIdx: WritableAtom<0 | 2 | 1 | 3 | 4 | 5 | 6, [0 | 2 | 1 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET | ((prev: 0 | 2 | 1 | 3 | 4 | 5 | 6) => 0 | 2 | 1 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET)], void>;
4
+ export declare const last30WeekdayStartIdx: WritableAtom<0 | 1 | 2 | 3 | 4 | 5 | 6, [0 | 1 | 2 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET | ((prev: 0 | 1 | 2 | 3 | 4 | 5 | 6) => 0 | 1 | 2 | 3 | 4 | 5 | 6 | typeof import("jotai/utils").RESET)], void>;
5
5
  export declare const last30WeekdayStartMinuteOffset: WritableAtom<number, [number | typeof import("jotai/utils").RESET | ((prev: number) => number | typeof import("jotai/utils").RESET)], void>;
6
6
  export declare const last30ChartStartTimes: import("jotai-family").AtomFamily<Last30ChartStart, Atom<Date>>;
7
7
  export declare const last30ChartEndTimes: import("jotai-family").AtomFamily<Last30ChartEnd, Atom<Date | null>>;
@@ -39,9 +39,9 @@ import { durationToMinutes, durationToSeconds } from "../util/parseISODuration.j
39
39
  function basketsAtLoad(currentSt) {
40
40
  return LazySeq.ofObject(currentSt.baskets ?? {})
41
41
  .collect(([, basket]) => {
42
- if (basket.location === BasketLocationEnum.LoadUnload ||
43
- basket.location === BasketLocationEnum.LoadStationStaging) {
44
- return [basket.basketId, { group: "L/U", num: basket.locationNum }];
42
+ if (basket.position.location === BasketLocationEnum.LoadUnload ||
43
+ basket.position.location === BasketLocationEnum.LoadStationStaging) {
44
+ return [basket.basketId, { group: "L/U", num: basket.position.locationNum }];
45
45
  }
46
46
  return null;
47
47
  })
@@ -1,2 +1,2 @@
1
- export declare const allOperators: import("jotai").WritableAtom<readonly string[], [readonly string[] | typeof import("jotai/utils").RESET | ((prev: readonly string[]) => readonly string[] | typeof import("jotai/utils").RESET)], void>;
1
+ export declare const allOperators: import("jotai").WritableAtom<readonly string[], [typeof import("jotai/utils").RESET | readonly string[] | ((prev: readonly string[]) => typeof import("jotai/utils").RESET | readonly string[])], void>;
2
2
  export declare const currentOperator: import("jotai").WritableAtom<string | null, [newVal: string | null], void>;
@@ -55,8 +55,8 @@ export interface ProgramReport {
55
55
  readonly cellNameDifferentFromProgName: boolean;
56
56
  }
57
57
  export declare function calcProgramReport(usage: ToolUsage, cycleTimes: EstimatedCycleTimes, jobs: HashMap<string, Readonly<IHistoricJob>> | null, progsInCellCtrl: ReadonlyArray<Readonly<IProgramInCellController>>, progsToShow: ReadonlySet<string> | null): ProgramReport;
58
- export declare const programFilter: import("jotai").PrimitiveAtom<"AllPrograms" | "ActivePrograms"> & {
59
- init: "AllPrograms" | "ActivePrograms";
58
+ export declare const programFilter: import("jotai").PrimitiveAtom<"ActivePrograms" | "AllPrograms"> & {
59
+ init: "ActivePrograms" | "AllPrograms";
60
60
  };
61
61
  export declare const programReportRefreshTime: import("jotai").WritableAtom<Date | null, [Date], Promise<void>>;
62
62
  export declare const currentProgramReport: import("jotai").Atom<ProgramReport | null>;
package/dist/index.html CHANGED
@@ -44,7 +44,7 @@
44
44
  }
45
45
  }
46
46
  </style>
47
- <script type="module" crossorigin src="/assets/index-BGjv3-QV.js"></script>
47
+ <script type="module" crossorigin src="/assets/index-BDPKYaRT.js"></script>
48
48
  <link rel="stylesheet" crossorigin href="/assets/index-CbqW4-gR.css">
49
49
  </head>
50
50
  <body>
@@ -709,6 +709,7 @@ export declare class CurrentStatus implements ICurrentStatus {
709
709
  baskets?: {
710
710
  [key: string]: BasketStatus;
711
711
  } | undefined;
712
+ basketMoveInstructions?: BasketMoveInstruction[] | undefined;
712
713
  constructor(data?: ICurrentStatus);
713
714
  init(_data?: any): void;
714
715
  static fromJS(data: any): CurrentStatus;
@@ -732,6 +733,7 @@ export interface ICurrentStatus {
732
733
  baskets?: {
733
734
  [key: string]: BasketStatus;
734
735
  } | undefined;
736
+ basketMoveInstructions?: BasketMoveInstruction[] | undefined;
735
737
  }
736
738
  export declare class HistoricJob extends Job implements IHistoricJob {
737
739
  scheduleId?: string | undefined;
@@ -865,7 +867,7 @@ export declare class InProcessMaterialLocation implements IInProcessMaterialLoca
865
867
  currentQueue?: string | undefined;
866
868
  queuePosition?: number | undefined;
867
869
  basketId?: number | undefined;
868
- basketSubPosition?: number | undefined;
870
+ basketSlot?: number | undefined;
869
871
  constructor(data?: IInProcessMaterialLocation);
870
872
  init(_data?: any): void;
871
873
  static fromJS(data: any): InProcessMaterialLocation;
@@ -878,7 +880,7 @@ export interface IInProcessMaterialLocation {
878
880
  currentQueue?: string | undefined;
879
881
  queuePosition?: number | undefined;
880
882
  basketId?: number | undefined;
881
- basketSubPosition?: number | undefined;
883
+ basketSlot?: number | undefined;
882
884
  }
883
885
  export declare enum LocType {
884
886
  Free = "Free",
@@ -895,7 +897,7 @@ export declare class InProcessMaterialAction implements IInProcessMaterialAction
895
897
  loadFromBasketId?: number | undefined;
896
898
  unloadIntoQueue?: string | undefined;
897
899
  unloadToBasketId?: number | undefined;
898
- unloadToBasketSubPosition?: number | undefined;
900
+ unloadToBasketSlot?: number | undefined;
899
901
  elapsedLoadUnloadTime?: string | undefined;
900
902
  program?: string | undefined;
901
903
  elapsedMachiningTime?: string | undefined;
@@ -914,7 +916,7 @@ export interface IInProcessMaterialAction {
914
916
  loadFromBasketId?: number | undefined;
915
917
  unloadIntoQueue?: string | undefined;
916
918
  unloadToBasketId?: number | undefined;
917
- unloadToBasketSubPosition?: number | undefined;
919
+ unloadToBasketSlot?: number | undefined;
918
920
  elapsedLoadUnloadTime?: string | undefined;
919
921
  program?: string | undefined;
920
922
  elapsedMachiningTime?: string | undefined;
@@ -1040,10 +1042,9 @@ export declare enum WorkorderSerialCloseout {
1040
1042
  }
1041
1043
  export declare class BasketStatus implements IBasketStatus {
1042
1044
  basketId: number;
1043
- location: BasketLocationEnum;
1044
- locationNum: number;
1045
- locationTitle?: string | undefined;
1046
- slot?: number | undefined;
1045
+ position: BasketPosition;
1046
+ emptySlots?: number[];
1047
+ unknownSlots?: number[];
1047
1048
  constructor(data?: IBasketStatus);
1048
1049
  init(_data?: any): void;
1049
1050
  static fromJS(data: any): BasketStatus;
@@ -1051,10 +1052,25 @@ export declare class BasketStatus implements IBasketStatus {
1051
1052
  }
1052
1053
  export interface IBasketStatus {
1053
1054
  basketId: number;
1055
+ position: BasketPosition;
1056
+ emptySlots?: number[];
1057
+ unknownSlots?: number[];
1058
+ }
1059
+ export declare class BasketPosition implements IBasketPosition {
1054
1060
  location: BasketLocationEnum;
1055
1061
  locationNum: number;
1056
1062
  locationTitle?: string | undefined;
1057
- slot?: number | undefined;
1063
+ zone?: number | undefined;
1064
+ constructor(data?: IBasketPosition);
1065
+ init(_data?: any): void;
1066
+ static fromJS(data: any): BasketPosition;
1067
+ toJSON(data?: any): any;
1068
+ }
1069
+ export interface IBasketPosition {
1070
+ location: BasketLocationEnum;
1071
+ locationNum: number;
1072
+ locationTitle?: string | undefined;
1073
+ zone?: number | undefined;
1058
1074
  }
1059
1075
  export declare enum BasketLocationEnum {
1060
1076
  LoadUnload = "LoadUnload",
@@ -1062,6 +1078,38 @@ export declare enum BasketLocationEnum {
1062
1078
  Storage = "Storage",
1063
1079
  InTransit = "InTransit"
1064
1080
  }
1081
+ export declare class BasketMoveInstruction implements IBasketMoveInstruction {
1082
+ instructionId: string;
1083
+ basketId: number;
1084
+ source: BasketPosition;
1085
+ destination: BasketPosition;
1086
+ reason: BasketMoveReason;
1087
+ displayText: string;
1088
+ prerequisiteInstructionId?: string | undefined;
1089
+ constructor(data?: IBasketMoveInstruction);
1090
+ init(_data?: any): void;
1091
+ static fromJS(data: any): BasketMoveInstruction;
1092
+ toJSON(data?: any): any;
1093
+ }
1094
+ export interface IBasketMoveInstruction {
1095
+ instructionId: string;
1096
+ basketId: number;
1097
+ source: BasketPosition;
1098
+ destination: BasketPosition;
1099
+ reason: BasketMoveReason;
1100
+ displayText: string;
1101
+ prerequisiteInstructionId?: string | undefined;
1102
+ }
1103
+ export declare enum BasketMoveReason {
1104
+ LoadMaterial = "LoadMaterial",
1105
+ UnloadMaterial = "UnloadMaterial",
1106
+ ProcessTransfer = "ProcessTransfer",
1107
+ SupplyMaterialToCell = "SupplyMaterialToCell",
1108
+ SupplyEmptyBasket = "SupplyEmptyBasket",
1109
+ ReturnToStorage = "ReturnToStorage",
1110
+ RemoveForCorrection = "RemoveForCorrection",
1111
+ Other = "Other"
1112
+ }
1065
1113
  export declare class EditMaterialInLogEvents implements IEditMaterialInLogEvents {
1066
1114
  oldMaterialID: number;
1067
1115
  newMaterialID: number;
@@ -3528,6 +3528,11 @@ export class CurrentStatus {
3528
3528
  : new BasketStatus();
3529
3529
  }
3530
3530
  }
3531
+ if (Array.isArray(_data["BasketMoveInstructions"])) {
3532
+ this.basketMoveInstructions = [];
3533
+ for (let item of _data["BasketMoveInstructions"])
3534
+ this.basketMoveInstructions.push(BasketMoveInstruction.fromJS(item));
3535
+ }
3531
3536
  }
3532
3537
  }
3533
3538
  static fromJS(data) {
@@ -3597,6 +3602,11 @@ export class CurrentStatus {
3597
3602
  : undefined;
3598
3603
  }
3599
3604
  }
3605
+ if (Array.isArray(this.basketMoveInstructions)) {
3606
+ data["BasketMoveInstructions"] = [];
3607
+ for (let item of this.basketMoveInstructions)
3608
+ data["BasketMoveInstructions"].push(item ? item.toJSON() : undefined);
3609
+ }
3600
3610
  return data;
3601
3611
  }
3602
3612
  }
@@ -3901,7 +3911,7 @@ export class InProcessMaterialLocation {
3901
3911
  this.currentQueue = _data["CurrentQueue"];
3902
3912
  this.queuePosition = _data["QueuePosition"];
3903
3913
  this.basketId = _data["BasketId"];
3904
- this.basketSubPosition = _data["BasketSubPosition"];
3914
+ this.basketSlot = _data["BasketSlot"];
3905
3915
  }
3906
3916
  }
3907
3917
  static fromJS(data) {
@@ -3918,7 +3928,7 @@ export class InProcessMaterialLocation {
3918
3928
  data["CurrentQueue"] = this.currentQueue;
3919
3929
  data["QueuePosition"] = this.queuePosition;
3920
3930
  data["BasketId"] = this.basketId;
3921
- data["BasketSubPosition"] = this.basketSubPosition;
3931
+ data["BasketSlot"] = this.basketSlot;
3922
3932
  return data;
3923
3933
  }
3924
3934
  }
@@ -3948,7 +3958,7 @@ export class InProcessMaterialAction {
3948
3958
  this.loadFromBasketId = _data["LoadFromBasketId"];
3949
3959
  this.unloadIntoQueue = _data["UnloadIntoQueue"];
3950
3960
  this.unloadToBasketId = _data["UnloadToBasketId"];
3951
- this.unloadToBasketSubPosition = _data["UnloadToBasketSubPosition"];
3961
+ this.unloadToBasketSlot = _data["UnloadToBasketSlot"];
3952
3962
  this.elapsedLoadUnloadTime = _data["ElapsedLoadUnloadTime"];
3953
3963
  this.program = _data["Program"];
3954
3964
  this.elapsedMachiningTime = _data["ElapsedMachiningTime"];
@@ -3971,7 +3981,7 @@ export class InProcessMaterialAction {
3971
3981
  data["LoadFromBasketId"] = this.loadFromBasketId;
3972
3982
  data["UnloadIntoQueue"] = this.unloadIntoQueue;
3973
3983
  data["UnloadToBasketId"] = this.unloadToBasketId;
3974
- data["UnloadToBasketSubPosition"] = this.unloadToBasketSubPosition;
3984
+ data["UnloadToBasketSlot"] = this.unloadToBasketSlot;
3975
3985
  data["ElapsedLoadUnloadTime"] = this.elapsedLoadUnloadTime;
3976
3986
  data["Program"] = this.program;
3977
3987
  data["ElapsedMachiningTime"] = this.elapsedMachiningTime;
@@ -4243,29 +4253,80 @@ export class BasketStatus {
4243
4253
  this[property] = data[property];
4244
4254
  }
4245
4255
  }
4256
+ if (!data) {
4257
+ this.position = new BasketPosition();
4258
+ }
4246
4259
  }
4247
4260
  init(_data) {
4248
4261
  if (_data) {
4249
4262
  this.basketId = _data["BasketId"];
4263
+ this.position = _data["Position"]
4264
+ ? BasketPosition.fromJS(_data["Position"])
4265
+ : new BasketPosition();
4266
+ if (Array.isArray(_data["EmptySlots"])) {
4267
+ this.emptySlots = [];
4268
+ for (let item of _data["EmptySlots"])
4269
+ this.emptySlots.push(item);
4270
+ }
4271
+ if (Array.isArray(_data["UnknownSlots"])) {
4272
+ this.unknownSlots = [];
4273
+ for (let item of _data["UnknownSlots"])
4274
+ this.unknownSlots.push(item);
4275
+ }
4276
+ }
4277
+ }
4278
+ static fromJS(data) {
4279
+ data = typeof data === "object" ? data : {};
4280
+ let result = new BasketStatus();
4281
+ result.init(data);
4282
+ return result;
4283
+ }
4284
+ toJSON(data) {
4285
+ data = typeof data === "object" ? data : {};
4286
+ data["BasketId"] = this.basketId;
4287
+ data["Position"] = this.position ? this.position.toJSON() : undefined;
4288
+ if (Array.isArray(this.emptySlots)) {
4289
+ data["EmptySlots"] = [];
4290
+ for (let item of this.emptySlots)
4291
+ data["EmptySlots"].push(item);
4292
+ }
4293
+ if (Array.isArray(this.unknownSlots)) {
4294
+ data["UnknownSlots"] = [];
4295
+ for (let item of this.unknownSlots)
4296
+ data["UnknownSlots"].push(item);
4297
+ }
4298
+ return data;
4299
+ }
4300
+ }
4301
+ export class BasketPosition {
4302
+ constructor(data) {
4303
+ if (data) {
4304
+ for (var property in data) {
4305
+ if (data.hasOwnProperty(property))
4306
+ this[property] = data[property];
4307
+ }
4308
+ }
4309
+ }
4310
+ init(_data) {
4311
+ if (_data) {
4250
4312
  this.location = _data["Location"];
4251
4313
  this.locationNum = _data["LocationNum"];
4252
4314
  this.locationTitle = _data["LocationTitle"];
4253
- this.slot = _data["Slot"];
4315
+ this.zone = _data["Zone"];
4254
4316
  }
4255
4317
  }
4256
4318
  static fromJS(data) {
4257
4319
  data = typeof data === "object" ? data : {};
4258
- let result = new BasketStatus();
4320
+ let result = new BasketPosition();
4259
4321
  result.init(data);
4260
4322
  return result;
4261
4323
  }
4262
4324
  toJSON(data) {
4263
4325
  data = typeof data === "object" ? data : {};
4264
- data["BasketId"] = this.basketId;
4265
4326
  data["Location"] = this.location;
4266
4327
  data["LocationNum"] = this.locationNum;
4267
4328
  data["LocationTitle"] = this.locationTitle;
4268
- data["Slot"] = this.slot;
4329
+ data["Zone"] = this.zone;
4269
4330
  return data;
4270
4331
  }
4271
4332
  }
@@ -4276,6 +4337,61 @@ export var BasketLocationEnum;
4276
4337
  BasketLocationEnum["Storage"] = "Storage";
4277
4338
  BasketLocationEnum["InTransit"] = "InTransit";
4278
4339
  })(BasketLocationEnum || (BasketLocationEnum = {}));
4340
+ export class BasketMoveInstruction {
4341
+ constructor(data) {
4342
+ if (data) {
4343
+ for (var property in data) {
4344
+ if (data.hasOwnProperty(property))
4345
+ this[property] = data[property];
4346
+ }
4347
+ }
4348
+ if (!data) {
4349
+ this.source = new BasketPosition();
4350
+ this.destination = new BasketPosition();
4351
+ }
4352
+ }
4353
+ init(_data) {
4354
+ if (_data) {
4355
+ this.instructionId = _data["InstructionId"];
4356
+ this.basketId = _data["BasketId"];
4357
+ this.source = _data["Source"] ? BasketPosition.fromJS(_data["Source"]) : new BasketPosition();
4358
+ this.destination = _data["Destination"]
4359
+ ? BasketPosition.fromJS(_data["Destination"])
4360
+ : new BasketPosition();
4361
+ this.reason = _data["Reason"];
4362
+ this.displayText = _data["DisplayText"];
4363
+ this.prerequisiteInstructionId = _data["PrerequisiteInstructionId"];
4364
+ }
4365
+ }
4366
+ static fromJS(data) {
4367
+ data = typeof data === "object" ? data : {};
4368
+ let result = new BasketMoveInstruction();
4369
+ result.init(data);
4370
+ return result;
4371
+ }
4372
+ toJSON(data) {
4373
+ data = typeof data === "object" ? data : {};
4374
+ data["InstructionId"] = this.instructionId;
4375
+ data["BasketId"] = this.basketId;
4376
+ data["Source"] = this.source ? this.source.toJSON() : undefined;
4377
+ data["Destination"] = this.destination ? this.destination.toJSON() : undefined;
4378
+ data["Reason"] = this.reason;
4379
+ data["DisplayText"] = this.displayText;
4380
+ data["PrerequisiteInstructionId"] = this.prerequisiteInstructionId;
4381
+ return data;
4382
+ }
4383
+ }
4384
+ export var BasketMoveReason;
4385
+ (function (BasketMoveReason) {
4386
+ BasketMoveReason["LoadMaterial"] = "LoadMaterial";
4387
+ BasketMoveReason["UnloadMaterial"] = "UnloadMaterial";
4388
+ BasketMoveReason["ProcessTransfer"] = "ProcessTransfer";
4389
+ BasketMoveReason["SupplyMaterialToCell"] = "SupplyMaterialToCell";
4390
+ BasketMoveReason["SupplyEmptyBasket"] = "SupplyEmptyBasket";
4391
+ BasketMoveReason["ReturnToStorage"] = "ReturnToStorage";
4392
+ BasketMoveReason["RemoveForCorrection"] = "RemoveForCorrection";
4393
+ BasketMoveReason["Other"] = "Other";
4394
+ })(BasketMoveReason || (BasketMoveReason = {}));
4279
4395
  export class EditMaterialInLogEvents {
4280
4396
  constructor(data) {
4281
4397
  if (data) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seedtactics/insight-client",
3
- "version": "16.8.1",
3
+ "version": "16.8.3",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "url": "https://github.com/SeedTactics/fms-insight"
@@ -27,8 +27,8 @@
27
27
  "@emotion/react": "^11.14.0",
28
28
  "@emotion/styled": "^11.14.1",
29
29
  "@fontsource/roboto": "^5.2.10",
30
- "@mui/icons-material": "^9.1.1",
31
- "@mui/material": "^9.1.2",
30
+ "@mui/icons-material": "^9.2.0",
31
+ "@mui/material": "^9.2.0",
32
32
  "@react-spring/rafz": "^10.1.2",
33
33
  "@react-spring/web": "^10.1.2",
34
34
  "@seedtactics/immutable-collections": "^1.1.1",
@@ -60,19 +60,19 @@
60
60
  "@types/d3-sankey": "^0.12.5",
61
61
  "@types/d3-scale": "^4.0.9",
62
62
  "@types/d3-shape": "^3.1.8",
63
- "@types/node": "^26.0.1",
63
+ "@types/node": "^26.1.1",
64
64
  "@types/react": "^19.2.17",
65
65
  "@types/react-dom": "^19.2.3",
66
66
  "@vitejs/plugin-react": "^6.0.3",
67
- "@vitest/browser-playwright": "^4.1.9",
67
+ "@vitest/browser-playwright": "^4.1.10",
68
68
  "jsdom": "^29.1.1",
69
69
  "nswag": "^14.7.1",
70
- "oxfmt": "^0.56.0",
71
- "oxlint": "^1.71.0",
72
- "oxlint-tsgolint": "^0.23.0",
73
- "typescript": "^6.0.3",
74
- "vite": "^8.1.0",
75
- "vitest": "^4.1.9",
70
+ "oxfmt": "^0.58.0",
71
+ "oxlint": "^1.73.0",
72
+ "oxlint-tsgolint": "^0.24.0",
73
+ "typescript": "^7.0.2",
74
+ "vite": "^8.1.4",
75
+ "vitest": "^4.1.10",
76
76
  "vitest-browser-react": "^2.2.0"
77
77
  },
78
78
  "scripts": {