UNPKG

@schoolbelle/common

Version:

Demo library to showcase Angular packaging format

108 lines (100 loc) 8.28 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common')) : typeof define === 'function' && define.amd ? define('@schoolbelle/common/services/translation', ['exports', '@angular/core', '@angular/common'], factory) : (factory((global.schoolbelle = global.schoolbelle || {}, global.schoolbelle.common = global.schoolbelle.common || {}, global.schoolbelle.common.services = global.schoolbelle.common.services || {}, global.schoolbelle.common.services.translation = {}),global.ng.core,global.ng.common)); }(this, (function (exports,core,common) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var TranslationService = (function () { function TranslationService(injector) { this.injector = injector; this.translationMap = new Map(); } /** * @param {?} Component * @return {?} */ TranslationService.prototype.injectComponent = /** * @param {?} Component * @return {?} */ function (Component) { var _this = this; if (!Component) return; var /** @type {?} */ componentFactory = this.injector .get(core.ComponentFactoryResolver) .resolveComponentFactory(Component); var /** @type {?} */ containerEl = document.querySelector('body'); var /** @type {?} */ TranslationCmptRef = componentFactory.create(this.injector); this.injector.get(core.ApplicationRef).attachView(TranslationCmptRef.hostView); if (TranslationCmptRef.location.nativeElement) { containerEl.appendChild(TranslationCmptRef.location.nativeElement); Array.from(TranslationCmptRef.location.nativeElement.querySelectorAll('div[translation-text]')).forEach(function (el) { return _this.translationMap.set(el.id, el.attributes['translation-text'].value); }); } }; /** * @param {?} key * @return {?} */ TranslationService.prototype.get = /** * @param {?} key * @return {?} */ function (key) { return (this.translationMap.get(key) || 'Translation cannot be found for :' + key); }; TranslationService.decorators = [ { type: core.Injectable }, ]; /** @nocollapse */ TranslationService.ctorParameters = function () { return [ { type: core.Injector, }, ]; }; return TranslationService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var TranslationModule = (function () { function TranslationModule() { } /** * @return {?} */ TranslationModule.forRoot = /** * @return {?} */ function () { return { ngModule: TranslationModule, providers: [TranslationService] }; }; TranslationModule.decorators = [ { type: core.NgModule, args: [{ imports: [common.CommonModule] },] }, ]; return TranslationModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ exports.TranslationModule = TranslationModule; exports.TranslationService = TranslationService; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nob29sYmVsbGUtY29tbW9uLXNlcnZpY2VzLXRyYW5zbGF0aW9uLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vQHNjaG9vbGJlbGxlL2NvbW1vbi9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIiwibmc6Ly9Ac2Nob29sYmVsbGUvY29tbW9uL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICB0cmFuc2xhdGlvbk1hcDogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoKTtcbiAgaW5qZWN0Q29tcG9uZW50KENvbXBvbmVudDogYW55KSB7XG4gICAgaWYgKCFDb21wb25lbnQpIHJldHVybjtcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQ29tcG9uZW50KTtcbiAgICBjb25zdCBjb250YWluZXJFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2JvZHknKTtcblxuICAgIGNvbnN0IFRyYW5zbGF0aW9uQ21wdFJlZjogQ29tcG9uZW50UmVmPGFueT4gPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShcbiAgICAgIHRoaXMuaW5qZWN0b3JcbiAgICApO1xuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKS5hdHRhY2hWaWV3KFRyYW5zbGF0aW9uQ21wdFJlZi5ob3N0Vmlldyk7XG4gICAgaWYgKFRyYW5zbGF0aW9uQ21wdFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb250YWluZXJFbC5hcHBlbmRDaGlsZChUcmFuc2xhdGlvbkNtcHRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICBBcnJheS5mcm9tKFxuICAgICAgICBUcmFuc2xhdGlvbkNtcHRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdkaXZbdHJhbnNsYXRpb24tdGV4dF0nXG4gICAgICAgIClcbiAgICAgICkuZm9yRWFjaCgoZWw6IEhUTUxFbGVtZW50KSA9PlxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uTWFwLnNldChlbC5pZCwgZWwuYXR0cmlidXRlc1sndHJhbnNsYXRpb24tdGV4dCddLnZhbHVlKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgZ2V0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy50cmFuc2xhdGlvbk1hcC5nZXQoa2V5KSB8fCAnVHJhbnNsYXRpb24gY2Fubm90IGJlIGZvdW5kIGZvciA6JyArIGtleVxuICAgICk7XG4gIH1cbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1RyYW5zbGF0aW9uU2VydmljZV1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIiwiQXBwbGljYXRpb25SZWYiLCJJbmplY3RhYmxlIiwiSW5qZWN0b3IiLCJOZ01vZHVsZSIsIkNvbW1vbk1vZHVsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO1FBVUUsNEJBQW1CLFFBQWtCO1lBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7a0NBRUMsSUFBSSxHQUFHLEVBQUU7U0FGTjs7Ozs7UUFHekMsNENBQWU7Ozs7WUFBZixVQUFnQixTQUFjO2dCQUE5QixpQkFxQkM7Z0JBcEJDLElBQUksQ0FBQyxTQUFTO29CQUFFLE9BQU87Z0JBQ3ZCLHFCQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRO3FCQUNuQyxHQUFHLENBQUNBLDZCQUF3QixDQUFDO3FCQUM3Qix1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdEMscUJBQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRW5ELHFCQUFNLGtCQUFrQixHQUFzQixnQkFBZ0IsQ0FBQyxNQUFNLENBQ25FLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztnQkFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQ0MsbUJBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO29CQUM3QyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDbkUsS0FBSyxDQUFDLElBQUksQ0FDUixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUN4RCx1QkFBdUIsQ0FDeEIsQ0FDRixDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQWU7d0JBQ3hCLE9BQUEsS0FBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBSyxDQUFDO3FCQUFBLENBQ3hFLENBQUM7aUJBQ0g7YUFDRjs7Ozs7UUFDRCxnQ0FBRzs7OztZQUFILFVBQUksR0FBVztnQkFDYixRQUNFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLG1DQUFtQyxHQUFHLEdBQUcsRUFDekU7YUFDSDs7b0JBL0JGQyxlQUFVOzs7Ozt3QkFMVEMsYUFBUTs7O2lDQUhWOzs7Ozs7O0FDQUE7Ozs7OztRQU9TLHlCQUFPOzs7WUFBZDtnQkFDRSxPQUFPO29CQUNMLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNoQyxDQUFDO2FBQ0g7O29CQVRGQyxhQUFRLFNBQUM7d0JBQ1IsT0FBTyxFQUFFLENBQUNDLG1CQUFZLENBQUM7cUJBQ3hCOztnQ0FMRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9