|
2 | 2 | import { page } from "$app/stores"; |
3 | 3 | import ContextButton from "@rilldata/web-common/components/button/ContextButton.svelte"; |
4 | 4 | import * as DropdownMenu from "@rilldata/web-common/components/dropdown-menu/"; |
5 | | - import Cancel from "@rilldata/web-common/components/icons/Cancel.svelte"; |
| 5 | + import Alert from "@rilldata/web-common/components/icons/Alert.svelte"; |
6 | 6 | import EditIcon from "@rilldata/web-common/components/icons/EditIcon.svelte"; |
| 7 | + import LoadingSpinner from "@rilldata/web-common/components/icons/LoadingSpinner.svelte"; |
7 | 8 | import MoreHorizontal from "@rilldata/web-common/components/icons/MoreHorizontal.svelte"; |
| 9 | + import Trash from "@rilldata/web-common/components/icons/Trash.svelte"; |
8 | 10 | import { removeLeadingSlash } from "@rilldata/web-common/features/entity-management/entity-mappers"; |
9 | 11 | import type { NavDragData } from "@rilldata/web-common/features/file-explorer/nav-entry-drag-drop-store"; |
10 | 12 | import { getPaddingFromPath } from "@rilldata/web-common/features/file-explorer/nav-tree-spacing"; |
11 | 13 | import { getScreenNameFromPage } from "@rilldata/web-common/features/file-explorer/telemetry"; |
12 | 14 | import NavigationMenuItem from "@rilldata/web-common/layout/navigation/NavigationMenuItem.svelte"; |
| 15 | + import NavigationMenuSeparator from "@rilldata/web-common/layout/navigation/NavigationMenuSeparator.svelte"; |
13 | 16 | import { queryClient } from "@rilldata/web-common/lib/svelte-query/globalQueryClient"; |
14 | 17 | import { behaviourEvent } from "@rilldata/web-common/metrics/initMetrics"; |
15 | 18 | import { BehaviourEventMedium } from "@rilldata/web-common/metrics/service/BehaviourEventTypes"; |
|
24 | 27 | import type { Readable } from "svelte/store"; |
25 | 28 | import CopyIcon from "../../components/icons/CopyIcon.svelte"; |
26 | 29 | import File from "../../components/icons/File.svelte"; |
| 30 | + import CanvasMenuItems from "../canvas/CanvasMenuItems.svelte"; |
27 | 31 | import { fileArtifacts } from "../entity-management/file-artifacts"; |
28 | 32 | import { getTopLevelFolder } from "../entity-management/file-path-utils"; |
29 | 33 | import { |
30 | 34 | resourceColorMapping, |
31 | 35 | resourceIconMapping, |
32 | 36 | } from "../entity-management/resource-icon-mapping"; |
33 | 37 | import { ResourceKind } from "../entity-management/resource-selectors"; |
| 38 | + import ExploreMenuItems from "../explores/ExploreMenuItems.svelte"; |
34 | 39 | import MetricsViewMenuItems from "../metrics-views/MetricsViewMenuItems.svelte"; |
35 | 40 | import ModelMenuItems from "../models/navigation/ModelMenuItems.svelte"; |
36 | 41 | import SourceMenuItems from "../sources/navigation/SourceMenuItems.svelte"; |
37 | | - import ExploreMenuItems from "../explores/ExploreMenuItems.svelte"; |
38 | | - import CanvasMenuItems from "../canvas/CanvasMenuItems.svelte"; |
39 | 42 | import { PROTECTED_DIRECTORIES, PROTECTED_FILES } from "./protected-paths"; |
40 | | - import Alert from "@rilldata/web-common/components/icons/Alert.svelte"; |
41 | | - import LoadingSpinner from "@rilldata/web-common/components/icons/LoadingSpinner.svelte"; |
42 | 43 |
|
43 | 44 | export let filePath: string; |
44 | 45 | export let onRename: (filePath: string, isDir: boolean) => void; |
|
153 | 154 | side="right" |
154 | 155 | sideOffset={16} |
155 | 156 | > |
156 | | - {#if resourceKind} |
157 | | - {#if resourceKind === ResourceKind.Source} |
158 | | - <SourceMenuItems {filePath} /> |
159 | | - {:else if resourceKind === ResourceKind.Model} |
160 | | - <ModelMenuItems {filePath} /> |
161 | | - {:else if resourceKind === ResourceKind.MetricsView} |
162 | | - <MetricsViewMenuItems {filePath} /> |
163 | | - {:else if resourceKind === ResourceKind.Explore} |
164 | | - <ExploreMenuItems {filePath} /> |
165 | | - {:else if resourceKind === ResourceKind.Canvas} |
166 | | - <CanvasMenuItems {filePath} /> |
167 | | - {/if} |
168 | | - {/if} |
169 | 157 | {#if $hasUnsavedChanges} |
170 | 158 | <NavigationMenuItem on:click={saveLocalContent}> |
171 | 159 | <Save slot="icon" size="12px" /> |
|
174 | 162 | {/if} |
175 | 163 | <NavigationMenuItem on:click={() => onRename(filePath, false)}> |
176 | 164 | <EditIcon slot="icon" /> |
177 | | - Rename... |
| 165 | + Rename |
178 | 166 | </NavigationMenuItem> |
179 | 167 | <NavigationMenuItem on:click={() => onDuplicate(filePath, false)}> |
180 | 168 | <CopyIcon slot="icon" /> |
181 | 169 | Duplicate |
182 | 170 | </NavigationMenuItem> |
| 171 | + {#if resourceKind} |
| 172 | + {#if resourceKind === ResourceKind.Source} |
| 173 | + <SourceMenuItems {filePath} /> |
| 174 | + {:else if resourceKind === ResourceKind.Model} |
| 175 | + <ModelMenuItems {filePath} /> |
| 176 | + {:else if resourceKind === ResourceKind.MetricsView} |
| 177 | + <MetricsViewMenuItems {filePath} /> |
| 178 | + {:else if resourceKind === ResourceKind.Explore} |
| 179 | + <ExploreMenuItems {filePath} /> |
| 180 | + {:else if resourceKind === ResourceKind.Canvas} |
| 181 | + <CanvasMenuItems {filePath} /> |
| 182 | + {/if} |
| 183 | + {/if} |
| 184 | + <NavigationMenuSeparator /> |
183 | 185 | <NavigationMenuItem on:click={() => onDelete(filePath, false)}> |
184 | | - <Cancel slot="icon" /> |
| 186 | + <Trash slot="icon" /> |
185 | 187 | Delete |
186 | 188 | </NavigationMenuItem> |
187 | 189 | </DropdownMenu.Content> |
|
0 commit comments