Content
View differences
Updated by Alexander Coles 2 days ago
## Purpose
Replace the multi-column plain BorderBox in Documents::Admin::DocumentTypes::IndexComponent with the shared table. This was explicitly deferred by #DREAM-697. The component inherits Admin::Enumerations::IndexComponent; #DREAM-789 already owns its migration to sortable-lists.
## Scope
Use OpPrimer::BorderBoxTableComponent and OpPrimer::BorderBoxRowComponent. Preserve the table/rowgroup/row/columnheader/cell semantics, accessible table name, column indices, mobile layout, and keyboard access to links and actions. This targets the existing ARIA table implementation; a native HTML table rewrite or new DataTable is outside this work.
Preserve the name/type column, document count, drag handle, default/active indicators and all existing creation/edit/deletion/move controls.
## Acceptance criteria
* - [ ] Document-type data and actions use shared table/row components with meaningful headers and mobile behavior.
* - [ ] Uses [DREAM-838](https://community.openproject.org/wp/DREAM-838) while retaining #DREAM-789's #DREAM-789's enumeration endpoint, relative-anchor validation, shared menu integration and morph boundary.
* - [ ] Drag and keyboard-accessible menu moves persist after reload and remain usable after a morph.
* - [ ] Document counts, state indicators, actions, permissions and empty state remain correct.
* - [ ] Component and focused browser coverage verify semantics and ordering behavior.
## Coordination
Part of [DREAM-837](https://community.openproject.org/wp/DREAM-837); follows [DREAM-838](https://community.openproject.org/wp/DREAM-838) and the document-type/enumeration slice of #DREAM-789. Backend/menu migration stays in DREAM-789; this ticket owns the table presentation and integration. The ordering avoids conflicting simultaneous rewrites of the inherited component contract.
## Starting points
modules/documents/app/components/documents/admin/document\_types/index\_component.{rb,html.erb}, item\_component.\*, modules/documents/app/components/documents/admin/document_types/index_component.{rb,html.erb}, item_component.*, and app/components/admin/enumerations/.
## Hint for QA
This can be tested on `/admin/settings/document_types` . The table there should basically look and behave like before.
Replace the multi-column plain BorderBox in Documents::Admin::DocumentTypes::IndexComponent with the shared table. This was explicitly deferred by #DREAM-697. The component inherits Admin::Enumerations::IndexComponent; #DREAM-789 already owns its migration to sortable-lists.
## Scope
Use OpPrimer::BorderBoxTableComponent and OpPrimer::BorderBoxRowComponent. Preserve the table/rowgroup/row/columnheader/cell semantics, accessible table name, column indices, mobile layout, and keyboard access to links and actions. This targets the existing ARIA table implementation; a native HTML table rewrite or new DataTable is outside this work.
Preserve the name/type column, document count, drag handle, default/active indicators and all existing creation/edit/deletion/move controls.
## Acceptance criteria
*
*
*
*
*
## Coordination
Part of [DREAM-837](https://community.openproject.org/wp/DREAM-837); follows [DREAM-838](https://community.openproject.org/wp/DREAM-838) and the document-type/enumeration slice of #DREAM-789. Backend/menu migration stays in DREAM-789; this ticket owns the table presentation and integration. The ordering avoids conflicting simultaneous rewrites of the inherited component contract.
## Starting points
modules/documents/app/components/documents/admin/document\_types/index\_component.{rb,html.erb}, item\_component.\*,
## Hint for QA
This can be tested on `/admin/settings/document_types` . The table there should basically look and behave like before.