4a6fb20b4400973df408cc8228a4eac9f5f4577e
[portal.git] / portal-FE-os / src / app / layout / components / global-search / global-search.component.ts
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * 
37  */
38 import { Component, OnInit, Output, EventEmitter } from '@angular/core';
39 import { GlobalSearchService } from 'src/app/shared/services/global-search/global-search.service';
40 import { GlobalSearchItem } from 'src/app/shared/model/global-search-item.model';
41 import * as $ from 'jquery';
42 import { AddTabFunctionService } from 'src/app/shared/services/tab/add-tab-function.service';
43
44 @Component({
45   selector: 'app-global-search',
46   templateUrl: './global-search.component.html',
47   styleUrls: ['./global-search.component.scss']
48 })
49 export class GlobalSearchComponent implements OnInit {
50   searchResDialog: boolean = false;
51   items: any;
52   constructor(private globalSearchService: GlobalSearchService,private addTabFuntionService: AddTabFunctionService) { }
53
54   ngOnInit() {
55   }
56
57   showHideSearchSnippet() {
58     setTimeout(() => {
59       $('#mainSearchSnippet').click();
60     }, 1000);
61     setTimeout(() => {
62       $('mainSearchText').focus();
63     }, 1000);
64   }
65
66   mainSearchEvent = $('#mainSearchDiv').keyup((event) => {
67     if (event.keyCode == 13) {
68
69       this.getSearchResult(<string><any>$('#mainSearchText').val());
70
71       // opens the popup
72       var popupDomObj = $("[content='searchSnippet.html']");
73       if (popupDomObj.length == 0) {
74         this.showHideSearchSnippet();
75       } else {
76         $('#mainSearchSnippet').click();
77         this.showHideSearchSnippet();
78       }
79
80
81
82     }
83   });
84
85   clickOutSide(event: any) {
86
87     this.searchResDialog = false;
88
89   }
90   searchDialogToggle(event: any) {
91     if (event.keyCode == 13) {
92       this.searchResDialog = true;
93       this.getSearchResult(<string><any>$('#mainSearchText').val());
94     }
95   }
96
97   getSearchResult(searchString: string) {
98     //console.log("getSearch Result");
99     this.globalSearchService.getSearchResults(searchString).subscribe(data => {
100       //console.log("Response data" + data);
101       this.items = data.response;
102       //console.log("search result data" + JSON.stringify(data));
103
104     }, error => {
105       console.log('getSearchResult Error Object' + error);
106     });
107   };
108   goToUrl(item: any){
109     //console.log('check goto');
110     var a = {'test1':'value1','test2':'value3','test3':'value2'};
111     this.addTabFuntionService.filter(a);
112   }
113
114 }