Add export to cmd bar (#1593)
* Add new exportFile icon * Isolate exportFromEngine command * Naive initial export command * Update types to accept functions for arg defaultValue, required, and options * Make existing helper functions and configs work with new types * Make UI components work with new types support resolving function values and conditional logic * Add full export command to command bar * Replace ExportButton with thin wrapper on cmd bar command * fmt * Fix stale tests and bugs found by good tests * fmt * Update src/components/CommandBar/CommandArgOptionInput.tsx * Update snapshot tests and onboarding wording * Move the panel open click into doExport * Don't need to input storage step in export tests anymore * Remove console logs, fmt, select options if we need to * Increase test timeout --------- Co-authored-by: Kurt Hutten <k.hutten@protonmail.ch>
This commit is contained in:
27
src/lib/exportFromEngine.ts
Normal file
27
src/lib/exportFromEngine.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import { engineCommandManager } from 'lang/std/engineConnection'
|
||||
import { type Models } from '@kittycad/lib'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
|
||||
// Isolating a function to call the engine to export the current scene.
|
||||
// Because it has given us trouble in automated testing environments.
|
||||
export function exportFromEngine({
|
||||
source_unit,
|
||||
format,
|
||||
}: {
|
||||
source_unit: Models['UnitLength_type']
|
||||
format: Models['OutputFormat_type']
|
||||
}) {
|
||||
return engineCommandManager.sendSceneCommand({
|
||||
type: 'modeling_cmd_req',
|
||||
cmd: {
|
||||
type: 'export',
|
||||
// By default let's leave this blank to export the whole scene.
|
||||
// In the future we might want to let the user choose which entities
|
||||
// in the scene to export. In that case, you'd pass the IDs thru here.
|
||||
entity_ids: [],
|
||||
format,
|
||||
source_unit,
|
||||
},
|
||||
cmd_id: uuidv4(),
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user