diff --git a/src/main/ipc/validation-handler.ts b/src/main/ipc/validation-handler.ts index 7cca723..f26ee2b 100644 --- a/src/main/ipc/validation-handler.ts +++ b/src/main/ipc/validation-handler.ts @@ -755,6 +755,17 @@ export function registerValidationHandlers(): void { } ) + /** + * Clear shared Production IDs + */ + ipcMain.handle( + IPC_CHANNELS.VALIDATION_CLEAR_SHARED_PRODUCTION_IDS, + async (event): Promise => { + log.info('Clearing shared Production IDs') + clearSharedProductionIds(event.sender.id) + } + ) + /** * Get cleaner data (order numbers from shared Production IDs + material codes from MaterialsToBeDeleted) * Filters materials by current user (admin sees all, regular users see only their own) diff --git a/src/preload/index.ts b/src/preload/index.ts index e7dc5f7..ffa6b55 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -140,6 +140,8 @@ const api = { invokeIpc(IPC_CHANNELS.VALIDATION_SET_SHARED_PRODUCTION_IDS, productionIds), getSharedProductionIds: (): Promise => invokeIpc(IPC_CHANNELS.VALIDATION_GET_SHARED_PRODUCTION_IDS), + clearSharedProductionIds: (): Promise => + invokeIpc(IPC_CHANNELS.VALIDATION_CLEAR_SHARED_PRODUCTION_IDS), getCleanerData: (): Promise => invokeIpc(IPC_CHANNELS.VALIDATION_GET_CLEANER_DATA) }, diff --git a/src/renderer/src/pages/ExtractorPage.tsx b/src/renderer/src/pages/ExtractorPage.tsx index c30e5b5..4ab51a1 100644 --- a/src/renderer/src/pages/ExtractorPage.tsx +++ b/src/renderer/src/pages/ExtractorPage.tsx @@ -30,6 +30,9 @@ const ExtractorPage: React.FC = () => { .map((line) => line.trim()) .filter((line) => line.length > 0) window.electron.validation.setSharedProductionIds(orderNumberList) + } else { + // Clear shared Production IDs when input is cleared + window.electron.validation.clearSharedProductionIds() } }, [orderNumbers]) diff --git a/src/shared/ipc-channels.ts b/src/shared/ipc-channels.ts index 52d085e..e6cef3d 100644 --- a/src/shared/ipc-channels.ts +++ b/src/shared/ipc-channels.ts @@ -51,6 +51,7 @@ export const IPC_CHANNELS = { VALIDATION_VALIDATE: 'validation:validate', VALIDATION_SET_SHARED_PRODUCTION_IDS: 'validation:setSharedProductionIds', VALIDATION_GET_SHARED_PRODUCTION_IDS: 'validation:getSharedProductionIds', + VALIDATION_CLEAR_SHARED_PRODUCTION_IDS: 'validation:clearSharedProductionIds', VALIDATION_GET_CLEANER_DATA: 'validation:getCleanerData', // Materials