"use strict";

const CompositeXform = require('../../composite-xform');
const ColorXform = require('../../style/color-xform');
const CfvoXform = require('./cfvo-xform');
class DatabarXform extends CompositeXform {
  constructor() {
    super();
    this.map = {
      cfvo: this.cfvoXform = new CfvoXform(),
      color: this.colorXform = new ColorXform()
    };
  }
  get tag() {
    return 'dataBar';
  }
  render(xmlStream, model) {
    xmlStream.openNode(this.tag);
    model.cfvo.forEach(cfvo => {
      this.cfvoXform.render(xmlStream, cfvo);
    });
    this.colorXform.render(xmlStream, model.color);
    xmlStream.closeNode();
  }
  createNewModel() {
    return {
      cfvo: []
    };
  }
  onParserClose(name, parser) {
    switch (name) {
      case 'cfvo':
        this.model.cfvo.push(parser.model);
        break;
      case 'color':
        this.model.color = parser.model;
        break;
    }
  }
}
module.exports = DatabarXform;
//# sourceMappingURL=databar-xform.js.map
