Skip to content

Commit d709ba3

Browse files
committed
Added scss
1 parent 9abf046 commit d709ba3

14 files changed

+65
-29
lines changed

apps/car-rental-backend/src/app/app.module.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { VehicleBrand } from '../vehicle-brands/entities/vehicle-brand.entity';
88
imports: [
99
TypeOrmModule.forRoot({
1010
type: 'mysql',
11-
host: 'db',
11+
host: 'localhost',
1212
port: 3306,
1313
username: 'root',
1414
password: 'root',

apps/car-rental/project.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
],
2828
"styles": [
2929
"@angular/material/prebuilt-themes/azure-blue.css",
30-
"apps/car-rental/src/styles.css"
30+
"apps/car-rental/src/styles.scss"
3131
],
3232
"scripts": []
3333
},

apps/car-rental/src/app/app.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { VehiclesListComponent } from "../components/vehicles/vehicles-list/vehi
66
imports: [RouterModule, VehiclesListComponent],
77
selector: 'app-root',
88
templateUrl: './app.component.html',
9-
styleUrl: './app.component.css',
9+
styleUrl: './app.component.scss',
1010
})
1111
export class AppComponent {
1212
title = 'car-rental';

apps/car-rental/src/components/vehicles/create-vehicle-form/create-vehicle-form.component.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import { MatButtonModule } from '@angular/material/button';
3434
ReactiveFormsModule,
3535
],
3636
templateUrl: './create-vehicle-form.component.html',
37-
styleUrl: './create-vehicle-form.component.css',
37+
styleUrl: './create-vehicle-form.component.scss',
3838
})
3939
export class CreateVehicleFormComponent implements OnInit, OnDestroy {
4040
@ViewChild('brandDropdown') brandDropdown!: MatSelect;

apps/car-rental/src/components/vehicles/vehicles-list/vehicles-list.component.html

+31-12
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
(vehicleCreated)="onVehicleCreated()"
33
></app-create-vehicle-form>
44
<div *ngIf="vehicles">
5-
<h2>Vehicle List</h2>
5+
<div>
6+
<h2>Vehicle List</h2>
7+
<button mat-icon-button>
8+
<mat-icon>add</mat-icon>
9+
</button>
10+
</div>
611
<table mat-table [dataSource]="vehicles" class="mat-elevation-z8">
712
<!--- Note that these columns can be defined in any order.
813
The actual rendered columns are set as a property on the row definition" -->
@@ -44,19 +49,33 @@ <h2>Vehicle List</h2>
4449
<ng-container matColumnDef="actions">
4550
<th mat-header-cell *matHeaderCellDef>Actions</th>
4651
<td mat-cell *matCellDef="let element">
47-
<button mat-icon-button [matMenuTriggerFor]="menu">
48-
<mat-icon>more_vert</mat-icon>
49-
</button>
50-
<mat-menu #menu="matMenu">
51-
<button mat-menu-item (click)="editVehicle(element)">
52-
<mat-icon>edit</mat-icon>
53-
<span>Edytuj</span>
52+
<div
53+
*ngIf="
54+
!editedVehicle || (editedVehicle && editedVehicle.id !== element.id)
55+
"
56+
>
57+
<button mat-icon-button [matMenuTriggerFor]="menu">
58+
<mat-icon>more_vert</mat-icon>
5459
</button>
55-
<button mat-menu-item (click)="removeVehicle(element)">
56-
<mat-icon>delete</mat-icon>
57-
<span>Usuń</span>
60+
<mat-menu #menu="matMenu">
61+
<button mat-menu-item (click)="editVehicle(element)">
62+
<mat-icon class="edit-icon">edit</mat-icon>
63+
<span>Edytuj</span>
64+
</button>
65+
<button mat-menu-item (click)="removeVehicle(element)">
66+
<mat-icon>delete</mat-icon>
67+
<span>Usuń</span>
68+
</button>
69+
</mat-menu>
70+
</div>
71+
<div *ngIf="editedVehicle && editedVehicle.id === element.id">
72+
<button mat-icon-button>
73+
<mat-icon>check</mat-icon>
5874
</button>
59-
</mat-menu>
75+
<button mat-icon-button (click)="cancelEditing()">
76+
<mat-icon>close</mat-icon>
77+
</button>
78+
</div>
6079
</td>
6180
</ng-container>
6281

apps/car-rental/src/components/vehicles/vehicles-list/vehicles-list.component.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { MatIconButton } from '@angular/material/button';
2424
CreateVehicleFormComponent,
2525
],
2626
templateUrl: './vehicles-list.component.html',
27-
styleUrl: './vehicles-list.component.css',
27+
styleUrl: './vehicles-list.component.scss',
2828
})
2929
export class VehiclesListComponent implements OnInit, AfterViewInit {
3030
vehicles: VehicleDto[] = [];
@@ -37,6 +37,7 @@ export class VehiclesListComponent implements OnInit, AfterViewInit {
3737
'customerAddress',
3838
'actions',
3939
];
40+
editedVehicle: VehicleDto | null = null;
4041
dataSource = new MatTableDataSource<VehicleDto>(this.vehicles);
4142
@ViewChild(MatPaginator) paginator!: MatPaginator;
4243

@@ -50,16 +51,21 @@ export class VehiclesListComponent implements OnInit, AfterViewInit {
5051
this.loadVehicles();
5152
}
5253

53-
editVehicle(vehicle: any): void {
54+
editVehicle(vehicle: VehicleDto): void {
5455
// Implement edit vehicle logic here
5556
console.log('Edit vehicle:', vehicle);
57+
this.editedVehicle = vehicle;
5658
}
5759

5860
removeVehicle(vehicle: any): void {
5961
// Implement remove vehicle logic here
6062
console.log('Delete vehicle:', vehicle);
6163
}
6264

65+
cancelEditing(): void {
66+
this.editedVehicle = null;
67+
}
68+
6369
loadVehicles(): void {
6470
this.vehiclesService.getVehicles().subscribe((response) => {
6571
this.vehicles = [...response.data];

apps/car-rental/src/services/vehicles.service.ts

-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export class VehiclesService {
1616
}
1717

1818
createVehicle(vehicle: CreateVehicleDto): Observable<VehicleDto> {
19-
console.log(vehicle);
2019
return this.http.post<VehicleDto>(this.apiUrl, vehicle);
2120
}
2221
}

apps/car-rental/src/styles.css

-9
This file was deleted.

apps/car-rental/src/styles.scss

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
@use '@angular/material' as mat;
2+
3+
html {
4+
color-scheme: light dark;
5+
@include mat.theme((
6+
color: mat.$violet-palette,
7+
typography: Roboto,
8+
density: 0
9+
));
10+
}
11+
12+
html,
13+
body {
14+
height: 100%;
15+
}
16+
body {
17+
margin: 0;
18+
font-family: Roboto, 'Helvetica Neue', sans-serif;
19+
}

package-lock.json

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,12 @@
8383
"jest-preset-angular": "~14.4.0",
8484
"nx": "20.3.0",
8585
"prettier": "^2.6.2",
86+
"sass": "^1.83.0",
8687
"ts-jest": "^29.1.0",
8788
"ts-node": "10.9.1",
8889
"tslib": "^2.3.0",
8990
"typescript": "~5.6.2",
9091
"typescript-eslint": "^8.13.0",
9192
"webpack-cli": "^5.1.4"
9293
}
93-
}
94+
}

0 commit comments

Comments
 (0)