Content: drag & drop reordering and moving of chapters, sections and articles
- academic: POST /api/v1/content/reorder applies a full tree arrangement in one request — chapter order, section order and section->chapter moves, article order and article->section moves (positions and parent ids updated) - web: POST /admin/content/reorder accepts the tree from JS (CSRF via query param), calls the gateway with the admin token - /learn admin view: draggable handles (⠿) for chapters, sections and articles; drop before/after to reorder, drop into a chapter/section to move; visual indicators; structure is collected from DOM and saved, then page reloads - docs: class diagram method + new sequence diagram for drag & drop
This commit is contained in:
@@ -345,3 +345,15 @@ th.th-sortable.is-desc::after { content: " ▼"; color: var(--c-text-muted); fon
|
||||
background: var(--c-surface); color: var(--c-text); font-family: inherit;
|
||||
}
|
||||
th.th-filterable { padding-bottom: 0.35rem; }
|
||||
|
||||
/* drag & drop материалов */
|
||||
.drag-handle {
|
||||
cursor: grab; user-select: none; color: var(--c-text-muted);
|
||||
font-size: 1rem; line-height: 1; padding: 0.15rem 0.3rem; border-radius: 0.35rem;
|
||||
}
|
||||
.drag-handle:hover { background: var(--c-bg); color: var(--c-text); }
|
||||
.drag-handle:active { cursor: grabbing; }
|
||||
.dragging { opacity: 0.45; }
|
||||
.drop-before { box-shadow: 0 -3px 0 0 var(--c-text); }
|
||||
.drop-after { box-shadow: 0 3px 0 0 var(--c-text); }
|
||||
.drop-into { outline: 2px dashed var(--c-border); outline-offset: 3px; border-radius: 0.35rem; }
|
||||
|
||||
Reference in New Issue
Block a user