feat(17-02): tree reorder page and singleton form in the admin
- ReorderView: indented tree with drag handle, move up/down, outdent and indent (buttons and arrow keys on the handle), pointer drag before, after or inside a row and never into its own subtree; one POST with the whole node set 400 ms after the last move, flushed on leave; a failed save restores the saved tree, a 409 reloads; loading, empty, load-failure and 403 states; partition selector - ListView: outline Reorder button before New record, passing the filtered partition - SettingsIndexView opens a singleton controller's record through GET …/singleton; FormView in singleton mode has no Delete and returns to the settings index - reorder.* and messages.list.reorder phrase keys (en, pl), smoke spec, docs
This commit is contained in:
@@ -72,6 +72,20 @@ export type FieldNotice = Schemas['cabana.FieldNotice']
|
||||
export type AdminDependentOptionsResult = Schemas['cabana.AdminDependentOptionsResult']
|
||||
/** One dependent option; depth indents a choice taken from a tree. */
|
||||
export type AdminDependentOption = Schemas['cabana.AdminDependentOption']
|
||||
/** The tree reorder page (D-09): title, partition and the scoped nodes. */
|
||||
export type AdminReorderTree = Schemas['cabana.AdminReorderTree']
|
||||
/** One node of a reorder tree; parent_id is null at the top level. */
|
||||
export type AdminReorderNode = Schemas['cabana.AdminReorderNode']
|
||||
/** One node of a reorder save. */
|
||||
export type AdminReorderNodeInput = Schemas['cabana.AdminReorderNodeInput']
|
||||
/** Body of POST …/reorder: the whole scoped node set and the partition. */
|
||||
export type AdminReorderRequest = Schemas['cabana.AdminReorderRequest']
|
||||
/** The partition of a reorder page: its label, the choices and the one shown. */
|
||||
export type AdminReorderPartition = Schemas['cabana.AdminReorderPartition']
|
||||
/** A list schema's tree reorder page (title, partition column). */
|
||||
export type ListReorder = Schemas['cabana.ListReorder']
|
||||
/** The id of a singleton controller's one record (D-11). */
|
||||
export type AdminSingletonResult = Schemas['cabana.AdminSingletonResult']
|
||||
/** A repeater's row form: the nested fields of one row (D-07). */
|
||||
export type RepeaterForm = Schemas['cabana.RepeaterForm']
|
||||
/** A registered toolbar action the admin may run, with its localized label. */
|
||||
|
||||
Reference in New Issue
Block a user