Classes
Import these from @grafloria/element.
Classes
CardHandle
tsabstract class CardHandle
Methods
constructor( protected readonly api: HandleApi, readonly id: string )get exists(): booleanget node(): unknown— Escape hatch to the underlying NodeModel (typed loosely on purpose).get width(): numberget height(): numberabstract get name(): stringabstract rename(name: string): Promise<boolean>— Rename the card title — one undoable step.abstract resize(size: { width?: number; height?: number }): Promise<boolean>— Resize the card — one undoable step (kit body scrolls when capped).select(): voidasync undo(): Promise<void>async redo(): Promise<void>onRowSelect( cb: (e: { field: ErField | null; selected: RowRef | null }) => void ): () => void— Row-selection events for THIS card only (the kit'saxk:row-select, filtered). ER cards resolve the selection to a typed {@link ErField} when possible. Returns an unbind function.
ErColumnList
The columns collection of an {@link ErTable}. Iterable of {@link ErField}.
tsclass ErColumnList implements Iterable<ErField>
Methods
constructor(private readonly table: ErTable)get length(): numbernames(): string[]at(index: number): ErField | undefinedget(name: string): ErField | undefined[Symbol.iterator](): Iterator<ErField>add(column: ErColumn, opts: { at?: number } = {}): Promise<boolean>removeAt(index: number): Promise<boolean>renameAt(index: number, name: string): Promise<boolean>patchAt(index: number, patch: Partial<ErColumn>): Promise<boolean>move(from: number, to: number): Promise<boolean>[Symbol.iterator](): Iterator<ErField>
ErField
A column of an {@link ErTable} — itself just (table, name): stateless.
tsclass ErField
Methods
constructor( readonly table: ErTable, private readonly columnName: string )get exists(): booleanget name(): stringget index(): numberget type(): string | undefinedget pk(): booleanget fk(): booleanrename(name: string): Promise<boolean>— Rename — the field port keeps its id, so attached edges stay glued.setType(type: string): Promise<boolean>setKeys(keys: { pk?: boolean; fk?: boolean }): Promise<boolean>remove(): Promise<boolean>— Remove this column (its ports and attached edges are dropped).
ErTable
Also has every member of CardHandle, listed on its own entry.
tsclass ErTable extends CardHandle
Properties
| Name | Type | Default | Description |
|---|---|---|---|
columns |
Methods
get spec(): ErEntitySpec— A deep COPY of the stored entity spec — never a live reference.get name(): stringrename(name: string): Promise<boolean>— Rename the card title — one undoable step.resize(size: { width?: number; height?: number }): Promise<boolean>— Resize the card — one undoable step (kit body scrolls when capped).update(delta: Parameters<typeof updateEntity>[2]): Promise<boolean>— The raw delta path — everything above funnels through here.
UmlClass
Also has every member of CardHandle, listed on its own entry.
tsclass UmlClass extends CardHandle
Properties
| Name | Type | Default | Description |
|---|---|---|---|
attributes | |||
methods |
Methods
get spec(): UmlClassSpec— A deep COPY of the stored class spec — never a live reference.get name(): stringget abstract(): booleanget stereotype(): string | undefinedrename(name: string): Promise<boolean>— Rename the card title — one undoable step.resize(size: { width?: number; height?: number }): Promise<boolean>— Resize the card — one undoable step (kit body scrolls when capped).setAbstract(abstract: boolean): Promise<boolean>setStereotype(stereotype: string | undefined): Promise<boolean>update(delta: Parameters<typeof updateClass>[2]): Promise<boolean>
UmlMemberList
attributes / methods of a {@link UmlClass} (members are plain strings).
tsclass UmlMemberList
Methods
constructor( private readonly cls: UmlClass, private readonly kind: 'attributes' | 'methods' )list(): string[]get length(): numberat(index: number): string | undefinedadd(member: string, opts: { at?: number } = {}): Promise<boolean>removeAt(index: number): Promise<boolean>renameAt(index: number, member: string): Promise<boolean>
Was this page helpful?