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
TypeScript
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 {};