import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
import { EditCellDefault } from '../../../lib/edit-cell-default';
import { InputEditorComponent } from '../cell-editors/input-editor.component';
import { SwitchEditorComponent } from '../cell-editors/switch-editor.component';
import { LookupEditorComponent } from '../cell-editors/lookup-editor.component';
import { CheckboxEditorComponent } from '../cell-editors/checkbox-editor.component';
import { TextareaEditorComponent } from '../cell-editors/textarea-editor.component';
import { SelectEditorComponent } from '../cell-editors/select-editor.component';
import { InputNumberEditorComponent } from '../cell-editors/input-number-editor.component';
import * as i0 from "@angular/core";
export class DefaultEditComponent extends EditCellDefault {
    constructor() {
        super();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DefaultEditComponent, isStandalone: true, selector: "table-cell-default-editor", inputs: { editingFormGroup: "editingFormGroup" }, usesInheritance: true, ngImport: i0, template: `
@switch (getEditorType()) {
  @case ('inputNumber') {
    <input-number-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </input-number-editor>
  }
  @case ('selector') {
    <select-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      [updateColumnList]="updateColumnList"
      (selectedElem)="selectedElem.emit($event)"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </select-editor>
  }
  @case ('textarea') {
    <textarea-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </textarea-editor>
  }
  @case ('checkbox') {
    <checkbox-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)">
    </checkbox-editor>
  }
  @case ('lookup') {
    <lookup-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell">
    </lookup-editor>
  }
  @case ('switch') {
    <switch-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell">
    </switch-editor>
  }
  <!-- If none match, at least a simple Input box is offered: -->
  @default {
    <input-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </input-editor>
  }
}
`, isInline: true, dependencies: [{ kind: "component", type: InputNumberEditorComponent, selector: "input-number-editor" }, { kind: "component", type: SelectEditorComponent, selector: "select-editor", outputs: ["selectedElem"] }, { kind: "component", type: TextareaEditorComponent, selector: "textarea-editor" }, { kind: "component", type: CheckboxEditorComponent, selector: "checkbox-editor" }, { kind: "component", type: LookupEditorComponent, selector: "lookup-editor" }, { kind: "component", type: SwitchEditorComponent, selector: "switch-editor" }, { kind: "component", type: InputEditorComponent, selector: "input-editor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultEditComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'table-cell-default-editor',
                    template: `
@switch (getEditorType()) {
  @case ('inputNumber') {
    <input-number-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </input-number-editor>
  }
  @case ('selector') {
    <select-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      [updateColumnList]="updateColumnList"
      (selectedElem)="selectedElem.emit($event)"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </select-editor>
  }
  @case ('textarea') {
    <textarea-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </textarea-editor>
  }
  @case ('checkbox') {
    <checkbox-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)">
    </checkbox-editor>
  }
  @case ('lookup') {
    <lookup-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell">
    </lookup-editor>
  }
  @case ('switch') {
    <switch-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell">
    </switch-editor>
  }
  <!-- If none match, at least a simple Input box is offered: -->
  @default {
    <input-editor
      [editingFormGroup]="editingFormGroup"
      [cell]="cell"
      (onClick)="onClick($event)"
      (onEdited)="onEdited($event)"
      (onStopEditing)="onStopEditing()">
    </input-editor>
  }
}
`,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true,
                    imports: [InputNumberEditorComponent, SelectEditorComponent, TextareaEditorComponent, CheckboxEditorComponent, LookupEditorComponent, SwitchEditorComponent, InputEditorComponent]
                }]
        }], ctorParameters: () => [], propDecorators: { editingFormGroup: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64, 