Ma77Ball opened a new pull request, #8942: URL: https://github.com/apache/texera/pull/8942
### What changes were proposed in this PR? - Extracted the duplicated "Versions & Files" tab from `dataset-detail` and `model-detail` into one shared presentational component, `texera-versions-files-browser` (template, SCSS, toolbar view-state, sider resize, and copy-path logic). - Both detail pages now render `<texera-versions-files-browser>` with inputs/outputs and keep their own data loading and version-selection logic. - Kept `isMaximized` and `isRightBarCollapsed` parent-owned as two-way bindings, since `isMaximized` also gates the page header outside the tab; the child reports toggles rather than owning the flags. - Moved the view-state unit tests (sider resize, animation-frame scheduling, copy-path, toggle emits) into the new component's spec; parent specs keep their integration coverage by rendering the real child. ### Any related issues, documentation, discussions? Closes: #8941 ### How was this PR tested? - Run `cd frontend && npx ng test --include='**/versions-files-browser.component.spec.ts' --include='**/dataset-detail.component.spec.ts' --include='**/model-detail.component.spec.ts'`, expect all 231 tests to pass. - Open a dataset detail page, switch to the "Versions & Files" tab, confirm the version picker, file tree, file renderer, resize handle, maximize/minimize, hide/show right bar, copy-path, and zip download all behave as before. - Repeat on a model detail page and confirm identical behavior, and confirm the model Settings tab (which still uses nz-select) is unaffected. ### Was this PR authored or co-authored using generative AI tooling? Co-authored with Claude Opus 4.8 in compliance with ASF 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
