UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 4.21 kB
{"version":3,"sources":["template_loader.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;gBAArC,EAAC,GAAE,YAAqB;AAAE,2BAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;;;;;;EAAlD,WAAS,EAAjB,EAAC,qBAAoB,CAAA,OAAM,AAAC,eAAkB,CACtC,CAAA,sBAAqB,+BAA2B,CAAA,sBAAqB,GAAK,EAAC,OAAM,qBAAmB,CAAC,AAD/D,CACgE;SAD9G,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;AAAtG,UAAM;AAAG,YAAQ;AAAG,gBAAY;AAAG,YAAQ;SADnD,EAAC,8CAAoB,CAAA,OAAM,AAAC,kCAAkB,CACtC,CAAA,+CAAqB,wDAA2B,CAAA,+CAAqB,GAAK,EAAC,OAAM,8CAAmB,CAAC,AAD/D,CACgE;AACtG,MAAE;AAAG,aAAS;AAAG,mBAAe;AAAG,YAAQ;SAFnD,EAAC,yCAAoB,CAAA,OAAM,AAAC,6BAAkB,CACtC,CAAA,0CAAqB,mDAA2B,CAAA,0CAAqB,GAAK,EAAC,OAAM,yCAAmB,CAAC,AAD/D,CACgE;AAEtG,iBAAa;AAAG,UAAM;EACtB,IAAE,EAJV,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;EAKtG,IAAE,EANV,EAAC,yCAAoB,CAAA,OAAM,AAAC,6BAAkB,CACtC,CAAA,0CAAqB,mDAA2B,CAAA,0CAAqB,GAAK,EAAC,OAAM,yCAAmB,CAAC,AAD/D,CACgE;EAOtG,eAAa,EARrB,EAAC,kCAAoB,CAAA,OAAM,AAAC,aAAkB,CACtC,CAAA,mCAAqB,4CAA2B,CAAA,mCAAqB,GAAK,EAAC,OAAM,kCAAmB,CAAC,AAD/D,CACgE;EAQtG,YAAU,EATlB,EAAC,qDAAoB,CAAA,OAAM,AAAC,sCAAkB,CACtC,CAAA,sDAAqB,+DAA2B,CAAA,sDAAqB,GAAK,EAAC,OAAM,qDAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,iBAgBG,SAAM,eAAa,CAIZ,GAAE,AAAK,CAAG,CAAA,WAAU,AAAa,CAAG;AAC9C,KAAG,KAAK,EAAI,IAAE,CAAC;AACf,KAAG,WAAW,EAAI,CAAA,gBAAe,OAAO,AAAC,EAAC,CAAC;AAC7C,AAvBsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC,kBAyB3B,IAAG,CAAH,UAAK,QAAO,AAAgB,CAAW;AACrC,OAAI,SAAQ,AAAC,CAAC,QAAO,SAAS,CAAC,CAAG;AAChC,WAAO,CAAA,cAAa,QAAQ,AAAC,CAAC,GAAE,eAAe,AAAC,CAAC,QAAO,SAAS,CAAC,CAAC,CAAC;IACtE;AAAA,AACI,MAAA,CAAA,GAAE,EAAI,CAAA,QAAO,OAAO,CAAC;AACzB,OAAI,SAAQ,AAAC,CAAC,GAAE,CAAC,CAAG;AAClB,AAAI,QAAA,CAAA,OAAM,EAAI,CAAA,gBAAe,IAAI,AAAC,CAAC,IAAG,WAAW,CAAG,IAAE,CAAC,CAAC;AAExD,SAAI,OAAM,AAAC,CAAC,OAAM,CAAC,CAAG;AACpB,cAAM,EAAI,CAAA,IAAG,KAAK,IAAI,AAAC,CAAC,GAAE,CAAC,KAAK,AAAC,CAAC,SAAU,IAAG,CAAG;AAChD,AAAI,YAAA,CAAA,QAAO,EAAI,CAAA,GAAE,eAAe,AAAC,CAAC,IAAG,CAAC,CAAC;AACvC,eAAO,SAAO,CAAC;QACjB,CAAC,CAAC;AACF,uBAAe,IAAI,AAAC,CAAC,IAAG,WAAW,CAAG,IAAE,CAAG,QAAM,CAAC,CAAC;MACrD;AAAA,AAEA,WAAO,QAAM,CAAC;IAChB;AAAA,AAEA,QAAM,IAAI,cAAY,AAAC,CAAC,0DAAyD,CAAC,CAAC;EACrF,MA7CmF;AAArF,KAAK,eAAe,AAAC,+BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAczB,WAAS,AAAC,EAAC,EAdqC;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,8BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAmBP,GAAE,IAAgB,WAAU,GAnBE;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,6CACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAwBT,cAAa,GAxBmB;EAAC,CAAC,CAAC,CAAC;AA8CrD","file":"angular2/src/render/dom/compiler/template_loader.js","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {isBlank, isPresent, BaseException, stringify} from 'angular2/src/facade/lang';\nimport {Map, MapWrapper, StringMapWrapper, StringMap} from 'angular2/src/facade/collection';\nimport {PromiseWrapper, Promise} from 'angular2/src/facade/async';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\n\nimport {XHR} from 'angular2/src/services/xhr';\n\nimport {ViewDefinition} from '../../api';\nimport {UrlResolver} from 'angular2/src/services/url_resolver';\n\n/**\n * Strategy to load component templates.\n * TODO: Make public API once we are more confident in this approach.\n */\n@Injectable()\nexport class TemplateLoader {\n _xhr: XHR;\n _htmlCache: StringMap;\n\n constructor(xhr: XHR, urlResolver: UrlResolver) {\n this._xhr = xhr;\n this._htmlCache = StringMapWrapper.create();\n }\n\n load(template: ViewDefinition):Promise {\n if (isPresent(template.template)) {\n return PromiseWrapper.resolve(DOM.createTemplate(template.template));\n }\n var url = template.absUrl;\n if (isPresent(url)) {\n var promise = StringMapWrapper.get(this._htmlCache, url);\n\n if (isBlank(promise)) {\n promise = this._xhr.get(url).then(function (html) {\n var template = DOM.createTemplate(html);\n return template;\n });\n StringMapWrapper.set(this._htmlCache, url, promise);\n }\n\n return promise;\n }\n\n throw new BaseException('View should have either the url or template property set');\n }\n}\n"]}