- Updated RecipePage to load actual recipe data from OPModel table - Added GetRecipe() and SaveRecipe() methods to communication layer - Implemented real-time recipe editing with change tracking - Added type definitions for GetRecipe and SaveRecipe in types.ts - Recipe editor now displays all major fields: - Basic Settings (Motion Model, Auto Out Conveyor, Vendor Name, MFG) - Barcode Settings (1D, QR, Data Matrix) - Feature Flags (IgnoreOtherBarcode, DisableCamera, etc.) - Copy and Delete operations now use recipe Title instead of id - Added unsaved changes warning when switching recipes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
79 lines
1.9 KiB
TypeScript
79 lines
1.9 KiB
TypeScript
export enum SystemState {
|
|
IDLE = 'IDLE',
|
|
RUNNING = 'RUNNING',
|
|
ERROR = 'ERROR',
|
|
PAUSED = 'PAUSED',
|
|
}
|
|
|
|
export interface AxisPosition {
|
|
id: string;
|
|
name: string;
|
|
axis: 'X' | 'Y' | 'Z';
|
|
value: number;
|
|
speed: number;
|
|
acc: number;
|
|
dec: number;
|
|
}
|
|
|
|
export interface Recipe {
|
|
id: string;
|
|
name: string;
|
|
lastModified: string;
|
|
}
|
|
|
|
export interface IOPoint {
|
|
id: number;
|
|
name: string;
|
|
type: 'input' | 'output';
|
|
state: boolean;
|
|
}
|
|
|
|
export interface LogEntry {
|
|
id: number;
|
|
timestamp: string;
|
|
message: string;
|
|
type: 'info' | 'warning' | 'error';
|
|
}
|
|
|
|
export interface RobotTarget {
|
|
x: number;
|
|
y: number;
|
|
z: number;
|
|
}
|
|
|
|
// WebView2 Native Bridge Types
|
|
export interface ConfigItem {
|
|
Key: string;
|
|
Value: string;
|
|
Group: string;
|
|
Type: 'String' | 'Number' | 'Boolean';
|
|
Description: string;
|
|
}
|
|
|
|
declare global {
|
|
interface Window {
|
|
chrome?: {
|
|
webview?: {
|
|
hostObjects: {
|
|
machine: {
|
|
MoveAxis(axis: string, value: number): Promise<void>;
|
|
SetIO(id: number, isInput: boolean, state: boolean): Promise<void>;
|
|
SystemControl(command: string): Promise<void>;
|
|
SelectRecipe(recipeId: string): Promise<string>;
|
|
CopyRecipe(recipeId: string, newName: string): Promise<string>;
|
|
DeleteRecipe(recipeId: string): Promise<string>;
|
|
GetConfig(): Promise<string>;
|
|
GetIOList(): Promise<string>;
|
|
GetRecipeList(): Promise<string>;
|
|
GetRecipe(recipeTitle: string): Promise<string>;
|
|
SaveRecipe(recipeTitle: string, recipeData: string): Promise<string>;
|
|
SaveConfig(configJson: string): Promise<void>;
|
|
}
|
|
};
|
|
addEventListener(type: string, listener: (event: any) => void): void;
|
|
removeEventListener(type: string, listener: (event: any) => void): void;
|
|
postMessage(message: any): void;
|
|
}
|
|
}
|
|
}
|
|
} |