GoJS highlightCollection не работает для значения даты
Я выделяю один или несколько узлов, ребер и свойств в моем графике с помощью метода highlightCollection, и он отлично работает, за исключением значений даты.
Вот что я попробовал:
Когда значение 2013-01-28 находится в поле dateValue ссылки (ребра) или свойства узла:
2013найдено
2013-01-28Не найдено
2013-не найден
Как только в строке поиска появляется тире, свойство 'highlightCollection' не находит свойство.
Когда то же значение "2013-01-28" находится в поле "textValue" ссылки или свойства узла:
2013 найдено
2013-01-28 Найдено
2013- Найдено
Я попытался вообще без регулярных выражений, и с этим, который полностью не заботится о тире или любом символе, который может быть внутри значения даты:
/2013.{0,}03.{0,}25/
GoJS изменяет или анализирует значение даты другим способом, когда это дата? Поле dateValue является зарезервированным словом?
В данный момент мы работаем над версией 1.6.23.
Спасибо!
2 ответа
Если значением свойства данных является Date, Diagram.findNodesByExample будет вычислять regex.test(dataPropertyValue.toString())
, Таким образом, результат зависит от того, что toString возвращает для Date s.
В Firefox new Date().toString()
возвращает "Среда, 14 июня 2017 г. 16:30:36 GMT-0400 (восточное стандартное время)" для меня, только минуту назад, поэтому я понимаю, почему добавление дефиса / тире в строку поиска может привести к сбою.
Вместо использования Regex, вы можете использовать функцию в качестве предиката, которая делает все, что вам нужно.
Именно при создании новой даты из даты, которую я ищу, и ищу этот текст, метод 'highlightCollection' возвращает нужные элементы.
Большое спасибо!