i-tech-shared-components 1.4.40 → 1.4.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -26
- package/assets/back.svg +3 -3
- package/assets/links/T3/audit-trail.svg +3 -3
- package/assets/links/T3/automation.svg +5 -5
- package/assets/links/T3/contact-person.svg +10 -10
- package/assets/links/T3/contract.svg +3 -3
- package/assets/links/T3/domiciles.svg +3 -3
- package/assets/links/T3/drivers.svg +3 -3
- package/assets/links/T3/general.svg +3 -3
- package/assets/links/T3/ile.svg +3 -3
- package/assets/links/T3/integrations.svg +3 -3
- package/assets/links/T3/license-type.svg +7 -7
- package/assets/links/T3/monitoring.svg +7 -7
- package/assets/links/T3/reports.svg +3 -3
- package/assets/links/T3/schedule.svg +3 -3
- package/assets/links/T3/settings.svg +3 -3
- package/assets/links/T3/units.svg +4 -4
- package/assets/links/T3/usps.svg +3 -3
- package/assets/links/TMT/audit-trail.svg +3 -3
- package/assets/links/TMT/loads.svg +7 -7
- package/assets/links/TMT/settings.svg +3 -3
- package/assets/logos/full/ORGANIZATION.svg +9 -9
- package/assets/logos/full/T3.svg +13 -13
- package/assets/logos/small/ORGANIZATION.svg +9 -9
- package/assets/logos/small/T3.svg +10 -10
- package/assets/selected_organization.svg +3 -3
- package/assets/toggle-state-left.svg +3 -3
- package/assets/toggle-state-right.svg +10 -10
- package/fesm2022/i-tech-shared-components.mjs +419 -61
- package/fesm2022/i-tech-shared-components.mjs.map +1 -1
- package/lib/components/ag-grid/date-range-selection/date-range-selection.component.d.ts +34 -0
- package/lib/components/ag-grid/select-with-search/select-with-search.component.d.ts +44 -0
- package/lib/interfaces/date-range-filtration.interface.d.ts +7 -0
- package/lib/interfaces/selection-filtration-configuration.interface.d.ts +59 -0
- package/lib/interfaces/selection-filtration.tokens.d.ts +6 -0
- package/lib/services/filtration-helper.service.d.ts +18 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/theme/_ag-grid.scss +245 -245
- package/theme/_buttons.scss +68 -68
- package/theme/_color_themes.scss +136 -136
- package/theme/_date_picker.scss +77 -77
- package/theme/_date_time_picker.scss +87 -87
- package/theme/_form_fields.scss +117 -117
- package/theme/_icon-button.scss +165 -165
- package/theme/_label.scss +238 -238
- package/theme/_mat-selects.scss +281 -281
- package/theme/_menu.scss +13 -13
- package/theme/_text_input.scss +29 -29
- package/theme/variables/_colors.scss +20 -20
- package/theme.scss +32 -32
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
2
|
+
import { IFilterAngularComp } from 'ag-grid-angular';
|
|
3
|
+
import { IDoesFilterPassParams, IFilterParams } from 'ag-grid-community';
|
|
4
|
+
import { DateRangeDatepickerComponent } from '../../date-range-datepicker/date-range-datepicker.component';
|
|
5
|
+
import { ParseDateService } from "../../../services/parse-date.service";
|
|
6
|
+
import { AgGridDateRangeConfig } from "../../../interfaces/date-range-filtration.interface";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class DateRangeSelectionComponent implements IFilterAngularComp {
|
|
9
|
+
private dateService;
|
|
10
|
+
rangePicker: DateRangeDatepickerComponent;
|
|
11
|
+
params: IFilterParams;
|
|
12
|
+
config: AgGridDateRangeConfig;
|
|
13
|
+
form: UntypedFormGroup;
|
|
14
|
+
defaultValueForDates: any[];
|
|
15
|
+
constructor(dateService: ParseDateService);
|
|
16
|
+
agInit(params: any): void;
|
|
17
|
+
/**
|
|
18
|
+
* Selection event from the Datepicker component
|
|
19
|
+
*/
|
|
20
|
+
onDateChange(event: Array<string>): void;
|
|
21
|
+
/**
|
|
22
|
+
* AG Grid calls this to get the state of the filter
|
|
23
|
+
*/
|
|
24
|
+
getModel(): any;
|
|
25
|
+
/**
|
|
26
|
+
* AG Grid calls this to restore the filter state
|
|
27
|
+
*/
|
|
28
|
+
setModel(model: any): void;
|
|
29
|
+
isFilterActive(): boolean;
|
|
30
|
+
doesFilterPass(params: IDoesFilterPassParams): boolean;
|
|
31
|
+
afterGuiDetached(): void;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DateRangeSelectionComponent, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DateRangeSelectionComponent, "i-tech-date-range-selection", never, {}, {}, never, never, true, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from "@angular/core";
|
|
2
|
+
import { UniversalSelectorConfig } from "../../../interfaces/selection-filtration-configuration.interface";
|
|
3
|
+
import { IDoesFilterPassParams, IFilterParams } from "ag-grid-community";
|
|
4
|
+
import { FiltrationHelperService } from "../../../services/filtration-helper.service";
|
|
5
|
+
import { IFilterAngularComp } from "ag-grid-angular";
|
|
6
|
+
import { UntypedFormGroup } from "@angular/forms";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class SelectWithSearchComponent implements OnInit, OnDestroy, IFilterAngularComp {
|
|
9
|
+
private dataService;
|
|
10
|
+
config: UniversalSelectorConfig;
|
|
11
|
+
params: IFilterParams;
|
|
12
|
+
items: any[];
|
|
13
|
+
selectedIds: Set<any>;
|
|
14
|
+
allSelected: boolean;
|
|
15
|
+
partiallySelected: boolean;
|
|
16
|
+
currentPage: number;
|
|
17
|
+
isLastPage: boolean;
|
|
18
|
+
loading: boolean;
|
|
19
|
+
searchForm: UntypedFormGroup;
|
|
20
|
+
private search$;
|
|
21
|
+
private pageLoad$;
|
|
22
|
+
private destroy$;
|
|
23
|
+
constructor(dataService: FiltrationHelperService);
|
|
24
|
+
agInit(params: IFilterParams): void;
|
|
25
|
+
doesFilterPass(params: IDoesFilterPassParams): boolean;
|
|
26
|
+
isFilterActive(): boolean;
|
|
27
|
+
getModel(): any;
|
|
28
|
+
setModel(model: any): void;
|
|
29
|
+
ngOnInit(): void;
|
|
30
|
+
private initCombinedStream;
|
|
31
|
+
private updateCheckboxState;
|
|
32
|
+
toggleAll(checked: boolean): void;
|
|
33
|
+
onSearchChange(value: string): void;
|
|
34
|
+
handleScroll(e: any): void;
|
|
35
|
+
resetFilter(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Handles selection logic for the custom list.
|
|
38
|
+
* Supports SINGLE (radio-like) and MULTI (checkbox) modes.
|
|
39
|
+
*/
|
|
40
|
+
onItemClick(item: any): void;
|
|
41
|
+
ngOnDestroy(): void;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectWithSearchComponent, never>;
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectWithSearchComponent, "i-tech-select-with-search", never, {}, {}, never, never, true, never>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export interface PaginationResponse<T = any> {
|
|
2
|
+
content: T[];
|
|
3
|
+
totalPages: number;
|
|
4
|
+
totalElements: number;
|
|
5
|
+
size: number;
|
|
6
|
+
number: number;
|
|
7
|
+
first: boolean;
|
|
8
|
+
last: boolean;
|
|
9
|
+
empty: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface UniversalSelectorConfig {
|
|
12
|
+
/** Source of the data: Can be a remote Request, a Fixed array, or a Map/Object */
|
|
13
|
+
source: {
|
|
14
|
+
type: 'REQUEST';
|
|
15
|
+
url: string;
|
|
16
|
+
method: 'GET' | 'POST';
|
|
17
|
+
payload?: any;
|
|
18
|
+
} | {
|
|
19
|
+
type: 'FIXED';
|
|
20
|
+
data: any[];
|
|
21
|
+
} | {
|
|
22
|
+
type: 'MAP';
|
|
23
|
+
data: Record<string, any>;
|
|
24
|
+
};
|
|
25
|
+
/** SINGLE allows one selection; MULTI allows multiple via checkboxes */
|
|
26
|
+
mode: 'SINGLE' | 'MULTI';
|
|
27
|
+
/** If true, shows the '(Select All)' checkbox at the top of the list */
|
|
28
|
+
selectAll: boolean;
|
|
29
|
+
/** The key the backend expects for the ID array (e.g., 'statuses', 'driverIds') */
|
|
30
|
+
backEndKey: string;
|
|
31
|
+
/** * Default is true.
|
|
32
|
+
* true -> returns { [backEndKey]: string[] }
|
|
33
|
+
* false -> returns { [backEndKey]: string[], selectAll: boolean }
|
|
34
|
+
*/
|
|
35
|
+
returnFlatArray?: boolean;
|
|
36
|
+
/** Configuration for rendering and extracting data from objects */
|
|
37
|
+
renderAndKeys: {
|
|
38
|
+
/** Keys to extract from the object to create the 'value' ID. Empty = whole object. */
|
|
39
|
+
valueByKeys?: string[];
|
|
40
|
+
/** Keys used to build the primary label displayed in the list. */
|
|
41
|
+
labelKeys: string[];
|
|
42
|
+
/** Optional keys for a secondary line of text in the list option. */
|
|
43
|
+
subValueKey?: string[];
|
|
44
|
+
/** String used to join multiple label keys (default is usually a space). */
|
|
45
|
+
separator?: string;
|
|
46
|
+
/** For complex parameter mapping. */
|
|
47
|
+
valueByParam?: string[][];
|
|
48
|
+
/** If true, labels will be passed through the TranslatePipe. */
|
|
49
|
+
needTranslate?: boolean;
|
|
50
|
+
/** Optional prefix for icons if rendered. */
|
|
51
|
+
iconPrefix?: string;
|
|
52
|
+
};
|
|
53
|
+
/** Optional search bar configuration */
|
|
54
|
+
search?: {
|
|
55
|
+
placeholder?: string;
|
|
56
|
+
};
|
|
57
|
+
/** If true, a clear button can be implemented to reset selection */
|
|
58
|
+
clearable?: boolean;
|
|
59
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { PaginationResponse, UniversalSelectorConfig } from '../interfaces/selection-filtration-configuration.interface';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FiltrationHelperService {
|
|
6
|
+
private http;
|
|
7
|
+
private dataEndpoint;
|
|
8
|
+
constructor(http: HttpClient, dataEndpoint: string);
|
|
9
|
+
getData(config: UniversalSelectorConfig, page?: number, size?: number, search?: string): Observable<PaginationResponse>;
|
|
10
|
+
/**
|
|
11
|
+
* Universal path extractor for strings or hierarchical arrays ['user', 'role', 'id']
|
|
12
|
+
*/
|
|
13
|
+
getValueByPath(item: any, path: string | Array<string | number>): any;
|
|
14
|
+
private filterLocal;
|
|
15
|
+
private wrapInFakePagination;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FiltrationHelperService, [null, { optional: true; }]>;
|
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FiltrationHelperService>;
|
|
18
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -31,3 +31,5 @@ export * from './lib/components/ag-grid/tooltip-cell-renderer.component';
|
|
|
31
31
|
export * from './lib/helper-functions/phone-number-formatter.function';
|
|
32
32
|
export * from './lib/components/phone-number-input/phone-number-input.component';
|
|
33
33
|
export * from './lib/components/phone-number-input/phone-number.validator';
|
|
34
|
+
export * from './lib/components/ag-grid/date-range-selection/date-range-selection.component';
|
|
35
|
+
export * from './lib/components/ag-grid/select-with-search/select-with-search.component';
|
package/theme/_ag-grid.scss
CHANGED
|
@@ -1,245 +1,245 @@
|
|
|
1
|
-
@use '@angular/material' as mat;
|
|
2
|
-
@use "./color_themes.scss" as color-themes;
|
|
3
|
-
|
|
4
|
-
body {
|
|
5
|
-
|
|
6
|
-
.ag-theme-material {
|
|
7
|
-
--ag-header-column-separator-display: block;
|
|
8
|
-
--ag-header-column-separator-height: 50%;
|
|
9
|
-
--ag-header-column-separator-color: rgba(0, 0, 0, 0.12);
|
|
10
|
-
--ag-secondary-foreground-color: var(--neutral30);
|
|
11
|
-
|
|
12
|
-
// Success theme
|
|
13
|
-
.ag-row.success-row {
|
|
14
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 99)};
|
|
15
|
-
}
|
|
16
|
-
.ag-row.success-row:hover:before {
|
|
17
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 98)};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Change theme
|
|
21
|
-
.ag-cell-changed {
|
|
22
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, secondary, 99)};
|
|
23
|
-
&.ag-cell-focus,
|
|
24
|
-
&:hover {
|
|
25
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, secondary, 98)};
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Error theme
|
|
30
|
-
.ag-row.error-row {
|
|
31
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, error, 99)};
|
|
32
|
-
}
|
|
33
|
-
.ag-row.error-row:hover:before {
|
|
34
|
-
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, error, 98)};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.ag-row.not-found-row-even {
|
|
38
|
-
background: repeating-linear-gradient(45deg, #FAFAFC, #FAFAFC 10px, #F2F2F5 10px, #F2F2F5 20px) 0 0;
|
|
39
|
-
|
|
40
|
-
&:hover:before {
|
|
41
|
-
background: repeating-linear-gradient(45deg, #F8F8FA, #F8F8FA 10px, #E8E9ED 10px, #E8E9ED 20px) 0 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
&.ag-row-selected:before {
|
|
45
|
-
background: repeating-linear-gradient(45deg, #E3F6E7, #E3F6E7 10px, white 10px, white 20px) -14px 0 !important;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
&:not(.ag-row-selected):hover:before {
|
|
49
|
-
background: repeating-linear-gradient(45deg, #EFFAF1, #EFFAF1 10px, white 10px, white 20px) -14px 0 !important;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
.ag-row.not-found-row-odd {
|
|
53
|
-
background: repeating-linear-gradient(45deg, #FAFAFC, #FAFAFC 10px, #F2F2F5 10px, #F2F2F5 20px) -13px 0;
|
|
54
|
-
|
|
55
|
-
&:hover:before {
|
|
56
|
-
background: repeating-linear-gradient(45deg, #F8F8FA, #F8F8FA 10px, #E8E9ED 10px, #E8E9ED 20px) -13px 0;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
&.ag-row-selected:before {
|
|
60
|
-
background: repeating-linear-gradient(45deg, #E3F6E7, #E3F6E7 10px, white 10px, white 20px) 1px 0 !important;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&:not(.ag-row-selected):hover:before {
|
|
64
|
-
background: repeating-linear-gradient(45deg, #EFFAF1, #EFFAF1 10px, white 10px, white 20px) 1px 0 !important;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.ag-row-group {
|
|
69
|
-
color: var(--Text, var(--neutral30));
|
|
70
|
-
background-color: white;
|
|
71
|
-
font-size: 14px;
|
|
72
|
-
font-weight: 700;
|
|
73
|
-
line-height: 20px;
|
|
74
|
-
letter-spacing: 2.5px;
|
|
75
|
-
text-transform: uppercase;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.tooltip-cell-renderer {
|
|
79
|
-
overflow: hidden;
|
|
80
|
-
text-overflow: ellipsis;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.grid-with-toolbar {
|
|
85
|
-
$borderRadius: 6px;
|
|
86
|
-
|
|
87
|
-
.filtration {
|
|
88
|
-
padding: 8px;
|
|
89
|
-
border: 1px solid var(--neutral90);
|
|
90
|
-
border-bottom: unset;
|
|
91
|
-
border-top-left-radius: #{$borderRadius};
|
|
92
|
-
border-top-right-radius: #{$borderRadius};
|
|
93
|
-
|
|
94
|
-
.search {
|
|
95
|
-
width: 210px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
background-color: #fff
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.ag-root-wrapper {
|
|
102
|
-
background-color: transparent;
|
|
103
|
-
border: unset;
|
|
104
|
-
border-radius: unset;
|
|
105
|
-
--ag-border-color: var(--neutral90);
|
|
106
|
-
|
|
107
|
-
.ag-root-wrapper-body {
|
|
108
|
-
border-bottom-left-radius: #{$borderRadius};
|
|
109
|
-
border-bottom-right-radius: #{$borderRadius};
|
|
110
|
-
border: 1px solid var(--neutral90);
|
|
111
|
-
background-color: var(--white-color);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.ag-picker-field-wrapper {
|
|
115
|
-
border-radius: 4px;
|
|
116
|
-
height: 40px;
|
|
117
|
-
border: 1px solid var(--neutral90);
|
|
118
|
-
box-shadow: unset;
|
|
119
|
-
.ag-picker-field-display {
|
|
120
|
-
color: #424954;
|
|
121
|
-
font-weight: 500;
|
|
122
|
-
font-size: 13px;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.ag-header, .ag-advanced-filter-header {
|
|
127
|
-
--ag-header-background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, neutral, 99)};
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.ag-paging-panel {
|
|
132
|
-
border-top: unset;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
.full-width-grid {
|
|
138
|
-
.ag-root-wrapper .ag-root-wrapper-body {
|
|
139
|
-
border-left: none !important;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
.grid-with-selection {
|
|
144
|
-
--ag-selected-row-background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 98)};
|
|
145
|
-
--ag-row-hover-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 99)};
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// Overrides for master/detail grid row group for payments
|
|
149
|
-
.grid-with-master-detail.ag-theme-material {
|
|
150
|
-
.ag-row-group {
|
|
151
|
-
line-height: unset;
|
|
152
|
-
font-weight: unset;
|
|
153
|
-
letter-spacing: unset;
|
|
154
|
-
text-transform: unset;
|
|
155
|
-
background-color: unset;
|
|
156
|
-
font-size: unset;
|
|
157
|
-
align-items: center;
|
|
158
|
-
height: 100%;
|
|
159
|
-
}
|
|
160
|
-
.ag-row-group-leaf-indent {
|
|
161
|
-
height: 100%;
|
|
162
|
-
margin-left: 26px;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.grid-with-group-rows-and-master-detail.ag-theme-material {
|
|
167
|
-
.ag-center-cols-container {
|
|
168
|
-
min-width: 100%;
|
|
169
|
-
// Override for Master Detail for payments
|
|
170
|
-
.ag-row-group {
|
|
171
|
-
color: unset;
|
|
172
|
-
background-color: unset;
|
|
173
|
-
line-height: unset;
|
|
174
|
-
font-weight: unset;
|
|
175
|
-
letter-spacing: unset;
|
|
176
|
-
text-transform: unset;
|
|
177
|
-
font-size: unset;
|
|
178
|
-
align-items: center;
|
|
179
|
-
height: 100%;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
.ag-row-group-leaf-indent {
|
|
184
|
-
height: 100%;
|
|
185
|
-
margin-left: 26px;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.ag-sticky-top-container {
|
|
189
|
-
.ag-row-group {
|
|
190
|
-
line-height: unset;
|
|
191
|
-
font-weight: unset;
|
|
192
|
-
letter-spacing: unset;
|
|
193
|
-
text-transform: unset;
|
|
194
|
-
background-color: unset;
|
|
195
|
-
font-size: unset;
|
|
196
|
-
align-items: center;
|
|
197
|
-
height: 100%;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
.ag-row-group-leaf-indent {
|
|
201
|
-
height: 100%;
|
|
202
|
-
margin-left: 26px;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
.side-pane-grouped-grid.ag-theme-material {
|
|
208
|
-
.ag-row-group {
|
|
209
|
-
color: unset;
|
|
210
|
-
background-color: unset;
|
|
211
|
-
font-weight: unset;
|
|
212
|
-
letter-spacing: unset;
|
|
213
|
-
text-transform: unset;
|
|
214
|
-
font-size: unset;
|
|
215
|
-
align-items: center;
|
|
216
|
-
.ag-column-first {
|
|
217
|
-
padding-left: 10px;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
.ag-row {
|
|
223
|
-
.ag-column-first {
|
|
224
|
-
padding-left: 10px;
|
|
225
|
-
.ag-row-group-leaf-indent {
|
|
226
|
-
margin-left: 22px;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.ag-group-contracted {
|
|
232
|
-
margin-right: 4px;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
.ag-group-expanded {
|
|
236
|
-
margin-right: 4px;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
.ag-root-wrapper .ag-root-wrapper-body {
|
|
240
|
-
border-right: none;
|
|
241
|
-
border-left: none;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
}
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use "./color_themes.scss" as color-themes;
|
|
3
|
+
|
|
4
|
+
body {
|
|
5
|
+
|
|
6
|
+
.ag-theme-material {
|
|
7
|
+
--ag-header-column-separator-display: block;
|
|
8
|
+
--ag-header-column-separator-height: 50%;
|
|
9
|
+
--ag-header-column-separator-color: rgba(0, 0, 0, 0.12);
|
|
10
|
+
--ag-secondary-foreground-color: var(--neutral30);
|
|
11
|
+
|
|
12
|
+
// Success theme
|
|
13
|
+
.ag-row.success-row {
|
|
14
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 99)};
|
|
15
|
+
}
|
|
16
|
+
.ag-row.success-row:hover:before {
|
|
17
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 98)};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Change theme
|
|
21
|
+
.ag-cell-changed {
|
|
22
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, secondary, 99)};
|
|
23
|
+
&.ag-cell-focus,
|
|
24
|
+
&:hover {
|
|
25
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, secondary, 98)};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Error theme
|
|
30
|
+
.ag-row.error-row {
|
|
31
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, error, 99)};
|
|
32
|
+
}
|
|
33
|
+
.ag-row.error-row:hover:before {
|
|
34
|
+
background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, error, 98)};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.ag-row.not-found-row-even {
|
|
38
|
+
background: repeating-linear-gradient(45deg, #FAFAFC, #FAFAFC 10px, #F2F2F5 10px, #F2F2F5 20px) 0 0;
|
|
39
|
+
|
|
40
|
+
&:hover:before {
|
|
41
|
+
background: repeating-linear-gradient(45deg, #F8F8FA, #F8F8FA 10px, #E8E9ED 10px, #E8E9ED 20px) 0 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&.ag-row-selected:before {
|
|
45
|
+
background: repeating-linear-gradient(45deg, #E3F6E7, #E3F6E7 10px, white 10px, white 20px) -14px 0 !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:not(.ag-row-selected):hover:before {
|
|
49
|
+
background: repeating-linear-gradient(45deg, #EFFAF1, #EFFAF1 10px, white 10px, white 20px) -14px 0 !important;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
.ag-row.not-found-row-odd {
|
|
53
|
+
background: repeating-linear-gradient(45deg, #FAFAFC, #FAFAFC 10px, #F2F2F5 10px, #F2F2F5 20px) -13px 0;
|
|
54
|
+
|
|
55
|
+
&:hover:before {
|
|
56
|
+
background: repeating-linear-gradient(45deg, #F8F8FA, #F8F8FA 10px, #E8E9ED 10px, #E8E9ED 20px) -13px 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&.ag-row-selected:before {
|
|
60
|
+
background: repeating-linear-gradient(45deg, #E3F6E7, #E3F6E7 10px, white 10px, white 20px) 1px 0 !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&:not(.ag-row-selected):hover:before {
|
|
64
|
+
background: repeating-linear-gradient(45deg, #EFFAF1, #EFFAF1 10px, white 10px, white 20px) 1px 0 !important;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.ag-row-group {
|
|
69
|
+
color: var(--Text, var(--neutral30));
|
|
70
|
+
background-color: white;
|
|
71
|
+
font-size: 14px;
|
|
72
|
+
font-weight: 700;
|
|
73
|
+
line-height: 20px;
|
|
74
|
+
letter-spacing: 2.5px;
|
|
75
|
+
text-transform: uppercase;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.tooltip-cell-renderer {
|
|
79
|
+
overflow: hidden;
|
|
80
|
+
text-overflow: ellipsis;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.grid-with-toolbar {
|
|
85
|
+
$borderRadius: 6px;
|
|
86
|
+
|
|
87
|
+
.filtration {
|
|
88
|
+
padding: 8px;
|
|
89
|
+
border: 1px solid var(--neutral90);
|
|
90
|
+
border-bottom: unset;
|
|
91
|
+
border-top-left-radius: #{$borderRadius};
|
|
92
|
+
border-top-right-radius: #{$borderRadius};
|
|
93
|
+
|
|
94
|
+
.search {
|
|
95
|
+
width: 210px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
background-color: #fff
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ag-root-wrapper {
|
|
102
|
+
background-color: transparent;
|
|
103
|
+
border: unset;
|
|
104
|
+
border-radius: unset;
|
|
105
|
+
--ag-border-color: var(--neutral90);
|
|
106
|
+
|
|
107
|
+
.ag-root-wrapper-body {
|
|
108
|
+
border-bottom-left-radius: #{$borderRadius};
|
|
109
|
+
border-bottom-right-radius: #{$borderRadius};
|
|
110
|
+
border: 1px solid var(--neutral90);
|
|
111
|
+
background-color: var(--white-color);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.ag-picker-field-wrapper {
|
|
115
|
+
border-radius: 4px;
|
|
116
|
+
height: 40px;
|
|
117
|
+
border: 1px solid var(--neutral90);
|
|
118
|
+
box-shadow: unset;
|
|
119
|
+
.ag-picker-field-display {
|
|
120
|
+
color: #424954;
|
|
121
|
+
font-weight: 500;
|
|
122
|
+
font-size: 13px;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.ag-header, .ag-advanced-filter-header {
|
|
127
|
+
--ag-header-background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, neutral, 99)};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.ag-paging-panel {
|
|
132
|
+
border-top: unset;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
.full-width-grid {
|
|
138
|
+
.ag-root-wrapper .ag-root-wrapper-body {
|
|
139
|
+
border-left: none !important;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.grid-with-selection {
|
|
144
|
+
--ag-selected-row-background-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 98)};
|
|
145
|
+
--ag-row-hover-color: #{mat.get-theme-color(color-themes.$m3-light-theme, primary, 99)};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Overrides for master/detail grid row group for payments
|
|
149
|
+
.grid-with-master-detail.ag-theme-material {
|
|
150
|
+
.ag-row-group {
|
|
151
|
+
line-height: unset;
|
|
152
|
+
font-weight: unset;
|
|
153
|
+
letter-spacing: unset;
|
|
154
|
+
text-transform: unset;
|
|
155
|
+
background-color: unset;
|
|
156
|
+
font-size: unset;
|
|
157
|
+
align-items: center;
|
|
158
|
+
height: 100%;
|
|
159
|
+
}
|
|
160
|
+
.ag-row-group-leaf-indent {
|
|
161
|
+
height: 100%;
|
|
162
|
+
margin-left: 26px;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.grid-with-group-rows-and-master-detail.ag-theme-material {
|
|
167
|
+
.ag-center-cols-container {
|
|
168
|
+
min-width: 100%;
|
|
169
|
+
// Override for Master Detail for payments
|
|
170
|
+
.ag-row-group {
|
|
171
|
+
color: unset;
|
|
172
|
+
background-color: unset;
|
|
173
|
+
line-height: unset;
|
|
174
|
+
font-weight: unset;
|
|
175
|
+
letter-spacing: unset;
|
|
176
|
+
text-transform: unset;
|
|
177
|
+
font-size: unset;
|
|
178
|
+
align-items: center;
|
|
179
|
+
height: 100%;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.ag-row-group-leaf-indent {
|
|
184
|
+
height: 100%;
|
|
185
|
+
margin-left: 26px;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.ag-sticky-top-container {
|
|
189
|
+
.ag-row-group {
|
|
190
|
+
line-height: unset;
|
|
191
|
+
font-weight: unset;
|
|
192
|
+
letter-spacing: unset;
|
|
193
|
+
text-transform: unset;
|
|
194
|
+
background-color: unset;
|
|
195
|
+
font-size: unset;
|
|
196
|
+
align-items: center;
|
|
197
|
+
height: 100%;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.ag-row-group-leaf-indent {
|
|
201
|
+
height: 100%;
|
|
202
|
+
margin-left: 26px;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.side-pane-grouped-grid.ag-theme-material {
|
|
208
|
+
.ag-row-group {
|
|
209
|
+
color: unset;
|
|
210
|
+
background-color: unset;
|
|
211
|
+
font-weight: unset;
|
|
212
|
+
letter-spacing: unset;
|
|
213
|
+
text-transform: unset;
|
|
214
|
+
font-size: unset;
|
|
215
|
+
align-items: center;
|
|
216
|
+
.ag-column-first {
|
|
217
|
+
padding-left: 10px;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
.ag-row {
|
|
223
|
+
.ag-column-first {
|
|
224
|
+
padding-left: 10px;
|
|
225
|
+
.ag-row-group-leaf-indent {
|
|
226
|
+
margin-left: 22px;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.ag-group-contracted {
|
|
232
|
+
margin-right: 4px;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.ag-group-expanded {
|
|
236
|
+
margin-right: 4px;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.ag-root-wrapper .ag-root-wrapper-body {
|
|
240
|
+
border-right: none;
|
|
241
|
+
border-left: none;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
}
|