@schoolbelle/common
Version:
Demo library to showcase Angular packaging format
108 lines (100 loc) • 8.28 kB
JavaScript
(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