Add script detail pages with scope grouping
- Add ScriptDetailPage for actions, regular, and scopes
- Add scope field to script API response (from backend)
- Replace scope raw-PHP endpoint with client-side filtering via scope field
- Show action and regular scripts grouped by scope on scope detail page
- Remove inline switch from action cards (moved to detail page)
- Add router-links from list pages to detail pages
- Update MSW mocks with scope field for all script types
1 parent c2e496d commit 77677c62d66f59aeadbab48568dcbdc757046c54
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 23 hours ago
Showing 113 changed files
View
webclient-vue/.env 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/client.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/http.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/mappers.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/modules/areas.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/modules/devices.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/modules/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/api/modules/scripts.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/base.css 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/block-navigation.js 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/feedback/AppEmptyState.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/feedback/AppErrorState.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/feedback/AppLoadingState.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/feedback/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/layout/AppShell.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/components/layout/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/favicon.png 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/areas/components/AreaTreeNode.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/areas/components/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/areas/pages/AreaTreePage.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/areas/pages/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/devices/components/DeviceConnectionBadge.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/devices/components/DeviceStateCell.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/devices/components/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/devices/pages/DevicesScanningPage.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/devices/pages/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/scripts/pages/ScriptsActionsPage.vue.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/features/scripts/pages/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/prettify.css 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/prettify.js 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/sort-arrow-sprite.png 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/sorter.js 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/areas.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/devices.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/favorites.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/scanning.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/stores/scripts.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/test/mocks/handlers.js.html 0 → 100644
Too large (Show diff)
View
webclient-vue/coverage/test/mocks/index.html 0 → 100644
Too large (Show diff)
View
webclient-vue/docs/migration-plan.md
Too large (Show diff)
View
webclient-vue/docs/smoke-checklist.md 0 → 100644
Too large (Show diff)
View
webclient-vue/package-lock.json
Too large (Show diff)
View
webclient-vue/package.json
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Bold.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-BoldItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-ExtraLight.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-ExtraLightItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Italic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Light.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-LightItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Medium.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-MediumItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Regular.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBold.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-SemiBoldItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-Thin.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/IBMPlexMono-ThinItalic.ttf 0 → 100644
Too large (Show diff)
View
webclient-vue/public/assets/fonts/IBM_Plex_Mono/OFL.txt 0 → 100644
Too large (Show diff)
View
webclient-vue/src/api/__tests__/client.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/api/__tests__/http.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/api/__tests__/mappers.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/api/__tests__/modules.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/api/modules/areas.js
Too large (Show diff)
View
webclient-vue/src/api/modules/devices.js
Too large (Show diff)
View
webclient-vue/src/api/modules/scripts.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/app/main.js
Too large (Show diff)
View
webclient-vue/src/components/feedback/AppEmptyState.vue
Too large (Show diff)
View
webclient-vue/src/components/feedback/AppErrorState.vue
Too large (Show diff)
View
webclient-vue/src/components/feedback/AppLoadingState.vue
Too large (Show diff)
View
webclient-vue/src/components/feedback/__tests__/AppEmptyState.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/components/feedback/__tests__/AppErrorState.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/components/feedback/__tests__/AppLoadingState.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/components/layout/AppShell.vue
Too large (Show diff)
View
webclient-vue/src/components/layout/__tests__/AppShell.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/components/ui/UiBadge.vue 100644 → 0
Too large (Show diff)
View
webclient-vue/src/components/ui/UiButton.vue 100644 → 0
Too large (Show diff)
View
webclient-vue/src/features/areas/components/AreaTreeNode.vue
Too large (Show diff)
View
webclient-vue/src/features/areas/components/__tests__/AreaTreeNode.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/areas/pages/AreaDetailPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/areas/pages/AreaFavoritesPage.vue
Too large (Show diff)
View
webclient-vue/src/features/areas/pages/AreaTreePage.vue
Too large (Show diff)
View
webclient-vue/src/features/devices/components/DeviceConnectionBadge.vue
Too large (Show diff)
View
webclient-vue/src/features/devices/components/DeviceStateCell.vue
Too large (Show diff)
View
webclient-vue/src/features/devices/components/__tests__/DeviceConnectionBadge.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/devices/components/__tests__/DeviceStateCell.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/devices/pages/DevicesListPage.vue
Too large (Show diff)
View
webclient-vue/src/features/devices/pages/DevicesScanningPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/scripts/pages/ScriptDetailPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/scripts/pages/ScriptsActionsPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/scripts/pages/ScriptsRegularPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/scripts/pages/ScriptsScopesPage.vue 0 → 100644
Too large (Show diff)
View
webclient-vue/src/features/system/NotFoundPage.vue
Too large (Show diff)
View
webclient-vue/src/router/routes.js
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/areas.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/devices.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/favorites.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/scanning.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/scripts-regular-scopes.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/__tests__/scripts.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/areas.js
Too large (Show diff)
View
webclient-vue/src/stores/devices.js
Too large (Show diff)
View
webclient-vue/src/stores/scanning.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/stores/scripts.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/styles/main.css
Too large (Show diff)
View
webclient-vue/src/test/integration/area-lifecycle.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/test/integration/device-discovery.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/test/integration/script-execution.spec.js 0 → 100644
Too large (Show diff)
View
webclient-vue/src/test/mocks/handlers.js 0 → 100644
Too large (Show diff)
View
webclient-vue/vite.config.js
Too large (Show diff)
View
webclient-vue/vitest.setup.js 0 → 100644
Too large (Show diff)