@dpc-sdp/myvic-data-driven-component

**This is a "@dpc-sdp/ripple-nuxt-tide" submodule, for Single Digital Presence projects use only.**
1,566
Install
npm install @dpc-sdp/myvic-data-driven-component
Latest Version:2.2.13
Vue:2
License:Apache-2.0
Last Updated:Jan 6, 2023
Links: npm
Maintainer: sdp.devs

Data-Driven Component

This is a "@dpc-sdp/ripple-nuxt-tide" submodule, for Single Digital Presence projects use only.

A module to allow editors in SDP Tide CMS to add charts/maps into a content page.

Install

npm install @dpc-sdp/myvic-data-driven-component --save

Usage

In SDP project "tide.config.js"(it should be found in SDP site project root "/tide/tide.config.js"), add module as below example.

const tideConfig = {
  nodeModules: [
    '@dpc-sdp/myvic-data-driven-component'
  ]
}

Add your own charts/maps

To add custom components, set customComponents to true.

const tideConfig = {
  nodeModules: [
    ['@dpc-sdp/myvic-data-driven-component', { customComponents: true }]
  ]
}

Then add a file "/tide/data-driven-component-loader.js" to map and load your custom components, as below example.

const loadComponent = (configs) => {
  let dataDrivenComp
  switch (configs.name) {
    case 'my_chart':
      dataDrivenComp = {
        name: () => import(/* webackChunkName: 'my-chart' */ '~/components/MyChart').then(m => m.MyChart)
      }
      break

    case 'myvic_barchart_demo_1':
      dataDrivenComp = {
        name: () => import(/* webackChunkName: 'myvic-bar-chart' */ '@dpc-sdp/myvic-bar-chart'),
        props: {
          title: 'test bar chart',
          data: {
            labels: ['January', 'February', 'March', 'April', 'May', 'June'],
            datasets: [
              {
                label: 'Dataset 1',
                data: [40, 20, 12, 52, 10, 39]
              }
            ]
          }
        }
      }
      break
  }
  return dataDrivenComp
}

export default loadComponent

Disable IE support

For components like map, we are not going to support IE browsers. To disable IE support, set ieSupport to false in the configuration.

case 'my_map':
  dataDrivenComp = {
    name: () => import(/* webackChunkName: 'my-map' */ '~/components/MyMap').then(m => m.MyMap),
    ieSupport: false
  }
  break

The map will not be rendered. A alert will be displayed to the user.

Related Packages

@dpc-sdp/ripple-nuxt-tide

The Nuxt module for adding Tide integration.

7,074
@dpc-sdp/ripple-test-tools

Cypress.io helper library for testing a ripple nuxt site and tide backend

5,362
@dpc-sdp/ripple-data-vic-api

Nuxt server middleware and vue components for rendering data driven components u...

1,337

Version History

Version Released License
2.2.13 Apache-2.0
2.2.11 Apache-2.0
2.2.10 Apache-2.0
2.2.9 Apache-2.0
2.2.7 Apache-2.0
Pre-releases (3)
Version Released License
2.2.12-alpha.0 Apache-2.0
1.4.2-next.0 Apache-2.0
1.2.0-alpha.0 Apache-2.0