@obliczeniowo/elementary
Version:
Library made in Angular version 19
62 lines (61 loc) • 3.18 kB
TypeScript
import { AbstractCombineAdapter } from './../../classes/abstract-combine-adapter';
import { AdapterConnector } from './../../interfaces/adapter-connector';
import { ElementRef, SimpleChanges, OnChanges, EventEmitter } from '@angular/core';
import { Category, CategoryWithId } from '../../interfaces/category';
import { AbstractControl, ControlValueAccessor, ValidationErrors } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class HalfMatrixCombineCategoriesComponent implements OnChanges, ControlValueAccessor, AdapterConnector {
private readonly elementRef;
protected touched: boolean;
protected disableParts: string[];
selected: string[];
single: [CategoryWithId, CategoryWithId][];
/**
* Categories list used to create combination, minimum 2 maximum 7 however there is no limits
*/
categories: Category[];
value: (Category | number)[][];
adapter: AbstractCombineAdapter<any>;
/**
* Disable whole things
*/
disabled: any;
/**
* Disable speciffic combination of categories (format depends on type of adapter used inside)
*
* When the adapter field is instance of CombineNameAdapter then to disable "Category 1" i "Category 2":
*
* @example
*
* <obl-combine-categories [value]="selected" (valueChaned)="changed($event)"
* [disable]="[[{ name: 'Category 1' }, { name: 'Category 2' }]]"></obl-combine-categories>
*/
disable: (Category | number)[][];
/**
* Let you display a obl-single-category components that represents single combination with names of
* categories displayed inside.
*/
displaySingle: import("@angular/core").InputSignal<boolean>;
/**
* Emit when value changed
*/
valueChanged: EventEmitter<any[][]>;
onChange: (value: (Category | number)[][]) => void;
onTouched: () => void;
constructor(elementRef: ElementRef<HTMLElement>);
table(length: number): Array<any>;
select(row: number, col: number): void;
toggle(row: number, col: number): void;
toggleAll(categoryId: number): void;
ngOnChanges(changes: SimpleChanges): void;
validate(control: AbstractControl): ValidationErrors | null;
writeValue(categories: Category[][]): void;
registerOnChange(onChange: any): void;
registerOnTouched(onTouched: any): void;
setDisabledState(disabled: boolean): void;
markAsTouched(): void;
protected toSingleCombination(): void;
protected set(withEmit?: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration<HalfMatrixCombineCategoriesComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<HalfMatrixCombineCategoriesComponent, "obl-half-matrix-combine-categories", never, { "categories": { "alias": "categories"; "required": false; }; "value": { "alias": "value"; "required": false; }; "adapter": { "alias": "adapter"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "disable": { "alias": "disable"; "required": false; }; "displaySingle": { "alias": "displaySingle"; "required": false; "isSignal": true; }; }, { "valueChanged": "valueChanged"; }, never, never, false, never>;
}