Я использую угловую ui-сетку - AngularJS.У меня есть выпадающий список столбцов, позволяющий фильтровать значения cellValues.Но я заметил, что searchTerm иногда получает escape-символы для определенных значений.
Используемая версия сетки: https://github.com/angular-ui/ui-grid v3.1.1 (2016-02-09)
cellValue - это то, как я вижу его в пользовательском интерфейсе.Но searchTerm иногда получает экранирующие символы для определенных значений.Ниже приведены некоторые примеры этого, где cellValue находится сверху, а searchTerm находится ниже:
"My Text- My Text – My Text"
"My Text\- My Text – My Text"
"My Text- My Text (2015-2020)"
"My Text\- My Text \(2015\-2020\)"
"My Text (2015-2020)"
"My Text \(2015\-2020\)"
Вот код, который создает определение столбца в сетке:
$scope.gridOptions = {
columnDefs: [
{
name: "Type",
field: "typeNavn",
enableColumnMenu: false,
cellTemplate: myCellToolTipTemplate,
width: 110,
filterHeaderTemplate: myDownFilter,
filter: {
term: null,
options: [],
condition: function (searchTerm, cellValue, row, column) {
if (searchTerm === cellValue) {
return true;
} else {
return false;
}
}
}
}
Любые идеи о том, почему searchTerm иногда получает экранирующие символы для определенных значений?
Что-то элегантное с этим поделать?
Конечно, я могу использовать Regex, но, может быть, есть более элегантное решение?
var searchTermWithoutEscapeCharacters = searchTerm.replace(/\\/g, "");