Live editing sandbox
EditableModule wraps each live module below. OWNER saves directly; USER proposes content for explicit approval. Nested child edits replace prior proposals; positional child IDs describe current visible items, not permanent identities.
EditableModule.wrap(displayModule)
.withEditUrl("/editing-demo/edit/" + module.id)
.withDeleteUrl("/editing-demo/delete/" + module.id)
.withDeleteTarget("#page-content").withDeleteSwap("none")
.withCanEdit(module.canEdit).withCanDelete(module.canDelete)
.withEditMode(module.editMode);Welcome to the Editing Demo
Request-owned editing
This is your temporary browser-session editing sandbox.
- Single modal container
- OOB swaps for save/delete
- Row insert opens add-module modal
Edit this module to see changes apply immediately.
Approval Workflow (User Edit)
USER_EDIT Mode
Edits to this module are staged for approval.
Open the Pending Edits modal to approve or reject.
Fully Locked Module
Locked
No edit or delete buttons appear for this module.
Edit-Only Module
Edit Only
Can be edited but not deleted.
Delete-Only Module
Delete Only
Can be deleted but not edited.
Row Locked (No Add Module)
Row Locking
This row disables the add-module control.
Modules can still be edited or deleted as allowed.
Width Controls
Resize Me
Use the width dropdown in the edit modal to change this column.
Markdown Toggle
Nested Editing Demo
- Item 1
- Item 2
- Item 3