* @body * * ## Component Initialization * * ```html * <bit-c3></bit-c3> * ``` */ can.Component.extend({ tag: "bit-c3", template: template, viewModel: ChartVM, events: { inserted: function(viewModel, ev) { var rootElement = ev.target, graphBaseElement = d3.select(rootElement.getElementsByClassName('chart-container')[0]), chart = c3.generate({ bindto: graphBaseElement, data: { columns: [] } }); this.viewModel.attr('chart', chart); }, removed: function() { this.viewmodel.attr('chart', this.viewModel.attr('chart').destroy()); } } }); export default ChartVM;
import can from 'can'; import Component from 'can/component/'; import 'can/map/define/'; import './style.less!'; import VM from './view-model'; import template from './template.stache!'; import pagenavigation from 'components/page-navigation/'; can.Component.extend({ tag: 'page-dashboard', viewModel: VM, template: template, events: { 'inserted': function() { console.log('loaded dashboard'); } } });