/// <reference path="./ITagInjector.ts" /> /// <reference path="../ITagDefinition.ts" /> /// <reference path="./HtmlTagInjector.ts" /> var econda; (function (econda) { var tagmanager; (function (tagmanager) { var tag; (function (tag) { var injector; (function (injector) { /** * Injects tags to dom document. * @class econda.tagmanager.tag.injector.Injector */ var Injector = (function () { function Injector() { /** * Array of loaded injectors * @private */ this._injectors = {}; this._injectors['html'] = new econda.tagmanager.tag.injector.HtmlTagInjector(); } /** * Inject tag to dom. Will use a specialized injector based on tag type and tag properties * @param {Object} tagDefinition Tag definition * @param {String} tagSourceCode Source with placeholders already replaces with real values */ Injector.prototype.inject = function (tagDefinition, tagSourceCode) { var tagType = 'html'; // hardcoded for now, ui does not support multiple tag types if (typeof this._injectors[tagType] === 'undefined') { throw "Unsupported tag type"; } this._injectors[tagType].inject(tagDefinition, tagSourceCode); }; return Injector; }()); injector.Injector = Injector; })(injector = tag.injector || (tag.injector = {})); })(tag = tagmanager.tag || (tagmanager.tag = {})); })(tagmanager = econda.tagmanager || (econda.tagmanager = {})); })(econda || (econda = {}));