index.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import {
  2. useExploreDataset,
  3. useExploreFields,
  4. useExploreGroupBys,
  5. useExploreMode,
  6. useExploreSortBys,
  7. useExploreVisualizes,
  8. useSetExploreDataset,
  9. useSetExploreMode,
  10. useSetExploreSortBys,
  11. } from 'sentry/views/explore/contexts/pageParamsContext';
  12. import {Mode} from 'sentry/views/explore/contexts/pageParamsContext/mode';
  13. import {ToolbarDataset} from 'sentry/views/explore/toolbar/toolbarDataset';
  14. import {ToolbarGroupBy} from 'sentry/views/explore/toolbar/toolbarGroupBy';
  15. import {ToolbarMode} from 'sentry/views/explore/toolbar/toolbarMode';
  16. import {ToolbarSaveAs} from 'sentry/views/explore/toolbar/toolbarSaveAs';
  17. import {ToolbarSortBy} from 'sentry/views/explore/toolbar/toolbarSortBy';
  18. import {ToolbarSuggestedQueries} from 'sentry/views/explore/toolbar/toolbarSuggestedQueries';
  19. import {ToolbarVisualize} from 'sentry/views/explore/toolbar/toolbarVisualize';
  20. type Extras = 'dataset toggle';
  21. interface ExploreToolbarProps {
  22. extras?: Extras[];
  23. }
  24. export function ExploreToolbar({extras}: ExploreToolbarProps) {
  25. const dataset = useExploreDataset();
  26. const setDataset = useSetExploreDataset();
  27. const mode = useExploreMode();
  28. const setMode = useSetExploreMode();
  29. const fields = useExploreFields();
  30. const groupBys = useExploreGroupBys();
  31. const visualizes = useExploreVisualizes();
  32. const sortBys = useExploreSortBys();
  33. const setSortBys = useSetExploreSortBys();
  34. return (
  35. <div>
  36. {extras?.includes('dataset toggle') && (
  37. <ToolbarDataset dataset={dataset} setDataset={setDataset} />
  38. )}
  39. <ToolbarMode mode={mode} setMode={setMode} />
  40. <ToolbarVisualize />
  41. <ToolbarGroupBy disabled={mode !== Mode.AGGREGATE} />
  42. <ToolbarSortBy
  43. fields={fields}
  44. groupBys={groupBys}
  45. visualizes={visualizes}
  46. sorts={sortBys}
  47. setSorts={setSortBys}
  48. />
  49. <ToolbarSaveAs />
  50. <ToolbarSuggestedQueries />
  51. </div>
  52. );
  53. }