From 672199c776a6cf421edc7eb175deb892377186cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anthony=20Qu=C3=A9r=C3=A9?= <47711333+Anthony-Jhoiro@users.noreply.github.com> Date: Fri, 23 Aug 2019 12:04:35 +0200 Subject: [PATCH] #9 Change filter system --- .../campaigns/campaigns-columnsdata.ts | 18 ++--- .../testcaselist/testcaselist.columnsdata.ts | 65 ++++++++------- .../datatable/datatable.component.ts | 13 +-- .../filters/filters.component.html | 10 +-- .../filters/filters.component.ts | 17 ++-- .../utils/filter/filter.component.html | 80 +++++++++++-------- .../utils/filter/filter.component.ts | 12 ++- .../filterlike/filterlike.component.html | 12 --- .../filterlike/filterlike.component.scss | 0 .../filterlike/filterlike.component.spec.ts | 25 ------ .../utils/filterlike/filterlike.component.ts | 35 -------- src/app/shared/model/column.model.ts | 8 +- src/app/shared/shared.module.ts | 2 - 13 files changed, 129 insertions(+), 168 deletions(-) delete mode 100644 src/app/shared/datatable-page/utils/filterlike/filterlike.component.html delete mode 100644 src/app/shared/datatable-page/utils/filterlike/filterlike.component.scss delete mode 100644 src/app/shared/datatable-page/utils/filterlike/filterlike.component.spec.ts delete mode 100644 src/app/shared/datatable-page/utils/filterlike/filterlike.component.ts diff --git a/src/app/feat-design/campaigns/campaigns-columnsdata.ts b/src/app/feat-design/campaigns/campaigns-columnsdata.ts index 13fae690..ffd161ec 100644 --- a/src/app/feat-design/campaigns/campaigns-columnsdata.ts +++ b/src/app/feat-design/campaigns/campaigns-columnsdata.ts @@ -9,7 +9,7 @@ export var CampainsColumnsData: Column[] = [ flexGrow: 100, defaultActive: true, searchable: true, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -23,7 +23,7 @@ export var CampainsColumnsData: Column[] = [ defaultActive: true, searchable: true, type: COLUMN_TYPE.BOOLEAN, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -37,7 +37,7 @@ export var CampainsColumnsData: Column[] = [ defaultActive: true, searchable: true, type: COLUMN_TYPE.BOOLEAN, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -51,7 +51,7 @@ export var CampainsColumnsData: Column[] = [ defaultActive: true, searchable: true, type: COLUMN_TYPE.LONGTEXT, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -65,7 +65,7 @@ export var CampainsColumnsData: Column[] = [ defaultActive: true, searchable: true, type: COLUMN_TYPE.BOOLEAN, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -79,7 +79,7 @@ export var CampainsColumnsData: Column[] = [ defaultActive: true, searchable: true, type: COLUMN_TYPE.BOOLEAN, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -92,7 +92,7 @@ export var CampainsColumnsData: Column[] = [ flexGrow: 100, defaultActive: true, searchable: true, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -105,7 +105,7 @@ export var CampainsColumnsData: Column[] = [ flexGrow: 100, defaultActive: true, searchable: true, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -117,7 +117,7 @@ export var CampainsColumnsData: Column[] = [ active: true, flexGrow: 100, defaultActive: true, - dropActive: false, + filterDisplayed: false, type: COLUMN_TYPE.LONGTEXT, like: true, multiple: true, diff --git a/src/app/feat-design/testcaselist/testcaselist.columnsdata.ts b/src/app/feat-design/testcaselist/testcaselist.columnsdata.ts index e77141d8..1ba29cf4 100644 --- a/src/app/feat-design/testcaselist/testcaselist.columnsdata.ts +++ b/src/app/feat-design/testcaselist/testcaselist.columnsdata.ts @@ -1,4 +1,4 @@ -import { Column, COLUMN_TYPE } from 'src/app/shared/model/column.model'; +import { Column, COLUMN_TYPE, FILTER_MODE } from 'src/app/shared/model/column.model'; export var TestCasesColumnsData: Column[] = [ { @@ -9,7 +9,7 @@ export var TestCasesColumnsData: Column[] = [ flexGrow: 100, defaultActive: true, searchable: true, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select applications', sSearch: [] @@ -34,7 +34,8 @@ export var TestCasesColumnsData: Column[] = [ flexGrow: 75, active: true, defaultActive: true, - like: true, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Search TestCase', sSearch: [] @@ -48,7 +49,7 @@ export var TestCasesColumnsData: Column[] = [ defaultActive: true, sortable: false, searchable: true, - dropActive: false, + filterDisplayed: false, flexGrow: 250, multiple: true, placeholder: 'Select Labels', @@ -62,8 +63,9 @@ export var TestCasesColumnsData: Column[] = [ flexGrow: 250, defaultActive: true, active: true, - dropActive: false, - like: true, + filterDisplayed: false, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Search Description...', sSearch: [] @@ -76,7 +78,7 @@ export var TestCasesColumnsData: Column[] = [ active: true, defaultActive: true, searchable: true, - dropActive: false, + filterDisplayed: false, flexGrow: 100, multiple: true, placeholder: 'Select status', @@ -88,7 +90,7 @@ export var TestCasesColumnsData: Column[] = [ contentName: 'priority', active: true, defaultActive: true, - dropActive: false, + filterDisplayed: false, searchable: true, flexGrow: 100, multiple: true, @@ -101,7 +103,7 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'app.system', contentName: 'system', active: false, - dropActive: false, + filterDisplayed: false, searchable: true, multiple: true, placeholder: 'Select System...', @@ -114,7 +116,7 @@ export var TestCasesColumnsData: Column[] = [ contentName: 'tcActive', searchable: true, active: false, - dropActive: false, + filterDisplayed: false, type: COLUMN_TYPE.BOOLEAN, multiple: false, placeholder: 'Select Gloabl Activation', @@ -141,7 +143,7 @@ export var TestCasesColumnsData: Column[] = [ type: COLUMN_TYPE.LABEL, active: false, sortable: false, - dropActive: false, + filterDisplayed: false, multiple: true, placeholder: 'Select Stickers', sSearch: [] @@ -153,7 +155,7 @@ export var TestCasesColumnsData: Column[] = [ contentName: 'labelsREQUIREMENT', type: COLUMN_TYPE.LABEL, active: false, - dropActive: false, + filterDisplayed: false, sortable: false, multiple: true, placeholder: 'Select Requirement', @@ -166,7 +168,7 @@ export var TestCasesColumnsData: Column[] = [ contentName: 'labelsBATTERY', type: COLUMN_TYPE.LABEL, active: false, - dropActive: false, + filterDisplayed: false, sortable: false },// { @@ -174,7 +176,7 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.tcactive', contentName: 'activePROD', active: false, - dropActive: false, + filterDisplayed: false, type: COLUMN_TYPE.BOOLEAN }, { @@ -182,7 +184,7 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.tcactive', contentName: 'activeQA', active: false, - dropActive: false, + filterDisplayed: false, type: COLUMN_TYPE.BOOLEAN }, { @@ -190,7 +192,7 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.tcactive', contentName: 'activeUAT', active: false, - dropActive: false, + filterDisplayed: false, type: COLUMN_TYPE.BOOLEAN }, { @@ -198,9 +200,9 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.function', contentName: 'function', active: false, - dropActive: false, - like: true, - + filterDisplayed: false, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Select Function', sSearch: [] @@ -210,7 +212,7 @@ export var TestCasesColumnsData: Column[] = [ displayName: 'Project', apiName: 'tec.project', contentName: 'Project', - dropActive: false, + filterDisplayed: false, active: false, multiple: true, @@ -222,7 +224,7 @@ export var TestCasesColumnsData: Column[] = [ displayName: 'Origine', apiName: 'tec.origine', contentName: 'origine', - dropActive: false, + filterDisplayed: false, active: false, multiple: true, @@ -235,8 +237,9 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.refOrigine', contentName: 'refOrigin', active: false, - dropActive: false, - like: true, + filterDisplayed: false, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Select Reference Origine', sSearch: [] @@ -258,8 +261,9 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.dateCreated', contentName: 'dateCreated', active: false, - dropActive: false, - like: true, + filterDisplayed: false, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Select Date Created', sSearch: [] @@ -269,7 +273,7 @@ export var TestCasesColumnsData: Column[] = [ displayName: 'User Created', apiName: 'tec.usrCreated', contentName: 'usrCreated', - dropActive: false, + filterDisplayed: false, searchable: true, active: false, multiple: true, @@ -281,7 +285,7 @@ export var TestCasesColumnsData: Column[] = [ displayName: 'TestCase Version', apiName: 'tec.testCaseVersion', contentName: 'testCaseVersion', - dropActive: false, + filterDisplayed: false, active: false, multiple: true, placeholder: 'Select TestCase Version', @@ -293,8 +297,9 @@ export var TestCasesColumnsData: Column[] = [ apiName: 'tec.dateModif', contentName: 'dateModif', active: false, - dropActive: false, - like: true, + filterDisplayed: false, + like: true, + filterMode: FILTER_MODE.SEARCH_FIELD, multiple: true, placeholder: 'Select Date Modification', sSearch: [] @@ -304,7 +309,7 @@ export var TestCasesColumnsData: Column[] = [ displayName: 'User Modification', apiName: 'tec.usrModif', contentName: 'usrModif', - dropActive: false, + filterDisplayed: false, active: false, multiple: true, placeholder: 'Select User Modification', diff --git a/src/app/shared/datatable-page/datatable/datatable.component.ts b/src/app/shared/datatable-page/datatable/datatable.component.ts index 6c71d94d..2ff6b0f0 100644 --- a/src/app/shared/datatable-page/datatable/datatable.component.ts +++ b/src/app/shared/datatable-page/datatable/datatable.component.ts @@ -71,17 +71,18 @@ export class DatatableComponent implements OnInit { * @param column column to filter */ addFilter(column: Column): void { - column.dropActive = !column.dropActive; + column.filterDisplayed = !column.filterDisplayed; } - - /** + + /** * addFilterLike * * Add a like filter corresponding to the column * @param column column to filter + * TODO : Remove */ - addFilterLike(column: Column): void { - column.fieldActive = !column.fieldActive; - } + // addFilterLike(column: Column): void { + // column.fieldActive = !column.fieldActive; + // } /** * onSort diff --git a/src/app/shared/datatable-page/filters/filters.component.html b/src/app/shared/datatable-page/filters/filters.component.html index 43cf0d98..10605891 100644 --- a/src/app/shared/datatable-page/filters/filters.component.html +++ b/src/app/shared/datatable-page/filters/filters.component.html @@ -99,7 +99,7 @@

- {{item.displayName}} @@ -113,17 +113,17 @@

- - - + +

diff --git a/src/app/shared/datatable-page/filters/filters.component.ts b/src/app/shared/datatable-page/filters/filters.component.ts index b8ee13d3..d98b0380 100644 --- a/src/app/shared/datatable-page/filters/filters.component.ts +++ b/src/app/shared/datatable-page/filters/filters.component.ts @@ -6,7 +6,7 @@ import { InvariantsService } from '../../../core/services/crud/invariants.servic import { IInvariant } from '../../../shared/model/invariants.model'; import { TestService } from '../../../core/services/crud/test.service'; import { ITest } from '../../../shared/model/test.model'; -import { Column } from 'src/app/shared/model/column.model'; +import { Column, FILTER_MODE } from 'src/app/shared/model/column.model'; import { SidecontentService } from 'src/app/core/services/crud/sidecontent.service'; @Component({ @@ -49,7 +49,7 @@ export class FiltersComponent implements OnInit { ngOnInit() { this.columnActive = this.columns.filter(a => a.active).length; - this.searchableColumns = this.columns.filter(a => a.searchable || a.like); + this.searchableColumns = this.columns.filter(a => a.searchable || a.filterMode===FILTER_MODE.SEARCH_FIELD); } /** @@ -94,23 +94,24 @@ export class FiltersComponent implements OnInit { * @param column column to filter */ addFilter(column: Column) { - if (column.dropActive || column.fieldActive) { + if (column.filterDisplayed) { column.sSearch = []; this.activeFilters.splice(this.activeFilters.indexOf(column.contentName),1) } else { this.activeFilters.push(column.contentName) } - if (!column.like) column.dropActive = !column.dropActive; - else column.fieldActive = !column.fieldActive; + column.filterDisplayed = !column.filterDisplayed; + } /** addFilterLike * * Add search field for that column * @param column column to filter + * TODO : remove */ - addFilterLike(column: Column) { - column.fieldActive = !column.fieldActive; - } + // addFilterLike(column: Column) { + // column.fieldActive = !column.fieldActive; + // } /** resetDefaultColumns * * rest default column to display diff --git a/src/app/shared/datatable-page/utils/filter/filter.component.html b/src/app/shared/datatable-page/utils/filter/filter.component.html index c5cbe9c0..b7f5b5c9 100644 --- a/src/app/shared/datatable-page/utils/filter/filter.component.html +++ b/src/app/shared/datatable-page/utils/filter/filter.component.html @@ -1,5 +1,4 @@ -
- +
+ - +
- - -
{{item.label}}
-
+
- - - - {{ items[0] }} - {{ items.length }} + - -
- - - - - -
-
+ + + + +
{{item.label}}
+
+ + + + + {{ items[0] }} + {{ items.length }} + + + + +
+ + + + + +
+
+ +
+
- -