Enterprise: Фильтры столбцов Datagrid плохо сочетаются с древовидной сеткой

Созданный на 23 нояб. 2018  ·  19Комментарии  ·  Источник: infor-design/enterprise

Мы экспериментировали с древовидной сеткой в ​​проекте каталога данных и столкнулись с рядом проблем, из-за которых его нельзя было использовать. Проблемы были обнаружены в 4.11. Большинство из них, вероятно, больше связано с ids-enterprise, но я помещаю их все здесь. Записывая это на свой телефон, я могу добавлять примеры снимков экрана по мере необходимости на следующей неделе.

  • [x] 1. Поведение: фильтр соответствует только элементам дерева верхнего уровня.
    Ожидание: фильтр должен соответствовать элементам ниже в дереве, отображая соответствующий элемент, а также родителей, бабушек и дедушек и т. Д. Для контекста ~~

  • [x] 2. Поведение: при сопоставлении строки с дочерними элементами по-прежнему отображается кнопка развертывания / свертывания, но щелчок по ней ничего не делает. Также иногда вызывает общую странность с отступом, который я постараюсь воспроизвести на следующей неделе.
    Ожидание: если родитель подходит, он должен быть расширен для просмотра всех дочерних элементов. Я менее уверен в том, каким должно быть поведение, если один из его дочерних элементов также совпадает ... ~~

  • [x] 3. Поведение: форматирование сетки дерева вводит в заблуждение. Отступ дочернего элемента соответствует отступу, создаваемому кнопкой развертывания / свертывания на родительском элементе, благодаря чему создается впечатление, что они находятся на одном уровне.
    Ожидание: текст родственных элементов должен иметь соответствующий отступ, кнопка развертывания / свертывания не должна изменять отступ

  • [] 4. Поведение: применение настраиваемого форматирования к столбцу с помощью кнопки развертывания / свертывания с компонентом Angular невозможно без разрушения дерева.
    Ожидание: пользовательское форматирование должно оставаться возможным рядом с древовидной сеткой.

[5] type

Самый полезный комментарий

Добавьте это как настройки api allowChildExpandOnMatch: boolean

allowChildExpandOnMatch === true

  • если только родитель получил совпадение, тогда добавьте и дочерние узлы
  • если один или несколько дочерних узлов совпадают, добавьте родительский узел и все дочерние узлы

allowChildExpandOnMatch === false

  • если только родитель получил совпадение, то (отключить | скрыть | что-нибудь еще) кнопка +/- и не добавлять дочерние узлы
  • если один или несколько дочерних узлов совпадают, добавьте родительский узел и только соответствующие дочерние узлы (как сейчас)

Все 19 Комментарий

Думаю, нам следует перенести это в проект EP. Можешь переместить его для меня @clepore

Я пронумеровал ваши вопросы, чтобы ответить на них. Также нам нужен способ лучше воспроизвести их.

  1. Эта проблема могла быть исправлена ​​на # 437, можете ли вы повторно протестировать на http://4130-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html

  2. Нужен способ воспроизвести это. Может быть связано с # 405

  3. Для этого нужен пример.

  4. Это возможно, если вы полностью скопируете код средства форматирования дерева и добавите свои настройки в свою версию https://github.com/infor-design/enterprise/blob/master/src/components/datagrid/datagrid.formatters.js # L368 -L378

Я посмотрю на другие, но теперь могу ответить на 4: я попытался скопировать код средства форматирования дерева в компонент, но код, который дает функцию кнопки развертывания / свертывания, не нашел кнопку.

Ok. Я подумал, что для 4. было бы лучше создать концепцию subFormatter, чтобы вы могли указать это, а в некоторых средствах форматирования эту часть можно было бы форматировать. Fx, чтобы изолировать текстовую часть средства форматирования дерева.

3 - проблема, присущая дизайну древовидной сетки:

2018-11-26 5

Насколько я помню, это обсуждалось при первоначальном дизайне, но «ожидаемая» версия мне кажется более удобочитаемой. Как ты думаешь, @kayiuho ?

Я думаю, что 2 также было решено путем исправления 1. Если я снова смогу воспроизвести это в enterprise-ng, я дам вам знать.

@tmcconechy просто взглянув на визуальное сравнение, «ожидаемая» версия кажется более

3 был выдвинут в декабрьском спринте.

В итоге

  1. Исправлена ​​другая проблема # 437.
  2. Исправлена ​​другая проблема # 437.
  3. Этот спринт исправил @chrisfried - спасибо!
  4. Все еще проблема

Итак, мы должны разделить этот билет. Не могли бы вы сделать новый выпуск для №4, если он вам все еще нужен @chrisfried
Затем мы сможем разобраться с этим позже, поскольку этот тикет будет перемещен в отдел контроля качества для внесенных вами исправлений. Лучше, если вы сделаете билет так, чтобы он был написан на ваше имя. Спасибо!

Поведение номер 2 по-прежнему происходит, когда вы применяете фильтр, соответствующий родительскому узлу. Кнопка «Развернуть / свернуть» отображается, но ничего не делает.
Шаги:

  1. Перейдите на https://4140-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html.
  2. Применить. Содержит фильтр в столбце "Задача" со словом "HMM"
  3. Попробуйте развернуть / свернуть первую строку, ничего не происходит.

@ 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.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги