@aptpod/data-viz-visual-parts-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.6.0 • Public • Published

@aptpod/data-viz-visual-parts-sdk

Visual Parts SDK は、intdash のデータ可視化アプリケーションである Visual M2M Data Visualizer(以下 Data Visualizer)用の可視化パーツ(以下ビジュアルパーツ)を開発するための SDK です。

Visual Parts SDK を使用して、グラフ、メーター、動く模式図などのビジュアルパーツを開発することができます。

インストール

npm i -S @aptpod/data-viz-visual-parts-sdk

or

yarn add @aptpod/data-viz-visual-parts-sdk

使用方法

import {
  ExposerEvent,
  Metadata,
  PanelViewConfig,
  PanelOptionConfig,
  Renderer,
  expose,
} from '@aptpod/data-viz-visual-parts-sdk'

import thumbnailSvg from 'src/assets/images/thumbnail.svg'

const panelViewConfig: Partial<PanelViewConfig> = {
  displayTimestamp: true,
}

const panelOptionConfig: PanelOptionConfig = {
  rangeAtMost: 1,
  canEditColor: false,
  bindDataCountMax: 1,
  extensionConfigs: [],
}

const metadata: Metadata = {
  partsType: '@sample/visual-parts',
  partsName: 'Sample Visual Parts',
  groupName: 'Sample',
  panelTagName: 'x-sample-visual-parts',
  getThumbnailURL: (baseURL: string) => `${baseURL}${thumbnailSvg}`,
  panelViewConfig,
  panelOptionConfig,
}

class VisualPartsRenderer extends Renderer {
  render(element: HTMLElement, event: ExposerEvent) {
    const props = {
      width: 0,
      height: 0,
      time: 0,
      value: '',
    }

    const draw = () => {
      element.innerHTML = `
        <div style="width: ${props.width}px; height: ${props.height}px">
          <div>Time: ${props.time}</div>
          <div>Value: ${props.value}</div>
        </div>
      `
    }

    event.viewBox.on((viewBox) => {
      props.width = viewBox.width
      props.height = viewBox.height
      draw()
    })

    event.currentData.on(({ dataIndex, data, time }) => {
      if (dataIndex === 0) {
        props.time = time
        props.value = String(data)
        draw()
      }
    })

    event.loaded.emit()
  }
  dispose(element: HTMLElement) {
    element.innerHTML = ''
  }
}

expose({
  metadata,
  renderer: VisualPartsRenderer,
})

ドキュメント

詳細については以下を参照してください。

Package Sidebar

Install

npm i @aptpod/data-viz-visual-parts-sdk

Weekly Downloads

440

Version

1.6.0

License

Apache-2.0

Unpacked Size

558 kB

Total Files

88

Last publish

Collaborators

  • y-matsumoto
  • y-endo
  • m-kureha
  • shinozaki
  • hkjkj
  • shirokane
  • tk-sato
  • masayuki.miyauchi