checkbox-tree-sync
Version:
A lightweight library for checkbox tree synchronization
35 lines (34 loc) • 1.07 kB
TypeScript
import { CheckboxModel, CheckboxTreeSyncOptions, ICheckboxTreeSync, TState } from "./types.js";
export declare class CheckboxTreeSync<T> implements ICheckboxTreeSync {
private params;
private flattenData;
private variant;
private state;
constructor(params: CheckboxTreeSyncOptions<T>);
getCheckboxesModel(): {
checkboxes: CheckboxModel[];
};
pickAll(): void;
/**
* make data flat so we can easily find parent and children and retrieve data
*/
private makeDataFlat;
private pickCheckboxParents;
private getCheckboxChildren;
private pickCheckboxChildren;
private removeCheckboxParents;
private removeCheckboxChildren;
private toggleCheckbox;
/**
* checkbox model for rendering
*/
private createCheckboxModel;
/**
* checkbox model for rendering
*/
private createSubCheckboxesModel;
private handleChangeState;
private updateVariant;
updateParams(params: Omit<CheckboxTreeSyncOptions<T>, "state">): void;
updateState(state?: TState): void;
}