'use strict';

var extension = require('../../extension.js');
var installDataZoomSelect = require('../dataZoom/installDataZoomSelect.js');
var ToolboxModel = require('./ToolboxModel.js');
var ToolboxView = require('./ToolboxView.js');
var featureManager = require('./featureManager.js');
var SaveAsImage = require('./feature/SaveAsImage.js');
var MagicType = require('./feature/MagicType.js');
var DataView = require('./feature/DataView.js');
var Restore = require('./feature/Restore.js');
var DataZoom = require('./feature/DataZoom.js');

function install(registers) {
  registers.registerComponentModel(ToolboxModel.default);
  registers.registerComponentView(ToolboxView.default);
  featureManager.registerFeature('saveAsImage', SaveAsImage.default);
  featureManager.registerFeature('magicType', MagicType.default);
  featureManager.registerFeature('dataView', DataView.default);
  featureManager.registerFeature('dataZoom', DataZoom.default);
  featureManager.registerFeature('restore', Restore.default);
  extension.use(installDataZoomSelect.install);
}

exports.install = install;
