ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
78 lines • 10.7 kB
JavaScript
import { ChangeDetectorRef, Injector, NgModule, Pipe } from '@angular/core';
import { OTranslateService } from '../services/translate/o-translate.service';
import { Util } from '../util/util';
import * as i0 from "@angular/core";
export class OTranslatePipe {
constructor(injector) {
this.injector = injector;
this.value = '';
this._ref = this.injector.get(ChangeDetectorRef);
this.oTranslateService = this.injector.get(OTranslateService);
}
ngOnDestroy() {
this._dispose();
}
transform(text, args) {
if (!text || text.length === 0) {
return text;
}
if (Util.equals(text, this.lastKey) && Util.equals(args, this.lastParams)) {
return this.value;
}
this.lastKey = text;
this.lastParams = args;
this.updateValue(text);
this._dispose();
if (!this.onLanguageChanged) {
this.onLanguageChanged = this.oTranslateService.onLanguageChanged.subscribe(lang => {
if (this.lastKey) {
this.lastKey = null;
this.updateValue(text);
}
});
}
return this.value;
}
updateValue(key) {
const args = Util.isDefined(this.lastParams) ? this.lastParams.values || [] : [];
const res = this.oTranslateService.get(key, args);
this.value = res !== undefined ? res : key;
this.lastKey = key;
this._ref.markForCheck();
}
_dispose() {
if (typeof this.onLanguageChanged !== 'undefined') {
this.onLanguageChanged.unsubscribe();
this.onLanguageChanged = undefined;
}
}
}
OTranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTranslatePipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
OTranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OTranslatePipe, name: "oTranslate", pure: false });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTranslatePipe, decorators: [{
type: Pipe,
args: [{
name: 'oTranslate',
pure: false
}]
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
export class OTranslateModule {
static forRoot() {
return {
ngModule: OTranslateModule,
providers: []
};
}
}
OTranslateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
OTranslateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OTranslateModule, declarations: [OTranslatePipe], exports: [OTranslatePipe] });
OTranslateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTranslateModule });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OTranslateModule, decorators: [{
type: NgModule,
args: [{
declarations: [OTranslatePipe],
imports: [],
exports: [OTranslatePipe]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby10cmFuc2xhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9waXBlcy9vLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsUUFBUSxFQUVSLFFBQVEsRUFFUixJQUFJLEVBR0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFVcEMsTUFBTSxPQUFPLGNBQWM7SUFXekIsWUFBc0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVRqQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVXhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQW9CLGlCQUE0QyxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFvQixpQkFBNEMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sU0FBUyxDQUFDLElBQVksRUFBRSxJQUE2QjtRQUMxRCxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFHRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDekUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBR0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFHcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFHdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUd2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFHaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVztRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFUyxRQUFRO1FBQ2hCLElBQUksT0FBTyxJQUFJLENBQUMsaUJBQWlCLEtBQUssV0FBVyxFQUFFO1lBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7NEdBcEVVLGNBQWM7MEdBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsS0FBSztpQkFDWjs7QUE4RUQsTUFBTSxPQUFPLGdCQUFnQjtJQUNwQixNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUM7SUFDSixDQUFDOzs4R0FOVSxnQkFBZ0I7K0dBQWhCLGdCQUFnQixpQkE3RWhCLGNBQWMsYUFBZCxjQUFjOytHQTZFZCxnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFMNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgSW5qZWN0b3IsXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxuICBPbkRlc3Ryb3ksXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9UcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRlL28tdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZVBpcGVBcmd1bWVudCB7XG4gIHZhbHVlcz86IGFueVtdO1xufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdvVHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UgLy8gcmVxdWlyZWQgdG8gdXBkYXRlIHRoZSB2YWx1ZSB3aGVuIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkXG59KVxuZXhwb3J0IGNsYXNzIE9UcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgdmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgbGFzdEtleTogc3RyaW5nO1xuICBwdWJsaWMgbGFzdFBhcmFtczogYW55O1xuXG4gIHB1YmxpYyBvbkxhbmd1YWdlQ2hhbmdlZDogYW55OyAvLyBDaGFuZ2UgdGhpcyBmcm9tIEV2ZW50RW1pdHRlcjxhbnk+IHRvIGFueSBiZWNhdXNlIEVycm9yOiBUeXBlICdTdWJzY3JpcHRpb24nIGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGZyb20gdHlwZSAnRXZlbnRFbWl0dGVyPGFueT4nOiBlbWl0LCBzdWJzY3JpYmUsIG9ic2VydmVycywgaXNTdG9wcGVkLCBhbmQgMTUgbW9yZS5cblxuICBwcm90ZWN0ZWQgb1RyYW5zbGF0ZVNlcnZpY2U6IE9UcmFuc2xhdGVTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX3JlZiA9IHRoaXMuaW5qZWN0b3IuZ2V0PENoYW5nZURldGVjdG9yUmVmPihDaGFuZ2VEZXRlY3RvclJlZiBhcyBUeXBlPENoYW5nZURldGVjdG9yUmVmPik7XG4gICAgdGhpcy5vVHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PE9UcmFuc2xhdGVTZXJ2aWNlPihPVHJhbnNsYXRlU2VydmljZSBhcyBUeXBlPE9UcmFuc2xhdGVTZXJ2aWNlPik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zZSgpO1xuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybSh0ZXh0OiBzdHJpbmcsIGFyZ3M/OiBJVHJhbnNsYXRlUGlwZUFyZ3VtZW50KTogc3RyaW5nIHtcbiAgICBpZiAoIXRleHQgfHwgdGV4dC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0ZXh0O1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGtleSwgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKFV0aWwuZXF1YWxzKHRleHQsIHRoaXMubGFzdEtleSkgJiYgVXRpbC5lcXVhbHMoYXJncywgdGhpcy5sYXN0UGFyYW1zKSkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gc3RvcmUgdGhlIHF1ZXJ5LCBpbiBjYXNlIGl0IGNoYW5nZXNcbiAgICB0aGlzLmxhc3RLZXkgPSB0ZXh0O1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMubGFzdFBhcmFtcyA9IGFyZ3M7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0ZXh0KTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ3VhZ2VDaGFuZ2VkLCBjbGVhbiBpdFxuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcblxuICAgIC8vIHN1YnNjcmliZSB0byBvbkxhbmd1YWdlQ2hhbmdlZCBldmVudCwgaW4gY2FzZSB0aGUgbGFuZ3VhZ2UgY2hhbmdlc1xuICAgIGlmICghdGhpcy5vbkxhbmd1YWdlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5vbkxhbmd1YWdlQ2hhbmdlZCA9IHRoaXMub1RyYW5zbGF0ZVNlcnZpY2Uub25MYW5ndWFnZUNoYW5nZWQuc3Vic2NyaWJlKGxhbmcgPT4ge1xuICAgICAgICBpZiAodGhpcy5sYXN0S2V5KSB7XG4gICAgICAgICAgdGhpcy5sYXN0S2V5ID0gbnVsbDsgLy8gd2Ugd2FudCB0byBtYWtlIHN1cmUgaXQgZG9lc24ndCByZXR1cm4gdGhlIHNhbWUgdmFsdWUgdW50aWwgaXQncyBiZWVuIHVwZGF0ZWRcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRleHQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmFsdWUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBhcmdzID0gVXRpbC5pc0RlZmluZWQodGhpcy5sYXN0UGFyYW1zKSA/IHRoaXMubGFzdFBhcmFtcy52YWx1ZXMgfHwgW10gOiBbXTtcblxuICAgIGNvbnN0IHJlcyA9IHRoaXMub1RyYW5zbGF0ZVNlcnZpY2UuZ2V0KGtleSwgYXJncyk7XG4gICAgdGhpcy52YWx1ZSA9IHJlcyAhPT0gdW5kZWZpbmVkID8gcmVzIDoga2V5O1xuICAgIHRoaXMubGFzdEtleSA9IGtleTtcbiAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLm9uTGFuZ3VhZ2VDaGFuZ2VkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5vbkxhbmd1YWdlQ2hhbmdlZC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vbkxhbmd1YWdlQ2hhbmdlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtPVHJhbnNsYXRlUGlwZV0sXG4gIGltcG9ydHM6IFtdLFxuICBleHBvcnRzOiBbT1RyYW5zbGF0ZVBpcGVdXG59KVxuZXhwb3J0IGNsYXNzIE9UcmFuc2xhdGVNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxPVHJhbnNsYXRlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBPVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==