1
0
Fork 0
mirror of synced 2024-10-03 10:36:59 +13:00
budibase/packages/builder/src/userInterface/CurrentItemPreview.svelte

53 lines
1.2 KiB
Svelte
Raw Normal View History

2019-08-20 08:18:23 +12:00
<script>
import { store } from "../builderStore";
import {
last,
split
} from "lodash/fp";
import { pipe } from "../common/core";
import { splitName } from "./pagesParsing/splitRootComponentName"
let component;
store.subscribe(s => {
const {componentName, libName} = splitName(
s.currentComponentInfo.rootComponent.name);
component = s.libraries[libName][componentName];
});
</script>
<div class="component-preview" >
<div class="component-container">
<iframe title="componentPreview">
<head>
{#each $store.pages.stylesheets as stylesheet}
<link rel="stylesheet" href="{stylesheet}"/>
{/each}
</head>
<body>
<svelte:component this={component} {...$store.currentComponentInfo.fullProps}/>
</body>
</iframe>
</div>
</div>
<style>
.component-preview {
display: grid;
grid-template-rows: [top] 1fr [middle] auto [bottom] 1fr;
grid-template-columns: [left] 1fr [middle] auto [right] 1fr;
grid-column-start: preview;
height:100%;
}
.component-container {
grid-row-start: middle;
grid-column-start: middle;
}
</style>