You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from #23 (re-applying openbuilt-page-editor onto the Tier-4 shell). src/views/PageDesigner.vue is now reachable at /builder/:slug/pages and the three-pane visual editor (Pages / Menu builders + per-page-type sub-editors + live validation) renders — but it starts from the default empty manifest: there's no plumbing to load the virtual app's current manifest from GET /api/applications/{slug}/manifest (or the Application object) and to persist edits back.
In the original PR #4 that plumbing lived in the competing replacement ApplicationEditor.vue "Design" tab + the applicationEditor Pinia store (src/store/modules/applicationEditor.js, which expects the lib's createObjectStore semantics — fetchObject / saveObject / getError — that development's src/store/modules/object.js doesn't fully provide). Re-introducing that shell was out of scope for #23 (the merged shell has the list + Editor/History/Diff tabs). applicationEditor.js is currently an inert orphan (nothing imports it; Pinia stores are lazy, so it's harmless).
To finish:
Either migrate src/store/modules/object.js → the lib's createObjectStore (so applicationEditor.js works), or rework applicationEditor.js to use the existing object.js API.
Wire PageDesigner.vue to load applicationUuid's manifest on created() (via the slug from $route.params.slug → getManifest or the Application object) and to PUT/PATCH the edited manifest back (a PATCH /api/applications/{slug} or going through OR's objects API).
Add a write endpoint if one doesn't exist (the read side, applications#getManifest, is already there).
Decide the entry point: a "Design" link in the virtual-app context (BuilderHost secondary nav) and/or a button in the ApplicationEditor detail that opens /builder/:slug/pages.
Related: #4 (the spec), #19 (publish-path transition gap).
Follow-up from #23 (re-applying openbuilt-page-editor onto the Tier-4 shell).
src/views/PageDesigner.vueis now reachable at/builder/:slug/pagesand the three-pane visual editor (Pages / Menu builders + per-page-type sub-editors + live validation) renders — but it starts from the default empty manifest: there's no plumbing to load the virtual app's currentmanifestfromGET /api/applications/{slug}/manifest(or the Application object) and to persist edits back.In the original PR #4 that plumbing lived in the competing replacement
ApplicationEditor.vue"Design" tab + theapplicationEditorPinia store (src/store/modules/applicationEditor.js, which expects the lib'screateObjectStoresemantics —fetchObject/saveObject/getError— thatdevelopment'ssrc/store/modules/object.jsdoesn't fully provide). Re-introducing that shell was out of scope for #23 (the merged shell has the list + Editor/History/Diff tabs).applicationEditor.jsis currently an inert orphan (nothing imports it; Pinia stores are lazy, so it's harmless).To finish:
src/store/modules/object.js→ the lib'screateObjectStore(soapplicationEditor.jsworks), or reworkapplicationEditor.jsto use the existingobject.jsAPI.PageDesigner.vueto loadapplicationUuid's manifest oncreated()(via the slug from$route.params.slug→getManifestor the Application object) and to PUT/PATCH the edited manifest back (aPATCH /api/applications/{slug}or going through OR's objects API).applications#getManifest, is already there)./builder/:slug/pages.Related: #4 (the spec), #19 (publish-path transition gap).