Create blueprint search option from db 80/91680/2
authorEzhilarasi <ezhrajam@in.ibm.com>
Thu, 18 Jul 2019 14:48:10 +0000 (20:18 +0530)
committerEzhilarasi R <ezhrajam@in.ibm.com>
Fri, 19 Jul 2019 06:50:38 +0000 (06:50 +0000)
Search exisiting blueprint as model
Change-Id: I241dba4a78c145f5707943b24319eba4170bc245
Issue-ID: CCSDK-1275
Signed-off-by: Ezhilarasi <ezhrajam@in.ibm.com>
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.html [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.scss [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.spec.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.html
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.component.ts
cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.module.ts [new file with mode: 0644]
cds-ui/client/src/app/feature-modules/blueprint/select-template/select-template.module.ts

diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.html b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.html
new file mode 100644 (file)
index 0000000..11c2ff0
--- /dev/null
@@ -0,0 +1,31 @@
+<!--
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM 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.
+============LICENSE_END============================================
+-->
+<form class="search-form" [formGroup]="myControl">
+    <mat-form-field class="search-full-width">
+        <input #resourceSelect type="text" [(ngModel)]="searchText" placeholder="Search Resources" matInput [matAutocomplete]="auto" formControlName="search_input">
+        <button matSuffix mat-icon-button (click)="fetchResourceByName()"><mat-icon>search</mat-icon></button>
+        <mat-autocomplete #auto="matAutocomplete">
+            <mat-option (click)="selected(option)" *ngFor="let option of options" [value]="option.tags">
+                {{option.tags}}
+            </mat-option>
+        </mat-autocomplete>
+    </mat-form-field>
+</form>
\ No newline at end of file
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.scss b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.scss
new file mode 100644 (file)
index 0000000..93f5c9d
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM 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.
+============LICENSE_END============================================
+*/
\ No newline at end of file
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.spec.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.spec.ts
new file mode 100644 (file)
index 0000000..431eea7
--- /dev/null
@@ -0,0 +1,45 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM 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.
+============LICENSE_END============================================
+*/
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SearchFromDatabaseComponent } from './search-from-database.component';
+
+describe('SearchFromDatabaseComponent', () => {
+  let component: SearchFromDatabaseComponent;
+  let fixture: ComponentFixture<SearchFromDatabaseComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ SearchFromDatabaseComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(SearchFromDatabaseComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-from-database/search-from-database.component.ts
new file mode 100644 (file)
index 0000000..a145086
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM 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.
+============LICENSE_END============================================
+*/
+
+import { Component, OnInit, ViewChild, EventEmitter, Output  } from '@angular/core';
+import { FormBuilder, FormGroup, Validators} from '@angular/forms';
+import { SearchTemplateService } from '../search-template.service';
+import { MatAutocompleteTrigger } from '@angular/material';
+import { SearchPipe } from 'src/app/common/shared/pipes/search.pipe';
+@Component({
+  selector: 'app-search-from-database',
+  templateUrl: './search-from-database.component.html',
+  styleUrls: ['./search-from-database.component.scss']
+})
+export class SearchFromDatabaseComponent implements OnInit {
+
+  myControl: FormGroup;
+  @Output() resourcesData = new EventEmitter();  
+  options: any[]   = [];
+  @ViewChild('resourceSelect', { read: MatAutocompleteTrigger }) resourceSelect: MatAutocompleteTrigger;
+
+  searchText: string = '';
+  constructor(private _formBuilder: FormBuilder,
+              private existingModelService: SearchTemplateService)  { }
+  
+ ngOnInit() {
+    this.myControl = this._formBuilder.group({
+      search_input: ['', Validators.required]
+    });
+  }
+ selected(value){
+   this.resourcesData.emit(value);
+   }
+
+   fetchResourceByName() {
+      this.existingModelService.searchByTags("/searchByTags/",this.searchText)
+      .subscribe(data=>{
+          console.log(data);
+          data.forEach(element => {
+            this.options.push(element)
+          });          
+        this.resourceSelect.openPanel();
+      }, error=>{
+        window.alert('error' + error);
+      })
+   }
+
+}
index 491c5e0..6a4a88c 100644 (file)
@@ -27,15 +27,5 @@ limitations under the License.
     </div>
 </div>
 <div *ngIf="optionSelected==2">
-    <form class="search-form" [formGroup]="myControl">
-        <mat-form-field class="search-full-width">
-            <input #resourceSelect type="text" [(ngModel)]="searchText" placeholder="Search Resources" matInput [matAutocomplete]="auto" formControlName="search_input">
-            <button matSuffix mat-icon-button (click)="fetchResourceByName()"><mat-icon>search</mat-icon></button>
-            <!-- <mat-autocomplete #auto="matAutocomplete">
-                    <mat-option (click)="selected(option)" *ngFor="let option of options | search : searchText" [value]="option.tags">
-                        {{option.tags}}
-                    </mat-option>
-                </mat-autocomplete> -->
-        </mat-form-field>
-    </form>
+    <app-search-from-database></app-search-from-database>
 </div>
\ No newline at end of file
index 64352b2..ce7d5aa 100644 (file)
@@ -34,6 +34,7 @@ import { LoaderService } from '../../../../common/core/services/loader.service';
 import { FormGroup, FormBuilder, Validators } from '@angular/forms';
 import { MatAutocompleteTrigger } from '@angular/material';
 
+
 @Component({
   selector: 'app-search-template',
   templateUrl: './search-template.component.html',
diff --git a/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.module.ts b/cds-ui/client/src/app/feature-modules/blueprint/select-template/search-template/search-template.module.ts
new file mode 100644 (file)
index 0000000..1102966
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 IBM 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.
+============LICENSE_END============================================
+*/
+
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { SearchFromDatabaseComponent } from './search-from-database/search-from-database.component';
+import { SearchTemplateComponent } from './search-template.component';
+import { ReactiveFormsModule } from '@angular/forms';
+import { AppMaterialModule } from 'src/app/common/modules/app-material.module';
+import { SharedModule} from 'src/app/common/shared/shared.module';
+@NgModule({
+  declarations: [
+    SearchTemplateComponent,
+    SearchFromDatabaseComponent],
+  imports: [
+    CommonModule,
+    ReactiveFormsModule,
+    AppMaterialModule,
+    SharedModule   
+  ],
+  exports:[
+    SearchTemplateComponent,
+    SearchFromDatabaseComponent
+    ]
+})
+export class SearchTemplateModule { }
index 16947d4..f66b78c 100644 (file)
@@ -27,13 +27,13 @@ import { MetadataComponent } from './metadata/metadata.component';
 import { SelectTemplateComponent } from './select-template.component';
 import { SelectTemplateRoutingModule } from './select-template-routing.module';
 import { AppMaterialModule } from 'src/app/common/modules/app-material.module';
+import { SearchTemplateModule} from './search-template/search-template.module';
 
 @NgModule({
   declarations: [
     TemplateOptionsComponent,
-    SearchTemplateComponent,
-    MetadataComponent,
-    SelectTemplateComponent
+     MetadataComponent,
+     SelectTemplateComponent
   ],
    exports: [
     TemplateOptionsComponent,
@@ -45,7 +45,8 @@ import { AppMaterialModule } from 'src/app/common/modules/app-material.module';
     CommonModule,
     SelectTemplateRoutingModule,
     ReactiveFormsModule,
-    AppMaterialModule
+    AppMaterialModule,
+    SearchTemplateModule
   ]
 })
 export class SelectTemplateModule { }