;
+ LayerType = LayerType;
+
@ViewChild(MatSort) sort!: MatSort;
constructor(
diff --git a/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.html b/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.html
index b475ccc..467045f 100644
--- a/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.html
+++ b/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.html
@@ -1,77 +1 @@
-
-
-
\ No newline at end of file
+EDIT in progress
\ No newline at end of file
diff --git a/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.ts b/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.ts
index 8805cad..349621a 100644
--- a/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.ts
+++ b/Frontend/src/app/modules/layers/layer-edit/layer-edit.component.ts
@@ -4,12 +4,10 @@ import { UntypedFormBuilder, UntypedFormGroup, FormsModule, ReactiveFormsModule
import { MatSort, MatSortModule } from '@angular/material/sort';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { Router, ActivatedRoute, RouterLink } from '@angular/router';
-import moment from 'moment';
import { AuthService } from 'src/app/auth/auth.service';
import { Layer } from 'src/app/models/layer.model';
import { Record } from 'src/app/models/record.model';
import { environment } from 'src/environments/environment';
-import { v4 as uuidv4 } from 'uuid';
import { MatIconModule } from '@angular/material/icon';
import { MatOptionModule } from '@angular/material/core';
import { MatSelectModule } from '@angular/material/select';
@@ -22,11 +20,11 @@ import { MatToolbarModule } from '@angular/material/toolbar';
import { MatCardModule } from '@angular/material/card';
@Component({
- selector: 'diunabi-layer-edit',
- templateUrl: './layer-edit.component.html',
- styleUrls: ['./layer-edit.component.scss'],
- standalone: true,
- imports: [FormsModule, ReactiveFormsModule, MatCardModule, MatToolbarModule, MatButtonModule, RouterLink, MatGridListModule, MatFormFieldModule, MatInputModule, NgIf, MatSelectModule, MatOptionModule, MatIconModule, MatTableModule, MatSortModule, DecimalPipe]
+ selector: 'diunabi-layer-edit',
+ templateUrl: './layer-edit.component.html',
+ styleUrls: ['./layer-edit.component.scss'],
+ standalone: true,
+ imports: [FormsModule, ReactiveFormsModule, MatCardModule, MatToolbarModule, MatButtonModule, RouterLink, MatGridListModule, MatFormFieldModule, MatInputModule, NgIf, MatSelectModule, MatOptionModule, MatIconModule, MatTableModule, MatSortModule, DecimalPipe]
})
export class LayerEditComponent implements OnInit {
@@ -44,15 +42,17 @@ export class LayerEditComponent implements OnInit {
private http$: HttpClient,
private route$: ActivatedRoute,
private auth$: AuthService
- ) { }
+ ) {
+ this.form = Layer.getForm(this.fb$);
+ }
async ngOnInit() {
- this.form = Layer.getForm(this.fb$);
- this.document = new Layer({
- id: uuidv4(), createdById: this.auth$.user.id, createdAt: moment(),
- modifiedAt: moment()
- })
- this.document.fillForm(this.form);
+ this.document = await this.load();
+ console.log(this.document);
+ }
+
+ private async load(): Promise {
+ return await Layer.getById(this.route$.snapshot.paramMap.get('id') || "", this.http$);
}
async save() {
if (this.form.invalid) {
@@ -62,22 +62,8 @@ export class LayerEditComponent implements OnInit {
const id = await Layer.add(this.document, this.http$);
this.router$.navigate(['../../Detail', id], { relativeTo: this.route$ });
}
- async onFileSelected(event: Event) {
- const input = event.target as HTMLInputElement;
- if (!input.files?.length) { return; }
- const file = input.files[0];
- this.document.records = await Layer.parseFile(file, this.http$);
- this.dataSource = new MatTableDataSource(this.document.records);
- this.dataSource.sort = this.sort;
- }
+
trackByUid(index: number, item: Record) {
return item.id;
}
- async parseGoogleSheet() {
- const id = this.form.get('sheetId')?.value;
- this.document = await Layer.parseGoogleSheet(id, this.http$);
- this.document.fillForm(this.form);
- this.dataSource = new MatTableDataSource(this.document.records);
- this.dataSource.sort = this.sort;
- }
}
diff --git a/Frontend/src/app/modules/layers/layers.routes.ts b/Frontend/src/app/modules/layers/layers.routes.ts
index 3e4217c..dd218fb 100644
--- a/Frontend/src/app/modules/layers/layers.routes.ts
+++ b/Frontend/src/app/modules/layers/layers.routes.ts
@@ -6,5 +6,6 @@ import { LayersListComponent } from './layers-list/layers-list.component';
export const LAYERS_ROUTES: Route[] = [
{ path: '', component: LayersListComponent },
{ path: 'Edit/:id', component: LayerEditComponent },
+ { path: 'Edit/:id/:duplicate', component: LayerEditComponent },
{ path: 'Detail/:id', component: LayerDetailComponent }
];
\ No newline at end of file
diff --git a/Frontend/src/environments/environment.ts b/Frontend/src/environments/environment.ts
index b4ed8cc..98dcec0 100644
--- a/Frontend/src/environments/environment.ts
+++ b/Frontend/src/environments/environment.ts
@@ -7,8 +7,8 @@ export const environment = {
appName: "LOCAL_DiunaBI",
production: false,
api: {
- url: "http://localhost:5400/api"
- //url: "https://diunabi-morska.bim-it.pl/api"
+ //url: "http://localhost:5400/api"
+ url: "https://diunabi-morska.bim-it.pl/api"
},
google: {
clientId: "107631825312-bkfe438ehr9k9ecb2h76g802tj6advma.apps.googleusercontent.com"