UNPKG

@obliczeniowo/elementary

Version:
156 lines (151 loc) 7.17 kB
import * as _angular_core from '@angular/core'; import { ElementRef, EventEmitter, ChangeDetectorRef, QueryList } from '@angular/core'; import { Category } from '@obliczeniowo/elementary/categories'; import * as i4 from '@obliczeniowo/elementary/connectors'; import { RelationConnectorComponent, Connector } from '@obliczeniowo/elementary/connectors'; import { IPoint2D, ColorRGB } from '@obliczeniowo/elementary/classes'; import * as i5 from '@obliczeniowo/elementary/menu'; import { MenuComponent } from '@obliczeniowo/elementary/menu'; import { Subscription } from 'rxjs'; import { ControlValueAccessor, ValidationErrors } from '@angular/forms'; import * as i6 from '@obliczeniowo/elementary/dialogs'; import { DialogWrapperComponent } from '@obliczeniowo/elementary/dialogs'; import * as i7 from '@obliczeniowo/elementary/color-picker'; import { ColorComponent } from '@obliczeniowo/elementary/color-picker'; import * as i3 from '@angular/common'; import * as i8 from '@obliczeniowo/elementary/buttons'; type RelationSide = 'left' | 'right'; interface RelationItemClicked { side: RelationSide; category: Category; pos: IPoint2D; } declare class RelationItemComponent { protected elementRef: ElementRef<HTMLElement>; category: _angular_core.InputSignal<Category>; side: _angular_core.InputSignal<RelationSide>; relations: _angular_core.InputSignal<RelationConnectorComponent[]>; menu: _angular_core.InputSignal<MenuComponent | undefined>; disabled: _angular_core.InputSignal<boolean | undefined>; clicked: EventEmitter<RelationItemClicked>; remove: EventEmitter<{ category: Category; side: RelationSide; }>; editColor: EventEmitter<{ category: Category; side: RelationSide; }>; protected subscription: Subscription; protected haveRelations: boolean; onClick(): void; hovered: EventEmitter<RelationItemComponent>; protected menuItems: { id: number; text: string; command: string; }[]; onMouseOver(): void; onMouseLeave(): void; get isLeft(): boolean; get isRight(): boolean; constructor(elementRef: ElementRef<HTMLElement>); ngOnDestroy(): void; update(): void; get position(): { x: number; y: number; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration<RelationItemComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<RelationItemComponent, "obl-relation-item", never, { "category": { "alias": "category"; "required": false; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "relations": { "alias": "relations"; "required": false; "isSignal": true; }; "menu": { "alias": "menu"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; "remove": "remove"; "editColor": "editColor"; "hovered": "hovered"; }, never, never, false, never>; } /** * Relations item let you create corelation between left items and right one in graphical way and modify them * * [menu] - add context menu component {@link MenuComponent} from {@link MenuModule}. Do not set menu items, this component * will set them up by them self * [translations] - set the translations using as key current (default) english text and value as new one (translated) to display */ declare class CategoriesRelationsComponent implements ControlValueAccessor { protected elementRef: ElementRef<HTMLElement>; protected changes: ChangeDetectorRef; /** * right side categories */ left: Category[]; /** * left side categories */ right: Category[]; /** * connectors array to create {@link RelationConnectorComponent} */ connectors: Connector[]; /** * [translations] - set the translations using as key current (default) english text and value as new one (translated) to display */ translations: _angular_core.InputSignal<{ [english: string]: string; }>; menu: _angular_core.InputSignal<MenuComponent | undefined>; changed: EventEmitter<{ left: Category[]; right: Category[]; connectors: Connector[]; }>; color: DialogWrapperComponent; protected width: number; protected height: number; observer: ResizeObserver; protected highlight?: string; protected categoryItemSelected?: RelationItemClicked; protected mousePos?: IPoint2D; set relations(relation: QueryList<RelationConnectorComponent>); items: QueryList<RelationItemComponent>; colorPicker: ColorComponent; onMouseOver(): void; disabled?: boolean; protected relationsChanged: RelationConnectorComponent[]; protected target: any; protected connectorsSelected?: Connector[]; constructor(elementRef: ElementRef<HTMLElement>, changes: ChangeDetectorRef); onChange: (value: { left: Category[]; right: Category[]; connectors: Connector[]; }) => void; onTouched: () => void; onMove(event: MouseEvent): void; writeValue(obj: { left: Category[]; right: Category[]; connectors: Connector[]; }): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState?(isDisabled: boolean): void; validate(control: any): ValidationErrors | null; ngOnInit(): void; ngOnDestroy(): void; onHoverOverItem(item: RelationItemComponent): void; onRemove(item: { category: Category; side: RelationSide; }): void; setColor(color: ColorRGB): void; onEditColor(item: { category: Category; side: RelationSide; }): void; onEditColorConnector(connector: Connector): void; removeConnector(connector: Connector): void; addConnector(categoryItem: RelationItemClicked): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<CategoriesRelationsComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<CategoriesRelationsComponent, "obl-categories-relations", never, { "left": { "alias": "left"; "required": false; }; "right": { "alias": "right"; "required": false; }; "connectors": { "alias": "connectors"; "required": false; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; "menu": { "alias": "menu"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "changed": "changed"; }, never, never, false, never>; } declare class CategoriesRelationsModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration<CategoriesRelationsModule, never>; static ɵmod: _angular_core.ɵɵNgModuleDeclaration<CategoriesRelationsModule, [typeof RelationItemComponent, typeof CategoriesRelationsComponent], [typeof i3.CommonModule, typeof i4.ConnectorsModule, typeof i5.MenuModule, typeof i6.DialogsModule, typeof i7.ColorPickerModule, typeof i8.ButtonsModule], [typeof CategoriesRelationsComponent]>; static ɵinj: _angular_core.ɵɵInjectorDeclaration<CategoriesRelationsModule>; } export { CategoriesRelationsComponent, CategoriesRelationsModule };