import { t } from '@grafana/i18n/internal'; import { Input } from '@grafana/ui'; import { LibraryPanelInformation } from 'app/features/library-panels/components/LibraryPanelInfo/LibraryPanelInfo'; import { isPanelModelLibraryPanel } from '../../../library-panels/guard'; import { OptionsPaneCategoryDescriptor } from './OptionsPaneCategoryDescriptor'; import { OptionsPaneItemDescriptor } from './OptionsPaneItemDescriptor'; import { OptionPaneRenderProps } from './types'; export function getLibraryPanelOptionsCategory(props: OptionPaneRenderProps): OptionsPaneCategoryDescriptor { const { panel, onPanelConfigChange, dashboard } = props; const descriptor = new OptionsPaneCategoryDescriptor({ title: t( 'dashboard.get-library-panel-options-category.descriptor.title.library-panel-options', 'Library panel options' ), id: 'Library panel options', isOpenDefault: true, }); if (isPanelModelLibraryPanel(panel)) { descriptor .addItem( new OptionsPaneItemDescriptor({ title: t('dashboard.get-library-panel-options-category.title.name', 'Name'), value: panel.libraryPanel.name, popularRank: 1, render: function renderName() { return ( onPanelConfigChange('libraryPanel', { ...panel.libraryPanel, name: e.currentTarget.value }) } /> ); }, }) ) .addItem( new OptionsPaneItemDescriptor({ title: t('dashboard.get-library-panel-options-category.title.information', 'Information'), render: function renderLibraryPanelInformation() { return ; }, }) ); } return descriptor; }