Spaces:
Running
Running
<!--file:Molecule.svlete--> | |
<!--Tested against v2.1.7 of smiles-drawer--> | |
<script> | |
import { afterUpdate } from "svelte"; | |
import SmilesDrawer from "smiles-drawer"; | |
export let smiles = ""; | |
const SETTINGS = { | |
width: 300, | |
height: 200, | |
}; | |
let drawer = new SmilesDrawer.SvgDrawer(SETTINGS); | |
let svgElement; | |
afterUpdate(() => { | |
SmilesDrawer.parse(smiles, function (tree) { | |
drawer.draw(tree, svgElement, "light"); | |
}); | |
}); | |
</script> | |
{#if smiles.length > 0} | |
<div> | |
<svg bind:this={svgElement} data-smiles={smiles} /> | |
</div> | |
{:else} | |
<div class="text-center my-10 py-10 text-gray-600"> | |
No molecule to display | |
</div> | |
{/if} | |
<style> | |
svg { | |
width: 100%; | |
height: 400px; | |
} | |
@import "tailwindcss"; | |
</style> | |