import { ArrayList } from '../utils';
var OComponentData = (function () {
    function OComponentData() {
        this.configuredInputs = {};
        if (this.isContainer()) {
            this.children = new ArrayList();
        }
    }
    OComponentData.prototype.getDirective = function () {
        return '';
    };
    OComponentData.prototype.getInputsProperties = function () {
        return [];
    };
    OComponentData.prototype.getInputs = function () {
        var rawProperties = this.getInputsProperties();
        var parsedProperties = [];
        rawProperties.forEach(function (properties) {
            var splitted = properties.split(':');
            parsedProperties.push(splitted[splitted.length - 1].trim());
        });
        return parsedProperties;
    };
    OComponentData.prototype.getTemplateInputsData = function () {
        return {
            attr: {
                type: 'string',
                label: 'attr',
                tooltip: '',
                default: null,
                required: true
            }
        };
    };
    OComponentData.prototype.isContainer = function () {
        return false;
    };
    OComponentData.prototype.setConfiguredInputs = function (data) {
        this.configuredInputs = Object.assign(this.configuredInputs, data);
    };
    OComponentData.prototype.getComponentAttr = function () {
        return this.configuredInputs ? this.configuredInputs.attr : undefined;
    };
    OComponentData.prototype.getConfiguredInputs = function () {
        return this.configuredInputs;
    };
    OComponentData.prototype.getConfiguredInputValue = function (inputName) {
        return this.configuredInputs ? this.configuredInputs[inputName] : undefined;
    };
    OComponentData.prototype.addChild = function (child) {
        this.children.push(child);
    };
    OComponentData.prototype.getChildren = function () {
        return this.children;
    };
    return OComponentData;
}());
export { OComponentData };
//# sourceMappingURL=o-component-data.class.js.map