UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

69 lines 10.2 kB
import { Component, Inject, Optional, ViewChildren } from '@angular/core'; import { DATA_FIELD_PORTAL_DATA } from "../../models/data-field-portal-data-injection-token"; import { AbstractBaseDataFieldComponent } from "../../base-component/abstract-base-data-field.component"; import * as i0 from "@angular/core"; export class AbstractEnumerationStepperFieldComponent extends AbstractBaseDataFieldComponent { ref; steps; arrowStepper; subComp; constructor(ref, dataFieldPortalData) { super(dataFieldPortalData); this.ref = ref; this.arrowStepper = false; } ngOnInit() { this.arrowStepper = this.dataField.component?.properties?.arrowStepper === 'true'; this.subComp = this.dataField.componentChange$().subscribe(() => { this.arrowStepper = this.dataField.component?.properties?.arrowStepper === 'true'; }); } canShowDoneIcon(index) { return index <= this.dataField.choices.findIndex(choice => choice.key === this.dataField.value); } isSelected(key) { return key === this.dataField.value; } ngAfterViewChecked() { if (!!this.steps && !!this.steps.toArray()) { const width = this.ref.nativeElement.parentElement.offsetWidth; const maxWidth = (width + (this.dataField.choices.length - 1) * 20) / this.dataField.choices.length; this.steps.toArray().forEach(step => { step.nativeElement.style.maxWidth = maxWidth >= 72 ? maxWidth + 'px' : '72px'; }); } } setStepperValue(key) { if (!this.formControlRef.disabled) { this.formControlRef.setValue(key); } } hasTitle() { return this.dataField.title !== undefined && this.dataField.title !== ''; } resolveValue(key) { return this.dataField.choices.find(k => k.key === key)?.value; } ngOnDestroy() { super.ngOnDestroy(); this.subComp.unsubscribe(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractEnumerationStepperFieldComponent, deps: [{ token: i0.ElementRef }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractEnumerationStepperFieldComponent, selector: "ncc-abstract-enumeration-stepper-field", viewQueries: [{ propertyName: "steps", predicate: ["oneStep"], descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractEnumerationStepperFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-enumeration-stepper-field', template: '' }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }], propDecorators: { steps: [{ type: ViewChildren, args: ['oneStep'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZW51bWVyYXRpb24tc3RlcHBlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL2VudW1lcmF0aW9uLWZpZWxkL2VudW1lcmF0aW9uLXN0ZXBwZXItZmllbGQvYWJzdHJhY3QtZW51bWVyYXRpb24tc3RlcHBlci1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFFVCxNQUFNLEVBRU4sUUFBUSxFQUVSLFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsc0JBQXNCLEVBQXNCLE1BQU0scURBQXFELENBQUM7QUFDaEgsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0seURBQXlELENBQUM7O0FBT3ZHLE1BQU0sT0FBZ0Isd0NBQXlDLFNBQVEsOEJBQWdEO0lBTTdGO0lBSkcsS0FBSyxDQUF3QjtJQUMvQyxZQUFZLENBQVU7SUFDbkIsT0FBTyxDQUFlO0lBRWhDLFlBQXNCLEdBQWUsRUFDbUIsbUJBQTBEO1FBQzlHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRlQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUdqQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksS0FBSyxNQUFNLENBQUM7UUFDbEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEtBQUssTUFBTSxDQUFDO1FBQ3RGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDbEIsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUMvRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDcEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEYsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBVztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRU0sWUFBWSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9CLENBQUM7d0dBdERpQix3Q0FBd0MsNENBTzFCLHNCQUFzQjs0RkFQcEMsd0NBQXdDLDBMQUZoRCxFQUFFOzs0RkFFTSx3Q0FBd0M7a0JBSjdELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQVFnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQjt5Q0FMN0IsS0FBSztzQkFBN0IsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCwgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFbnVtZXJhdGlvbkZpZWxkfSBmcm9tICcuLi9tb2RlbHMvZW51bWVyYXRpb24tZmllbGQnO1xuaW1wb3J0IHtEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBLCBEYXRhRmllbGRQb3J0YWxEYXRhfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEtZmllbGQtcG9ydGFsLWRhdGEtaW5qZWN0aW9uLXRva2VuXCI7XG5pbXBvcnQge0Fic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50L2Fic3RyYWN0LWJhc2UtZGF0YS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduY2MtYWJzdHJhY3QtZW51bWVyYXRpb24tc3RlcHBlci1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RW51bWVyYXRpb25TdGVwcGVyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEJhc2VEYXRhRmllbGRDb21wb25lbnQ8RW51bWVyYXRpb25GaWVsZD4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSB7XG5cbiAgICBAVmlld0NoaWxkcmVuKCdvbmVTdGVwJykgc3RlcHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICBwdWJsaWMgYXJyb3dTdGVwcGVyOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBzdWJDb21wOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQV9GSUVMRF9QT1JUQUxfREFUQSkgZGF0YUZpZWxkUG9ydGFsRGF0YTogRGF0YUZpZWxkUG9ydGFsRGF0YTxFbnVtZXJhdGlvbkZpZWxkPikge1xuICAgICAgICBzdXBlcihkYXRhRmllbGRQb3J0YWxEYXRhKTtcbiAgICAgICAgdGhpcy5hcnJvd1N0ZXBwZXIgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcnJvd1N0ZXBwZXIgPSB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnQ/LnByb3BlcnRpZXM/LmFycm93U3RlcHBlciA9PT0gJ3RydWUnO1xuICAgICAgICB0aGlzLnN1YkNvbXAgPSB0aGlzLmRhdGFGaWVsZC5jb21wb25lbnRDaGFuZ2UkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXJyb3dTdGVwcGVyID0gdGhpcy5kYXRhRmllbGQuY29tcG9uZW50Py5wcm9wZXJ0aWVzPy5hcnJvd1N0ZXBwZXIgPT09ICd0cnVlJztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FuU2hvd0RvbmVJY29uKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4IDw9IHRoaXMuZGF0YUZpZWxkLmNob2ljZXMuZmluZEluZGV4KGNob2ljZSA9PiBjaG9pY2Uua2V5ID09PSB0aGlzLmRhdGFGaWVsZC52YWx1ZSk7XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ga2V5ID09PSB0aGlzLmRhdGFGaWVsZC52YWx1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmICghIXRoaXMuc3RlcHMgJiYgISF0aGlzLnN0ZXBzLnRvQXJyYXkoKSkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9ICh3aWR0aCArICh0aGlzLmRhdGFGaWVsZC5jaG9pY2VzLmxlbmd0aCAtIDEpICogMjApIC8gdGhpcy5kYXRhRmllbGQuY2hvaWNlcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLnN0ZXBzLnRvQXJyYXkoKS5mb3JFYWNoKHN0ZXAgPT4ge1xuICAgICAgICAgICAgICAgIHN0ZXAubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhXaWR0aCA9IG1heFdpZHRoID49IDcyID8gbWF4V2lkdGggKyAncHgnIDogJzcycHgnO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRTdGVwcGVyVmFsdWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Db250cm9sUmVmLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sUmVmLnNldFZhbHVlKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzVGl0bGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFGaWVsZC50aXRsZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuZGF0YUZpZWxkLnRpdGxlICE9PSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzb2x2ZVZhbHVlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YUZpZWxkLmNob2ljZXMuZmluZChrID0+IGsua2V5ID09PSBrZXkpPy52YWx1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5zdWJDb21wLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxufVxuIl19