aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/autocomplete
diff options
context:
space:
mode:
authorIsrael Lavi <il0695@att.com>2018-08-07 10:54:17 +0300
committerIsrael Lavi <il0695@att.com>2018-08-07 11:06:44 +0300
commitb2a3acea0d0f66028c9ce5fad02d4ecc64abf70c (patch)
tree8d70110f34cb845965c42a5915e950bca967d2c3 /src/angular/autocomplete
parent05b37297177e8a342668c15e5d6f738b51f7aedd (diff)
Initial commit.
Adding files needed for Linux Foundation. Change-Id: I9f2b4851a5ae01f83800c7f8bab8608a2221c730 Issue-ID: SDC-1608 Signed-off-by: Israel Lavi <il0695@att.com>
Diffstat (limited to 'src/angular/autocomplete')
-rw-r--r--src/angular/autocomplete/autocomplete.component.html.ts2
-rw-r--r--src/angular/autocomplete/autocomplete.component.ts39
-rw-r--r--src/angular/autocomplete/autocomplete.module.ts17
3 files changed, 30 insertions, 28 deletions
diff --git a/src/angular/autocomplete/autocomplete.component.html.ts b/src/angular/autocomplete/autocomplete.component.html.ts
index 5df7352..8e57f9e 100644
--- a/src/angular/autocomplete/autocomplete.component.html.ts
+++ b/src/angular/autocomplete/autocomplete.component.html.ts
@@ -1,4 +1,4 @@
-export default `
+export const template = `
<div class="sdc-autocomplete-container" [ngClass]="{'results-shown': autoCompleteResults.length}">
<sdc-filter-bar
[placeholder]="placeholder"
diff --git a/src/angular/autocomplete/autocomplete.component.ts b/src/angular/autocomplete/autocomplete.component.ts
index 5570eff..45718b2 100644
--- a/src/angular/autocomplete/autocomplete.component.ts
+++ b/src/angular/autocomplete/autocomplete.component.ts
@@ -1,15 +1,10 @@
-import { OnInit, animate, Component, EventEmitter, Input, Output, state, style, transition, trigger } from '@angular/core';
-import { FilterBarComponent } from "../filterbar/filter-bar.component";
-import { URLSearchParams, Http } from "@angular/http";
+import { OnInit, Component, EventEmitter, Input, Output } from '@angular/core';
+import { animate, state, style, transition, trigger } from '@angular/animations';
import { AutocompletePipe } from "./autocomplete.pipe";
-import template from "./autocomplete.component.html";
+import { template } from "./autocomplete.component.html";
+import { HttpClient, HttpParams } from '@angular/common/http';
import 'rxjs/add/operator/map';
-export interface IDataSchema {
- key: string;
- value: string;
-}
-
@Component({
selector: 'sdc-autocomplete',
template: template,
@@ -25,10 +20,9 @@ export interface IDataSchema {
})),
transition('* => *', animate('200ms'))
]),
- ],
- providers: [AutocompletePipe]
+ ]
})
-export class SearchWithAutoCompleteComponent implements OnInit {
+export class AutoCompleteComponent implements OnInit {
@Input() public data: any[] = [];
@Input() public dataSchema: IDataSchema;
@Input() public dataUrl: string;
@@ -36,12 +30,12 @@ export class SearchWithAutoCompleteComponent implements OnInit {
@Input() public placeholder: string;
@Output() public itemSelected: EventEmitter<any> = new EventEmitter<any>();
- private searchQuery: string;
+ public searchQuery: string;
private complexData: any[] = [];
- private autoCompleteResults: any[] = [];
+ public autoCompleteResults: any[] = [];
private isItemSelected: boolean = false;
- public constructor(private http: Http, private autocompletePipe: AutocompletePipe) {
+ public constructor(private http: HttpClient, private autocompletePipe: AutocompletePipe) {
}
public ngOnInit(): void {
@@ -82,18 +76,18 @@ export class SearchWithAutoCompleteComponent implements OnInit {
this.itemSelected.emit(selectedItem.key);
}
- private onSearchQueryChanged = (searchText: string): void => {
+ public onSearchQueryChanged = (searchText: string): void => {
if (searchText !== this.searchQuery) {
this.searchQuery = searchText;
if (!this.searchQuery) {
this.onClearSearch();
} else {
if (this.dataUrl) {
- const params: URLSearchParams = new URLSearchParams();
- params.set('searchQuery', this.searchQuery);
- this.http.get(this.dataUrl, {search: params})
+ const params = new HttpParams();
+ params.append('searchQuery', this.searchQuery);
+ this.http.get(this.dataUrl, {params})
.map((response) => {
- this.data = response.json();
+ this.data = JSON.parse(JSON.stringify(response));
this.handleLocalData();
this.autoCompleteResults = this.complexData;
}).subscribe();
@@ -112,3 +106,8 @@ export class SearchWithAutoCompleteComponent implements OnInit {
}
}
}
+
+export interface IDataSchema {
+ key: string;
+ value: string;
+}
diff --git a/src/angular/autocomplete/autocomplete.module.ts b/src/angular/autocomplete/autocomplete.module.ts
index 1bead47..f105669 100644
--- a/src/angular/autocomplete/autocomplete.module.ts
+++ b/src/angular/autocomplete/autocomplete.module.ts
@@ -1,23 +1,26 @@
import { NgModule } from "@angular/core";
-import { SearchWithAutoCompleteComponent } from "./autocomplete.component";
+import { AutoCompleteComponent } from "./autocomplete.component";
import { CommonModule } from "@angular/common";
import { FilterBarModule } from "../filterbar/filter-bar.module";
import { AutocompletePipe } from "./autocomplete.pipe";
-import { HttpModule } from '@angular/http';
+import { BrowserModule } from '@angular/platform-browser';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
declarations: [
- SearchWithAutoCompleteComponent,
+ AutoCompleteComponent,
AutocompletePipe
],
imports: [
+ BrowserModule,
+ BrowserAnimationsModule,
FilterBarModule,
- CommonModule,
- HttpModule
+ CommonModule
],
exports: [
- SearchWithAutoCompleteComponent
- ],
+ AutoCompleteComponent,
+ AutocompletePipe
+ ]
})
export class AutoCompleteModule {
}