UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

73 lines 11.3 kB
import { Component, Inject, Optional, ViewChild } from '@angular/core'; import { AbstractBaseDataFieldComponent } from '../../base-component/abstract-base-data-field.component'; import { DATA_FIELD_PORTAL_DATA } from '../../models/data-field-portal-data-injection-token'; import { ENTER, COMMA, SEMICOLON } from '@angular/cdk/keycodes'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; export class AbstractStringCollectionDefaultFieldComponent extends AbstractBaseDataFieldComponent { _translate; input; separatorKeysCodes = [ENTER]; subComp; constructor(_translate, dataFieldPortalData) { super(dataFieldPortalData); this._translate = _translate; } ngOnInit() { this.checkProperties(); this.subComp = this.dataField.componentChange$().subscribe(() => { this.checkProperties(); }); } checkProperties() { this.checkPropertyForSeparator(this.dataField?.component?.properties?.semicolon === 'true', SEMICOLON); this.checkPropertyForSeparator(this.dataField?.component?.properties?.comma === 'true', COMMA); } checkPropertyForSeparator(propertyBoolean, separator) { if (propertyBoolean && !this.separatorKeysCodes.includes(separator)) { this.separatorKeysCodes.push(separator); } else if (this.separatorKeysCodes.includes(separator)) { this.separatorKeysCodes = this.separatorKeysCodes.filter(value => value !== separator); } } remove(value) { const index = this.dataField.value.indexOf(value); if (index >= 0) { const choiceArray = [...this.dataField.value]; choiceArray.splice(index, 1); this.dataField.value = choiceArray; } } add(event) { const value = event['value'] ?? (event['target']?.['value'] ?? ''); if (value?.trim()) { this.dataField.value = (this.dataField.value === null || this.dataField.value === undefined) ? [] : this.dataField.value; const choiceArray = [...this.dataField.value]; choiceArray.push(value); this.dataField.value = choiceArray; this.input.nativeElement.value = ''; } else { this.input.nativeElement.value = ''; } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractStringCollectionDefaultFieldComponent, deps: [{ token: i1.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractStringCollectionDefaultFieldComponent, selector: "ncc-abstract-string-collection-default-field", viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractStringCollectionDefaultFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-string-collection-default-field', template: '', }] }], ctorParameters: () => [{ type: i1.TranslateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }], propDecorators: { input: [{ type: ViewChild, args: ['input'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc3RyaW5nLWNvbGxlY3Rpb24tZGVmYXVsdC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL3N0cmluZy1jb2xsZWN0aW9uLWZpZWxkL3N0cmluZy1jb2xsZWN0aW9uLWRlZmF1bHQtZmllbGQvYWJzdHJhY3Qtc3RyaW5nLWNvbGxlY3Rpb24tZGVmYXVsdC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBYyxNQUFNLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUV2RyxPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0scURBQXFELENBQUM7QUFFaEgsT0FBTyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQVE5RCxNQUFNLE9BQWdCLDZDQUE4QyxTQUFRLDhCQUFxRDtJQU03RjtJQUpaLEtBQUssQ0FBYTtJQUMvQixrQkFBa0IsR0FBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLE9BQU8sQ0FBZTtJQUVoQyxZQUFnQyxVQUE0QixFQUNKLG1CQUErRDtRQUNuSCxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUZDLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBRzVELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxD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bnQsIEVsZW1lbnRSZWYsIEluamVjdCwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9iYXNlLWNvbXBvbmVudC9hYnN0cmFjdC1iYXNlLWRhdGEtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGF9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge1N0cmluZ0NvbGxlY3Rpb25GaWVsZH0gZnJvbSAnLi4vbW9kZWxzL3N0cmluZy1jb2xsZWN0aW9uLWZpZWxkJztcbmltcG9ydCB7RU5URVIsIENPTU1BLCBTRU1JQ09MT059IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge01hdENoaXBJbnB1dEV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXN0cmluZy1jb2xsZWN0aW9uLWRlZmF1bHQtZmllbGQnLFxuICAgIHRlbXBsYXRlOiAnJyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTdHJpbmdDb2xsZWN0aW9uRGVmYXVsdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50PFN0cmluZ0NvbGxlY3Rpb25GaWVsZD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgICBwdWJsaWMgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUl07XG4gICAgcHJvdGVjdGVkIHN1YkNvbXA6IFN1YnNjcmlwdGlvbjtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8U3RyaW5nQ29sbGVjdGlvbkZpZWxkPikge1xuICAgICAgICBzdXBlcihkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jaGVja1Byb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5zdWJDb21wID0gdGhpcy5kYXRhRmllbGQuY29tcG9uZW50Q2hhbmdlJCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrUHJvcGVydGllcygpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgY2hlY2tQcm9wZXJ0aWVzKCkge1xuICAgICAgICB0aGlzLmNoZWNrUHJvcGVydHlGb3JTZXBhcmF0b3IodGhpcy5kYXRhRmllbGQ/LmNvbXBvbmVudD8ucHJvcGVydGllcz8uc2VtaWNvbG9uID09PSAndHJ1ZScsIFNFTUlDT0xPTilcbiAgICAgICAgdGhpcy5jaGVja1Byb3BlcnR5Rm9yU2VwYXJhdG9yKHRoaXMuZGF0YUZpZWxkPy5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmNvbW1hID09PSAndHJ1ZScsIENPTU1BKVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGVja1Byb3BlcnR5Rm9yU2VwYXJhdG9yKHByb3BlcnR5Qm9vbGVhbjogYm9vbGVhbiwgc2VwYXJhdG9yOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHByb3BlcnR5Qm9vbGVhbiAmJiAhdGhpcy5zZXBhcmF0b3JLZXlzQ29kZXMuaW5jbHVkZXMoc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgdGhpcy5zZXBhcmF0b3JLZXlzQ29kZXMucHVzaChzZXBhcmF0b3IpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2VwYXJhdG9yS2V5c0NvZGVzLmluY2x1ZGVzKHNlcGFyYXRvcikpIHtcbiAgICAgICAgICAgIHRoaXMuc2VwYXJhdG9yS2V5c0NvZGVzID0gdGhpcy5zZXBhcmF0b3JLZXlzQ29kZXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBzZXBhcmF0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmRhdGFGaWVsZC52YWx1ZS5pbmRleE9mKHZhbHVlKTtcblxuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgY29uc3QgY2hvaWNlQXJyYXkgPSBbLi4udGhpcy5kYXRhRmllbGQudmFsdWVdO1xuICAgICAgICAgICAgY2hvaWNlQXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gY2hvaWNlQXJyYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50IHwgRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50Wyd2YWx1ZSddID8/IChldmVudFsndGFyZ2V0J10/LlsndmFsdWUnXSA/PyAnJyk7XG5cbiAgICAgICAgaWYgKHZhbHVlPy50cmltKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gKHRoaXMuZGF0YUZpZWxkLnZhbHVlID09PSBudWxsIHx8IHRoaXMuZGF0YUZpZWxkLnZhbHVlID09PSB1bmRlZmluZWQpID8gW10gOiB0aGlzLmRhdGFGaWVsZC52YWx1ZVxuICAgICAgICAgICAgY29uc3QgY2hvaWNlQXJyYXkgPSBbLi4udGhpcy5kYXRhRmllbGQudmFsdWVdO1xuICAgICAgICAgICAgY2hvaWNlQXJyYXkucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmRhdGFGaWVsZC52YWx1ZSA9IGNob2ljZUFycmF5O1xuICAgICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==