From 171481c2abdda838fa644d8adacf44cfd4e55b67 Mon Sep 17 00:00:00 2001 From: Edward Moyse Date: Sat, 30 May 2026 13:59:43 +0300 Subject: [PATCH 1/2] Moves some UI elements under a More Information icon, and updates the icons and naming to be a bit more consistent --- .../lib/components/phoenix-ui.module.ts | 2 + .../geometry-browser-overlay.component.html | 2 +- .../geometry-browser.component.html | 2 +- .../lib/components/ui-menu/index.ts | 1 + .../info-panel-overlay.component.html | 4 +- .../more-info/more-info.component.html | 101 ++++++++++++++++++ .../more-info/more-info.component.scss | 15 +++ .../ui-menu/more-info/more-info.component.ts | 23 ++++ .../components/ui-menu/ui-menu.component.html | 20 +--- 9 files changed, 148 insertions(+), 22 deletions(-) create mode 100644 packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html create mode 100644 packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.scss create mode 100644 packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.ts diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/phoenix-ui.module.ts b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/phoenix-ui.module.ts index 02c148dac..09f992828 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/phoenix-ui.module.ts +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/phoenix-ui.module.ts @@ -69,6 +69,7 @@ import { EventBrowserOverlayComponent, EtaPhiPanelComponent, EtaPhiPanelOverlayComponent, + MoreInfoComponent, } from './ui-menu'; import { AttributePipe } from '../services/extras/attribute.pipe'; @@ -86,6 +87,7 @@ const PHOENIX_COMPONENTS: Type[] = [ NavComponent, UiMenuWrapperComponent, UiMenuComponent, + MoreInfoComponent, CollectionsInfoComponent, GeometryBrowserComponent, GeometryBrowserOverlayComponent, diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.html index d5c36407e..dd7804f3a 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.html +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/geometry-browser/geometry-browser-overlay/geometry-browser-overlay.component.html @@ -1,6 +1,6 @@ diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/index.ts b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/index.ts index e5223bde1..1dbd47bd2 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/index.ts +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/index.ts @@ -40,4 +40,5 @@ export * from './event-browser/event-browser.component'; export * from './event-browser/event-browser-overlay/event-browser-overlay.component'; export * from './eta-phi-panel/eta-phi-panel.component'; export * from './eta-phi-panel/eta-phi-panel-overlay/eta-phi-panel-overlay.component'; +export * from './more-info/more-info.component'; export * from './ui-menu-wrapper/ui-menu-wrapper.component'; diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.html index ff9d28e04..f3437591f 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.html +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/info-panel/info-panel-overlay/info-panel-overlay.component.html @@ -1,7 +1,7 @@
    diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html new file mode 100644 index 000000000..965ab13d0 --- /dev/null +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html @@ -0,0 +1,101 @@ + +
    + + + + + +
    + + + + + + + + + + + diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.scss b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.scss new file mode 100644 index 000000000..e948ec79d --- /dev/null +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.scss @@ -0,0 +1,15 @@ +.hidden-panels { + display: none; +} + +.item-content { + display: inline-flex; + align-items: center; +} + +.item-icon { + inline-size: 1.2rem; + block-size: 1.2rem; + margin-inline-end: 0.5rem; + fill: currentColor; +} diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.ts b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.ts new file mode 100644 index 000000000..730ec21b1 --- /dev/null +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.ts @@ -0,0 +1,23 @@ +import { Component, Input, ViewChild } from '@angular/core'; +import { defaultUIMenuConfig, UIMenuConfig } from '../ui-menu.component'; +import { InfoPanelComponent } from '../info-panel/info-panel.component'; +import { EventBrowserComponent } from '../event-browser/event-browser.component'; +import { CollectionsInfoComponent } from '../collections-info/collections-info.component'; +import { EtaPhiPanelComponent } from '../eta-phi-panel/eta-phi-panel.component'; +import { GeometryBrowserComponent } from '../geometry-browser/geometry-browser.component'; + +@Component({ + standalone: false, + selector: 'app-more-info', + templateUrl: './more-info.component.html', + styleUrls: ['./more-info.component.scss'], +}) +export class MoreInfoComponent { + @Input() uiConfig: UIMenuConfig = defaultUIMenuConfig; + + @ViewChild('infoPanel') infoPanel: InfoPanelComponent; + @ViewChild('eventBrowser') eventBrowser: EventBrowserComponent; + @ViewChild('collectionsInfo') collectionsInfo: CollectionsInfoComponent; + @ViewChild('etaPhiPanel') etaPhiPanel: EtaPhiPanelComponent; + @ViewChild('geometryBrowser') geometryBrowser: GeometryBrowserComponent; +} diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/ui-menu.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/ui-menu.component.html index f0584a5e7..87e63c63c 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/ui-menu.component.html +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/ui-menu.component.html @@ -28,9 +28,6 @@ *ngIf="uiConfig.showObjectSelection" > - - - @@ -40,21 +37,8 @@ [animationPresets]="animationPresets" > - - - - - - - - - - - + + Date: Sat, 30 May 2026 14:20:33 +0300 Subject: [PATCH 2/2] =?UTF-8?q?Fix=20test=20errors=20From=20Claude:=20The?= =?UTF-8?q?=20root=20cause=20was=20that=20[checked]=3D"infoPanel=3F.showIn?= =?UTF-8?q?foPanel"=20read=20state=20via=20@ViewChild,=20which=20is=20unde?= =?UTF-8?q?fined=20during=20the=20first=20render=20and=20resolves=20to=20t?= =?UTF-8?q?he=20component=20instance=20only=20after=20ngAfterViewInit=20?= =?UTF-8?q?=E2=80=94=20causing=20Angular=20to=20see=20a=20value=20change?= =?UTF-8?q?=20mid-cycle=20(null=20=E2=86=92=20false).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The fix tracks each panel's open/closed state with plain boolean properties (showInfoPanel, showEventBrowser, etc.) on MoreInfoComponent itself. These are always initialised to false, so [checked] never changes unexpectedly. The toggle methods update the local flag first, then delegate to the child component's toggleOverlay(). --- .../more-info/more-info.component.html | 22 ++++++------- .../ui-menu/more-info/more-info.component.ts | 31 +++++++++++++++++++ 2 files changed, 42 insertions(+), 11 deletions(-) diff --git a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html index 965ab13d0..b3202be32 100644 --- a/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html +++ b/packages/phoenix-ng/projects/phoenix-ui-components/lib/components/ui-menu/more-info/more-info.component.html @@ -22,23 +22,23 @@