"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const MultiTemplateComponent_1 = require("../../../../lib/MultiTemplateComponent");
const ReactTemplate_1 = require("../../../../lib/templates/ReactTemplate");
const templates = new Map([
    ["text-editor", { name: "Text Editor", widget: "igTextEditor" }],
    ["numeric-editor", { name: "Numeric Editor", widget: "igNumericEditor" }],
    ["currency-editor", { name: "Currency Editor", widget: "igCurrencyEditor" }],
    ["mask-editor", { name: "Mask Editor", widget: "igMaskEditor" }],
    ["date-picker", { name: "Date Picker", widget: "igDatePicker" }]
]);
class EditorsComponent extends MultiTemplateComponent_1.MultiTemplateComponent {
    constructor() {
        super(EditorsReactTemplate, templates);
        this.name = "Editors";
        this.group = "Data Entry";
        this.description = "pick from: igTextEditor, igNumericEditor, igCurrencyEditor, igMaskEditor, igDatePicker.";
    }
}
class EditorsReactTemplate extends ReactTemplate_1.ReactTemplate {
    constructor() {
        super(path.join(__dirname, "editors"));
        this.projectType = "es6";
        this.components = ["Editors"];
        this.controlGroup = "Editors";
        this.dependencies = ["igEditors"];
        this.hasExtraConfiguration = false;
    }
    generateConfig(name, ...options) {
        this.widget = this.mapItem.widget;
        return super.generateConfig(name, options);
    }
}
module.exports = new EditorsComponent();
