"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const MultiTemplateComponent_1 = require("../../../../lib/MultiTemplateComponent");
const jQueryTemplate_1 = require("../../../../lib/templates/jQueryTemplate");
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(EditorsJQueryTemplate, templates);
        this.name = "Editors";
        this.group = "Data Entry";
        this.description = "pick from: igTextEditor, igNumericEditor, igCurrencyEditor, igMaskEditor, igDatePicker.";
    }
}
class EditorsJQueryTemplate extends jQueryTemplate_1.jQueryTemplate {
    constructor() {
        super(__dirname);
        this.components = ["Editors"];
        this.controlGroup = "Editors";
        this.listInComponentTemplates = true;
        this.framework = "jquery";
        this.projectType = "js";
        this.dependencies = ["igEditors"];
    }
    generateConfig(name, ...options) {
        const extraConfig = {
            widget: this.mapItem.widget.toString()
        };
        return super.generateConfig(name, { extraConfig });
    }
}
module.exports = new EditorsComponent();
