fix from rebase
This commit is contained in:
@@ -92,7 +92,7 @@ export class PanelDataPane extends SceneObjectBase<PanelDataPaneState> {
|
|||||||
|
|
||||||
public setQueryLibraryMode = (mode: QueryLibraryMode & { index: number | null }) => {
|
public setQueryLibraryMode = (mode: QueryLibraryMode & { index: number | null }) => {
|
||||||
this.setState({ queryLibraryMode: mode });
|
this.setState({ queryLibraryMode: mode });
|
||||||
}
|
};
|
||||||
|
|
||||||
public getUrlState() {
|
public getUrlState() {
|
||||||
return { tab: this.state.tab };
|
return { tab: this.state.tab };
|
||||||
@@ -112,7 +112,6 @@ export class PanelDataPane extends SceneObjectBase<PanelDataPaneState> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
||||||
const { tabs, selectedQueryTransform, panelRef, transformPickerIndex, queryLibraryMode } = model.useState();
|
const { tabs, selectedQueryTransform, panelRef, transformPickerIndex, queryLibraryMode } = model.useState();
|
||||||
const styles = useStyles2(getStyles);
|
const styles = useStyles2(getStyles);
|
||||||
@@ -139,11 +138,14 @@ function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
|||||||
|
|
||||||
// Auto-select first item if nothing is selected
|
// Auto-select first item if nothing is selected
|
||||||
const selectedId = useMemo(() => {
|
const selectedId = useMemo(() => {
|
||||||
|
if (transformPickerIndex != null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (selectedQueryTransform === null && allItems.length > 0) {
|
if (selectedQueryTransform === null && allItems.length > 0) {
|
||||||
return allItems[0].id;
|
return allItems[0].id;
|
||||||
}
|
}
|
||||||
return selectedQueryTransform;
|
return selectedQueryTransform;
|
||||||
}, [selectedQueryTransform, allItems]);
|
}, [transformPickerIndex, selectedQueryTransform, allItems]);
|
||||||
|
|
||||||
const selectedItem = useMemo(() => allItems.find((item) => item.id === selectedId), [allItems, selectedId]);
|
const selectedItem = useMemo(() => allItems.find((item) => item.id === selectedId), [allItems, selectedId]);
|
||||||
|
|
||||||
@@ -198,10 +200,13 @@ function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Handler for saving a query to the query library (stub)
|
// Handler for saving a query to the query library (stub)
|
||||||
const handleQueryLibrarySave = useCallback((_name: string, _description: string) => {
|
const handleQueryLibrarySave = useCallback(
|
||||||
// Stub: In real implementation, this would save to the query library
|
(_name: string, _description: string) => {
|
||||||
model.setQueryLibraryMode({ active: false, mode: 'browse', index: null });
|
// Stub: In real implementation, this would save to the query library
|
||||||
}, [model]);
|
model.setQueryLibraryMode({ active: false, mode: 'browse', index: null });
|
||||||
|
},
|
||||||
|
[model]
|
||||||
|
);
|
||||||
|
|
||||||
// Handler to close the query library view
|
// Handler to close the query library view
|
||||||
const handleQueryLibraryClose = useCallback(() => {
|
const handleQueryLibraryClose = useCallback(() => {
|
||||||
@@ -210,13 +215,10 @@ function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
|||||||
|
|
||||||
// Handler to open query library in a specific mode
|
// Handler to open query library in a specific mode
|
||||||
const handleOpenQueryLibrary = useCallback(
|
const handleOpenQueryLibrary = useCallback(
|
||||||
(mode: QueryLibraryMode["mode"], index?: number) => {
|
(mode: QueryLibraryMode['mode'], index?: number) => {
|
||||||
let currentQuery: SceneDataQuery | undefined;
|
let currentQuery: SceneDataQuery | undefined;
|
||||||
|
|
||||||
if (
|
if (mode === 'save' && (selectedItem?.type === 'query' || selectedItem?.type === 'expression')) {
|
||||||
mode === 'save' &&
|
|
||||||
(selectedItem?.type === 'query' || selectedItem?.type === 'expression')
|
|
||||||
) {
|
|
||||||
currentQuery = selectedItem.data;
|
currentQuery = selectedItem.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -321,7 +323,7 @@ function PanelDataPaneRendered({ model }: SceneComponentProps<PanelDataPane>) {
|
|||||||
onQueryLibrarySave={handleQueryLibrarySave}
|
onQueryLibrarySave={handleQueryLibrarySave}
|
||||||
onQueryLibraryClose={handleQueryLibraryClose}
|
onQueryLibraryClose={handleQueryLibraryClose}
|
||||||
onOpenQueryLibrary={handleOpenQueryLibrary}
|
onOpenQueryLibrary={handleOpenQueryLibrary}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -76,11 +76,14 @@ export function PanelDataSidebarRendered({ model }: SceneComponentProps<PanelDat
|
|||||||
|
|
||||||
// Auto-select first item if nothing is selected
|
// Auto-select first item if nothing is selected
|
||||||
const selectedId = useMemo(() => {
|
const selectedId = useMemo(() => {
|
||||||
|
if (transformPickerIndex != null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (selectedQueryTransform === null && allItems.length > 0) {
|
if (selectedQueryTransform === null && allItems.length > 0) {
|
||||||
return allItems[0].id;
|
return allItems[0].id;
|
||||||
}
|
}
|
||||||
return selectedQueryTransform;
|
return selectedQueryTransform;
|
||||||
}, [selectedQueryTransform, allItems]);
|
}, [transformPickerIndex, selectedQueryTransform, allItems]);
|
||||||
const selectedItem = useMemo(() => allItems.find((item) => item.id === selectedId), [allItems, selectedId]);
|
const selectedItem = useMemo(() => allItems.find((item) => item.id === selectedId), [allItems, selectedId]);
|
||||||
|
|
||||||
const updateQuerySelectionOnStateChange = useCallback(
|
const updateQuerySelectionOnStateChange = useCallback(
|
||||||
@@ -176,13 +179,10 @@ export function PanelDataSidebarRendered({ model }: SceneComponentProps<PanelDat
|
|||||||
);
|
);
|
||||||
|
|
||||||
const handleOpenQueryLibrary = useCallback(
|
const handleOpenQueryLibrary = useCallback(
|
||||||
(mode: QueryLibraryMode["mode"], index?: number) => {
|
(mode: QueryLibraryMode['mode'], index?: number) => {
|
||||||
let currentQuery: SceneDataQuery | undefined;
|
let currentQuery: SceneDataQuery | undefined;
|
||||||
|
|
||||||
if (
|
if (mode === 'save' && (selectedItem?.type === 'query' || selectedItem?.type === 'expression')) {
|
||||||
mode === 'save' &&
|
|
||||||
(selectedItem?.type === 'query' || selectedItem?.type === 'expression')
|
|
||||||
) {
|
|
||||||
currentQuery = selectedItem.data;
|
currentQuery = selectedItem.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -305,7 +305,8 @@ export function PanelDataSidebarRendered({ model }: SceneComponentProps<PanelDat
|
|||||||
selectedId={selectedId}
|
selectedId={selectedId}
|
||||||
onCollapseSidebar={() => model.onCollapseSidebar(true)}
|
onCollapseSidebar={() => model.onCollapseSidebar(true)}
|
||||||
onSelect={(id) => {
|
onSelect={(id) => {
|
||||||
model.onChangeSelected(id)
|
model.onChangeSelected(id);
|
||||||
|
model.onTransformPicker(null);
|
||||||
}}
|
}}
|
||||||
onAddQuery={handleAddQuery}
|
onAddQuery={handleAddQuery}
|
||||||
onAddFromSavedQueries={(index) => handleOpenQueryLibrary('browse', index)}
|
onAddFromSavedQueries={(index) => handleOpenQueryLibrary('browse', index)}
|
||||||
@@ -346,7 +347,10 @@ export function PanelDataSidebarRendered({ model }: SceneComponentProps<PanelDat
|
|||||||
transformItems={transformItems}
|
transformItems={transformItems}
|
||||||
selectedId={selectedId}
|
selectedId={selectedId}
|
||||||
onCollapseSidebar={() => model.onCollapseSidebar(true)}
|
onCollapseSidebar={() => model.onCollapseSidebar(true)}
|
||||||
onSelect={(newSelectedId) => model.onChangeSelected(newSelectedId)}
|
onSelect={(newSelectedId) => {
|
||||||
|
model.onChangeSelected(newSelectedId);
|
||||||
|
model.onTransformPicker(null);
|
||||||
|
}}
|
||||||
onAddQuery={handleAddQuery}
|
onAddQuery={handleAddQuery}
|
||||||
onAddFromSavedQueries={(index) => handleOpenQueryLibrary('browse', index)}
|
onAddFromSavedQueries={(index) => handleOpenQueryLibrary('browse', index)}
|
||||||
onAddTransform={(index) => {
|
onAddTransform={(index) => {
|
||||||
|
|||||||
@@ -527,6 +527,7 @@ export const QueryTransformList = memo(
|
|||||||
onAddTransform={onAddTransform}
|
onAddTransform={onAddTransform}
|
||||||
onAddExpression={onAddExpression}
|
onAddExpression={onAddExpression}
|
||||||
allowedTypes={['transform']}
|
allowedTypes={['transform']}
|
||||||
|
index={0}
|
||||||
text={t('dashboard-scene.query-transform-list.add', 'Add')}
|
text={t('dashboard-scene.query-transform-list.add', 'Add')}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Reference in New Issue
Block a user