feat(project-editor): add draft/publish status, dirty tracking, save/publish to facade

Wires ProjectValidator into ProjectEditorFacade and extends ProjectEditorState
with status ('draft'|'published') and lastSavedBootstrap. Adds dirty computed
(diffed against lastSavedBootstrap), validationIssues computed, and save()/publish()
methods. publish() calls PlatformRuntimeService.reloadFromBootstrap() and refuses
when validation issues exist. loadBootstrap() seeds lastSavedBootstrap so a
freshly-loaded bootstrap is not dirty.
This commit is contained in:
sdarbinyan
2026-07-13 11:01:04 +04:00
parent 265f2fcbac
commit 223f908887
2 changed files with 46 additions and 1 deletions

View File

@@ -18,6 +18,8 @@ export interface ProjectEditorState {
bootstrap: BootstrapConfig | null;
importError: string | null;
activeSection: ProjectEditorSectionId;
status: 'draft' | 'published';
lastSavedBootstrap: BootstrapConfig | null;
}
export interface ProjectEditorWidgetPreset {