UNPKG

ngx-json-ui

Version:

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.

48 lines (47 loc) 2.87 kB
import { ChangeDetectorRef, OnChanges, SimpleChanges, OnDestroy } from '@angular/core'; import { DomSanitizer } from '@angular/platform-browser'; import { FormBuilder } from '@angular/forms'; import { BaseFormArrayComponent } from '../../../../shared/base/base-form-array.component'; import { PaginationHelper } from '../../../../shared/utilities/pagination-helper'; import { DprOptionModel } from '../../../../features/data-population/models/dpr-option.model'; import { DataPopulationRuleService } from '../../../../features/data-population/services/data-population-rule.service'; import { FormSubmitBroadcastService } from '../../../../core/services/form-submit-broadcast.service'; import { ValidatorBodyModel } from '../../../../features/validator/models/joi-validators.model'; import * as i0 from "@angular/core"; type ValidationTypeMap = Record<'string' | 'number' | 'integer' | 'boolean' | 'date', any>; type ArrayItemType<S extends keyof ValidationTypeMap> = ValidationTypeMap[S]; export declare class CheckboxComponent<S extends keyof ValidationTypeMap = 'string', T = ArrayItemType<S>> extends BaseFormArrayComponent implements OnChanges, OnDestroy { protected fb: FormBuilder; private dpService; protected submitBroadcastService: FormSubmitBroadcastService; protected cdr: ChangeDetectorRef; /** Joi-like validation schema for array items */ validationSchema: ValidatorBodyModel; /** Currently selected values */ selectedItems: T[]; /** Pagination helper for dynamic options */ pager: PaginationHelper<DprOptionModel>; constructor(sanitizer: DomSanitizer, fb: FormBuilder, dpService: DataPopulationRuleService, submitBroadcastService: FormSubmitBroadcastService, cdr: ChangeDetectorRef); /** Re-initialize on config change: styles, pagination, defaults */ ngOnChanges(changes: SimpleChanges): void; /** Toggle selection, updating both array and model */ handleSelection(item: T): void; /** Allow select if under maxItems or already selected */ isSelectable(item: T): boolean; /** Current set of options */ get options(): DprOptionModel[]; /** Pagination controls */ nextPage(): void; previousPage(): void; /** Track items by index for ngFor */ trackByIndex: (_: number, __: DprOptionModel) => (_i: number, o: DprOptionModel) => any; /** Unique ID per option for labels */ getOptionId: (opt: DprOptionModel, idx: number) => string; /** Cast input to generic type */ castValue(value: any): T; /** Cleanup resources */ ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent<any, any>, never>; static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent<any, any>, "nju-checkbox", never, { "validationSchema": { "alias": "validationSchema"; "required": false; }; }, {}, never, never, false, never>; } export {};