forked from 1b-agent/opencadstudio-upstream
feat(block-editor): add Test Block preview
Preview the current unsaved block in a disposable drawing with independent history. Keep normal Draw tools available, append Close Test Block, and return to the original editor without saving. Guard persistence paths and handle refresh and parent-close lifecycle by stable document identity.
This commit is contained in:
1 parent
0a29be07f7
commit
9632979d09
22 files changed
+801
-65
No files matched your search
@@ -1148,6 +1148,12 @@ impl OpenCADStudio {
|
||||
"view_focus" => self.control_view_focus(req)?,
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
"save" => {
|
||||
if self.tabs[i].block_test.is_some() {
|
||||
return Err(failure(
|
||||
"temporary_document",
|
||||
"Test Block is temporary and cannot be saved",
|
||||
));
|
||||
}
|
||||
let path = req["path"]
|
||||
.as_str()
|
||||
.map(std::path::PathBuf::from)
|
||||
@@ -1198,6 +1204,12 @@ impl OpenCADStudio {
|
||||
// Web: no filesystem path; the drawing comes back in the reply.
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
"save" => {
|
||||
if self.tabs[i].block_test.is_some() {
|
||||
return Err(failure(
|
||||
"temporary_document",
|
||||
"Test Block is temporary and cannot be saved",
|
||||
));
|
||||
}
|
||||
use base64::Engine as _;
|
||||
let default_is_dxf = crate::io::source_is_dxf(None, &self.tabs[i].scene.document);
|
||||
let (version, is_dxf) = super::automation::requested_save_target(
|
||||
|
||||
Reference in new issue
Block a user