Spaces:
Running
Running
File size: 1,676 Bytes
e49e46a 3b99d6e e49e46a ce6c379 e49e46a 3b99d6e e49e46a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<script lang="ts">
import type { Gradio } from "@gradio/utils";
import { Block, BlockLabel } from "@gradio/atoms";
import { StatusTracker } from "@gradio/statustracker";
import { normalise_file } from "@gradio/client";
import type { FileData } from "@gradio/client";
import type { LoadingStatus } from "@gradio/statustracker";
import { Empty } from "@gradio/atoms";
import { Plot as PlotIcon } from "@gradio/icons";
export let elem_id = "";
export let elem_classes: string[] = [];
export let visible = true;
export let value: FileData;
export let container = true;
export let scale: number | null = null;
export let min_width: number | undefined = undefined;
export let loading_status: LoadingStatus;
export let root: string;
export let root_url: string;
export let height: number = 500;
export let gradio: Gradio<{
change: never;
}>;
let new_value: FileData;
$: label = label ?? "Folium Map"
async function handle_change() {
gradio.dispatch("change");
}
$: height = height ?? 500;
$: new_value = {...normalise_file(value, root, root_url)};
$: new_value, handle_change()
</script>
<Block {visible} {elem_id} {elem_classes} {container} {scale} {min_width}>
{#if loading_status}
<StatusTracker
autoscroll={gradio.autoscroll}
i18n={gradio.i18n}
{...loading_status}
/>
{/if}
<BlockLabel show_label={true} Icon={PlotIcon} label={label || "Folium Map"} />
{#if value}
<iframe src={new_value.url} title={label ?? "Folium Map"} height="{height}px"></iframe>
{:else}
<Empty unpadded_box={true} size="large"><PlotIcon /></Empty>
{/if}
</Block>
<style>
iframe {
display: flex;
width: var(--size-full);
}
</style>
|