diff --git a/src/shared/components/ncTable/mixins/columnsTypes/relation.js b/src/shared/components/ncTable/mixins/columnsTypes/relation.js index d63e4d9515..be5cfa7bf9 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/relation.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/relation.js @@ -79,11 +79,11 @@ export default class RelationColumn extends AbstractColumn { * @return {boolean} Whether the filter matches */ isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value - const cellLabel = this.getLabel(cell.value) + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const cellLabel = this.getLabel(cell.value)?.toLowerCase() const filterMethod = { - [FilterIds.Contains]() { return cellLabel?.toLowerCase().includes(filterValue?.toLowerCase()) }, - [FilterIds.DoesNotContain]() { return !cellLabel?.toLowerCase().includes(filterValue?.toLowerCase()) }, + [FilterIds.Contains]() { return cellLabel?.includes(filterValue) }, + [FilterIds.DoesNotContain]() { return !cellLabel?.includes(filterValue) }, [FilterIds.IsEqual]() { return cellLabel === filterValue }, [FilterIds.IsNotEqual]() { return cellLabel !== filterValue }, [FilterIds.IsEmpty]() { return !cellLabel }, diff --git a/src/shared/components/ncTable/mixins/columnsTypes/selection.js b/src/shared/components/ncTable/mixins/columnsTypes/selection.js index 31d3f9a31a..881d440af0 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/selection.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/selection.js @@ -51,12 +51,12 @@ export default class SelectionColumn extends AbstractSelectionColumn { } isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value - const cellLabel = this.getLabel(cell.value) + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const cellLabel = this.getLabel(cell.value)?.toLowerCase() const filterMethod = { [FilterIds.ContainsItem]() { return filterValue.map(option => option.id).includes(cell.value) }, - [FilterIds.Contains]() { return cellLabel?.toLowerCase().includes(filterValue?.toLowerCase()) }, - [FilterIds.DoesNotContain]() { return !cellLabel?.toLowerCase().includes(filterValue?.toLowerCase()) }, + [FilterIds.Contains]() { return cellLabel.includes(filterValue) }, + [FilterIds.DoesNotContain]() { return !cellLabel?.includes(filterValue) }, [FilterIds.BeginsWith]() { return cellLabel?.startsWith(filterValue) }, [FilterIds.EndsWith]() { return cellLabel?.endsWith(filterValue) }, [FilterIds.IsEqual]() { return cellLabel === filterValue }, diff --git a/src/shared/components/ncTable/mixins/columnsTypes/selectionMulti.js b/src/shared/components/ncTable/mixins/columnsTypes/selectionMulti.js index 89e9fd4f02..7d793d7e98 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/selectionMulti.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/selectionMulti.js @@ -67,8 +67,8 @@ export default class SelectionMutliColumn extends AbstractSelectionColumn { } isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value - const valueString = this.getValueString(cell) + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const valueString = this.getValueString(cell)?.toLowerCase() const filterMethod = { [FilterIds.ContainsItem]() { diff --git a/src/shared/components/ncTable/mixins/columnsTypes/textLink.js b/src/shared/components/ncTable/mixins/columnsTypes/textLink.js index e0328f68f5..a5d0cb81c7 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/textLink.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/textLink.js @@ -52,7 +52,7 @@ export default class TextLinkColumn extends AbstractTextColumn { } isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() const value = this.getValueFromCellValue(cell.value) const filterMethod = { diff --git a/src/shared/components/ncTable/mixins/columnsTypes/textLong.js b/src/shared/components/ncTable/mixins/columnsTypes/textLong.js index a6b35728b3..3d0c78e721 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/textLong.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/textLong.js @@ -22,11 +22,12 @@ export default class TextLongColumn extends AbstractTextColumn { } isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const cellValue = cell.value.toLowerCase() const filterMethod = { - [FilterIds.Contains]() { return cell.value.includes(filterValue) }, - [FilterIds.DoesNotContain]() { return !cell.value.includes(filterValue) }, + [FilterIds.Contains]() { return cellValue && cellValue.includes(filterValue) }, + [FilterIds.DoesNotContain]() { return cellValue && !cellValue.includes(filterValue) }, [FilterIds.IsEmpty]() { return !cell.value }, }[filter.operator.id] return super.isFilterFound(filterMethod, cell) diff --git a/src/shared/components/ncTable/mixins/columnsTypes/textRich.js b/src/shared/components/ncTable/mixins/columnsTypes/textRich.js index 4bb039c36b..11daac3d1e 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/textRich.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/textRich.js @@ -18,11 +18,12 @@ export default class TextRichColumn extends AbstractTextColumn { } isFilterFound(cell, filter) { - const filterValue = filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const cellValue = cell.value?.toLowerCase() const filterMethod = { - [FilterIds.Contains]() { return cell.value && cell.value.includes(filterValue) }, - [FilterIds.DoesNotContain]() { return cell.value && !cell.value.includes(filterValue) }, + [FilterIds.Contains]() { return cellValue && cellValue.includes(filterValue) }, + [FilterIds.DoesNotContain]() { return cellValue && !cellValue.includes(filterValue) }, [FilterIds.IsEmpty]() { return !cell.value }, }[filter.operator.id] return super.isFilterFound(filterMethod, cell) diff --git a/src/shared/components/ncTable/mixins/columnsTypes/usergroup.js b/src/shared/components/ncTable/mixins/columnsTypes/usergroup.js index 3cd565dc84..e6ea439a21 100644 --- a/src/shared/components/ncTable/mixins/columnsTypes/usergroup.js +++ b/src/shared/components/ncTable/mixins/columnsTypes/usergroup.js @@ -4,6 +4,7 @@ */ import { AbstractUsergroupColumn } from '../columnClass.js' import { ColumnTypes } from '../columnHandler.js' +import { FilterIds } from '../filter.js' export default class UsergroupColumn extends AbstractUsergroupColumn { @@ -44,4 +45,18 @@ export default class UsergroupColumn extends AbstractUsergroupColumn { return super.isSearchStringFound(this.getValueString(cell), cell, searchString) } + isFilterFound(cell, filter) { + const filterValue = (filter.magicValuesEnriched ? filter.magicValuesEnriched : filter.value).toLowerCase() + const valueString = this.getValueString(cell).toLowerCase() + + const filterMethod = { + [FilterIds.Contains]() { return valueString?.includes(filterValue) }, + [FilterIds.DoesNotContain]() { return !valueString?.includes(filterValue) }, + [FilterIds.IsEqual]() { return valueString === filterValue }, + [FilterIds.IsNotEqual]() { return valueString !== filterValue }, + [FilterIds.IsEmpty]() { return !valueString }, + }[filter.operator.id] + return super.isFilterFound(filterMethod, cell) + } + } diff --git a/src/shared/components/ncTable/partials/TableHeaderColumnOptions.vue b/src/shared/components/ncTable/partials/TableHeaderColumnOptions.vue index 63dc809447..31e9ee1d0a 100644 --- a/src/shared/components/ncTable/partials/TableHeaderColumnOptions.vue +++ b/src/shared/components/ncTable/partials/TableHeaderColumnOptions.vue @@ -367,8 +367,8 @@ export default { const columnFilters = this.getFilterForColumn(this.column) if (columnFilters && columnFilters .filter(fil => fil.operator.id === this.selectedOperator.id) - .map(fil => fil.value) - .includes(this.searchValue)) { + .map(fil => fil.value.toLowerCase()) + .includes(this.searchValue.toLowerCase())) { this.reset() return }