Skip to content

Commit 4adb3f5

Browse files
author
Di Wang
committed
settings page - add dots
1 parent a7a6685 commit 4adb3f5

File tree

7 files changed

+67
-27
lines changed

7 files changed

+67
-27
lines changed

src/app/dashboard/root/root.component.css

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@
1111
width: 260px;
1212
position: fixed;
1313
height: 100%;
14-
background-color: #D80B0B;
14+
/*background-color: #D80B0B;*/
1515
box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.42), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2);
16+
-webkit-transition: all 500ms;
17+
-moz-transition: all 500ms;
18+
-ms-transition: all 500ms;
19+
-o-transition: all 500ms;
20+
transition: all 500ms;
1621
}
1722

1823
.main-panel{

src/app/dashboard/root/root.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="wrapper">
2-
<div class="sidebar-panel" id="sidebar">
2+
<div class="sidebar-panel" id="sidebar" [style.background-color]="backgroundColor">
33
<app-sidebar></app-sidebar>
44
<div class="sidebar-background" [style.background-image]="'url(../assets/img/sidebar-' + id + '.jpg)'"></div>
55
</div>

src/app/dashboard/root/root.component.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,23 @@ import { SettingsService } from '../../services/settings.service';
88
})
99
export class RootComponent implements OnInit, OnDestroy {
1010
public id: number;
11-
constructor(public sidebarService: SettingsService) {
12-
this.id = sidebarService.getSidebarIndex();
11+
public backgroundColor: string;
12+
constructor(public settingService: SettingsService) {
13+
this.id = settingService.getSidebarImageIndex();
14+
this.backgroundColor = settingService.getSidebarColor();
1315
}
1416

1517
ngOnInit() {
16-
this.sidebarService.sidebarIndexUpdate.subscribe((id: number) => {
18+
this.settingService.sidebarImageIndexUpdate.subscribe((id: number) => {
1719
this.id = id;
18-
console.log(id);
20+
});
21+
this.settingService.sidebarColorUpdate.subscribe((color: string) => {
22+
this.backgroundColor = color;
1923
});
2024
}
2125

2226
ngOnDestroy() {
23-
this.sidebarService.sidebarIndexUpdate.unsubscribe();
27+
this.settingService.sidebarImageIndexUpdate.unsubscribe();
28+
this.settingService.sidebarColorUpdate.unsubscribe();
2429
}
2530
}

src/app/dashboard/settings/settings.component.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
width: 30px;
4141
height: 30px;
4242
margin: 0 10px;
43+
cursor: pointer;
4344
}
4445

4546
.purple{
@@ -50,6 +51,10 @@
5051
background-color: #00bcd4;
5152
}
5253

54+
.dodgerblue{
55+
background-color: dodgerblue;
56+
}
57+
5358
.green{
5459
background-color: #4caf50;
5560
}

src/app/dashboard/settings/settings.component.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44
<div class="col-md-10 col-md-offset-1">
55
<h4 class="text-center text-uppercase">Sidebar Filters</h4>
66
<div class="col-md-12 dot-row">
7-
<div class="dot purple"></div>
8-
<div class="dot blue"></div>
9-
<div class="dot green"></div>
10-
<div class="dot orange"></div>
11-
<div class="dot red"></div>
12-
<div class="dot white"></div>
13-
<div class="dot rose"></div>
7+
<div class="dot purple" (click)="filterChooseClick(0)"></div>
8+
<div class="dot blue" (click)="filterChooseClick(1)"></div>
9+
<div class="dot green" (click)="filterChooseClick(2)"></div>
10+
<div class="dot orange" (click)="filterChooseClick(3)"></div>
11+
<div class="dot red" (click)="filterChooseClick(4)"></div>
12+
<div class="dot white" (click)="filterChooseClick(5)"></div>
13+
<div class="dot rose" (click)="filterChooseClick(6)"></div>
1414
</div>
1515
</div>
1616

1717
<div class="col-md-10 col-md-offset-1">
1818
<h4 class="text-center text-uppercase">Sidebar Background</h4>
1919
<div class="col-md-12 dot-row">
20-
<div class="dot red"></div>
21-
<div class="dot white"></div>
22-
<div class="dot black"></div>
20+
<div class="dot red" (click)="bgColorChooseClick('#D80B0B')"></div>
21+
<div class="dot dodgerblue" (click)="bgColorChooseClick('dodgerblue')"></div>
22+
<div class="dot black" (click)="bgColorChooseClick('#000')"></div>
2323
</div>
2424
</div>
2525

src/app/dashboard/settings/settings.component.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,28 @@ import { SettingsService } from '../../services/settings.service';
88
})
99
export class SettingsComponent implements OnInit {
1010

11-
constructor(public sidebarService: SettingsService) { }
11+
constructor(public settingService: SettingsService) { }
1212

1313
ngOnInit() {
14-
const defaultId = this.sidebarService.getSidebarIndex();
14+
const defaultId = this.settingService.getSidebarImageIndex();
1515
const sideBtns: HTMLCollection = document.getElementsByClassName('sidebar-btn');
1616
sideBtns[defaultId - 1].children[0].className = sideBtns[defaultId - 1].children[0].className + ' active';
1717
}
1818

1919
bgChooseClick(id) {
20-
this.sidebarService.setSideBarIndex(id);
20+
this.settingService.setSidebarImageIndex(id);
2121
const sideBtns: HTMLCollection = document.getElementsByClassName('sidebar-btn');
2222
for (let i = 0; i < sideBtns.length; i++){
2323
sideBtns[i].children[0].className = sideBtns[i].children[0].className.replace(' active', '');
2424
}
2525
sideBtns[id - 1].children[0].className = sideBtns[id - 1].children[0].className + ' active';
2626
}
2727

28+
filterChooseClick(id) {
29+
console.log(id);
30+
}
31+
32+
bgColorChooseClick(color) {
33+
this.settingService.setSidebarColor(color);
34+
}
2835
}

src/app/services/settings.service.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,34 @@ import { Injectable, EventEmitter } from '@angular/core';
22

33
@Injectable()
44
export class SettingsService {
5-
public sidebarIndex = 1;
6-
public sidebarIndexUpdate: EventEmitter<number> = new EventEmitter();
5+
public sidebarImageIndex = 1;
6+
public sidebarImageIndexUpdate: EventEmitter<number> = new EventEmitter();
7+
public sidebarFilter = '#fff';
8+
public sidebarFilterUpdate: EventEmitter<string> = new EventEmitter();
9+
public sidebarColor = '#D80B0B';
10+
public sidebarColorUpdate: EventEmitter<string> = new EventEmitter();
711

812
constructor() { }
913

10-
getSidebarIndex() {
11-
return this.sidebarIndex;
14+
getSidebarImageIndex(): number {
15+
return this.sidebarImageIndex;
1216
}
13-
setSideBarIndex(id) {
14-
this.sidebarIndex = id;
15-
this.sidebarIndexUpdate.emit(this.sidebarIndex);
17+
setSidebarImageIndex(id) {
18+
this.sidebarImageIndex = id;
19+
this.sidebarImageIndexUpdate.emit(this.sidebarImageIndex);
20+
}
21+
getSidebarFilter(): string {
22+
return this.sidebarFilter;
23+
}
24+
setSidebarFilter(color: string) {
25+
this.sidebarFilter = color;
26+
this.sidebarFilterUpdate.emit(this.sidebarFilter);
27+
}
28+
getSidebarColor(): string {
29+
return this.sidebarColor;
30+
}
31+
setSidebarColor(color: string) {
32+
this.sidebarColor = color;
33+
this.sidebarColorUpdate.emit(this.sidebarColor);
1634
}
1735
}

0 commit comments

Comments
 (0)