требование.
Есть данные по проектам и дисциплинам по этим проектам (каждый проект внутри себя имеет несколько дисциплин - аналитика, разработка и т.д.).
В данный момент есть иерархический фильтр, где отображены проекты, а если какой-либо проект раскрыть, то там раскрываются дисциплины (конечно же данного проекта). То есть, чтобы выбрать в 1000 проектах дисциплину "аналитика", нужно раскрыть каждый проект и кликнуть на эту дисциплину. Это неудобно.
Если сделать наоборот (сперва дисциплина, затем если ее раскрыть будут проекты), то можно будет раскрыть какую-то дисциплину и только в рамках нее выбрать проекты. А если по проекту надо выбрать несколько дисциплин, то нужно бежать раскрывать другую дисциплину и там выбирать соответствующий проект. Тоже неудобно работать с фильтром.
Заказчик предлагает сделать двумя фильтрами. Один будет по дисциплинам, другой будет по проектам, но нужно так, чтобы они взаимно не влияли.
То есть нужно сделать следующее: реализовать два иерархических фильтра (один по проектам с дисциплинами, другой по дисциплинам с проектами), в которых выбор будет не фильтровать друг друга, а дополнять.
Например, если на одном фильтре выбрали укрупненно ВСЮ дисциплину "аналитика" с проектами которая она в себя включает.
А в другом фильтре мы уже более тонко настраиваем, например, в каком-то проекте выбираем не только аналитику, но и разработку и сдачу проекта или в каком-то проекте убираем выбор аналитики.
Сейчас если делать через два фильтра, то один другого фильтрует и во втором уже ничего не выбрать. Если снимать взаимодействие их друг на друга, то тогда непонятно, что было выбрано в первом фильтре и вообще каша получается.
В идеале надо,, чтобы выбор в одном фильтре (где иерархия дисциплина - проект), отмечался во втором фильтре (где иерархия проект-дисциплина) и было возможность выбор во втором фильтре дополнить при необходимости.
Можно ли как-то такое сделать и как?
Никто не сталкивался с таким неоднозначным кейсом?
в чем его неоднозначность то? все решается просто, если вы понимаете что такое справочники и их взаимодействия.
Понимаю Но тут суть в том, что надо сделать неоднозначное влияние одного фильтра на другое По сути возможность смены иерархии по ходу работы с фильтром
вкл пользовательские элементы и пускай меняют себе как хотят, но как по мне вы думаете не в том направлении
Если изменить, то фильтр сбрасывается от первоначального выбора - не подходит Вот я и пытаюсь найти какой-то пример похоже кейса, ничего не смог найти
см мой первый ответ, понимание справочников и их влияние др на др.. там ответ ваш..
Так, видимо тогда я не понимаю как мне справочники помогут в этом случае
Очень кудряво описано. Может это подойдёт?
благодарю так и решил проблему 👍
Попробую на примере. Необходимо отбирать ДЛЯ ВИЗУАЛИЗАЦИЙ проекты при помощи двух иерархических фильтров - один фильтр: 1 уровень - дисциплина, 2 уровень - проект. Второй фильтр точно наоборот - 1 уровень - проект, 2 уровень - дисциплина. На первом фильтре пользователь укрупненно обирает только дисциплины, которые его интересуют и соответственно по иерархии там отбираются все проекты, в которых есть эти дисциплины. На этом работа с первым фильтром окончена. В результате этого выбора на первом фильтре, на втором фильтре должны быть отображены все проекты и внутри них все дисциплины, но черными точками (выбраны) должны быть те что были отобраны при помощи первого фильтра. (То есть если на первом фильтре выбрали аналитику, то при раскрытии проекта на втором фильтре должна быть черная точка у аналитики, а все остальные дисциплины должны быть с белой точкой). В результате, на втором фильтре можно выбрать дополнительно какие-то проекты или дополнительные дисциплины указать у других проектов. То есть сделать более избирательный выбор в разрезе конкретных проектов и их дисциплин внутри. Сейчас когда я делаю два фильтра, получается, что один фильтр отфильтровывает значения другого, а мне надо просто чтобы он отображал уже выбранные на первом фильтре и давал возможность довыбрать. Если убрать влияние одного фильтра на другой, то тогда они становятся независимые друг от друга, нет возможности на втором фильтре увидеть что было выбрано на первом и получается каша
Тут только кастомный визуальный элемент писать.
Жаль, а это сложно? Может быть есть база примеров похожих?
Если на TypeScript пишете, то не очень.
К сожалению, нет
А есть возможность взять код стандартного фильтра и его оптимизировать? Или это с нуля надо писать как-то?
Ну вдруг можно вытащить))
Вы даже не представляете во что ввязываетесь)
Так, я понял, видимо проще сказать пользователям, что это невозможно😅
Это универсальное решение, и здесь сработать должно
Обсуждают сегодня