"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const path = require("path");
const MultiTemplateComponent_1 = require("../../../../lib/MultiTemplateComponent");
const AngularTemplate_1 = require("../../../../lib/templates/AngularTemplate");
const templates = new Map([
    ["text-editor", { name: "Text Editor", widget: "ig-text-editor" }],
    ["numeric-editor", { name: "Numeric Editor", widget: "ig-numeric-editor" }],
    ["currency-editor", { name: "Currency Editor", widget: "ig-currency-editor" }],
    ["mask-editor", { name: "Mask Editor", widget: "ig-mask-editor" }],
    ["date-picker", { name: "Date Picker", widget: "ig-date-picker" }]
]);
class EditorsComponent extends MultiTemplateComponent_1.MultiTemplateComponent {
    constructor() {
        super(EditorsAngularComponent, templates);
        this.name = "Editors";
        this.group = "Data Entry";
        this.description = "pick from: igTextEditor, igNumericEditor, igCurrencyEditor, igMaskEditor, igDatePicker.";
    }
}
class EditorsAngularComponent extends AngularTemplate_1.AngularTemplate {
    constructor() {
        super(path.join(__dirname, "default"));
        this.projectType = "ig-ts";
        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();
