@grafana/scenes 6.52.1 → 6.52.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v6.52.2 (Tue Jan 13 2026)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- VizPanelMenuRenderer: Provide PanelMenuItem.target [#1331](https://github.com/grafana/scenes/pull/1331) ([@dprokop](https://github.com/dprokop))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Dominik Prokop ([@dprokop](https://github.com/dprokop))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v6.52.1 (Tue Jan 06 2026)
|
|
2
14
|
|
|
3
15
|
#### 🐛 Bug Fix
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VizPanelMenu.js","sources":["../../../../../../../src/components/VizPanel/VizPanelMenu.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { PanelMenuItem } from '@grafana/data';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneObjectState } from '../../core/types';\nimport { selectors } from '@grafana/e2e-selectors';\n\ninterface VizPanelMenuState extends SceneObjectState {\n items?: PanelMenuItem[];\n}\n\nexport class VizPanelMenu extends SceneObjectBase<VizPanelMenuState> {\n static Component = VizPanelMenuRenderer;\n\n // Allows adding menu items dynamically\n public addItem(item: PanelMenuItem) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item],\n });\n }\n\n // Allows replacing all menu items\n public setItems(items: PanelMenuItem[]) {\n this.setState({\n items,\n });\n }\n}\n\nfunction VizPanelMenuRenderer({ model }: SceneComponentProps<VizPanelMenu>) {\n const { items = [] } = model.useState();\n const ref = React.useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n\n const renderItems = (items: PanelMenuItem[]) => {\n return items.map((item) => {\n switch (item.type) {\n case 'divider':\n return <Menu.Divider key={item.text} />;\n case 'group':\n return (\n <Menu.Group key={item.text} label={item.text}>\n {item.subMenu ? renderItems(item.subMenu) : undefined}\n </Menu.Group>\n );\n default:\n return (\n <Menu.Item\n key={item.text}\n role=\"menuitem\"\n label={item.text}\n icon={item.iconClassName}\n childItems={item.subMenu ? renderItems(item.subMenu) : undefined}\n url={item.href}\n onClick={item.onClick}\n shortcut={item.shortcut}\n testId={selectors.components.Panels.Panel.menuItems(item.text)}\n />\n );\n }\n });\n };\n\n return <Menu ref={ref}>{renderItems(items)}</Menu>;\n}\n"],"names":["items"],"mappings":";;;;;AAWO,MAAM,qBAAqB,eAAmC,CAAA;AAAA;AAAA,EAI5D,QAAQ,IAAqB,EAAA;AAClC,IAAA,IAAA,CAAK,QAAS,CAAA;AAAA,MACZ,KAAO,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,GAAQ,CAAC,GAAG,IAAK,CAAA,KAAA,CAAM,KAAO,EAAA,IAAI,CAAI,GAAA,CAAC,IAAI;AAAA,KAC9D,CAAA;AAAA;AACH;AAAA,EAGO,SAAS,KAAwB,EAAA;AACtC,IAAA,IAAA,CAAK,QAAS,CAAA;AAAA,MACZ;AAAA,KACD,CAAA;AAAA;AAEL;AAhBa,YAAA,CACJ,SAAY,GAAA,oBAAA;AAiBrB,SAAS,oBAAA,CAAqB,EAAE,KAAA,EAA4C,EAAA;AAC1E,EAAA,MAAM,EAAE,KAAQ,GAAA,EAAG,EAAA,GAAI,MAAM,QAAS,EAAA;AACtC,EAAM,MAAA,GAAA,GAAM,KAAM,CAAA,MAAA,CAAuB,IAAI,CAAA;AAE7C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,IAAI,OAAS,EAAA;AACf,MAAA,GAAA,CAAI,QAAQ,KAAM,EAAA;AAAA;AACpB,GACF,EAAG,EAAE,CAAA;AAEL,EAAM,MAAA,WAAA,GAAc,CAACA,MAA2B,KAAA;AAC9C,IAAOA,OAAAA,MAAAA,CAAM,GAAI,CAAA,CAAC,IAAS,KAAA;AACzB,MAAA,QAAQ,KAAK,IAAM;AAAA,QACjB,KAAK,SAAA;AACH,UAAA,2CAAQ,IAAK,CAAA,OAAA,EAAL,EAAa,GAAA,EAAK,KAAK,IAAM,EAAA,CAAA;AAAA,QACvC,KAAK,OAAA;AACH,UAAA,2CACG,IAAK,CAAA,KAAA,EAAL,EAAW,GAAA,EAAK,KAAK,IAAM,EAAA,KAAA,EAAO,IAAK,CAAA,IAAA,EAAA,EACrC,KAAK,OAAU,GAAA,WAAA,CAAY,IAAK,CAAA,OAAO,IAAI,MAC9C,CAAA;AAAA,QAEJ;AACE,UACE,uBAAA,KAAA,CAAA,aAAA;AAAA,YAAC,IAAK,CAAA,IAAA;AAAA,YAAL;AAAA,cACC,KAAK,IAAK,CAAA,IAAA;AAAA,cACV,IAAK,EAAA,UAAA;AAAA,cACL,OAAO,IAAK,CAAA,IAAA;AAAA,cACZ,MAAM,IAAK,CAAA,aAAA;AAAA,cACX,YAAY,IAAK,CAAA,OAAA,GAAU,WAAY,CAAA,IAAA,CAAK,OAAO,CAAI,GAAA,MAAA;AAAA,cACvD,KAAK,IAAK,CAAA,IAAA;AAAA,cACV,SAAS,IAAK,CAAA,OAAA;AAAA,cACd,UAAU,IAAK,CAAA,QAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"VizPanelMenu.js","sources":["../../../../../../../src/components/VizPanel/VizPanelMenu.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { PanelMenuItem } from '@grafana/data';\nimport { Menu } from '@grafana/ui';\nimport { SceneObjectBase } from '../../core/SceneObjectBase';\nimport { SceneComponentProps, SceneObjectState } from '../../core/types';\nimport { selectors } from '@grafana/e2e-selectors';\n\ninterface VizPanelMenuState extends SceneObjectState {\n items?: PanelMenuItem[];\n}\n\nexport class VizPanelMenu extends SceneObjectBase<VizPanelMenuState> {\n static Component = VizPanelMenuRenderer;\n\n // Allows adding menu items dynamically\n public addItem(item: PanelMenuItem) {\n this.setState({\n items: this.state.items ? [...this.state.items, item] : [item],\n });\n }\n\n // Allows replacing all menu items\n public setItems(items: PanelMenuItem[]) {\n this.setState({\n items,\n });\n }\n}\n\nfunction VizPanelMenuRenderer({ model }: SceneComponentProps<VizPanelMenu>) {\n const { items = [] } = model.useState();\n const ref = React.useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, []);\n\n const renderItems = (items: PanelMenuItem[]) => {\n return items.map((item) => {\n switch (item.type) {\n case 'divider':\n return <Menu.Divider key={item.text} />;\n case 'group':\n return (\n <Menu.Group key={item.text} label={item.text}>\n {item.subMenu ? renderItems(item.subMenu) : undefined}\n </Menu.Group>\n );\n default:\n return (\n <Menu.Item\n key={item.text}\n role=\"menuitem\"\n label={item.text}\n icon={item.iconClassName}\n childItems={item.subMenu ? renderItems(item.subMenu) : undefined}\n url={item.href}\n onClick={item.onClick}\n shortcut={item.shortcut}\n // @ts-expect-error TODO: remove suppression after updating grafana/data\n target={item.target || undefined}\n testId={selectors.components.Panels.Panel.menuItems(item.text)}\n />\n );\n }\n });\n };\n\n return <Menu ref={ref}>{renderItems(items)}</Menu>;\n}\n"],"names":["items"],"mappings":";;;;;AAWO,MAAM,qBAAqB,eAAmC,CAAA;AAAA;AAAA,EAI5D,QAAQ,IAAqB,EAAA;AAClC,IAAA,IAAA,CAAK,QAAS,CAAA;AAAA,MACZ,KAAO,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,GAAQ,CAAC,GAAG,IAAK,CAAA,KAAA,CAAM,KAAO,EAAA,IAAI,CAAI,GAAA,CAAC,IAAI;AAAA,KAC9D,CAAA;AAAA;AACH;AAAA,EAGO,SAAS,KAAwB,EAAA;AACtC,IAAA,IAAA,CAAK,QAAS,CAAA;AAAA,MACZ;AAAA,KACD,CAAA;AAAA;AAEL;AAhBa,YAAA,CACJ,SAAY,GAAA,oBAAA;AAiBrB,SAAS,oBAAA,CAAqB,EAAE,KAAA,EAA4C,EAAA;AAC1E,EAAA,MAAM,EAAE,KAAQ,GAAA,EAAG,EAAA,GAAI,MAAM,QAAS,EAAA;AACtC,EAAM,MAAA,GAAA,GAAM,KAAM,CAAA,MAAA,CAAuB,IAAI,CAAA;AAE7C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,IAAI,OAAS,EAAA;AACf,MAAA,GAAA,CAAI,QAAQ,KAAM,EAAA;AAAA;AACpB,GACF,EAAG,EAAE,CAAA;AAEL,EAAM,MAAA,WAAA,GAAc,CAACA,MAA2B,KAAA;AAC9C,IAAOA,OAAAA,MAAAA,CAAM,GAAI,CAAA,CAAC,IAAS,KAAA;AACzB,MAAA,QAAQ,KAAK,IAAM;AAAA,QACjB,KAAK,SAAA;AACH,UAAA,2CAAQ,IAAK,CAAA,OAAA,EAAL,EAAa,GAAA,EAAK,KAAK,IAAM,EAAA,CAAA;AAAA,QACvC,KAAK,OAAA;AACH,UAAA,2CACG,IAAK,CAAA,KAAA,EAAL,EAAW,GAAA,EAAK,KAAK,IAAM,EAAA,KAAA,EAAO,IAAK,CAAA,IAAA,EAAA,EACrC,KAAK,OAAU,GAAA,WAAA,CAAY,IAAK,CAAA,OAAO,IAAI,MAC9C,CAAA;AAAA,QAEJ;AACE,UACE,uBAAA,KAAA,CAAA,aAAA;AAAA,YAAC,IAAK,CAAA,IAAA;AAAA,YAAL;AAAA,cACC,KAAK,IAAK,CAAA,IAAA;AAAA,cACV,IAAK,EAAA,UAAA;AAAA,cACL,OAAO,IAAK,CAAA,IAAA;AAAA,cACZ,MAAM,IAAK,CAAA,aAAA;AAAA,cACX,YAAY,IAAK,CAAA,OAAA,GAAU,WAAY,CAAA,IAAA,CAAK,OAAO,CAAI,GAAA,MAAA;AAAA,cACvD,KAAK,IAAK,CAAA,IAAA;AAAA,cACV,SAAS,IAAK,CAAA,OAAA;AAAA,cACd,UAAU,IAAK,CAAA,QAAA;AAAA,cAEf,MAAA,EAAQ,KAAK,MAAU,IAAA,MAAA;AAAA,cACvB,QAAQ,SAAU,CAAA,UAAA,CAAW,OAAO,KAAM,CAAA,SAAA,CAAU,KAAK,IAAI;AAAA;AAAA,WAC/D;AAAA;AAEN,KACD,CAAA;AAAA,GACH;AAEA,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,GAAW,EAAA,EAAA,WAAA,CAAY,KAAK,CAAE,CAAA;AAC7C;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -13482,6 +13482,7 @@ function VizPanelMenuRenderer({ model }) {
|
|
|
13482
13482
|
url: item.href,
|
|
13483
13483
|
onClick: item.onClick,
|
|
13484
13484
|
shortcut: item.shortcut,
|
|
13485
|
+
target: item.target || void 0,
|
|
13485
13486
|
testId: e2eSelectors.selectors.components.Panels.Panel.menuItems(item.text)
|
|
13486
13487
|
}
|
|
13487
13488
|
);
|