0.0.11 • Published 4 months ago

mm-dashboard-demo v0.0.11

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

Svelte dashboard demo

Usage

<script lang="ts">
  import Dashboard from "mm-dashboard-demo";
  import type { DashboardData, XAxisOption, YAxisOption } from "mm-dashboard-demo/dashboard";

  //
  const dateToBindableString = (date: Date) => {
    let month = "" + (date.getMonth() + 1);
    let day = "" + date.getDate();
    let year = date.getFullYear();

    if (month.length < 2) month = "0" + month;
    if (day.length < 2) day = "0" + day;

    return [year, month, day].join("-");
  };

  let fromTransformed = dateToBindableString(new Date());
  let toTransformed = dateToBindableString(new Date());

  const baseUrl = "https://YOUR_BASE_URL/";

  let handleGetXAxisOptions: () => XAxisOption[];
  let handleGetYAxisOptions: () => YAxisOption[];
  let handleGetSelectedXAxis: () => XAxisOption;
  let handleGetSelectedYAxis: () => YAxisOption;
  let handleGetDashboardData: () => DashboardData;
</script>

<div class="content-wrapper">
  <div>
    <button
      on:click={() => {
        const item = handleGetXAxisOptions();
        console.log(item);
      }}>handleGetXAxisOptions</button
    >
    <button
      on:click={() => {
        const item = handleGetYAxisOptions();
        console.log(item);
      }}>handleGetYAxisOptions</button
    >
    <button
      on:click={() => {
        const item = handleGetSelectedXAxis();
        console.log(item);
      }}>handleGetSelectedXAxis</button
    >
    <button
      on:click={() => {
        const item = handleGetSelectedYAxis();
        console.log(item);
      }}>handleGetSelectedYAxis</button
    >
    <button
      on:click={() => {
        const item = handleGetDashboardData();
        console.log(item);
      }}>handleGetDashboardData</button
    >
  </div>

  <div class="inputs">
    <input type="date" bind:value={fromTransformed} />
    <input type="date" bind:value={toTransformed} />
  </div>

  <Dashboard
    {baseUrl}
    from={new Date(fromTransformed)}
    to={new Date(toTransformed)}
    colors={["#015C92", "#0170B1", "#027EC6", "#01A2FF"]}
    on:dataPointSelection={({ detail }) => console.log("dataPointSelection", detail)}
    on:updated={({ detail }) => console.log("updated", detail)}
    bind:getXAxisOptions={handleGetXAxisOptions}
    bind:getYAxisOptions={handleGetYAxisOptions}
    bind:getSelectedXAxis={handleGetSelectedXAxis}
    bind:getSelectedYAxis={handleGetSelectedYAxis}
    bind:getDashboardData={handleGetDashboardData}
  />
</div>

<style>
  .inputs {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding: 2rem;
  }
</style>
0.0.11

4 months ago

0.0.10

4 months ago

0.0.9

4 months ago

0.0.8

4 months ago

0.0.7

4 months ago

0.0.5

5 months ago

0.0.6

5 months ago

0.0.4

5 months ago