mirror of https://github.com/grafana/grafana
FolderPicker: Remove old folder picker (#105374)
* Remove newFolderPicker toggle * Remove usage of the old folder picker * fix some tests * remove old testpull/106491/head
parent
7e6eefc8cd
commit
cbb828202a
|
@ -1,70 +1,3 @@ |
||||
import { useCallback } from 'react'; |
||||
import { NestedFolderPicker } from '../NestedFolderPicker/NestedFolderPicker'; |
||||
|
||||
import { config } from '@grafana/runtime'; |
||||
|
||||
import { NestedFolderPicker, NestedFolderPickerProps } from '../NestedFolderPicker/NestedFolderPicker'; |
||||
|
||||
import { OldFolderPicker } from './OldFolderPicker'; |
||||
|
||||
interface FolderPickerProps extends NestedFolderPickerProps { |
||||
// These props are only used by the old folder picker, and should be removed when old picker is removed
|
||||
|
||||
/** @deprecated */ |
||||
initialTitle?: string; |
||||
|
||||
/** @deprecated */ |
||||
inputId?: string; |
||||
|
||||
/** @deprecated */ |
||||
dashboardId?: number | string; |
||||
|
||||
/** @deprecated */ |
||||
enableCreateNew?: boolean; |
||||
|
||||
/** @deprecated */ |
||||
skipInitialLoad?: boolean; |
||||
} |
||||
|
||||
// Temporary wrapper component to switch between the NestedFolderPicker and the old flat
|
||||
// FolderPicker depending on feature flags
|
||||
export function FolderPicker(props: FolderPickerProps) { |
||||
const nestedEnabled = config.featureToggles.newFolderPicker || config.featureToggles.nestedFolders; |
||||
const { initialTitle, dashboardId, enableCreateNew, ...newFolderPickerProps } = props; |
||||
|
||||
return nestedEnabled ? <NestedFolderPicker {...newFolderPickerProps} /> : <OldFolderPickerWrapper {...props} />; |
||||
} |
||||
|
||||
// Converts new NestedFolderPicker props to old non-nested folder picker props
|
||||
// Seperate component so the hooks aren't created if not used
|
||||
function OldFolderPickerWrapper({ |
||||
value, |
||||
showRootFolder, |
||||
onChange, |
||||
initialTitle, |
||||
dashboardId, |
||||
enableCreateNew, |
||||
inputId, |
||||
skipInitialLoad, |
||||
}: FolderPickerProps) { |
||||
const handleOnChange = useCallback( |
||||
(newFolder: { title: string; uid: string }) => { |
||||
if (onChange) { |
||||
onChange(newFolder.uid, newFolder.title); |
||||
} |
||||
}, |
||||
[onChange] |
||||
); |
||||
|
||||
return ( |
||||
<OldFolderPicker |
||||
onChange={handleOnChange} |
||||
showRoot={showRootFolder} |
||||
initialFolderUid={value} |
||||
initialTitle={initialTitle} |
||||
inputId={inputId} |
||||
skipInitialLoad={skipInitialLoad} |
||||
dashboardId={dashboardId} |
||||
enableCreateNew={enableCreateNew} |
||||
/> |
||||
); |
||||
} |
||||
export const FolderPicker = NestedFolderPicker; |
||||
|
||||
Loading…
Reference in new issue