Fix OS switching not working on tree view UI
This commit resolves a rendering bug in the tree view component. Previously, updating the tree collection prior to node updates led to rendering errors due to the presence of non-existent nodes in the new collection. Changes: - Implement manual control over the rendering process in tree view. This includes clearing the rendering queue and currently rendered nodes before updates, aligning the rendering process with the updated collection. - Add Cypress E2E tests to test switching between all operating systems and script views, ensuring no uncaught errors and preventing regression. - Replace hardcoded operating system lists in the download URL list view with a unified `getSupportedOsList()` method from the application, reducing duplication and simplifying future updates. - Rename `initial-nodes` to `nodes` in `TreeView.vue` to reflect their mutable nature. - Centralize the function for getting operating system names into `OperatingSystemNames.ts`, improving reusability in E2E tests.
This commit is contained in:
15
src/presentation/components/Shared/OperatingSystemNames.ts
Normal file
15
src/presentation/components/Shared/OperatingSystemNames.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { OperatingSystem } from '@/domain/OperatingSystem';
|
||||
|
||||
export function getOperatingSystemDisplayName(os: OperatingSystem): string {
|
||||
const displayName = OperatingSystemNames[os];
|
||||
if (!displayName) {
|
||||
throw new RangeError(`Unsupported operating system ID: ${os}`);
|
||||
}
|
||||
return displayName;
|
||||
}
|
||||
|
||||
const OperatingSystemNames: Partial<Record<OperatingSystem, string>> = {
|
||||
[OperatingSystem.Windows]: 'Windows',
|
||||
[OperatingSystem.macOS]: 'macOS',
|
||||
[OperatingSystem.Linux]: 'Linux (preview)',
|
||||
};
|
||||
Reference in New Issue
Block a user