diff --git a/src/app/column-editor/column-editor.component.ts b/src/app/column-editor/column-editor.component.ts
index 242e34c..dce2ce9 100644
--- a/src/app/column-editor/column-editor.component.ts
+++ b/src/app/column-editor/column-editor.component.ts
@@ -1,15 +1,34 @@
-import { ChangeDetectionStrategy, Component, model } from '@angular/core';
+import {
+ ChangeDetectionStrategy,
+ Component,
+ model,
+ signal,
+} from '@angular/core';
import { AccordionModule } from 'primeng/accordion';
import { Column } from '../duckdb.service';
-import { Checkbox, CheckboxChangeEvent } from 'primeng/checkbox';
+import { Checkbox } from 'primeng/checkbox';
import { FormsModule } from '@angular/forms';
import { Button } from 'primeng/button';
import { Tooltip } from 'primeng/tooltip';
+import { Dialog } from 'primeng/dialog';
+import { FloatLabel } from 'primeng/floatlabel';
+import { InputText } from 'primeng/inputtext';
+import { Select } from 'primeng/select';
@Component({
selector: 'app-column-editor',
standalone: true,
- imports: [AccordionModule, Checkbox, FormsModule, Button, Tooltip],
+ imports: [
+ AccordionModule,
+ Checkbox,
+ FormsModule,
+ Button,
+ Tooltip,
+ Dialog,
+ FloatLabel,
+ InputText,
+ Select,
+ ],
template: `
@@ -45,12 +64,40 @@ import { Tooltip } from 'primeng/tooltip';
+
+ @let editingColumn = this.editingColumn();
+ @if (editingColumn) {
+
+
+
+
+
+
+
+
+
+ }
+
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class ColumnEditorComponent {
columns = model();
+ protected editDialogVisible = signal(false);
+ protected editingColumn = signal(null);
+
protected checkboxChanged(index: number) {
this.columns.update((columns) => {
if (columns) {
@@ -65,5 +112,11 @@ export class ColumnEditorComponent {
});
}
- protected editColumn(index: number) {}
+ protected editColumn(index: number) {
+ const columns = this.columns();
+ if (columns) {
+ this.editingColumn.set(columns[index]);
+ this.editDialogVisible.set(true);
+ }
+ }
}