@sumaris-net/ngx-components 1.17.1 → 1.18.1
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/bundles/sumaris-net.ngx-components.umd.js +623 -540
- package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
- package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
- package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
- package/doc/changelog.md +9 -0
- package/esm2015/src/app/core/graphql/graphql.service.js +3 -2
- package/esm2015/src/app/core/services/config.service.js +3 -2
- package/esm2015/src/app/core/services/local-settings.service.js +2 -2
- package/esm2015/src/app/core/services/platform.service.js +12 -11
- package/esm2015/src/app/shared/directives/autofocus.directive.js +4 -2
- package/esm2015/src/app/shared/hotkeys/hotkeys.service.js +1 -1
- package/esm2015/src/app/shared/inputs.js +1 -1
- package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +103 -61
- package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +20 -5
- package/esm2015/src/app/shared/material/chips/material.chips.js +26 -23
- package/esm2015/src/app/shared/material/datetime/material.date.js +8 -9
- package/esm2015/src/app/shared/material/datetime/material.dateshort.js +8 -8
- package/esm2015/src/app/shared/material/datetime/material.datetime.js +7 -8
- package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +3 -3
- package/esm2015/src/app/shared/material/datetime/testing/mat-date.test.js +4 -7
- package/esm2015/src/app/shared/material/latlong/material.latlong.js +4 -6
- package/esm2015/src/app/shared/material/material.module.js +1 -1
- package/esm2015/src/app/shared/platforms.js +2 -2
- package/esm2015/src/app/shared/services/entity-service.class.js +1 -1
- package/fesm2015/sumaris-net.ngx-components.js +596 -529
- package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
- package/package.json +1 -1
- package/src/app/core/services/platform.service.d.ts +1 -1
- package/src/app/shared/directives/autofocus.directive.d.ts +2 -1
- package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +8 -3
- package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +5 -3
- package/src/app/shared/material/datetime/material.date.d.ts +2 -4
- package/src/app/shared/material/datetime/material.dateshort.d.ts +2 -3
- package/src/app/shared/material/datetime/material.datetime.d.ts +1 -3
- package/src/app/shared/material/datetime/testing/mat-date.test.d.ts +1 -3
- package/src/app/shared/material/latlong/material.latlong.d.ts +1 -3
- package/src/app/shared/services/entity-service.class.d.ts +4 -1
- package/src/theme/_ngx-components.scss +67 -20
- package/sumaris-net.ngx-components.metadata.json +1 -1
package/package.json
CHANGED
|
@@ -60,8 +60,8 @@ export declare class PlatformService extends StartableService {
|
|
|
60
60
|
isCordova(): boolean;
|
|
61
61
|
isAndroidCordova(): boolean;
|
|
62
62
|
isIOSCordova(): boolean;
|
|
63
|
-
isWeb(): boolean;
|
|
64
63
|
isApp(): boolean;
|
|
64
|
+
isWeb(): boolean;
|
|
65
65
|
isMobileWeb(): boolean;
|
|
66
66
|
get canDownload(): boolean;
|
|
67
67
|
get canOpenFile(): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AfterContentInit, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Platform } from '@ionic/angular';
|
|
2
3
|
import { Keyboard } from '@ionic-native/keyboard/ngx';
|
|
3
4
|
export declare class AutofocusDirective implements AfterContentInit, OnChanges, OnDestroy {
|
|
4
5
|
protected keyboard: Keyboard;
|
|
@@ -7,7 +8,7 @@ export declare class AutofocusDirective implements AfterContentInit, OnChanges,
|
|
|
7
8
|
private readonly _elementRef;
|
|
8
9
|
private readonly _mobile;
|
|
9
10
|
private _timer;
|
|
10
|
-
constructor(elementRef: ElementRef, keyboard: Keyboard);
|
|
11
|
+
constructor(platform: Platform, elementRef: ElementRef, keyboard: Keyboard);
|
|
11
12
|
ngAfterContentInit(): void;
|
|
12
13
|
ngOnChanges(changes: SimpleChanges): void;
|
|
13
14
|
ngOnDestroy(): void;
|
|
@@ -7,6 +7,7 @@ import { DisplayFn, EqualsFn } from '../../form/field.model';
|
|
|
7
7
|
import { FloatLabelType } from '@angular/material/form-field';
|
|
8
8
|
import { MatSelect } from '@angular/material/select';
|
|
9
9
|
import { MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
10
|
+
import { IonSearchbar } from '@ionic/angular';
|
|
10
11
|
export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
|
|
11
12
|
attributes: string[];
|
|
12
13
|
suggestFn?: (value: any, options?: any) => Promise<T[] | LoadResult<T>>;
|
|
@@ -14,6 +15,7 @@ export declare interface MatAutocompleteFieldConfig<T = any, F = any> {
|
|
|
14
15
|
items?: Observable<T[]> | T[];
|
|
15
16
|
columnSizes?: (number | 'auto' | undefined)[];
|
|
16
17
|
columnNames?: (string | undefined)[];
|
|
18
|
+
multiple?: boolean;
|
|
17
19
|
displayWith?: DisplayFn;
|
|
18
20
|
equals?: EqualsFn;
|
|
19
21
|
showAllOnFocus?: boolean;
|
|
@@ -75,6 +77,8 @@ export declare class MatAutocompleteField implements OnInit, OnDestroy, InputEle
|
|
|
75
77
|
suggestLengthThreshold: number;
|
|
76
78
|
showLoadingSpinner: boolean;
|
|
77
79
|
debug: boolean;
|
|
80
|
+
showSearchBar: boolean;
|
|
81
|
+
stickySearchBar: boolean;
|
|
78
82
|
clicked: EventEmitter<MouseEvent>;
|
|
79
83
|
blurred: EventEmitter<FocusEvent>;
|
|
80
84
|
focused: EventEmitter<FocusEvent>;
|
|
@@ -82,15 +86,14 @@ export declare class MatAutocompleteField implements OnInit, OnDestroy, InputEle
|
|
|
82
86
|
keydownEscape: EventEmitter<any>;
|
|
83
87
|
keyupEnter: EventEmitter<any>;
|
|
84
88
|
matSelect: MatSelect;
|
|
89
|
+
ionSearchbar: IonSearchbar;
|
|
85
90
|
matInputText: ElementRef;
|
|
86
91
|
autocomplete: MatAutocomplete;
|
|
87
92
|
autocompleteTrigger: MatAutocompleteTrigger;
|
|
88
93
|
_readonly: boolean;
|
|
89
94
|
_tabindex: number;
|
|
90
|
-
matSelectItems$: Observable<any[]>;
|
|
91
95
|
$inputItems: BehaviorSubject<any[]>;
|
|
92
96
|
$filteredItems: BehaviorSubject<any[]>;
|
|
93
|
-
searchable: boolean;
|
|
94
97
|
displayValue: string;
|
|
95
98
|
_moreItemsCount: number;
|
|
96
99
|
_fetchMore$: EventEmitter<Event>;
|
|
@@ -117,6 +120,7 @@ export declare class MatAutocompleteField implements OnInit, OnDestroy, InputEle
|
|
|
117
120
|
get disabled(): boolean;
|
|
118
121
|
get enabled(): boolean;
|
|
119
122
|
get loading(): boolean;
|
|
123
|
+
get desktop(): boolean;
|
|
120
124
|
ngOnInit(): void;
|
|
121
125
|
ngOnDestroy(): void;
|
|
122
126
|
/**
|
|
@@ -130,9 +134,10 @@ export declare class MatAutocompleteField implements OnInit, OnDestroy, InputEle
|
|
|
130
134
|
focus(): void;
|
|
131
135
|
filterInputTextFocusEvent(event: FocusEvent): boolean;
|
|
132
136
|
filterInputTextBlurEvent(event: FocusEvent): boolean;
|
|
137
|
+
ionSearchBarChanged(event: CustomEvent<InputEvent>): void;
|
|
138
|
+
ionSearchBarClear(event: UIEvent): void;
|
|
133
139
|
filterMatSelectFocusEvent(event: FocusEvent): void;
|
|
134
140
|
filterMatSelectBlurEvent(event: FocusEvent): boolean;
|
|
135
|
-
toggleSearch(event: UIEvent): void;
|
|
136
141
|
clearValue(event: UIEvent): void;
|
|
137
142
|
_initAutocompleteInfiniteScroll(threshold?: string): void;
|
|
138
143
|
_initMatSelectInfiniteScroll(threshold?: string): void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
4
|
-
import { MatAutocompleteConfigHolder } from '../material.autocomplete';
|
|
3
|
+
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteConfigHolder, MatAutocompleteField } from '../material.autocomplete';
|
|
5
5
|
import { LoadResult } from '../../../services/entity-service.class';
|
|
6
6
|
import Timer = NodeJS.Timer;
|
|
7
7
|
declare class EntityTestClass {
|
|
@@ -20,18 +20,20 @@ export declare class AutocompleteTestPage implements OnInit {
|
|
|
20
20
|
memoryAutocompleteFieldName: string;
|
|
21
21
|
memoryTimer: Timer;
|
|
22
22
|
mode: 'mobile' | 'desktop' | 'memory' | 'temp';
|
|
23
|
+
entitiesArray: FormArray;
|
|
23
24
|
constructor(formBuilder: FormBuilder);
|
|
24
25
|
ngOnInit(): void;
|
|
25
26
|
loadData(): Promise<void>;
|
|
26
27
|
loadItems(): Promise<void>;
|
|
27
28
|
entityToString(item: any): string;
|
|
29
|
+
entitiesToString(items: any[]): string;
|
|
28
30
|
suggest(value: any, filter?: any): Promise<LoadResult<EntityTestClass>>;
|
|
29
31
|
doSubmit(event: any): void;
|
|
30
32
|
equals(o1: EntityTestClass, o2: EntityTestClass): boolean;
|
|
31
33
|
toggleMode(value: any): void;
|
|
32
34
|
startMemoryTimer(): void;
|
|
33
35
|
stopMemoryTimer(): void;
|
|
34
|
-
updateFilter(fieldName: string): void;
|
|
36
|
+
updateFilter(autocompleteField: MatAutocompleteField, fieldName: string): void;
|
|
35
37
|
stringify(value: any): string;
|
|
36
38
|
}
|
|
37
39
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
2
|
-
import { Platform } from '@ionic/angular';
|
|
3
2
|
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroupDirective } from '@angular/forms';
|
|
4
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
5
4
|
import { Moment } from 'moment';
|
|
@@ -9,7 +8,6 @@ import { FloatLabelType } from '@angular/material/form-field';
|
|
|
9
8
|
import { DateFilterFn, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
|
|
10
9
|
import { DateAdapter } from '@angular/material/core';
|
|
11
10
|
export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor, InputElement {
|
|
12
|
-
private platform;
|
|
13
11
|
private dateAdapter;
|
|
14
12
|
private translate;
|
|
15
13
|
private formBuilder;
|
|
@@ -29,12 +27,12 @@ export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor,
|
|
|
29
27
|
dayPattern: string;
|
|
30
28
|
locale: string;
|
|
31
29
|
readonly dayMask: (string | RegExp)[];
|
|
30
|
+
mobile: boolean;
|
|
32
31
|
formControl: FormControl;
|
|
33
32
|
formControlName: string;
|
|
34
33
|
placeholder: string;
|
|
35
34
|
floatLabel: FloatLabelType;
|
|
36
35
|
required: boolean;
|
|
37
|
-
mobile: boolean;
|
|
38
36
|
compact: boolean;
|
|
39
37
|
placeholderChar: string;
|
|
40
38
|
autofocus: boolean;
|
|
@@ -49,7 +47,7 @@ export declare class MatDate implements OnInit, OnDestroy, ControlValueAccessor,
|
|
|
49
47
|
get value(): any;
|
|
50
48
|
datePicker: MatDatepicker<Moment>;
|
|
51
49
|
matInputs: QueryList<ElementRef>;
|
|
52
|
-
constructor(
|
|
50
|
+
constructor(dateAdapter: DateAdapter<Moment>, translate: TranslateService, formBuilder: FormBuilder, cd: ChangeDetectorRef, keyboard: Keyboard, formGroupDir: FormGroupDirective);
|
|
53
51
|
ngOnInit(): void;
|
|
54
52
|
ngOnDestroy(): void;
|
|
55
53
|
writeValue(value: any): void;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, OnInit, QueryList } from '@angular/core';
|
|
2
|
-
import { Platform } from '@ionic/angular';
|
|
3
2
|
import { AbstractControl, ControlValueAccessor, FormBuilder, FormControl, FormGroupDirective } from '@angular/forms';
|
|
4
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
5
4
|
import { Moment } from 'moment/moment';
|
|
@@ -21,13 +20,13 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
|
|
|
21
20
|
protected disabling: boolean;
|
|
22
21
|
protected _tabindex: number;
|
|
23
22
|
protected keyboardHideDelay: number;
|
|
24
|
-
mobile: boolean;
|
|
25
23
|
dayControl: AbstractControl;
|
|
26
24
|
displayPattern: string;
|
|
27
25
|
dayPattern: string;
|
|
28
26
|
_value: Moment;
|
|
29
27
|
locale: string;
|
|
30
28
|
dayMask: RegExp[];
|
|
29
|
+
mobile: boolean;
|
|
31
30
|
disabled: boolean;
|
|
32
31
|
formControl: FormControl;
|
|
33
32
|
formControlName: string;
|
|
@@ -45,7 +44,7 @@ export declare class MatDateShort implements OnInit, ControlValueAccessor, Input
|
|
|
45
44
|
datePicker2: MatDatepicker<Moment>;
|
|
46
45
|
matInputs: QueryList<ElementRef>;
|
|
47
46
|
get value(): any;
|
|
48
|
-
constructor(
|
|
47
|
+
constructor(dateAdapter: DateAdapter<Moment>, translate: TranslateService, formBuilder: FormBuilder, cd: ChangeDetectorRef, keyboard: Keyboard, formGroupDir: FormGroupDirective);
|
|
49
48
|
ngOnInit(): void;
|
|
50
49
|
writeValue(obj: any): void;
|
|
51
50
|
registerOnChange(fn: any): void;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
2
|
-
import { Platform } from '@ionic/angular';
|
|
3
2
|
import { DateAdapter } from '@angular/material/core';
|
|
4
3
|
import { FloatLabelType } from '@angular/material/form-field';
|
|
5
4
|
import { ControlValueAccessor, FormBuilder, FormControl, FormGroupDirective } from '@angular/forms';
|
|
@@ -19,7 +18,6 @@ declare interface NgxTimePicker {
|
|
|
19
18
|
close(): any;
|
|
20
19
|
}
|
|
21
20
|
export declare class MatDateTime implements OnInit, OnDestroy, ControlValueAccessor, InputElement {
|
|
22
|
-
private platform;
|
|
23
21
|
private dateAdapter;
|
|
24
22
|
private translate;
|
|
25
23
|
private formBuilder;
|
|
@@ -61,7 +59,7 @@ export declare class MatDateTime implements OnInit, OnDestroy, ControlValueAcces
|
|
|
61
59
|
datePicker: MatDatepicker<Moment>;
|
|
62
60
|
timePicker: NgxTimePicker;
|
|
63
61
|
matInputs: QueryList<ElementRef>;
|
|
64
|
-
constructor(
|
|
62
|
+
constructor(dateAdapter: DateAdapter<Moment>, translate: TranslateService, formBuilder: FormBuilder, cd: ChangeDetectorRef, keyboard: Keyboard, formGroupDir: FormGroupDirective);
|
|
65
63
|
ngOnInit(): void;
|
|
66
64
|
ngOnDestroy(): void;
|
|
67
65
|
writeValue(value: any): void;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
3
3
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
4
|
-
import { Platform } from '@ionic/angular';
|
|
5
4
|
import Timer = NodeJS.Timer;
|
|
6
5
|
export declare class DateTestPage implements OnInit {
|
|
7
|
-
protected platform: Platform;
|
|
8
6
|
protected formBuilder: FormBuilder;
|
|
9
7
|
protected cd: ChangeDetectorRef;
|
|
10
8
|
showLogPanel: boolean;
|
|
@@ -14,7 +12,7 @@ export declare class DateTestPage implements OnInit {
|
|
|
14
12
|
memoryTimer: Timer;
|
|
15
13
|
timezone: string;
|
|
16
14
|
form: FormGroup;
|
|
17
|
-
constructor(
|
|
15
|
+
constructor(formBuilder: FormBuilder, cd: ChangeDetectorRef);
|
|
18
16
|
ngOnInit(): void;
|
|
19
17
|
loadData(): Promise<void>;
|
|
20
18
|
doSubmit(event: any): void;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { Platform } from '@ionic/angular';
|
|
3
2
|
import { FloatLabelType } from '@angular/material/form-field';
|
|
4
3
|
import { ControlValueAccessor, FormBuilder, FormControl, FormGroupDirective } from '@angular/forms';
|
|
5
4
|
import { TranslateService } from '@ngx-translate/core';
|
|
6
5
|
import { LatLongFormatFn, LatLongFormatOptions, LatLongPattern } from './latlong.utils';
|
|
7
6
|
import { TextMaskConfig } from 'angular2-text-mask';
|
|
8
7
|
export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueAccessor {
|
|
9
|
-
private platform;
|
|
10
8
|
private translate;
|
|
11
9
|
private formBuilder;
|
|
12
10
|
private cd;
|
|
@@ -44,7 +42,7 @@ export declare class MatLatLongField implements OnInit, OnDestroy, ControlValueA
|
|
|
44
42
|
onBlur: EventEmitter<FocusEvent>;
|
|
45
43
|
onFocus: EventEmitter<FocusEvent>;
|
|
46
44
|
inputElement: ElementRef;
|
|
47
|
-
constructor(
|
|
45
|
+
constructor(translate: TranslateService, formBuilder: FormBuilder, cd: ChangeDetectorRef, formGroupDir: FormGroupDirective);
|
|
48
46
|
ngOnInit(): void;
|
|
49
47
|
ngOnDestroy(): void;
|
|
50
48
|
writeValue(obj: any): void;
|
|
@@ -16,7 +16,10 @@ export declare interface LoadResult<T> {
|
|
|
16
16
|
errors?: any[];
|
|
17
17
|
fetchMore?: FetchMoreFn<LoadResult<T>>;
|
|
18
18
|
}
|
|
19
|
-
export declare type SuggestFn<T, F> = (value: any, filter?: F, sortBy?: string, sortDirection?: SortDirection
|
|
19
|
+
export declare type SuggestFn<T, F> = (value: any, filter?: F, sortBy?: string | keyof T, sortDirection?: SortDirection, opts?: {
|
|
20
|
+
fetchPolicy: FetchPolicy;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}) => Promise<T[] | LoadResult<T>>;
|
|
20
23
|
export declare interface SuggestService<T, F> {
|
|
21
24
|
suggest: SuggestFn<T, F>;
|
|
22
25
|
}
|
|
@@ -274,7 +274,7 @@ mat-option {
|
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
-
mat-option:not(:last-
|
|
277
|
+
mat-option:not(:last-of-type) {
|
|
278
278
|
border-bottom: 1px solid #{$app-select-option-border-color};
|
|
279
279
|
}
|
|
280
280
|
|
|
@@ -322,31 +322,77 @@ mat-option:not(:last-child) {
|
|
|
322
322
|
left: 0;
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
+
.mat-select-panel,
|
|
326
|
+
.mat-autocomplete-panel {
|
|
327
|
+
/* when multiple selection enable */
|
|
328
|
+
mat-pseudo-checkbox {
|
|
329
|
+
margin-left: 8px;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
325
332
|
.mat-select-panel,
|
|
326
333
|
.mat-menu-panel,
|
|
327
334
|
.mat-autocomplete-panel {
|
|
328
335
|
|
|
336
|
+
/* Avoid bad display, when opening panel for the first time */
|
|
337
|
+
&.ng-trigger-transformPanel {
|
|
338
|
+
ion-searchbar.mat-select-header,
|
|
339
|
+
ion-searchbar.mat-autocomplete-header {
|
|
340
|
+
visibility: visible;
|
|
341
|
+
display: flex;
|
|
342
|
+
opacity: 1;
|
|
343
|
+
transition: opacity 0.3s ease-in-out;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
ion-searchbar.mat-select-header,
|
|
348
|
+
ion-searchbar.mat-autocomplete-header
|
|
349
|
+
{
|
|
350
|
+
visibility: hidden;
|
|
351
|
+
display: none;
|
|
352
|
+
opacity: 0;
|
|
353
|
+
|
|
354
|
+
height: 58px;
|
|
355
|
+
background-color: var(--ion-color-secondary100) !important;
|
|
356
|
+
|
|
357
|
+
&.ion-searchbar-sticky {
|
|
358
|
+
z-index: 1001;
|
|
359
|
+
/* Set header as sticky*/
|
|
360
|
+
position: -webkit-sticky;
|
|
361
|
+
position: sticky;
|
|
362
|
+
top: 0;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
329
366
|
ion-row.mat-select-header,
|
|
330
367
|
ion-row.mat-menu-header,
|
|
331
368
|
ion-row.mat-autocomplete-header {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
369
|
+
&.multiple {
|
|
370
|
+
/* Offset due to mat-pseudo-checkbox */
|
|
371
|
+
padding-left: 32px;
|
|
372
|
+
}
|
|
373
|
+
&.column {
|
|
374
|
+
/* Set header as sticky*/
|
|
375
|
+
position: -webkit-sticky;
|
|
376
|
+
position: sticky;
|
|
377
|
+
top: 0;
|
|
378
|
+
z-index: 1001;
|
|
379
|
+
background-color: var(--ion-color-secondary);
|
|
380
|
+
border-bottom: 1px solid #{$app-select-option-border-color};
|
|
381
|
+
color: var(--ion-color-secondary-contrast);
|
|
382
|
+
line-height: 20px;
|
|
383
|
+
@include font-size(12px);
|
|
384
|
+
font-weight: 500;
|
|
385
|
+
height: 20px;
|
|
386
|
+
ion-col {
|
|
387
|
+
white-space: nowrap;
|
|
388
|
+
text-overflow: ellipsis;
|
|
389
|
+
}
|
|
390
|
+
&.ion-searchbar-sticky {
|
|
391
|
+
/* offset because of the searchbar height */
|
|
392
|
+
top: 58px;
|
|
393
|
+
}
|
|
349
394
|
}
|
|
395
|
+
|
|
350
396
|
}
|
|
351
397
|
|
|
352
398
|
ion-row.mat-select-footer,
|
|
@@ -357,7 +403,7 @@ mat-option:not(:last-child) {
|
|
|
357
403
|
position: sticky;
|
|
358
404
|
bottom: 0;
|
|
359
405
|
z-index: 1001;
|
|
360
|
-
|
|
406
|
+
border-top: 1px solid #{$app-select-option-border-color};
|
|
361
407
|
background-color: whitesmoke;
|
|
362
408
|
color: var(--ion-color-medium);
|
|
363
409
|
@include font-size(12px);
|
|
@@ -375,8 +421,9 @@ mat-option:not(:last-child) {
|
|
|
375
421
|
--ion-grid-column-padding: 0;
|
|
376
422
|
|
|
377
423
|
ion-col {
|
|
424
|
+
--ion-padding-start: 8px;
|
|
378
425
|
padding: 0 !important;
|
|
379
|
-
padding-left:
|
|
426
|
+
padding-left: var(--ion-padding-start) !important;
|
|
380
427
|
text-overflow: ellipsis;
|
|
381
428
|
overflow: hidden;
|
|
382
429
|
}
|