Added portal-FE-os project
[portal.git] / portal-FE-os / src / app / layout / components / global-search / global-search.component.ts
diff --git a/portal-FE-os/src/app/layout/components/global-search/global-search.component.ts b/portal-FE-os/src/app/layout/components/global-search/global-search.component.ts
new file mode 100644 (file)
index 0000000..4a6fb20
--- /dev/null
@@ -0,0 +1,114 @@
+/*-
+ * ============LICENSE_START==========================================
+ * ONAP Portal
+ * ===================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * ===================================================================
+ *
+ * Unless otherwise specified, all software contained herein is licensed
+ * under the Apache License, Version 2.0 (the "License");
+ * you may not use this software except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *             http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *             https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ============LICENSE_END============================================
+ *
+ * 
+ */
+import { Component, OnInit, Output, EventEmitter } from '@angular/core';
+import { GlobalSearchService } from 'src/app/shared/services/global-search/global-search.service';
+import { GlobalSearchItem } from 'src/app/shared/model/global-search-item.model';
+import * as $ from 'jquery';
+import { AddTabFunctionService } from 'src/app/shared/services/tab/add-tab-function.service';
+
+@Component({
+  selector: 'app-global-search',
+  templateUrl: './global-search.component.html',
+  styleUrls: ['./global-search.component.scss']
+})
+export class GlobalSearchComponent implements OnInit {
+  searchResDialog: boolean = false;
+  items: any;
+  constructor(private globalSearchService: GlobalSearchService,private addTabFuntionService: AddTabFunctionService) { }
+
+  ngOnInit() {
+  }
+
+  showHideSearchSnippet() {
+    setTimeout(() => {
+      $('#mainSearchSnippet').click();
+    }, 1000);
+    setTimeout(() => {
+      $('mainSearchText').focus();
+    }, 1000);
+  }
+
+  mainSearchEvent = $('#mainSearchDiv').keyup((event) => {
+    if (event.keyCode == 13) {
+
+      this.getSearchResult(<string><any>$('#mainSearchText').val());
+
+      // opens the popup
+      var popupDomObj = $("[content='searchSnippet.html']");
+      if (popupDomObj.length == 0) {
+        this.showHideSearchSnippet();
+      } else {
+        $('#mainSearchSnippet').click();
+        this.showHideSearchSnippet();
+      }
+
+
+
+    }
+  });
+
+  clickOutSide(event: any) {
+
+    this.searchResDialog = false;
+
+  }
+  searchDialogToggle(event: any) {
+    if (event.keyCode == 13) {
+      this.searchResDialog = true;
+      this.getSearchResult(<string><any>$('#mainSearchText').val());
+    }
+  }
+
+  getSearchResult(searchString: string) {
+    //console.log("getSearch Result");
+    this.globalSearchService.getSearchResults(searchString).subscribe(data => {
+      //console.log("Response data" + data);
+      this.items = data.response;
+      //console.log("search result data" + JSON.stringify(data));
+
+    }, error => {
+      console.log('getSearchResult Error Object' + error);
+    });
+  };
+  goToUrl(item: any){
+    //console.log('check goto');
+    var a = {'test1':'value1','test2':'value3','test3':'value2'};
+    this.addTabFuntionService.filter(a);
+  }
+
+}