@cause-911/material
Version:
Run `npm install @cause-911/material --save` to add this library to your project
102 lines • 7.99 kB
JavaScript
/**
* @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