budibase/packages/builder/src/components/design/NavigationPanel/Layout.svelte

42 lines
1.2 KiB
Svelte
Raw Normal View History

2020-02-20 18:11:41 +01:00
<script>
2021-03-17 12:40:24 +01:00
import { goto } from "@roxi/routify"
import { FrontendTypes } from "constants"
2020-11-19 17:41:29 +01:00
import ComponentTree from "./ComponentNavigationTree/ComponentTree.svelte"
2020-12-05 00:42:22 +01:00
import LayoutDropdownMenu from "./ComponentNavigationTree/LayoutDropdownMenu.svelte"
2020-12-02 18:07:30 +01:00
import initDragDropStore from "./ComponentNavigationTree/dragDropStore"
import NavItem from "components/common/NavItem.svelte"
import { last } from "lodash/fp"
import { store, currentAsset, selectedComponent } from "builderStore"
2020-08-13 11:15:37 +02:00
import { writable } from "svelte/store"
2020-02-20 18:11:41 +01:00
2020-12-02 15:49:43 +01:00
export let layout
export let border
2020-02-20 18:11:41 +01:00
let confirmDeleteDialog
let componentToDelete = ""
const dragDropStore = initDragDropStore()
2020-02-20 18:11:41 +01:00
2020-12-03 18:31:38 +01:00
const selectLayout = () => {
store.actions.layouts.select(layout._id)
2020-04-28 15:28:31 +02:00
}
2020-02-20 18:11:41 +01:00
</script>
<NavItem
{border}
icon="ri-layout-3-line"
2020-12-02 15:15:07 +01:00
text={layout.name}
withArrow
selected={$store.selectedLayoutId === layout._id}
opened={$store.selectedLayoutId === layout._id}
2020-12-05 00:42:22 +01:00
on:click={selectLayout}>
2020-12-05 10:43:00 +01:00
<LayoutDropdownMenu {layout} />
2020-12-05 00:42:22 +01:00
</NavItem>
2020-06-01 23:16:55 +02:00
{#if $store.selectedLayoutId === layout._id && layout.props?._children}
2020-11-19 17:41:29 +01:00
<ComponentTree
2020-12-02 15:49:43 +01:00
components={layout.props._children}
currentComponent={$selectedComponent}
2020-08-13 11:15:37 +02:00
{dragDropStore} />
2020-06-01 23:16:55 +02:00
{/if}