diff --git a/src/frontend/app/administration/action/actions-administration.component.ts b/src/frontend/app/administration/action/actions-administration.component.ts index 85c44d8dafcf802de7eaab9b66868c4f9fe504bf..520f53f47174b2a81cff81cee2ee17954c932338 100755 --- a/src/frontend/app/administration/action/actions-administration.component.ts +++ b/src/frontend/app/administration/action/actions-administration.component.ts @@ -38,6 +38,9 @@ export class ActionsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'label_action']); + }; } constructor( diff --git a/src/frontend/app/administration/basket/baskets-administration.component.ts b/src/frontend/app/administration/basket/baskets-administration.component.ts index d67a39065f2b1171e5aa917992fe4e3b7a472595..797e35e81b7329d004ecd725c6b00ec8d4b22880 100755 --- a/src/frontend/app/administration/basket/baskets-administration.component.ts +++ b/src/frontend/app/administration/basket/baskets-administration.component.ts @@ -36,6 +36,9 @@ export class BasketsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template: any, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['basket_id', 'basket_name', 'basket_desc']); + }; } constructor( diff --git a/src/frontend/app/administration/contact/group/contacts-groups-administration.component.ts b/src/frontend/app/administration/contact/group/contacts-groups-administration.component.ts index 1421cc951559f0f73f0a427ca9ed873c6ce0b119..b811fefc6444947273a1bc6b0786ef5e1cf549c8 100644 --- a/src/frontend/app/administration/contact/group/contacts-groups-administration.component.ts +++ b/src/frontend/app/administration/contact/group/contacts-groups-administration.component.ts @@ -8,6 +8,7 @@ import { MatSidenav } from '@angular/material/sidenav'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { AppService } from '../../../../service/app.service'; +import {FunctionsService} from "../../../../service/functions.service"; declare function $j(selector: any): any; @@ -67,13 +68,17 @@ export class ContactsGroupsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['label', 'description']); + }; } constructor( public http: HttpClient, private notify: NotificationService, private headerService: HeaderService, - public appService: AppService + public appService: AppService, + public functions: FunctionsService ) { $j("link[href='merged_css.php']").remove(); } diff --git a/src/frontend/app/administration/diffusionModel/diffusionModels-administration.component.ts b/src/frontend/app/administration/diffusionModel/diffusionModels-administration.component.ts index 43fb7862601c9db34123ed4847e9bd3673928ea4..b4d0a229223f87285f2e97a2da65a6813531581b 100755 --- a/src/frontend/app/administration/diffusionModel/diffusionModels-administration.component.ts +++ b/src/frontend/app/administration/diffusionModel/diffusionModels-administration.component.ts @@ -13,6 +13,8 @@ import { tap } from 'rxjs/internal/operators/tap'; import { catchError, map, finalize, filter, exhaustMap } from 'rxjs/operators'; import { of } from 'rxjs'; import { ConfirmComponent } from '../../../plugins/modal/confirm.component'; +import {FunctionsService} from "../../../service/functions.service"; +import {LatinisePipe} from "ngx-pipes"; @Component({ templateUrl: "diffusionModels-administration.component.html", @@ -39,6 +41,18 @@ export class DiffusionModelsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); filterValue = filterValue.toLowerCase(); this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + let filterReturn = false; + filter = this.latinisePipe.transform(filter); + this.displayedColumns.forEach((column:any) => { + if (column === 'description' || column === 'typeLabel') { + filterReturn = filterReturn || this.latinisePipe.transform(template[column].toLowerCase()).includes(filter); + } else if (column === 'label') { + filterReturn = filterReturn || this.latinisePipe.transform(template['title'].toLowerCase()).includes(filter); + } + }); + return filterReturn; + }; } constructor( @@ -46,7 +60,9 @@ export class DiffusionModelsAdministrationComponent implements OnInit { private notify: NotificationService, public dialog: MatDialog, private headerService: HeaderService, - public appService: AppService + public appService: AppService, + public functions: FunctionsService, + private latinisePipe: LatinisePipe ) { } async ngOnInit(): Promise<void> { diff --git a/src/frontend/app/administration/group/groups-administration.component.ts b/src/frontend/app/administration/group/groups-administration.component.ts index 7d58b9f524fbecd9836b11613438f4c4177ed469..7da00bc65c5e5b3b32f147b7a6bcc056db1c4c60 100755 --- a/src/frontend/app/administration/group/groups-administration.component.ts +++ b/src/frontend/app/administration/group/groups-administration.component.ts @@ -42,6 +42,9 @@ export class GroupsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); filterValue = filterValue.toLowerCase(); this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['group_id', 'group_desc']); + }; } constructor( diff --git a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts index 231540b3078f722b3732d0517f3796a783e7229e..f379c3f1ed239d32f3badfe0c4a433d5df620d5b 100644 --- a/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts +++ b/src/frontend/app/administration/indexingModel/indexing-models-administration.component.ts @@ -48,6 +48,9 @@ export class IndexingModelsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'label']); + }; } constructor( diff --git a/src/frontend/app/administration/notification/notifications-administration.component.ts b/src/frontend/app/administration/notification/notifications-administration.component.ts index dd424f1f1ddb65e004e641e34dc224e5bb4d7a34..9d6af481a8b5b5d038c3fa1944d4d708f31d538a 100755 --- a/src/frontend/app/administration/notification/notifications-administration.component.ts +++ b/src/frontend/app/administration/notification/notifications-administration.component.ts @@ -54,6 +54,9 @@ export class NotificationsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['notification_id', 'description']); + }; } constructor( diff --git a/src/frontend/app/administration/parameter/parameters-administration.component.ts b/src/frontend/app/administration/parameter/parameters-administration.component.ts index 6b40c27b73f7dc9072230d3449db020a3d4e27c3..6695de0b6559f5b231fdf3d15ae3eda13001c04c 100755 --- a/src/frontend/app/administration/parameter/parameters-administration.component.ts +++ b/src/frontend/app/administration/parameter/parameters-administration.component.ts @@ -8,6 +8,7 @@ import { MatSidenav } from '@angular/material/sidenav'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { AppService } from '../../../service/app.service'; +import {FunctionsService} from "../../../service/functions.service"; declare function $j(selector: any): any; @@ -36,7 +37,8 @@ export class ParametersAdministrationComponent implements OnInit { public http: HttpClient, private notify: NotificationService, private headerService: HeaderService, - public appService: AppService + public appService: AppService, + public functions: FunctionsService ) { $j("link[href='merged_css.php']").remove(); } @@ -45,6 +47,9 @@ export class ParametersAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template: any, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'description', 'value']); + }; } ngOnInit(): void { diff --git a/src/frontend/app/administration/priority/priorities-administration.component.ts b/src/frontend/app/administration/priority/priorities-administration.component.ts index 7f96d42fa6a0153fc2873ebd693874e535bbfe26..c3eb2c56a611d01c347c9603c111fab958144092 100755 --- a/src/frontend/app/administration/priority/priorities-administration.component.ts +++ b/src/frontend/app/administration/priority/priorities-administration.component.ts @@ -36,6 +36,9 @@ export class PrioritiesAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template: any, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'label', 'delays']); + }; } constructor( diff --git a/src/frontend/app/administration/shipping/shippings-administration.component.ts b/src/frontend/app/administration/shipping/shippings-administration.component.ts index a8bd9c518fab24648695ab292c90be9281f12b88..7ae43b7846c8c7645293ba47e84eb060f2d71c41 100644 --- a/src/frontend/app/administration/shipping/shippings-administration.component.ts +++ b/src/frontend/app/administration/shipping/shippings-administration.component.ts @@ -8,6 +8,7 @@ import { MatSidenav } from '@angular/material/sidenav'; import { MatSort } from '@angular/material/sort'; import { MatTableDataSource } from '@angular/material/table'; import { AppService } from '../../../service/app.service'; +import {FunctionsService} from "../../../service/functions.service"; declare function $j(selector: any): any; @@ -36,7 +37,8 @@ export class ShippingsAdministrationComponent implements OnInit { public http: HttpClient, private notify: NotificationService, private headerService: HeaderService, - public appService: AppService + public appService: AppService, + public functions: FunctionsService ) { $j("link[href='merged_css.php']").remove(); } @@ -45,6 +47,9 @@ export class ShippingsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template: any, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['label', 'description', 'accountid']); + }; } ngOnInit(): void { diff --git a/src/frontend/app/administration/status/statuses-administration.component.ts b/src/frontend/app/administration/status/statuses-administration.component.ts index ab5fdbee24b89f3fcad4417476c5c0f9220b9ba6..4e99a00eb18908d034f064f328b44d1955728c0c 100755 --- a/src/frontend/app/administration/status/statuses-administration.component.ts +++ b/src/frontend/app/administration/status/statuses-administration.component.ts @@ -35,6 +35,9 @@ export class StatusesAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'label_status']); + }; } constructor( diff --git a/src/frontend/app/administration/tag/tags-administration.component.ts b/src/frontend/app/administration/tag/tags-administration.component.ts index d85cc564e5f36f585652485322e5da7271a92549..2d75e3d6c1bca683bf420ce6d357850472589357 100644 --- a/src/frontend/app/administration/tag/tags-administration.component.ts +++ b/src/frontend/app/administration/tag/tags-administration.component.ts @@ -37,6 +37,9 @@ export class TagsAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template: any, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['label']); + }; } constructor( diff --git a/src/frontend/app/administration/template/templates-administration.component.ts b/src/frontend/app/administration/template/templates-administration.component.ts index d9dd63d0b0147d3341b0c11c658120651e5e3838..a5fc68222f959fc2378e969a39588877202c2cbe 100755 --- a/src/frontend/app/administration/template/templates-administration.component.ts +++ b/src/frontend/app/administration/template/templates-administration.component.ts @@ -39,13 +39,7 @@ export class TemplatesAdministrationComponent implements OnInit { filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; this.dataSource.filterPredicate = (template, filter: string) => { - var filterReturn = false; - this.displayedColumns.forEach(function(column:any) { - if (column != 'actions') { - filterReturn = filterReturn || template[column].toLowerCase().includes(filter); - } - }); - return filterReturn; + return this.functions.filterUnSensitive(template, filter, ['template_label', 'template_comment', 'template_type', 'template_target']); }; } diff --git a/src/frontend/app/administration/user/users-administration.component.ts b/src/frontend/app/administration/user/users-administration.component.ts index 85fa835cd684631c32b897113cbb4f186f67bc59..ff656176847042a786ef8e8a2dbf4ccaa79a537c 100755 --- a/src/frontend/app/administration/user/users-administration.component.ts +++ b/src/frontend/app/administration/user/users-administration.component.ts @@ -53,6 +53,9 @@ export class UsersAdministrationComponent implements OnInit { filterValue = filterValue.trim(); // Remove whitespace filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches this.dataSource.filter = filterValue; + this.dataSource.filterPredicate = (template, filter: string) => { + return this.functions.filterUnSensitive(template, filter, ['id', 'user_id', 'lastname', 'firstname', 'mail']); + }; } constructor( diff --git a/src/frontend/service/functions.service.ts b/src/frontend/service/functions.service.ts index d066a5c9e07350ff7ae29008a4b7e88e645e3575..5a517c426fdd8e0dc9b6529091800a14e3592300 100644 --- a/src/frontend/service/functions.service.ts +++ b/src/frontend/service/functions.service.ts @@ -1,12 +1,13 @@ import { Injectable } from '@angular/core'; import { LANG } from '../app/translate.component'; +import {LatinisePipe} from "ngx-pipes"; @Injectable() export class FunctionsService { lang: any = LANG; - constructor() { } + constructor(public latinisePipe: LatinisePipe) { } empty(value: any) { if (value === null || value === undefined) { @@ -77,4 +78,16 @@ export class FunctionsService { } return data[sortHeaderId]; } + + filterUnSensitive(template: any, filter: string, filteredColumns: any) { + let filterReturn = false; + filter = this.latinisePipe.transform(filter); + filteredColumns.forEach((column:any) => { + if (typeof template[column] !== 'string') { + template[column] = JSON.stringify(template[column]); + } + filterReturn = filterReturn || this.latinisePipe.transform(template[column].toLowerCase()).includes(filter); + }); + return filterReturn; + } }