UNPKG

@cause-911/material

Version:

Run `npm install @cause-911/material --save` to add this library to your project

102 lines 7.99 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input } from '@angular/core'; import { FormControl, Validators } from '@angular/forms'; import { CoreService, TranslateService } from '@cause-911/core'; export class InputMultipleLangueComponent { /** * @param {?} coreService * @param {?} translate */ constructor(coreService, translate) { this.translate = translate; this.value = []; this.forms = []; this.labels = []; this.selectedIndex = 0; this.config = coreService.getConfig(); } /** * @return {?} */ ngOnInit() { this.translate.get(this.config.languages).subscribe((/** * @param {?} labels * @return {?} */ labels => { for (const i in labels) { if (labels[i]) { this.labels.push(labels[i]); } } this.initializeForms(); })); } /** * @param {?} tabIndex * @return {?} */ onTagChanged(tabIndex) { console.log('cause-material', tabIndex); console.log('cause-material', this.value); console.log('cause-material', this.forms); } /** * @param {?} index * @return {?} */ getErrorMessage(index) { return this.forms[index].hasError('required') ? 'error.required' : ''; } /** * @private * @return {?} */ initializeForms() { this.labels.forEach((/** * @param {?} item * @param {?} index * @return {?} */ (item, index) => { this.forms[index] = new FormControl('', [Validators.required]); this.forms[index].setValue(this.value[index] || ''); })); } } InputMultipleLangueComponent.decorators = [ { type: Component, args: [{ selector: 'cause-input-multiple-langue', template: "<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n <mat-tab *ngFor=\"let lang of labels; let i = index\" [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n <mat-error *ngIf=\"forms[i].invalid\">{{getErrorMessage(i) | translate}}</mat-error>\n </mat-form-field>\n </mat-tab>\n</mat-tab-group>", styles: [".mat-form-field{width:100%}"] }] } ]; /** @nocollapse */ InputMultipleLangueComponent.ctorParameters = () => [ { type: CoreService }, { type: TranslateService } ]; InputMultipleLangueComponent.propDecorators = { value: [{ type: Input }] }; if (false) { /** @type {?} */ InputMultipleLangueComponent.prototype.value; /** @type {?} */ InputMultipleLangueComponent.prototype.config; /** @type {?} */ InputMultipleLangueComponent.prototype.forms; /** @type {?} */ InputMultipleLangueComponent.prototype.labels; /** @type {?} */ InputMultipleLangueComponent.prototype.selectedIndex; /** * @type {?} * @private */ InputMultipleLangueComponent.prototype.translate; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbXVsdGlwbGUtbGFuZ3VlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BjYXVzZS05MTEvbWF0ZXJpYWwvIiwic291cmNlcyI6WyJsaWIvaW5wdXQtbXVsdGlwbGUtbGFuZ3VlL2lucHV0LW11bHRpcGxlLWxhbmd1ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFnQixXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQU83RSxNQUFNLE9BQU8sNEJBQTRCOzs7OztJQU9yQyxZQUNJLFdBQXdCLEVBQ2hCLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBUjlCLFVBQUssR0FBYSxFQUFFLENBQUM7UUFFOUIsVUFBSyxHQUFrQixFQUFFLENBQUM7UUFDMUIsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQU1kLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFDLENBQUM7Ozs7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTOzs7O1FBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekQsS0FBSyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUU7Z0JBQ3BCLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMvQjthQUNKO1lBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsUUFBZ0I7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDMUUsQ0FBQzs7Ozs7SUFFTyxlQUFlO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs7Ozs7UUFBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUE3Q0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLDZkQUFxRDs7YUFFeEQ7Ozs7WUFOc0IsV0FBVztZQUFFLGdCQUFnQjs7O29CQVEvQyxLQUFLOzs7O0lBQU4sNkNBQThCOztJQUM5Qiw4Q0FBc0I7O0lBQ3RCLDZDQUEwQjs7SUFDMUIsOENBQXNCOztJQUN0QixxREFBa0I7Ozs7O0lBSWQsaURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uLCBDb3JlU2VydmljZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGNhdXNlLTkxMS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjYXVzZS1pbnB1dC1tdWx0aXBsZS1sYW5ndWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1tdWx0aXBsZS1sYW5ndWUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW11bHRpcGxlLWxhbmd1ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIElucHV0TXVsdGlwbGVMYW5ndWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbmZpZzogQ29uZmlndXJhdGlvbjtcbiAgICBmb3JtczogRm9ybUNvbnRyb2xbXSA9IFtdO1xuICAgIGxhYmVsczogc3RyaW5nW10gPSBbXTtcbiAgICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBjb3JlU2VydmljZTogQ29yZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvcmVTZXJ2aWNlLmdldENvbmZpZygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQodGhpcy5jb25maWcubGFuZ3VhZ2VzKS5zdWJzY3JpYmUobGFiZWxzID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaSBpbiBsYWJlbHMpIHtcbiAgICAgICAgICAgICAgICBpZiAobGFiZWxzW2ldKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFiZWxzLnB1c2gobGFiZWxzW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVGb3JtcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblRhZ0NoYW5nZWQodGFiSW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zb2xlLmxvZygnY2F1c2UtbWF0ZXJpYWwnLCB0YWJJbmRleCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjYXVzZS1tYXRlcmlhbCcsIHRoaXMudmFsdWUpO1xuICAgICAgICBjb25zb2xlLmxvZygnY2F1c2UtbWF0ZXJpYWwnLCB0aGlzLmZvcm1zKTtcbiAgICB9XG5cbiAgICBnZXRFcnJvck1lc3NhZ2UoaW5kZXg6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3Jtc1tpbmRleF0uaGFzRXJyb3IoJ3JlcXVpcmVkJykgPyAnZXJyb3IucmVxdWlyZWQnIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplRm9ybXMoKSB7XG4gICAgICAgIHRoaXMubGFiZWxzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvcm1zW2luZGV4XSA9IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybXNbaW5kZXhdLnNldFZhbHVlKHRoaXMudmFsdWVbaW5kZXhdIHx8ICcnKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19