summaryrefslogtreecommitdiffstats
path: root/cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts
diff options
context:
space:
mode:
authorKAPIL SINGAL <ks220y@att.com>2019-11-27 20:19:49 +0000
committerGerrit Code Review <gerrit@onap.org>2019-11-27 20:19:49 +0000
commitddc61816d0a201d550e439e49b2814a785541e01 (patch)
tree37124960cf96b50c85c584c28709c16ea39f23b6 /cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts
parent55b06b518ca4c4bb671bedf0d8a1d3a4f9c65f6b (diff)
parenteea49075a4a8bb62a5a15ec31adfe52e1f1f3b7a (diff)
Merge "filter packages by tag rename filter-by-keyword to search-by-packages"
Diffstat (limited to 'cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts')
-rw-r--r--cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts100
1 files changed, 100 insertions, 0 deletions
diff --git a/cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts b/cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts
new file mode 100644
index 000000000..b4007215a
--- /dev/null
+++ b/cds-ui/client-frankfurt/src/app/modules/feature-modules/packages/packages-dashboard/filter-by-tags/filter-by-tags.component.ts
@@ -0,0 +1,100 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2019 Orange. 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, OnDestroy, OnInit} from '@angular/core';
+import {PackagesStore} from '../../packages.store';
+import {BlueprintModel, BluePrintPage} from '../../model/BluePrint.model';
+
+@Component({
+ selector: 'app-filter-by-tags',
+ templateUrl: './filter-by-tags.component.html',
+ styleUrls: ['./filter-by-tags.component.css']
+})
+
+export class TagsFilteringComponent implements OnInit {
+
+ page: BluePrintPage;
+ tags: string[] = [];
+ viewedTags: string[] = [];
+ searchTag = '';
+ viewedPackages: BlueprintModel[] = [];
+ private checkBoxTages = '';
+
+
+ constructor(private packagesStore: PackagesStore,
+ ) {
+ this.packagesStore.state$.subscribe(state => {
+ console.log(state);
+ if (state.page) {
+ this.viewedPackages = state.page.content;
+ this.viewedPackages.forEach(element => {
+ element.tags.split(',').forEach(tag => {
+ this.tags.push(tag.trim());
+ });
+ this.tags = this.tags.filter((value, index, self) => self.indexOf(value) === index);
+ this.assignTags();
+
+ });
+ }
+ });
+ }
+
+ ngOnInit() {
+
+ }
+
+ reloadChanges(event: any) {
+ this.searchTag = event.target.value;
+ this.filterItem(this.searchTag);
+ }
+
+ private assignTags() {
+ this.viewedTags = this.tags;
+ }
+
+ private filterItem(value) {
+ if (!value) {
+ this.assignTags();
+ }
+ this.viewedTags = this.tags.filter(
+ item => item.toLowerCase().indexOf(value.toLowerCase()) > -1
+ );
+ }
+
+ reloadPackages(event: any) {
+
+ if (!event.target.checked) {
+ this.checkBoxTages = this.checkBoxTages.replace(event.target.id + ',', '')
+ .replace(event.target.id, '');
+ } else {
+ this.checkBoxTages += event.target.id.trim() + ',';
+ }
+ console.log(this.checkBoxTages);
+ if (!this.checkBoxTages.includes(',')) {
+ return;
+ }
+ this.viewedPackages = [];
+ // this.packagesStore.getPagesFilterByTags(this.checkBoxTages);
+ // this.viewedPackages = this.viewedPackages.filter((value, index, self) => self.indexOf(value) === index);
+ }
+
+
+}