Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | 16x 15x 9x 13x 13x 2x 1x 16x 14x 14x 13x 16x 16x 16x 16x | import { DynamicForm } from '../../dynamic-form/dynamic-form'; import { DynamicFormBuilder } from '../../dynamic-form/dynamic-form.builder'; import { DynamicFormElement } from '../dynamic-form-element'; import { DynamicFormElementType } from '../dynamic-form-element-type'; import { DynamicFormItem } from './dynamic-form-item'; import { DynamicFormItemsDefinition } from './dynamic-form-items-definition'; import { DynamicFormItemsTemplate } from './dynamic-form-items-template'; export class DynamicFormItems< Template extends DynamicFormItemsTemplate = DynamicFormItemsTemplate, Definition extends DynamicFormItemsDefinition<Template> = DynamicFormItemsDefinition<Template>, Item extends DynamicFormItem = DynamicFormItem > extends DynamicFormElement<Template, Definition, Item> { protected _selectedIndex: number; protected _selectedItem: Item; constructor( builder: DynamicFormBuilder, root: DynamicForm, parent: DynamicFormElement, definition: Definition, type: DynamicFormElementType, ) { super(builder, root, parent, definition, type); } get selectedIndex(): number { return this._selectedIndex; } get selectedItem(): Item { return this._selectedItem; } override init(): void { super.init(); this.selectItem(0); } check(): void { if (this._selectedItem && this._selectedItem.disabled) { this.selectItem(0); } } selectItem(index: number): void { if (index >= 0 && index < this._children.length && !this._children[index].disabled) { this._selectedIndex = index; this._selectedItem = this._children[index]; } } protected override getChildren(): Item[] { return (this.definition.children || []).map((childDefinition, index) => { const itemDefinition = { ...this._builder.getDefinition(childDefinition, this.root), index }; const item = new DynamicFormItem(this._builder, this.root, this.parent, itemDefinition); item.init(); return item as Item; }); } } |