Мы экспериментировали с древовидной сеткой в проекте каталога данных и столкнулись с рядом проблем, из-за которых его нельзя было использовать. Проблемы были обнаружены в 4.11. Большинство из них, вероятно, больше связано с ids-enterprise, но я помещаю их все здесь. Записывая это на свой телефон, я могу добавлять примеры снимков экрана по мере необходимости на следующей неделе.
[x] 1. Поведение: фильтр соответствует только элементам дерева верхнего уровня.
Ожидание: фильтр должен соответствовать элементам ниже в дереве, отображая соответствующий элемент, а также родителей, бабушек и дедушек и т. Д. Для контекста ~~
[x] 2. Поведение: при сопоставлении строки с дочерними элементами по-прежнему отображается кнопка развертывания / свертывания, но щелчок по ней ничего не делает. Также иногда вызывает общую странность с отступом, который я постараюсь воспроизвести на следующей неделе.
Ожидание: если родитель подходит, он должен быть расширен для просмотра всех дочерних элементов. Я менее уверен в том, каким должно быть поведение, если один из его дочерних элементов также совпадает ... ~~
[x] 3. Поведение: форматирование сетки дерева вводит в заблуждение. Отступ дочернего элемента соответствует отступу, создаваемому кнопкой развертывания / свертывания на родительском элементе, благодаря чему создается впечатление, что они находятся на одном уровне.
Ожидание: текст родственных элементов должен иметь соответствующий отступ, кнопка развертывания / свертывания не должна изменять отступ
[] 4. Поведение: применение настраиваемого форматирования к столбцу с помощью кнопки развертывания / свертывания с компонентом Angular невозможно без разрушения дерева.
Ожидание: пользовательское форматирование должно оставаться возможным рядом с древовидной сеткой.
Думаю, нам следует перенести это в проект EP. Можешь переместить его для меня @clepore
Я пронумеровал ваши вопросы, чтобы ответить на них. Также нам нужен способ лучше воспроизвести их.
Эта проблема могла быть исправлена на # 437, можете ли вы повторно протестировать на http://4130-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html
Нужен способ воспроизвести это. Может быть связано с # 405
Для этого нужен пример.
Это возможно, если вы полностью скопируете код средства форматирования дерева и добавите свои настройки в свою версию https://github.com/infor-design/enterprise/blob/master/src/components/datagrid/datagrid.formatters.js # L368 -L378
Я посмотрю на другие, но теперь могу ответить на 4: я попытался скопировать код средства форматирования дерева в компонент, но код, который дает функцию кнопки развертывания / свертывания, не нашел кнопку.
Ok. Я подумал, что для 4. было бы лучше создать концепцию subFormatter, чтобы вы могли указать это, а в некоторых средствах форматирования эту часть можно было бы форматировать. Fx, чтобы изолировать текстовую часть средства форматирования дерева.
3 - проблема, присущая дизайну древовидной сетки:
Насколько я помню, это обсуждалось при первоначальном дизайне, но «ожидаемая» версия мне кажется более удобочитаемой. Как ты думаешь, @kayiuho ?
Я думаю, что 2 также было решено путем исправления 1. Если я снова смогу воспроизвести это в enterprise-ng, я дам вам знать.
@tmcconechy просто взглянув на визуальное сравнение, «ожидаемая» версия кажется более
В итоге
Итак, мы должны разделить этот билет. Не могли бы вы сделать новый выпуск для №4, если он вам все еще нужен @chrisfried
Затем мы сможем разобраться с этим позже, поскольку этот тикет будет перемещен в отдел контроля качества для внесенных вами исправлений. Лучше, если вы сделаете билет так, чтобы он был написан на ваше имя. Спасибо!
Поведение номер 2 по-прежнему происходит, когда вы применяете фильтр, соответствующий родительскому узлу. Кнопка «Развернуть / свернуть» отображается, но ничего не делает.
Шаги:
@ deep7102 Можете взглянуть на этот дополнительный футляр?
На данный момент причина того, что последняя часть # 2 не работает, заключается в том, что там нет соответствующих дочерних элементов. Я заметил, что там написано: «Ожидание: если родитель подходит, он должен быть расширен для просмотра всех дочерних элементов».
Неужели мы думаем, что он должен показывать детям, даже если они не совпадают? Я не так уверен и склоняюсь к тому, чтобы это было правильным / приемлемым поведением?
Что мы думаем? @EdwardCoyle @clepore @pwpatton @ deep7102 @brianjuan @chrisfried ?
Я думаю, что для поведения поиска по умолчанию это может зависеть. Может быть, переключатель в порядке (allowChildExpandOnMatch) или что-то в этом роде.
В ориентире у нас есть пример, в котором мы разрешаем расширение соответствующего узла, даже когда дочерние элементы не соответствуют критериям поиска (мы лениво загружаем и управляем всем этим поведением самостоятельно без поиска / фильтра по умолчанию, поскольку мы не можем сделать это в объем памяти).
Добавьте это как настройки api allowChildExpandOnMatch: boolean
allowChildExpandOnMatch === true
allowChildExpandOnMatch === false
Похоже, это все - большая перемена?
Может быть, подумал, что нужно отслеживать фильтры и узлы фильтрации, глубины и т. Д.
Хорошо, я предлагаю сделать новый выпуск на потом. В настоящее время это не полностью.
Поэтому я предлагаю закрыть эту проблему, как и @brianjuan.
Думаю, нам хорошо создать отдельный билет для реализации больших изменений для № 2.
Теперь переместим это Готово, поскольку https://4140-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html работает должным образом для всех других предлагаемых вариантов поведения.
Добавлен новый выпуск # 1422.
Самый полезный комментарий
Добавьте это как настройки api
allowChildExpandOnMatch: boolean
allowChildExpandOnMatch === true
allowChildExpandOnMatch === false