import parallelPreprocessor from '../../coord/parallel/parallelPreprocessor.mjs';
import ParallelView from './ParallelView.mjs';
import ParallelModel from '../../coord/parallel/ParallelModel.mjs';
import parallelCoordSysCreator from '../../coord/parallel/parallelCreator.mjs';
import axisModelCreator from '../../coord/axisModelCreator.mjs';
import ParallelAxisModel from '../../coord/parallel/AxisModel.mjs';
import ParallelAxisView from '../axis/ParallelAxisView.mjs';
import { installParallelActions } from '../axis/parallelAxisAction.mjs';

var defaultAxisOption = {
  type: 'value',
  areaSelectStyle: {
    width: 20,
    borderWidth: 1,
    borderColor: 'rgba(160,197,232)',
    color: 'rgba(160,197,232)',
    opacity: 0.3
  },
  realtime: true,
  z: 10
};
function install(registers) {
  registers.registerComponentView(ParallelView);
  registers.registerComponentModel(ParallelModel);
  registers.registerCoordinateSystem('parallel', parallelCoordSysCreator);
  registers.registerPreprocessor(parallelPreprocessor);
  registers.registerComponentModel(ParallelAxisModel);
  registers.registerComponentView(ParallelAxisView);
  axisModelCreator(registers, 'parallel', ParallelAxisModel, defaultAxisOption);
  installParallelActions(registers);
}

export { install };
