Commit Graph

20 Commits

Author SHA1 Message Date
Lorenz Hilpert
4af0c3de3c ♻️ refactor(core-tabs): restructure library and merge title-management
- Reorganize core/tabs internal structure:
  - Move guards to `guards/` folder
  - Move internal services to `internal/` folder
  - Move resolvers to `resolvers/` folder
  - Move components to `components/` folder
- Migrate title-management library into core/tabs:
  - Move TitleStrategy to `internal/tab-title.strategy.ts`
  - Add `provideCoreTabs()` provider function
  - Delete common/title-management library
- Improve code quality from review findings:
  - Add SVG validation before bypassSecurityTrustHtml (security)
  - Convert TokenLoginComponent to standalone with inject()
  - Fix typo: laoderElement → loaderElement
  - Improve type safety in oms.service.ts
  - Rename getCurrentLocation → getCurrentLocationWithValidation
  - Remove empty ngOnInit from AbstractCreateCustomer
- Update shell-tab-item component with new styling and animations
2025-12-15 21:06:47 +01:00
Lorenz Hilpert
eca1e5b8b1 feat(shell-tabs): improve collapse behavior with scroll and delay
- Add 1-second delay before collapsing when mouse moves away (desktop)
- Add scroll-to-top detection: expand when page is near top (<50px)
- Add scroll direction detection for tablet: expand on scroll up, collapse on scroll down
- Scroll direction requires 50px threshold before triggering
- Mouse proximity detection disabled on tablet devices
2025-12-11 15:04:41 +01:00
Lorenz Hilpert
3d217ae83a 💫 feat(shell-tabs): add subtle animation for active tab
- Add scale pulse animation when tab becomes active
- Respect prefers-reduced-motion for accessibility
- Prevent animation during fade-slide-out transitions
2025-12-11 13:54:49 +01:00
Lorenz Hilpert
0a1f25a1ee 📝 docs(shell): update READMEs for shell and connectivity libraries
- Expand core-connectivity README with usage examples and API docs
- Add TabsCollapsedService documentation to shell-common README
- Update shell-layout README with responsive behavior documentation
- Update library-reference.md with current library descriptions
2025-12-10 20:40:12 +01:00
Lorenz Hilpert
609a7ed6dd ️ feat(shell): add E2E testing and ARIA accessibility attributes
- Add data-what/data-which attributes for E2E test targeting
- Add ARIA roles (tablist, tab, group) for screen readers
- Add aria-label attributes for interactive elements
- Add aria-current for active tab indication
2025-12-10 20:37:23 +01:00
Lorenz Hilpert
5bebd3de4d feat(shell): add logging and JSDoc documentation across shell components
- Add @isa/core/logging to services and components with actions
- Add comprehensive JSDoc documentation with @example blocks
- Fix typo: TabsCollabsedService → TabsCollapsedService
- Add error handling with try/catch for async operations
- Add tap operator for logging in NetworkStatusService
2025-12-10 20:36:58 +01:00
Lorenz Hilpert
16b9761573 💡 docs(shell): add JSDoc documentation for shell components and services
Add comprehensive JSDoc comments to shell layout, navigation, and tabs
components to improve code documentation and IDE support.

- Document TabsCollabsedService with usage examples
- Document ShellLayoutComponent with feature descriptions
- Document ShellNavigationItemComponent with signal and method descriptions
- Document ShellNavigationSubItemComponent with route resolution details
- Document navigations configuration with route type explanations
2025-12-10 20:07:54 +01:00
Lorenz Hilpert
7a86fcf507 feat(shell): add tabs collapsed state service and navigation indicators
Add TabsCollabsedService to manage tabs bar collapsed/expanded state with
proximity-based switching. Implement activity indicators for navigation items
that bubble up from child routes when menu is collapsed.

- Add TabsCollabsedService for centralized tabs state management
- Add indicator support to navigation types and components
- Implement indicator bubbling from children to parent when collapsed
- Update shell-layout with click-outside-to-close for mobile navigation
- Add dynamic route resolution with factory functions and signals
- Update shell-tabs with compact mode and proximity detection
2025-12-10 20:07:35 +01:00
Lorenz Hilpert
1cc13eebe1 feat(shell): enhance tab routing and responsive navigation
- Add tab route injection utilities (injectTabRoute, injectLabeledTabRoute,
  injectLegacyTabRoute, injectLabeledLegacyTabRoute) for dynamic tab-aware navigation
- Improve TabService with tabsByActivationOrder computed, removeTab returning
  previous tab, and removeAllTabs method
- Implement slide-in/slide-out animations for navigation on tablet viewports
- Update navigation config to use new tab route injection utilities
- Add dynamic date calculation for package inspection filter
- Enhance shell-tabs with close functionality, keyboard navigation, and
  proximity-based compact mode
- Update shell-layout to handle navigation visibility and margin responsively
- Add comprehensive JSDoc documentation to navigation types
- Update README documentation for navigation and tabs libraries
2025-12-08 17:51:10 +01:00
Lorenz Hilpert
44426109bd feat(shell-layout): integrate tabs and responsive element positioning
- Add ShellTabsComponent to the header section
- Use UiElementSizeObserverDirective for dynamic margin calculations
- Apply fixed positioning for header and navigation with proper z-index
- Calculate main content margins based on header/navigation dimensions
2025-12-05 21:05:45 +01:00
Lorenz Hilpert
bb9e9ff90e feat(shell-tabs): scaffold shell-tabs library with tab components
Adds new shell-tabs library with ShellTabsComponent and ShellTabItemComponent
for managing application tabs in the shell header area.
2025-12-05 21:05:31 +01:00
Lorenz Hilpert
e3c60f14f7 feat(shell-navigation): implement navigation components with collapsible menu
Add modular navigation system with three reusable components:
- NavigationGroupComponent for grouped navigation sections
- NavigationItemComponent for main navigation entries with expand/collapse
- NavigationSubItemComponent for nested child routes

Include navigation types, route configuration with dynamic tabId support,
and integrate navigation into shell-layout sidebar.
2025-12-04 22:15:35 +01:00
Lorenz Hilpert
5fe85282e7 📝 docs(shell): update READMEs and library reference
Update documentation for shell-header, shell-layout, shell-notifications,
and shell-common libraries with API references, E2E attributes, and
accessibility documentation.
2025-12-03 21:18:34 +01:00
Lorenz Hilpert
93752efb9d feat(shell-layout): integrate shell-header component
Add ShellHeaderComponent to layout and configure path aliases for new
shell-common and shell-notifications libraries.
2025-12-03 21:17:36 +01:00
Lorenz Hilpert
3ed3d0b466 ♻️ refactor(shell-header): restructure with modular sub-components
Reorganize header into focused sub-components:
- ShellNavigationToggleComponent: drawer toggle with dynamic icon
- ShellFontSizeSelectorComponent: accessibility font size control
- ShellLogoutButtonComponent: logout with AuthService integration
- ShellNotificationsToggleComponent: notification panel overlay

Add E2E testing attributes and ARIA accessibility support
2025-12-03 21:16:57 +01:00
Lorenz Hilpert
daf79d55a5 feat(shell-notifications): add notification display component
Add feature library for rendering grouped notifications with:
- Grouped notification display with collapsible sections
- Unread/read status indication
- Relative timestamps via date-fns
- Action buttons supporting navigation and callback types
2025-12-03 21:16:33 +01:00
Lorenz Hilpert
062a8044f2 feat(shell-common): add shared shell services library
Add new util library providing state management services for shell components:
- NavigationService: navigation drawer open/closed state
- FontSizeService: application-wide font size with document sync
- NotificationsService: notification state with read status tracking
2025-12-03 21:16:14 +01:00
Lorenz Hilpert
86b0493591 feat(shell-layout): enhance network status banner with animations and tests
- Add slide-in/slide-out CSS animations for banner enter/leave
- Add content fade animation for smooth offline→online transitions
- Refactor to declarative RxJS pattern (pairwise + switchMap + timer)
- Use computed() for derived showBanner state
- Add wifi/wifi-off SVG icons inline
- Add comprehensive unit tests (14 test cases)
- Integrate shell-layout into isa-app root component
- Add proper JSDoc documentation
- Add ARIA accessibility attributes (role, aria-live)
- Export ONLINE_BANNER_DISPLAY_DURATION_MS constant for tests
2025-12-03 15:13:45 +01:00
Lorenz Hilpert
abcb8e2cb4 ♻️ refactor(shell-layout): restructure component and add network status banner
- Move shell-layout from nested folder to lib root
- Add network-status-banner component for connectivity display
- Remove old component structure and specs
2025-12-03 14:15:50 +01:00
Lorenz Hilpert
e5dd1e312d feat(shell): scaffold shell-layout, shell-header, and shell-navigation libraries
Add new shell domain with three feature libraries:
- shell-layout: Main application layout container
- shell-header: Application header component
- shell-navigation: Navigation component

All libraries configured with:
- Standalone Angular components
- Vitest with JUnit and Cobertura reporters
- Architectural tags (scope:shell, type:feature)
2025-12-02 16:14:35 +01:00