theme.configProvider.ts
2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import {Injectable} from '@angular/core';
import {colorHelper} from './theme.constants';
import * as _ from 'lodash';
@Injectable()
export class BaThemeConfigProvider {
basic = {
default: '#ffffff',
defaultText: '#ffffff',
border: '#dddddd',
borderDark: '#aaaaaa',
};
// main functional color scheme
colorScheme = {
primary: '#00abff',
info: '#40daf1',
success: '#8bd22f',
warning: '#e7ba08',
danger: '#f95372',
};
// dashboard colors for charts
dashboardColors = {
blueStone: '#40daf1',
surfieGreen: '#00abff',
silverTree: '#1b70ef',
gossip: '#3c4eb9',
white: '#ffffff',
};
conf = {
theme: {
name: 'ng2',
},
colors: {
default: this.basic.default,
defaultText: this.basic.defaultText,
border: this.basic.border,
borderDark: this.basic.borderDark,
primary: this.colorScheme.primary,
info: this.colorScheme.info,
success: this.colorScheme.success,
warning: this.colorScheme.warning,
danger: this.colorScheme.danger,
primaryLight: colorHelper.tint(this.colorScheme.primary, 30),
infoLight: colorHelper.tint(this.colorScheme.info, 30),
successLight: colorHelper.tint(this.colorScheme.success, 30),
warningLight: colorHelper.tint(this.colorScheme.warning, 30),
dangerLight: colorHelper.tint(this.colorScheme.danger, 30),
primaryDark: colorHelper.shade(this.colorScheme.primary, 15),
infoDark: colorHelper.shade(this.colorScheme.info, 15),
successDark: colorHelper.shade(this.colorScheme.success, 15),
warningDark: colorHelper.shade(this.colorScheme.warning, 15),
dangerDark: colorHelper.shade(this.colorScheme.danger, 15),
dashboard: {
blueStone: this.dashboardColors.blueStone,
surfieGreen: this.dashboardColors.surfieGreen,
silverTree: this.dashboardColors.silverTree,
gossip: this.dashboardColors.gossip,
white: this.dashboardColors.white,
},
custom: {
dashboardLineChart: this.basic.defaultText,
dashboardPieChart: colorHelper.hexToRgbA(this.basic.defaultText, 0.8)
}
}
};
get() {
return this.conf;
}
changeTheme (theme) {
_.merge(this.get().theme, theme);
}
changeColors (colors) {
_.merge(this.get().colors, colors);
}
}