Implement collection item reordering with bulk operations and persistent HTML attributes
- Add bulk reorder API endpoint (PUT /api/collections/{id}/reorder) with atomic transactions
- Replace individual position updates with efficient bulk operations in frontend
- Implement unified ID generation and proper data-item-id injection during enhancement
- Fix collection item position persistence through content edit cycles
- Add optimistic UI with rollback capability for better user experience
- Update sqlc queries to include last_edited_by fields in position updates
- Remove obsolete data-content-type attributes and unify naming conventions
This commit is contained in:
@@ -238,6 +238,9 @@ func runServe(cmd *cobra.Command, args []string) {
|
||||
collectionRouter.Post("/{id}/items", contentHandler.CreateCollectionItem)
|
||||
collectionRouter.Put("/{id}/items/{item_id}", contentHandler.UpdateCollectionItem)
|
||||
collectionRouter.Delete("/{id}/items/{item_id}", contentHandler.DeleteCollectionItem)
|
||||
|
||||
// Bulk operations
|
||||
collectionRouter.Put("/{id}/reorder", contentHandler.ReorderCollection)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -286,6 +289,7 @@ func runServe(cmd *cobra.Command, args []string) {
|
||||
fmt.Printf(" POST /api/collections/{id}/items\n")
|
||||
fmt.Printf(" PUT /api/collections/{id}/items/{item_id}\n")
|
||||
fmt.Printf(" DELETE /api/collections/{id}/items/{item_id}\n")
|
||||
fmt.Printf(" PUT /api/collections/{id}/reorder\n")
|
||||
fmt.Printf("🌐 Static sites:\n")
|
||||
for siteID, _ := range siteManager.GetAllSites() {
|
||||
fmt.Printf(" %s: http://localhost%s/sites/%s/\n", siteID, addr, siteID)
|
||||
|
||||
Reference in New Issue
Block a user