import {WorkbenchRegistry} from "workbenches/registry"; import planeOperation from "cad/craft/primitives/simplePlane/simplePlaneOperation"; import createDatumOperation from "cad/craft/datum/create/createDatumOperation"; import moveDatumOperation from "cad/craft/datum/move/moveDatumOperation"; import rotateDatumOperation from "cad/craft/datum/rotate/rotateDatumOperation"; import datumOperation from "cad/craft/primitives/plane/planeOperation"; import {Bundle} from "bundler/bundleSystem"; import {WorkbenchService} from "cad/workbench/workbenchService"; import {OperationService} from "cad/craft/operationBundle"; interface WorkbenchesLoaderActivationContext { workbenchService: WorkbenchService, operationService: OperationService } type WorkbenchesLoaderWorkingContext = WorkbenchesLoaderActivationContext; export const WorkbenchesLoaderBundle: Bundle = { activationDependencies: [ '@Workbench', '@Operation' ], activate(ctx: WorkbenchesLoaderWorkingContext) { registerCoreOperations(ctx); WorkbenchRegistry.forEach(wConfig => ctx.workbenchService.registerWorkbench(wConfig)); ctx.workbenchService.switchToDefaultWorkbench(); }, BundleName: "@WorkbenchesLoader", } function registerCoreOperations(ctx: WorkbenchesLoaderActivationContext) { ctx.operationService.registerOperations([ planeOperation, createDatumOperation, moveDatumOperation, rotateDatumOperation, datumOperation, ] as any); }