novo-elements 13.0.0 → 13.1.0-next.2
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/elements/chips/index.d.ts +3 -0
- package/elements/form/index.d.ts +59 -16
- package/elements/places/index.d.ts +23 -8
- package/fesm2022/novo-elements-elements-chips.mjs +12 -1
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +186 -35
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-places.mjs +45 -22
- package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2022/novo-elements.mjs +3 -1
- package/fesm2022/novo-elements.mjs.map +1 -1
- package/index.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i3 from '@angular/common';
|
|
2
2
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { PLATFORM_ID, Inject, Injectable, forwardRef, EventEmitter, Output, Input, Component, NgModule } from '@angular/core';
|
|
4
|
+
import { PLATFORM_ID, Inject, Injectable, forwardRef, EventEmitter, Output, Input, Component, NgModule, InjectionToken } from '@angular/core';
|
|
5
5
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
6
6
|
import { BasePickerResults } from 'novo-elements/elements/picker';
|
|
7
7
|
import * as i2 from 'novo-elements/services';
|
|
@@ -20,7 +20,8 @@ class GooglePlacesService {
|
|
|
20
20
|
}
|
|
21
21
|
getPredictions(url, query) {
|
|
22
22
|
return new Promise((resolve) => {
|
|
23
|
-
|
|
23
|
+
const separator = url.includes('?') ? '&' : '?';
|
|
24
|
+
this._http.get(url + separator + 'query=' + query).subscribe((data) => {
|
|
24
25
|
if (data) {
|
|
25
26
|
resolve(data);
|
|
26
27
|
}
|
|
@@ -32,7 +33,8 @@ class GooglePlacesService {
|
|
|
32
33
|
}
|
|
33
34
|
getLatLngDetail(url, lat, lng) {
|
|
34
35
|
return new Promise((resolve) => {
|
|
35
|
-
|
|
36
|
+
const separator = url.includes('?') ? '&' : '?';
|
|
37
|
+
this._http.get(url + separator + 'lat=' + lat + '&lng=' + lng).subscribe((data) => {
|
|
36
38
|
if (data) {
|
|
37
39
|
resolve(data);
|
|
38
40
|
}
|
|
@@ -44,7 +46,8 @@ class GooglePlacesService {
|
|
|
44
46
|
}
|
|
45
47
|
getPlaceDetails(url, placeId) {
|
|
46
48
|
return new Promise((resolve) => {
|
|
47
|
-
|
|
49
|
+
const separator = url.includes('?') ? '&' : '?';
|
|
50
|
+
this._http.get(url + separator + 'query=' + placeId).subscribe((data) => {
|
|
48
51
|
if (data) {
|
|
49
52
|
resolve(data);
|
|
50
53
|
}
|
|
@@ -294,6 +297,7 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
294
297
|
this.cdr = cdr;
|
|
295
298
|
this.termChange = new EventEmitter();
|
|
296
299
|
this.select = new EventEmitter();
|
|
300
|
+
this.matchesUpdated = new EventEmitter();
|
|
297
301
|
this.locationInput = '';
|
|
298
302
|
this.gettingCurrentLocationFlag = false;
|
|
299
303
|
this.dropdownOpen = false;
|
|
@@ -397,7 +401,8 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
397
401
|
selectMatch(match) {
|
|
398
402
|
this.dropdownOpen = false;
|
|
399
403
|
if (this.recentDropdownOpen) {
|
|
400
|
-
|
|
404
|
+
// Recent items carry full detail on `raw`, which downstream consumers need.
|
|
405
|
+
this.setRecentLocation(match.raw ?? match);
|
|
401
406
|
}
|
|
402
407
|
else {
|
|
403
408
|
this.getPlaceLocationInfo(match);
|
|
@@ -536,21 +541,19 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
536
541
|
}
|
|
537
542
|
// function to update the predicted list.
|
|
538
543
|
updateListItem(listData) {
|
|
539
|
-
this.matches = listData
|
|
544
|
+
this.matches = (listData || []).map((item) => this.normalizePrediction(item));
|
|
545
|
+
// Reset highlight so Enter can't act on a stale prediction.
|
|
546
|
+
this.activeMatch = undefined;
|
|
540
547
|
this.dropdownOpen = true;
|
|
541
548
|
this.cdr.detectChanges();
|
|
549
|
+
this.matchesUpdated.emit(this.matches);
|
|
542
550
|
}
|
|
543
551
|
// function to show the recent search result.
|
|
544
552
|
showRecentSearch() {
|
|
545
553
|
this.recentDropdownOpen = true;
|
|
546
554
|
this.dropdownOpen = true;
|
|
547
555
|
this._googlePlacesService.getRecentList(this.settings.recentStorageName).then((result) => {
|
|
548
|
-
|
|
549
|
-
this.matches = result;
|
|
550
|
-
}
|
|
551
|
-
else {
|
|
552
|
-
this.matches = [];
|
|
553
|
-
}
|
|
556
|
+
this.matches = (result || []).map((item) => this.normalizePrediction(item));
|
|
554
557
|
});
|
|
555
558
|
}
|
|
556
559
|
// function to execute to get location detail based on latitude and longitude.
|
|
@@ -575,15 +578,16 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
575
578
|
}
|
|
576
579
|
// function to retrieve the location info based on google place id.
|
|
577
580
|
getPlaceLocationInfo(selectedData) {
|
|
581
|
+
const placeId = selectedData.placeId;
|
|
578
582
|
if (this.settings.useGoogleGeoApi) {
|
|
579
|
-
this._googlePlacesService.getGeoPlaceDetail(
|
|
583
|
+
this._googlePlacesService.getGeoPlaceDetail(placeId).then((data) => {
|
|
580
584
|
if (data) {
|
|
581
585
|
this.setRecentLocation(data);
|
|
582
586
|
}
|
|
583
587
|
});
|
|
584
588
|
}
|
|
585
589
|
else {
|
|
586
|
-
this._googlePlacesService.getPlaceDetails(this.settings.geoLocDetailServerUrl,
|
|
590
|
+
this._googlePlacesService.getPlaceDetails(this.settings.geoLocDetailServerUrl, placeId).then((result) => {
|
|
587
591
|
if (result) {
|
|
588
592
|
result = this.extractServerList(this.settings.serverResponseDetailHierarchy, result);
|
|
589
593
|
this.setRecentLocation(result);
|
|
@@ -594,7 +598,7 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
594
598
|
// function to store the selected user search in the localstorage.
|
|
595
599
|
setRecentLocation(data) {
|
|
596
600
|
data = JSON.parse(JSON.stringify(data));
|
|
597
|
-
data.description = data.description ? data.description : data.formatted_address;
|
|
601
|
+
data.description = data.description ? data.description : (data.formattedAddress || data.formatted_address);
|
|
598
602
|
data.active = false;
|
|
599
603
|
this.selectedDataIndex = -1;
|
|
600
604
|
this.locationInput = data.description;
|
|
@@ -615,6 +619,17 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
615
619
|
this.recentSearchData = data && data.length ? data : [];
|
|
616
620
|
});
|
|
617
621
|
}
|
|
622
|
+
// Fold a raw Google/REST/recent record into the internal AddressLookupPrediction shape.
|
|
623
|
+
normalizePrediction(raw) {
|
|
624
|
+
return {
|
|
625
|
+
placeId: raw?.placeId || raw?.place_id,
|
|
626
|
+
primaryText: raw?.primaryText || raw?.structured_formatting?.main_text || raw?.displayAddress || raw?.description || '',
|
|
627
|
+
secondaryText: raw?.secondaryText || raw?.structured_formatting?.secondary_text || '',
|
|
628
|
+
displayAddress: raw?.displayAddress || raw?.description,
|
|
629
|
+
types: raw?.types,
|
|
630
|
+
raw,
|
|
631
|
+
};
|
|
632
|
+
}
|
|
618
633
|
onKeyDown(event) {
|
|
619
634
|
if (this.dropdownOpen) {
|
|
620
635
|
if (event.key === "ArrowUp" /* Key.ArrowUp */) {
|
|
@@ -626,7 +641,10 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
626
641
|
return;
|
|
627
642
|
}
|
|
628
643
|
if (event.key === "Enter" /* Key.Enter */) {
|
|
629
|
-
|
|
644
|
+
// Only select when a prediction is highlighted.
|
|
645
|
+
if (this.activeMatch) {
|
|
646
|
+
this.selectMatch(this.activeMatch);
|
|
647
|
+
}
|
|
630
648
|
return;
|
|
631
649
|
}
|
|
632
650
|
}
|
|
@@ -636,14 +654,14 @@ class PlacesListComponent extends BasePickerResults {
|
|
|
636
654
|
return new Observable();
|
|
637
655
|
}
|
|
638
656
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: PlacesListComponent, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i2.GlobalRef }, { token: GooglePlacesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
639
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: PlacesListComponent, isStandalone: false, selector: "google-places-list", inputs: { userSettings: "userSettings" }, outputs: { termChange: "termChange", select: "select" }, providers: [PLACES_VALUE_ACCESSOR], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
657
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: PlacesListComponent, isStandalone: false, selector: "google-places-list", inputs: { userSettings: "userSettings" }, outputs: { termChange: "termChange", select: "select", matchesUpdated: "matchesUpdated" }, providers: [PLACES_VALUE_ACCESSOR], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
640
658
|
<novo-list direction="vertical">
|
|
641
659
|
<novo-list-item *ngFor="let data of matches; let $index = index" (click)="selectedListNode($event, $index)" [ngClass]="{ active: data === activeMatch }">
|
|
642
660
|
<item-header>
|
|
643
661
|
<item-avatar icon="location"></item-avatar>
|
|
644
|
-
<item-title>{{ data.
|
|
662
|
+
<item-title>{{ data.primaryText }}</item-title>
|
|
645
663
|
</item-header>
|
|
646
|
-
<item-content>{{ data.
|
|
664
|
+
<item-content>{{ data.secondaryText }}</item-content>
|
|
647
665
|
</novo-list-item>
|
|
648
666
|
</novo-list>
|
|
649
667
|
`, isInline: true, styles: [":host{display:grid}:host novo-list{border:1px solid #4a89dc;background-color:#fff}:host novo-list novo-list-item{cursor:pointer;flex:0 0;transition:background-color .25s}:host novo-list novo-list-item>div{width:100%}:host novo-list novo-list-item.active{background-color:#e0ebf9}:host novo-list novo-list-item:hover{background-color:#f1f6fc}:host novo-list novo-list-item item-content{flex-flow:row wrap}:host novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.NovoListElement, selector: "novo-list", inputs: ["theme", "direction"] }, { kind: "component", type: i4.NovoListItemElement, selector: "novo-list-item, a[list-item], button[list-item]" }, { kind: "component", type: i4.NovoItemAvatarElement, selector: "item-avatar, novo-item-avatar", inputs: ["icon", "color"] }, { kind: "component", type: i4.NovoItemTitleElement, selector: "item-title, novo-item-title" }, { kind: "component", type: i4.NovoItemHeaderElement, selector: "item-header, novo-item-header" }, { kind: "component", type: i4.NovoItemContentElement, selector: "item-content, novo-item-content", inputs: ["direction"] }] }); }
|
|
@@ -655,9 +673,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
655
673
|
<novo-list-item *ngFor="let data of matches; let $index = index" (click)="selectedListNode($event, $index)" [ngClass]="{ active: data === activeMatch }">
|
|
656
674
|
<item-header>
|
|
657
675
|
<item-avatar icon="location"></item-avatar>
|
|
658
|
-
<item-title>{{ data.
|
|
676
|
+
<item-title>{{ data.primaryText }}</item-title>
|
|
659
677
|
</item-header>
|
|
660
|
-
<item-content>{{ data.
|
|
678
|
+
<item-content>{{ data.secondaryText }}</item-content>
|
|
661
679
|
</novo-list-item>
|
|
662
680
|
</novo-list>
|
|
663
681
|
`, standalone: false, styles: [":host{display:grid}:host novo-list{border:1px solid #4a89dc;background-color:#fff}:host novo-list novo-list-item{cursor:pointer;flex:0 0;transition:background-color .25s}:host novo-list novo-list-item>div{width:100%}:host novo-list novo-list-item.active{background-color:#e0ebf9}:host novo-list novo-list-item:hover{background-color:#f1f6fc}:host novo-list novo-list-item item-content{flex-flow:row wrap}:host novo-list novo-list-item item-content>*{flex:0 0 33%;white-space:nowrap}\n"] }]
|
|
@@ -670,6 +688,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
670
688
|
type: Output
|
|
671
689
|
}], select: [{
|
|
672
690
|
type: Output
|
|
691
|
+
}], matchesUpdated: [{
|
|
692
|
+
type: Output
|
|
673
693
|
}] } });
|
|
674
694
|
|
|
675
695
|
class GooglePlacesModule {
|
|
@@ -683,9 +703,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
683
703
|
exports: [PlacesListComponent], imports: [CommonModule, FormsModule, NovoListModule], providers: [GooglePlacesService, provideHttpClient(withInterceptorsFromDi())] }]
|
|
684
704
|
}] });
|
|
685
705
|
|
|
706
|
+
/** App-wide address-lookup config; when provided, every novo-address enables autocomplete on Address 1. */
|
|
707
|
+
const NOVO_ADDRESS_CONFIG = new InjectionToken('NOVO_ADDRESS_CONFIG');
|
|
708
|
+
|
|
686
709
|
/**
|
|
687
710
|
* Generated bundle index. Do not edit.
|
|
688
711
|
*/
|
|
689
712
|
|
|
690
|
-
export { GooglePlacesModule, GooglePlacesService, PlacesListComponent };
|
|
713
|
+
export { GooglePlacesModule, GooglePlacesService, NOVO_ADDRESS_CONFIG, PlacesListComponent };
|
|
691
714
|
//# sourceMappingURL=novo-elements-elements-places.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-elements-places.mjs","sources":["../../../projects/novo-elements/src/elements/places/places.service.ts","../../../projects/novo-elements/src/elements/places/places.component.ts","../../../projects/novo-elements/src/elements/places/places.module.ts","../../../projects/novo-elements/src/elements/places/novo-elements-elements-places.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { GlobalRef, LocalStorageService } from 'novo-elements/services';\n\n@Injectable()\nexport class GooglePlacesService {\n constructor(\n private _http: HttpClient,\n @Inject(PLATFORM_ID) private platformId: Object,\n private _global: GlobalRef,\n private _localStorageService: LocalStorageService,\n ) {}\n\n getPredictions(url: string, query: string): Promise<any> {\n return new Promise((resolve) => {\n this._http.get(url + '?query=' + query).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getLatLngDetail(url: string, lat: number, lng: number): Promise<any> {\n return new Promise((resolve) => {\n this._http.get(url + '?lat=' + lat + '&lng=' + lng).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getPlaceDetails(url: string, placeId: string): Promise<any> {\n return new Promise((resolve) => {\n this._http.get(url + '?query=' + placeId).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getGeoCurrentLocation(): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n if (_window.navigator.geolocation) {\n _window.navigator.geolocation.getCurrentPosition((pos) => {\n const latlng: any = { lat: parseFloat(pos.coords.latitude + ''), lng: parseFloat(pos.coords.longitude + '') };\n resolve(latlng);\n });\n } else {\n resolve(false);\n }\n } else {\n resolve(false);\n }\n });\n }\n\n getGeoLatLngDetail(latlng: any): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const geocoder: any = new _window.google.maps.Geocoder();\n geocoder.geocode({ location: latlng }, (results, status) => {\n if (status === 'OK') {\n this.getGeoPlaceDetail(results[0].place_id).then((result) => {\n if (result) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n getGeoPrediction(params: any): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.AutocompleteService();\n let queryInput: any = {};\n const promiseArr: any = [];\n if (params.countryRestriction.length) {\n queryInput = {\n input: params.query,\n componentRestrictions: { country: params.countryRestriction },\n };\n } else {\n queryInput = {\n input: params.query,\n };\n }\n if (params.geoLocation) {\n queryInput.location = new _window.google.maps.LatLng(parseFloat(params.geoLocation[0]), parseFloat(params.geoLocation[1]));\n queryInput.radius = params.radius;\n }\n if (params.geoTypes.length) {\n for (let i: number = 0; i < params.geoTypes.length; i++) {\n const _tempQuery: any = queryInput;\n _tempQuery.types = new Array(params.geoTypes[i]);\n promiseArr.push(this.geoPredictionCall(placesService, _tempQuery));\n }\n } else {\n promiseArr.push(this.geoPredictionCall(placesService, queryInput));\n }\n\n Promise.all(promiseArr).then((values) => {\n const val: any = values;\n if (val.length > 1) {\n let _tempArr: any = [];\n for (let j: number = 0; j < val.length; j++) {\n if (val[j] && val[j].length) {\n _tempArr = _tempArr.concat(val[j]);\n }\n }\n _tempArr = this.getUniqueResults(_tempArr);\n resolve(_tempArr);\n } else {\n resolve(values[0]);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n async getGeoPlaceDetail(placeId: string): Promise<any> {\n const placeDetail: any = await new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.PlacesService(document.createElement('div'));\n placesService.getDetails({ placeId }, (result: any) => {\n if (result === null || result.length === 0) {\n this.getGeoPaceDetailByReferance(result.referance).then((referanceData: any) => {\n if (!referanceData) {\n resolve(false);\n } else {\n resolve(referanceData);\n }\n });\n } else {\n resolve(result);\n }\n });\n } else {\n resolve(false);\n }\n });\n\n if (placeDetail?.types?.includes('locality')) {\n placeDetail.postal_codes = await this.getPostalCodes(placeDetail);\n }\n\n return placeDetail;\n }\n\n getGeoPaceDetailByReferance(referance: string): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.PlacesService();\n placesService.getDetails({ reference: referance }, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n addRecentList(localStorageName: string, result: any, itemSavedLength: number): any {\n this.getRecentList(localStorageName).then((data: any) => {\n if (data) {\n for (let i: number = 0; i < data.length; i++) {\n if (data[i].description === result.description) {\n data.splice(i, 1);\n break;\n }\n }\n data.unshift(result);\n if (data.length > itemSavedLength) {\n data.pop();\n }\n this._localStorageService.setItem(localStorageName, JSON.stringify(data));\n }\n });\n }\n\n getRecentList(localStorageName: string): Promise<any> {\n return new Promise((resolve) => {\n let value: any = this._localStorageService.getItem(localStorageName);\n if (value) {\n value = JSON.parse(value);\n } else {\n value = [];\n }\n resolve(value);\n });\n }\n\n getPostalCodes(placeDetail: any): Promise<string> {\n const _window: any = this._global.nativeGlobal;\n const geocoder: any = new _window.google.maps.Geocoder();\n return new Promise((resolve) => {\n geocoder.geocode({ location: placeDetail.geometry.location }, (results, status) => {\n if (status === 'OK' && results.length) {\n resolve(\n results.reduce(\n (postalCodes: string[], result: any) => {\n const postalCodeComponent = result.address_components.find(item => item.types.includes('postal_code'));\n if (postalCodeComponent && !postalCodes.includes(postalCodeComponent.long_name)) {\n postalCodes.push(postalCodeComponent.long_name);\n }\n return postalCodes;\n },\n [],\n ),\n );\n } else {\n resolve(null);\n }\n });\n });\n }\n\n private getUniqueResults(arr: any): any {\n return Array.from(arr.reduce((m, t) => m.set(t.place_id, t), new Map()).values());\n }\n\n private geoPredictionCall(placesService: any, queryInput: any): Promise<any> {\n const _window: any = this._global.nativeGlobal;\n return new Promise((resolve) => {\n placesService.getPlacePredictions(queryInput, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n });\n }\n}\n","// NG2\nimport { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Inject, Input, OnChanges, OnInit, Output, PLATFORM_ID } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BasePickerResults } from 'novo-elements/elements/picker';\nimport { GlobalRef } from 'novo-elements/services';\nimport { Key } from 'novo-elements/utils';\nimport { Observable } from 'rxjs';\nimport { GooglePlacesService } from './places.service';\n\nexport interface Settings {\n geoPredictionServerUrl?: string;\n geoLatLangServiceUrl?: string;\n geoLocDetailServerUrl?: string;\n geoCountryRestriction?: any;\n geoTypes?: any;\n geoLocation?: any;\n geoRadius?: number;\n serverResponseListHierarchy?: any;\n serverResponseatLangHierarchy?: any;\n serverResponseDetailHierarchy?: any;\n resOnSearchButtonClickOnly?: boolean;\n useGoogleGeoApi?: boolean;\n inputPlaceholderText?: string;\n inputString?: string;\n showSearchButton?: boolean;\n showRecentSearch?: boolean;\n showCurrentLocation?: boolean;\n recentStorageName?: string;\n noOfRecentSearchSave?: number;\n currentLocIconUrl?: string;\n searchIconUrl?: string;\n locationIconUrl?: string;\n}\n\n// Value accessor for the component (supports ngModel)\nconst PLACES_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PlacesListComponent),\n multi: true,\n};\n\n@Component({\n selector: 'google-places-list',\n providers: [PLACES_VALUE_ACCESSOR],\n template: `\n <novo-list direction=\"vertical\">\n <novo-list-item *ngFor=\"let data of matches; let $index = index\" (click)=\"selectedListNode($event, $index)\" [ngClass]=\"{ active: data === activeMatch }\">\n <item-header>\n <item-avatar icon=\"location\"></item-avatar>\n <item-title>{{ data.structured_formatting?.main_text ? data.structured_formatting.main_text : data.description }}</item-title>\n </item-header>\n <item-content>{{ data.structured_formatting?.secondary_text }}</item-content>\n </novo-list-item>\n </novo-list>\n `,\n styleUrls: ['./places.component.scss'],\n standalone: false,\n})\nexport class PlacesListComponent extends BasePickerResults implements OnInit, OnChanges, ControlValueAccessor {\n @Input()\n userSettings: Settings;\n @Output()\n termChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n select: EventEmitter<any> = new EventEmitter<any>();\n\n public locationInput: string = '';\n public gettingCurrentLocationFlag: boolean = false;\n public dropdownOpen: boolean = false;\n public recentDropdownOpen: boolean = false;\n public isSettingsError: boolean = false;\n public settingsErrorMsg: string = '';\n public settings: Settings = {};\n private moduleinit: boolean = false;\n private selectedDataIndex: number = -1;\n private recentSearchData: any = [];\n private userSelectedOption: any = '';\n private defaultSettings: Settings = {\n geoPredictionServerUrl: '',\n geoLatLangServiceUrl: '',\n geoLocDetailServerUrl: '',\n geoCountryRestriction: [],\n geoTypes: [],\n geoLocation: [],\n geoRadius: 0,\n serverResponseListHierarchy: [],\n serverResponseatLangHierarchy: [],\n serverResponseDetailHierarchy: [],\n resOnSearchButtonClickOnly: false,\n useGoogleGeoApi: true,\n inputPlaceholderText: 'Enter Area Name',\n inputString: '',\n showSearchButton: true,\n showRecentSearch: true,\n showCurrentLocation: true,\n recentStorageName: 'recentSearches',\n noOfRecentSearchSave: 5,\n currentLocIconUrl: '',\n searchIconUrl: '',\n locationIconUrl: '',\n };\n\n model: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n private _elmRef: ElementRef,\n private _global: GlobalRef,\n private _googlePlacesService: GooglePlacesService,\n private cdr: ChangeDetectorRef,\n ) {\n super(_elmRef, cdr);\n this.config = {};\n }\n\n ngOnInit(): any {\n if (!this.moduleinit) {\n this.moduleInit();\n }\n }\n\n ngOnChanges(): any {\n this.moduleinit = true;\n this.moduleInit();\n this.searchinputCallback(null);\n }\n\n writeValue(model: any): void {\n this.model = model;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n // function called when click event happens in input box. (Binded with view)\n searchinputClickCallback(event: any): any {\n event.target.select();\n this.searchinputCallback(event);\n }\n\n // function called when there is a change in input. (Binded with view)\n searchinputCallback(event: any): any {\n const inputVal: any = this.locationInput;\n if (inputVal) {\n this.getListQuery(inputVal);\n } else {\n this.matches = [];\n if (this.userSelectedOption) {\n this.userQuerySubmit('false');\n }\n this.userSelectedOption = '';\n if (this.settings.showRecentSearch) {\n this.showRecentSearch();\n } else {\n this.dropdownOpen = false;\n }\n }\n }\n\n // function to execute when user hover over autocomplete list. (binded with view)\n activeListNode(index: number): any {\n for (let i: number = 0; i < this.matches.length; i++) {\n if (index === i) {\n this.matches[i].active = true;\n this.selectedDataIndex = index;\n } else {\n this.matches[i].active = false;\n }\n }\n }\n\n // function to execute when user selects a match from the autocomplete list. (binded with view)\n selectedListNode(event: MouseEvent, index: number): any {\n this.selectMatch(this.matches[index]);\n }\n\n // function to execute when user selects a match.\n selectMatch(match: any): any {\n this.dropdownOpen = false;\n if (this.recentDropdownOpen) {\n this.setRecentLocation(match);\n } else {\n this.getPlaceLocationInfo(match);\n }\n }\n\n // function to close the autocomplete list when clicked outside. (binded with view)\n closeAutocomplete(event: any): any {\n if (!this._elmRef.nativeElement.contains(event.target)) {\n this.selectedDataIndex = -1;\n this.dropdownOpen = false;\n }\n }\n\n // function to manually trigger the callback to parent component when clicked search button.\n userQuerySubmit(selectedOption?: any): any {\n const _userOption: any = selectedOption === 'false' ? '' : this.userSelectedOption;\n if (_userOption) {\n this.select.emit(this.userSelectedOption);\n } else {\n // this.select.emit(false);\n }\n }\n\n // function to get user current location from the device.\n currentLocationSelected(): any {\n if (isPlatformBrowser(this.platformId)) {\n this.gettingCurrentLocationFlag = true;\n this.dropdownOpen = false;\n this._googlePlacesService.getGeoCurrentLocation().then((result: any) => {\n if (!result) {\n this.gettingCurrentLocationFlag = false;\n } else {\n this.getCurrentLocationInfo(result);\n }\n });\n }\n }\n\n // module initialization happens. function called by ngOninit and ngOnChange\n private moduleInit(): any {\n this.settings = this.setUserSettings();\n // condition to check if Radius is set without location detail.\n if (this.settings.geoRadius) {\n if (this.settings.geoLocation.length !== 2) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Radius should be used with GeoLocation. Please use \"geoLocation\" key to set lat and lng. ';\n }\n }\n\n // condition to check if lat and lng is set and radious is not set then it will set to 20,000KM by default\n if (this.settings.geoLocation.length === 2 && !this.settings.geoRadius) {\n this.settings.geoRadius = 20000000;\n }\n if (this.settings.showRecentSearch) {\n this.getRecentLocations();\n }\n if (!this.settings.useGoogleGeoApi) {\n if (!this.settings.geoPredictionServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Prediction custom server url is not defined. Please use \"geoPredictionServerUrl\" key to set. ';\n }\n if (!this.settings.geoLatLangServiceUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Latitude and longitude custom server url is not defined. Please use \"geoLatLangServiceUrl\" key to set. ';\n }\n if (!this.settings.geoLocDetailServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Location detail custom server url is not defined. Please use \"geoLocDetailServerUrl\" key to set. ';\n }\n }\n this.locationInput = this.term;\n }\n\n // function to process the search query when pressed enter.\n private processSearchQuery(): any {\n if (this.matches.length) {\n if (this.selectedDataIndex > -1) {\n this.selectedListNode(null, this.selectedDataIndex);\n } else {\n this.selectedListNode(null, 0);\n }\n }\n }\n\n // function to set user settings if it is available.\n private setUserSettings(): Settings {\n const _tempObj: any = {};\n if (this.userSettings && typeof this.userSettings === 'object') {\n const keys: string[] = Object.keys(this.defaultSettings);\n for (const value of keys) {\n _tempObj[value] = this.userSettings[value] !== undefined ? this.userSettings[value] : this.defaultSettings[value];\n }\n return _tempObj;\n } else {\n return this.defaultSettings;\n }\n }\n\n // function to get the autocomplete list based on user input.\n private getListQuery(value: string): any {\n this.recentDropdownOpen = false;\n if (this.settings.useGoogleGeoApi) {\n const _tempParams: any = {\n query: value,\n countryRestriction: this.settings.geoCountryRestriction,\n geoTypes: this.settings.geoTypes,\n };\n if (this.settings.geoLocation.length === 2) {\n _tempParams.geoLocation = this.settings.geoLocation;\n _tempParams.radius = this.settings.geoRadius;\n }\n this._googlePlacesService.getGeoPrediction(_tempParams).then((result) => {\n this.updateListItem(result);\n });\n } else {\n this._googlePlacesService.getPredictions(this.settings.geoPredictionServerUrl, value).then((result) => {\n result = this.extractServerList(this.settings.serverResponseListHierarchy, result);\n this.updateListItem(result);\n });\n }\n }\n\n // function to extratc custom data which is send by the server.\n private extractServerList(arrayList: any, data: any): any {\n if (arrayList.length) {\n let _tempData: any = data;\n for (const key of arrayList) {\n _tempData = _tempData[key];\n }\n return _tempData;\n } else {\n return data;\n }\n }\n\n // function to update the predicted list.\n private updateListItem(listData: any): any {\n this.matches = listData ? listData : [];\n this.dropdownOpen = true;\n this.cdr.detectChanges();\n }\n\n // function to show the recent search result.\n private showRecentSearch(): any {\n this.recentDropdownOpen = true;\n this.dropdownOpen = true;\n this._googlePlacesService.getRecentList(this.settings.recentStorageName).then((result: any) => {\n if (result) {\n this.matches = result;\n } else {\n this.matches = [];\n }\n });\n }\n\n // function to execute to get location detail based on latitude and longitude.\n private getCurrentLocationInfo(latlng: any): any {\n if (this.settings.useGoogleGeoApi) {\n this._googlePlacesService.getGeoLatLngDetail(latlng).then((result: any) => {\n if (result) {\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n } else {\n this._googlePlacesService.getLatLngDetail(this.settings.geoLatLangServiceUrl, latlng.lat, latlng.lng).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseatLangHierarchy, result);\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n }\n }\n\n // function to retrieve the location info based on google place id.\n private getPlaceLocationInfo(selectedData: any): any {\n if (this.settings.useGoogleGeoApi) {\n this._googlePlacesService.getGeoPlaceDetail(selectedData.place_id).then((data: any) => {\n if (data) {\n this.setRecentLocation(data);\n }\n });\n } else {\n this._googlePlacesService.getPlaceDetails(this.settings.geoLocDetailServerUrl, selectedData.place_id).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseDetailHierarchy, result);\n this.setRecentLocation(result);\n }\n });\n }\n }\n\n // function to store the selected user search in the localstorage.\n private setRecentLocation(data: any): any {\n data = JSON.parse(JSON.stringify(data));\n data.description = data.description ? data.description : data.formatted_address;\n data.active = false;\n this.selectedDataIndex = -1;\n this.locationInput = data.description;\n if (this.settings.showRecentSearch) {\n this._googlePlacesService.addRecentList(this.settings.recentStorageName, data, this.settings.noOfRecentSearchSave);\n this.getRecentLocations();\n }\n this.userSelectedOption = data;\n // below code will execute only when user press enter or select any option selection and it emit a callback to the parent component.\n if (!this.settings.resOnSearchButtonClickOnly) {\n this.select.emit(data);\n this.termChange.emit(data);\n }\n }\n\n // function to retrive the stored recent user search from the localstorage.\n private getRecentLocations(): any {\n this._googlePlacesService.getRecentList(this.settings.recentStorageName).then((data: any) => {\n this.recentSearchData = data && data.length ? data : [];\n });\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.dropdownOpen) {\n if (event.key === Key.ArrowUp) {\n this.prevActiveMatch();\n return;\n }\n if (event.key === Key.ArrowDown) {\n this.nextActiveMatch();\n return;\n }\n if (event.key === Key.Enter) {\n this.selectMatch(this.activeMatch);\n return;\n }\n }\n }\n\n search(term, mode?): Observable<any> {\n // Disable the base search term functionality here since it is handled by the places picker separately\n return new Observable();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { PlacesListComponent } from './places.component';\nimport { GooglePlacesService } from './places.service';\n\n@NgModule({ declarations: [PlacesListComponent],\n exports: [PlacesListComponent], imports: [CommonModule, FormsModule, NovoListModule], providers: [GooglePlacesService, provideHttpClient(withInterceptorsFromDi())] })\nexport class GooglePlacesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.GooglePlacesService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-elements-places.mjs","sources":["../../../projects/novo-elements/src/elements/places/places.service.ts","../../../projects/novo-elements/src/elements/places/places.component.ts","../../../projects/novo-elements/src/elements/places/places.module.ts","../../../projects/novo-elements/src/elements/places/places.tokens.ts","../../../projects/novo-elements/src/elements/places/novo-elements-elements-places.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { GlobalRef, LocalStorageService } from 'novo-elements/services';\n\n@Injectable()\nexport class GooglePlacesService {\n constructor(\n private _http: HttpClient,\n @Inject(PLATFORM_ID) private platformId: Object,\n private _global: GlobalRef,\n private _localStorageService: LocalStorageService,\n ) {}\n\n getPredictions(url: string, query: string): Promise<any> {\n return new Promise((resolve) => {\n const separator = url.includes('?') ? '&' : '?';\n this._http.get(url + separator + 'query=' + query).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getLatLngDetail(url: string, lat: number, lng: number): Promise<any> {\n return new Promise((resolve) => {\n const separator = url.includes('?') ? '&' : '?';\n this._http.get(url + separator + 'lat=' + lat + '&lng=' + lng).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getPlaceDetails(url: string, placeId: string): Promise<any> {\n return new Promise((resolve) => {\n const separator = url.includes('?') ? '&' : '?';\n this._http.get(url + separator + 'query=' + placeId).subscribe((data: any) => {\n if (data) {\n resolve(data);\n } else {\n resolve(false);\n }\n });\n });\n }\n\n getGeoCurrentLocation(): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n if (_window.navigator.geolocation) {\n _window.navigator.geolocation.getCurrentPosition((pos) => {\n const latlng: any = { lat: parseFloat(pos.coords.latitude + ''), lng: parseFloat(pos.coords.longitude + '') };\n resolve(latlng);\n });\n } else {\n resolve(false);\n }\n } else {\n resolve(false);\n }\n });\n }\n\n getGeoLatLngDetail(latlng: any): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const geocoder: any = new _window.google.maps.Geocoder();\n geocoder.geocode({ location: latlng }, (results, status) => {\n if (status === 'OK') {\n this.getGeoPlaceDetail(results[0].place_id).then((result) => {\n if (result) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n getGeoPrediction(params: any): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.AutocompleteService();\n let queryInput: any = {};\n const promiseArr: any = [];\n if (params.countryRestriction.length) {\n queryInput = {\n input: params.query,\n componentRestrictions: { country: params.countryRestriction },\n };\n } else {\n queryInput = {\n input: params.query,\n };\n }\n if (params.geoLocation) {\n queryInput.location = new _window.google.maps.LatLng(parseFloat(params.geoLocation[0]), parseFloat(params.geoLocation[1]));\n queryInput.radius = params.radius;\n }\n if (params.geoTypes.length) {\n for (let i: number = 0; i < params.geoTypes.length; i++) {\n const _tempQuery: any = queryInput;\n _tempQuery.types = new Array(params.geoTypes[i]);\n promiseArr.push(this.geoPredictionCall(placesService, _tempQuery));\n }\n } else {\n promiseArr.push(this.geoPredictionCall(placesService, queryInput));\n }\n\n Promise.all(promiseArr).then((values) => {\n const val: any = values;\n if (val.length > 1) {\n let _tempArr: any = [];\n for (let j: number = 0; j < val.length; j++) {\n if (val[j] && val[j].length) {\n _tempArr = _tempArr.concat(val[j]);\n }\n }\n _tempArr = this.getUniqueResults(_tempArr);\n resolve(_tempArr);\n } else {\n resolve(values[0]);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n async getGeoPlaceDetail(placeId: string): Promise<any> {\n const placeDetail: any = await new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.PlacesService(document.createElement('div'));\n placesService.getDetails({ placeId }, (result: any) => {\n if (result === null || result.length === 0) {\n this.getGeoPaceDetailByReferance(result.referance).then((referanceData: any) => {\n if (!referanceData) {\n resolve(false);\n } else {\n resolve(referanceData);\n }\n });\n } else {\n resolve(result);\n }\n });\n } else {\n resolve(false);\n }\n });\n\n if (placeDetail?.types?.includes('locality')) {\n placeDetail.postal_codes = await this.getPostalCodes(placeDetail);\n }\n\n return placeDetail;\n }\n\n getGeoPaceDetailByReferance(referance: string): Promise<any> {\n return new Promise((resolve) => {\n if (isPlatformBrowser(this.platformId)) {\n const _window: any = this._global.nativeGlobal;\n const placesService: any = new _window.google.maps.places.PlacesService();\n placesService.getDetails({ reference: referance }, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n } else {\n resolve(false);\n }\n });\n }\n\n addRecentList(localStorageName: string, result: any, itemSavedLength: number): any {\n this.getRecentList(localStorageName).then((data: any) => {\n if (data) {\n for (let i: number = 0; i < data.length; i++) {\n if (data[i].description === result.description) {\n data.splice(i, 1);\n break;\n }\n }\n data.unshift(result);\n if (data.length > itemSavedLength) {\n data.pop();\n }\n this._localStorageService.setItem(localStorageName, JSON.stringify(data));\n }\n });\n }\n\n getRecentList(localStorageName: string): Promise<any> {\n return new Promise((resolve) => {\n let value: any = this._localStorageService.getItem(localStorageName);\n if (value) {\n value = JSON.parse(value);\n } else {\n value = [];\n }\n resolve(value);\n });\n }\n\n getPostalCodes(placeDetail: any): Promise<string> {\n const _window: any = this._global.nativeGlobal;\n const geocoder: any = new _window.google.maps.Geocoder();\n return new Promise((resolve) => {\n geocoder.geocode({ location: placeDetail.geometry.location }, (results, status) => {\n if (status === 'OK' && results.length) {\n resolve(\n results.reduce(\n (postalCodes: string[], result: any) => {\n const postalCodeComponent = result.address_components.find(item => item.types.includes('postal_code'));\n if (postalCodeComponent && !postalCodes.includes(postalCodeComponent.long_name)) {\n postalCodes.push(postalCodeComponent.long_name);\n }\n return postalCodes;\n },\n [],\n ),\n );\n } else {\n resolve(null);\n }\n });\n });\n }\n\n private getUniqueResults(arr: any): any {\n return Array.from(arr.reduce((m, t) => m.set(t.place_id, t), new Map()).values());\n }\n\n private geoPredictionCall(placesService: any, queryInput: any): Promise<any> {\n const _window: any = this._global.nativeGlobal;\n return new Promise((resolve) => {\n placesService.getPlacePredictions(queryInput, (result: any, status: any) => {\n if (status === _window.google.maps.places.PlacesServiceStatus.OK) {\n resolve(result);\n } else {\n resolve(false);\n }\n });\n });\n }\n}\n","// NG2\nimport { isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, Inject, Input, OnChanges, OnInit, Output, PLATFORM_ID } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BasePickerResults } from 'novo-elements/elements/picker';\nimport { GlobalRef } from 'novo-elements/services';\nimport { Key } from 'novo-elements/utils';\nimport { Observable } from 'rxjs';\nimport { GooglePlacesService } from './places.service';\n\nexport interface PlacesSettings {\n geoPredictionServerUrl?: string;\n geoLatLangServiceUrl?: string;\n geoLocDetailServerUrl?: string;\n geoCountryRestriction?: any;\n geoTypes?: any;\n geoLocation?: any;\n geoRadius?: number;\n serverResponseListHierarchy?: any;\n serverResponseatLangHierarchy?: any;\n serverResponseDetailHierarchy?: any;\n resOnSearchButtonClickOnly?: boolean;\n useGoogleGeoApi?: boolean;\n inputPlaceholderText?: string;\n inputString?: string;\n showSearchButton?: boolean;\n showRecentSearch?: boolean;\n showCurrentLocation?: boolean;\n recentStorageName?: string;\n noOfRecentSearchSave?: number;\n currentLocIconUrl?: string;\n searchIconUrl?: string;\n locationIconUrl?: string;\n}\n\n/** Normalized address prediction; raw provider records are mapped into this via normalizePrediction. */\nexport interface AddressLookupPrediction {\n placeId?: string;\n primaryText?: string;\n secondaryText?: string;\n displayAddress?: string;\n types?: string[];\n /** Original provider record, retained so recent-search selection re-emits full detail. */\n raw?: any;\n}\n\n// Value accessor for the component (supports ngModel)\nconst PLACES_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PlacesListComponent),\n multi: true,\n};\n\n@Component({\n selector: 'google-places-list',\n providers: [PLACES_VALUE_ACCESSOR],\n template: `\n <novo-list direction=\"vertical\">\n <novo-list-item *ngFor=\"let data of matches; let $index = index\" (click)=\"selectedListNode($event, $index)\" [ngClass]=\"{ active: data === activeMatch }\">\n <item-header>\n <item-avatar icon=\"location\"></item-avatar>\n <item-title>{{ data.primaryText }}</item-title>\n </item-header>\n <item-content>{{ data.secondaryText }}</item-content>\n </novo-list-item>\n </novo-list>\n `,\n styleUrls: ['./places.component.scss'],\n standalone: false,\n})\nexport class PlacesListComponent extends BasePickerResults implements OnInit, OnChanges, ControlValueAccessor {\n @Input()\n userSettings: PlacesSettings;\n @Output()\n termChange: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n select: EventEmitter<any> = new EventEmitter<any>();\n @Output()\n matchesUpdated: EventEmitter<AddressLookupPrediction[]> = new EventEmitter<AddressLookupPrediction[]>();\n\n public locationInput: string = '';\n public gettingCurrentLocationFlag: boolean = false;\n public dropdownOpen: boolean = false;\n public recentDropdownOpen: boolean = false;\n public isSettingsError: boolean = false;\n public settingsErrorMsg: string = '';\n public settings: PlacesSettings = {};\n private moduleinit: boolean = false;\n private selectedDataIndex: number = -1;\n private recentSearchData: any = [];\n private userSelectedOption: any = '';\n private defaultSettings: PlacesSettings = {\n geoPredictionServerUrl: '',\n geoLatLangServiceUrl: '',\n geoLocDetailServerUrl: '',\n geoCountryRestriction: [],\n geoTypes: [],\n geoLocation: [],\n geoRadius: 0,\n serverResponseListHierarchy: [],\n serverResponseatLangHierarchy: [],\n serverResponseDetailHierarchy: [],\n resOnSearchButtonClickOnly: false,\n useGoogleGeoApi: true,\n inputPlaceholderText: 'Enter Area Name',\n inputString: '',\n showSearchButton: true,\n showRecentSearch: true,\n showCurrentLocation: true,\n recentStorageName: 'recentSearches',\n noOfRecentSearchSave: 5,\n currentLocIconUrl: '',\n searchIconUrl: '',\n locationIconUrl: '',\n };\n\n model: any;\n onModelChange: Function = () => {};\n onModelTouched: Function = () => {};\n\n constructor(\n @Inject(PLATFORM_ID) private platformId: Object,\n private _elmRef: ElementRef,\n private _global: GlobalRef,\n private _googlePlacesService: GooglePlacesService,\n private cdr: ChangeDetectorRef,\n ) {\n super(_elmRef, cdr);\n this.config = {};\n }\n\n ngOnInit(): any {\n if (!this.moduleinit) {\n this.moduleInit();\n }\n }\n\n ngOnChanges(): any {\n this.moduleinit = true;\n this.moduleInit();\n this.searchinputCallback(null);\n }\n\n writeValue(model: any): void {\n this.model = model;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n // function called when click event happens in input box. (Binded with view)\n searchinputClickCallback(event: any): any {\n event.target.select();\n this.searchinputCallback(event);\n }\n\n // function called when there is a change in input. (Binded with view)\n searchinputCallback(event: any): any {\n const inputVal: any = this.locationInput;\n if (inputVal) {\n this.getListQuery(inputVal);\n } else {\n this.matches = [];\n if (this.userSelectedOption) {\n this.userQuerySubmit('false');\n }\n this.userSelectedOption = '';\n if (this.settings.showRecentSearch) {\n this.showRecentSearch();\n } else {\n this.dropdownOpen = false;\n }\n }\n }\n\n // function to execute when user hover over autocomplete list. (binded with view)\n activeListNode(index: number): any {\n for (let i: number = 0; i < this.matches.length; i++) {\n if (index === i) {\n this.matches[i].active = true;\n this.selectedDataIndex = index;\n } else {\n this.matches[i].active = false;\n }\n }\n }\n\n // function to execute when user selects a match from the autocomplete list. (binded with view)\n selectedListNode(event: MouseEvent, index: number): any {\n this.selectMatch(this.matches[index]);\n }\n\n // function to execute when user selects a match.\n selectMatch(match: AddressLookupPrediction): any {\n this.dropdownOpen = false;\n if (this.recentDropdownOpen) {\n // Recent items carry full detail on `raw`, which downstream consumers need.\n this.setRecentLocation(match.raw ?? match);\n } else {\n this.getPlaceLocationInfo(match);\n }\n }\n\n // function to close the autocomplete list when clicked outside. (binded with view)\n closeAutocomplete(event: any): any {\n if (!this._elmRef.nativeElement.contains(event.target)) {\n this.selectedDataIndex = -1;\n this.dropdownOpen = false;\n }\n }\n\n // function to manually trigger the callback to parent component when clicked search button.\n userQuerySubmit(selectedOption?: any): any {\n const _userOption: any = selectedOption === 'false' ? '' : this.userSelectedOption;\n if (_userOption) {\n this.select.emit(this.userSelectedOption);\n } else {\n // this.select.emit(false);\n }\n }\n\n // function to get user current location from the device.\n currentLocationSelected(): any {\n if (isPlatformBrowser(this.platformId)) {\n this.gettingCurrentLocationFlag = true;\n this.dropdownOpen = false;\n this._googlePlacesService.getGeoCurrentLocation().then((result: any) => {\n if (!result) {\n this.gettingCurrentLocationFlag = false;\n } else {\n this.getCurrentLocationInfo(result);\n }\n });\n }\n }\n\n // module initialization happens. function called by ngOninit and ngOnChange\n private moduleInit(): any {\n this.settings = this.setUserSettings();\n // condition to check if Radius is set without location detail.\n if (this.settings.geoRadius) {\n if (this.settings.geoLocation.length !== 2) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Radius should be used with GeoLocation. Please use \"geoLocation\" key to set lat and lng. ';\n }\n }\n\n // condition to check if lat and lng is set and radious is not set then it will set to 20,000KM by default\n if (this.settings.geoLocation.length === 2 && !this.settings.geoRadius) {\n this.settings.geoRadius = 20000000;\n }\n if (this.settings.showRecentSearch) {\n this.getRecentLocations();\n }\n if (!this.settings.useGoogleGeoApi) {\n if (!this.settings.geoPredictionServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Prediction custom server url is not defined. Please use \"geoPredictionServerUrl\" key to set. ';\n }\n if (!this.settings.geoLatLangServiceUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Latitude and longitude custom server url is not defined. Please use \"geoLatLangServiceUrl\" key to set. ';\n }\n if (!this.settings.geoLocDetailServerUrl) {\n this.isSettingsError = true;\n this.settingsErrorMsg =\n this.settingsErrorMsg + 'Location detail custom server url is not defined. Please use \"geoLocDetailServerUrl\" key to set. ';\n }\n }\n this.locationInput = this.term;\n }\n\n // function to process the search query when pressed enter.\n private processSearchQuery(): any {\n if (this.matches.length) {\n if (this.selectedDataIndex > -1) {\n this.selectedListNode(null, this.selectedDataIndex);\n } else {\n this.selectedListNode(null, 0);\n }\n }\n }\n\n // function to set user settings if it is available.\n private setUserSettings(): PlacesSettings {\n const _tempObj: any = {};\n if (this.userSettings && typeof this.userSettings === 'object') {\n const keys: string[] = Object.keys(this.defaultSettings);\n for (const value of keys) {\n _tempObj[value] = this.userSettings[value] !== undefined ? this.userSettings[value] : this.defaultSettings[value];\n }\n return _tempObj;\n } else {\n return this.defaultSettings;\n }\n }\n\n // function to get the autocomplete list based on user input.\n private getListQuery(value: string): any {\n this.recentDropdownOpen = false;\n if (this.settings.useGoogleGeoApi) {\n const _tempParams: any = {\n query: value,\n countryRestriction: this.settings.geoCountryRestriction,\n geoTypes: this.settings.geoTypes,\n };\n if (this.settings.geoLocation.length === 2) {\n _tempParams.geoLocation = this.settings.geoLocation;\n _tempParams.radius = this.settings.geoRadius;\n }\n this._googlePlacesService.getGeoPrediction(_tempParams).then((result) => {\n this.updateListItem(result);\n });\n } else {\n this._googlePlacesService.getPredictions(this.settings.geoPredictionServerUrl, value).then((result) => {\n result = this.extractServerList(this.settings.serverResponseListHierarchy, result);\n this.updateListItem(result);\n });\n }\n }\n\n // function to extratc custom data which is send by the server.\n private extractServerList(arrayList: any, data: any): any {\n if (arrayList.length) {\n let _tempData: any = data;\n for (const key of arrayList) {\n _tempData = _tempData[key];\n }\n return _tempData;\n } else {\n return data;\n }\n }\n\n // function to update the predicted list.\n private updateListItem(listData: any): any {\n this.matches = (listData || []).map((item: any) => this.normalizePrediction(item));\n // Reset highlight so Enter can't act on a stale prediction.\n this.activeMatch = undefined;\n this.dropdownOpen = true;\n this.cdr.detectChanges();\n this.matchesUpdated.emit(this.matches);\n }\n\n // function to show the recent search result.\n private showRecentSearch(): any {\n this.recentDropdownOpen = true;\n this.dropdownOpen = true;\n this._googlePlacesService.getRecentList(this.settings.recentStorageName).then((result: any) => {\n this.matches = (result || []).map((item: any) => this.normalizePrediction(item));\n });\n }\n\n // function to execute to get location detail based on latitude and longitude.\n private getCurrentLocationInfo(latlng: any): any {\n if (this.settings.useGoogleGeoApi) {\n this._googlePlacesService.getGeoLatLngDetail(latlng).then((result: any) => {\n if (result) {\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n } else {\n this._googlePlacesService.getLatLngDetail(this.settings.geoLatLangServiceUrl, latlng.lat, latlng.lng).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseatLangHierarchy, result);\n this.setRecentLocation(result);\n }\n this.gettingCurrentLocationFlag = false;\n });\n }\n }\n\n // function to retrieve the location info based on google place id.\n private getPlaceLocationInfo(selectedData: AddressLookupPrediction): any {\n const placeId = selectedData.placeId;\n if (this.settings.useGoogleGeoApi) {\n this._googlePlacesService.getGeoPlaceDetail(placeId).then((data: any) => {\n if (data) {\n this.setRecentLocation(data);\n }\n });\n } else {\n this._googlePlacesService.getPlaceDetails(this.settings.geoLocDetailServerUrl, placeId).then((result: any) => {\n if (result) {\n result = this.extractServerList(this.settings.serverResponseDetailHierarchy, result);\n this.setRecentLocation(result);\n }\n });\n }\n }\n\n // function to store the selected user search in the localstorage.\n private setRecentLocation(data: any): any {\n data = JSON.parse(JSON.stringify(data));\n data.description = data.description ? data.description : (data.formattedAddress || data.formatted_address);\n data.active = false;\n this.selectedDataIndex = -1;\n this.locationInput = data.description;\n if (this.settings.showRecentSearch) {\n this._googlePlacesService.addRecentList(this.settings.recentStorageName, data, this.settings.noOfRecentSearchSave);\n this.getRecentLocations();\n }\n this.userSelectedOption = data;\n // below code will execute only when user press enter or select any option selection and it emit a callback to the parent component.\n if (!this.settings.resOnSearchButtonClickOnly) {\n this.select.emit(data);\n this.termChange.emit(data);\n }\n }\n\n // function to retrive the stored recent user search from the localstorage.\n private getRecentLocations(): any {\n this._googlePlacesService.getRecentList(this.settings.recentStorageName).then((data: any) => {\n this.recentSearchData = data && data.length ? data : [];\n });\n }\n\n // Fold a raw Google/REST/recent record into the internal AddressLookupPrediction shape.\n normalizePrediction(raw: any): AddressLookupPrediction {\n return {\n placeId: raw?.placeId || raw?.place_id,\n primaryText: raw?.primaryText || raw?.structured_formatting?.main_text || raw?.displayAddress || raw?.description || '',\n secondaryText: raw?.secondaryText || raw?.structured_formatting?.secondary_text || '',\n displayAddress: raw?.displayAddress || raw?.description,\n types: raw?.types,\n raw,\n };\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.dropdownOpen) {\n if (event.key === Key.ArrowUp) {\n this.prevActiveMatch();\n return;\n }\n if (event.key === Key.ArrowDown) {\n this.nextActiveMatch();\n return;\n }\n if (event.key === Key.Enter) {\n // Only select when a prediction is highlighted.\n if (this.activeMatch) {\n this.selectMatch(this.activeMatch);\n }\n return;\n }\n }\n }\n\n search(term, mode?): Observable<any> {\n // Disable the base search term functionality here since it is handled by the places picker separately\n return new Observable();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { PlacesListComponent } from './places.component';\nimport { GooglePlacesService } from './places.service';\n\n@NgModule({ declarations: [PlacesListComponent],\n exports: [PlacesListComponent], imports: [CommonModule, FormsModule, NovoListModule], providers: [GooglePlacesService, provideHttpClient(withInterceptorsFromDi())] })\nexport class GooglePlacesModule {}\n","import { InjectionToken } from '@angular/core';\nimport type { PlacesSettings } from './places.component';\n\n/** App-wide address-lookup config; when provided, every novo-address enables autocomplete on Address 1. */\nexport const NOVO_ADDRESS_CONFIG = new InjectionToken<PlacesSettings>('NOVO_ADDRESS_CONFIG');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.GooglePlacesService"],"mappings":"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"}
|
|
@@ -539,7 +539,7 @@ class NovoDefaultAddressConditionDef extends AbstractConditionFieldDef {
|
|
|
539
539
|
</novo-flex>
|
|
540
540
|
</ng-container>
|
|
541
541
|
</ng-container>
|
|
542
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PlacesListComponent, selector: "google-places-list", inputs: ["userSettings"], outputs: ["termChange", "select"] }, { kind: "component", type: i5.NovoText, selector: "novo-text,[novo-text]", inputs: ["block"] }, { kind: "directive", type: i5.MarginDirective, selector: "[m],[margin],[marginTop],[marginRight],[marginBottom],[marginLeft],[marginX],[marginY],[mt],[mr],[mb],[ml],[mx],[my]", inputs: ["margin", "m", "marginLeft", "ml", "marginRight", "mr", "marginTop", "mt", "marginBottom", "mb", "marginX", "mx", "marginY", "my"] }, { kind: "directive", type: i5.PaddingDirective, selector: "[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]", inputs: ["padding", "p", "paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "paddingX", "px", "paddingY", "py"] }, { kind: "component", type: i5$1.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayIcon", "displayWith", "compareWith", "hideLegacyOptions", "value", "multiple", "options"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { kind: "component", type: i6.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "customOverlayOrigin", "width"], outputs: ["valueChanges", "stateChanges"] }, { kind: "directive", type: i6.NovoInput, selector: "input[novoInput], textarea[novoInput], select[novoInput]", inputs: ["disabled", "id", "placeholder", "required", "type", "value", "readonly"], outputs: ["onSelect"] }, { kind: "directive", type: i6.NovoFieldSuffixDirective, selector: "[novoSuffix]" }, { kind: "component", type: i6.NovoPickerToggleElement, selector: "novo-picker-toggle", inputs: ["for", "icon", "tabIndex", "aria-label", "triggerOnFocus", "overlayId", "width", "disabled"], exportAs: ["novoPickerToggle"] }, { kind: "directive", type: i6.NovoPickerDirective, selector: "input[picker]", inputs: ["picker", "autocomplete"] }, { kind: "component", type: i5.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i8.NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { kind: "component", type: i9.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i10.NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { kind: "directive", type: i10.NovoChipRemove, selector: "[novoChipRemove]" }, { kind: "directive", type: i10.NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }, { kind: "component", type: i10.NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "chipsToggleable", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { kind: "directive", type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { kind: "directive", type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
542
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PlacesListComponent, selector: "google-places-list", inputs: ["userSettings"], outputs: ["termChange", "select", "matchesUpdated"] }, { kind: "component", type: i5.NovoText, selector: "novo-text,[novo-text]", inputs: ["block"] }, { kind: "directive", type: i5.MarginDirective, selector: "[m],[margin],[marginTop],[marginRight],[marginBottom],[marginLeft],[marginX],[marginY],[mt],[mr],[mb],[ml],[mx],[my]", inputs: ["margin", "m", "marginLeft", "ml", "marginRight", "mr", "marginTop", "mt", "marginBottom", "mb", "marginX", "mx", "marginY", "my"] }, { kind: "directive", type: i5.PaddingDirective, selector: "[p],[padding],[paddingTop],[paddingRight],[paddingBottom],[paddingLeft],[paddingX],[paddingY],[pt],[pr],[pb],[pl],[px],[py]", inputs: ["padding", "p", "paddingLeft", "pl", "paddingRight", "pr", "paddingTop", "pt", "paddingBottom", "pb", "paddingX", "px", "paddingY", "py"] }, { kind: "component", type: i5$1.NovoSelectElement, selector: "novo-select", inputs: ["disabled", "required", "tabIndex", "id", "name", "placeholder", "readonly", "headerConfig", "position", "overlayWidth", "overlayHeight", "displayIcon", "displayWith", "compareWith", "hideLegacyOptions", "value", "multiple", "options"], outputs: ["onSelect", "selectionChange", "valueChange", "openedChange", "opened", "closed"] }, { kind: "component", type: i6.NovoFieldElement, selector: "novo-field", inputs: ["layout", "appearance", "customOverlayOrigin", "width"], outputs: ["valueChanges", "stateChanges"] }, { kind: "directive", type: i6.NovoInput, selector: "input[novoInput], textarea[novoInput], select[novoInput]", inputs: ["disabled", "id", "placeholder", "required", "type", "value", "readonly"], outputs: ["onSelect"] }, { kind: "directive", type: i6.NovoFieldSuffixDirective, selector: "[novoSuffix]" }, { kind: "component", type: i6.NovoPickerToggleElement, selector: "novo-picker-toggle", inputs: ["for", "icon", "tabIndex", "aria-label", "triggerOnFocus", "overlayId", "width", "disabled"], exportAs: ["novoPickerToggle"] }, { kind: "directive", type: i6.NovoPickerDirective, selector: "input[picker]", inputs: ["picker", "autocomplete"] }, { kind: "component", type: i5.NovoOption, selector: "novo-option", inputs: ["selected", "keepOpen", "novoInert", "value", "disabled"], exportAs: ["novoOption"] }, { kind: "component", type: i8.NovoFlexElement, selector: "novo-flex,novo-row", inputs: ["direction", "align", "justify", "wrap", "gap"] }, { kind: "component", type: i9.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { kind: "component", type: i10.NovoChipElement, selector: "novo-chip, [novo-chip]", inputs: ["color", "tabIndex", "size", "type", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"] }, { kind: "directive", type: i10.NovoChipRemove, selector: "[novoChipRemove]" }, { kind: "directive", type: i10.NovoChipInput, selector: "input[novoChipInput]", inputs: ["novoChipInputAddOnBlur", "novoChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["novoChipInputTokenEnd"], exportAs: ["novoChipInput", "novoChipInputFor"] }, { kind: "component", type: i10.NovoChipList, selector: "novo-chip-list", inputs: ["errorStateMatcher", "multiple", "chipsToggleable", "stacked", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["novoChipList"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML", "tooltipCloseOnClick", "tooltipOnOverflow", "tooltipActive"] }, { kind: "directive", type: NovoConditionOperatorsDef, selector: "[novoConditionOperatorsDef]" }, { kind: "directive", type: NovoConditionInputDef, selector: "[novoConditionInputDef]" }, { kind: "directive", type: NovoConditionFieldDef, selector: "[novoConditionFieldDef]" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
543
543
|
}
|
|
544
544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoDefaultAddressConditionDef, decorators: [{
|
|
545
545
|
type: Component,
|