Этап
Готова
Тип
Задача
Приоритет
Обычный
Трудоемкость
Обычная
Создана
Дата создания
2 года назад
Назначена
Обновлена
2 года назад

Часть tndt-130

  • Заводим свои event отрисовки sidebar, navbar и хлебных крошек.
    • srv/Event/Presentation
  • Заводи отдельные обработчики разных подпистем их наполняющие.
    • src/EventSubscriber/Presentation/NavBar
      • Project
      • User
    • src/EventSubscriber/Presentation/SideBar
      • Project
      • User
      • Common
    • src/EventSubscriber/Presentation/Breadcrumb
      • Project
      • User
      • Common

C navBar есть вопрос, ведь в шаблоне будут явно прописаны в разных местах конкретные объекты. Кроме того их дизайн может сильно отличаться. Либо делать объекты по фиксированному набору ключей. Тогда шаблон будет проверять есть ли объект по ключу, и если есть, вписывать его.

Переносить все пункты из sidebar в Navbar здесь не стоит, так как мы еще не очень понимаем как. Это будет в tndt-142.

Панель управления

Комментарии могут оставлять только авторизованные пользователи
 demius 2 года назад

Ну, как бы вроде даже и все.

 demius 2 года назад

Идею положить в sidebar и другие проекты откладываем в другой релиз в задачу tndt-145

Вопрос можно ли проверить полномочие не текущего проекта, хорошо ли, что в voter приходит текущий проект, как это сделать правильнее и понятнее оставили на потом в tndt-144

 demius 2 года назад

Идее отображать в SidebarMenu еще несколько проектов нам помешает PrivateProjectVoter, он зависит от ProjectContext, поэтому по факту является CurrentProjectVoter, т.е. он проверяет полномочие пользователя относительно текущего проекта, а не указанного, а значит в нашем Security нельзя сделать проверку isGranted(PROJECT_SETTING, $project). Это надо будет вынести в отдельную задачу в другой релиз в рамках рефакторинга Voter’ов

 demius 2 года назад

Ну вот, самую тяжелую часть вынесли. Почистили от самых ненужных пунктов, остальные вроде бы соорганизовали более менее. Надо теперь NavBar так же перенести, чтобы он не исчез по отключению AdminLte.

И подумать насчет или выводить в sideBar не только текущий проект, или не делать проект двух-уровневым. (кажется для разных юскейсов первый вариант интереснее)

 demius 2 года назад

Как-то покаместь и для sidebar убрали index, вроде бы приоритет сабскрайберов вполне справляется, а внутри сабскрайбера он сам определяет порядок.

 demius 2 года назад

интересное дело, в breadcrumb важен порядок вызова листенеров, и совсем не нужен id.

В SideMenu тоже скорее всего каждому листенеру захочется воткнуть свой пункт как-то по своему, например общие пункты могут появиться в начала и конце. (хотя все проекты, это вроде про проекты)

 demius 2 года назад

В итоге не отложили, и лишний вечер потратили на него. Ну и хлебные крошки доделали.

 demius 2 года назад

Или не откладывать, а сделать параллельно tndt-39, да это еще раздует релиз, но вроде бы это быстро.

 demius 2 года назад

Правда вопрос, Нужна ли на странице редактирования задачи хлебная крошка с именем задачи дискуссионен. (Например в Jira Confluence она есть)

Может быть и не бесполезна, чтобы в неё вернуться. Но можно и отложить это, чтобы не делать лишнего запроса.

 demius 2 года назад

В целом в процессе переноса можно легко избавляться от пунктов, которые нам не слишком нужны. Когда мы поймем, что нам не хватает тут его, добавим обратно. Плюс, меньше пунктов, поможет нам перенести содержимое sidebar в navbar

 demius 2 года назад

В рамках переноса, пока нет необходимости упоминать в хлебных крошках страницы редактирования задачи, может и не делать этого? Когда мы поймем, что в крошках очень не хватает названия задачи/документа, тогда и будем тратить запрос на заполнение. Может к тому времени у нас они будут в реквест класться tndt-39, и тога их будет достаточно от туда вынуть.

 demius 2 года назад

У нас пока не устаканилось дерево подписчиков

Вариант 1

  • Breadcrumbs
    • CommonItems
    • ProjectItems
    • TaskItems
    • DocItems
  • Sidebar
    • CommonItems
    • ProjectItems
    • TaskItems
    • DocItems
  • Navbar
    • CommonItems
    • ProjectItems
    • TaskItems
    • DocItems

Вариант 2

  • Common
    • BreadcrumbsSubscriber
    • SidebarSubscriber
    • NavbarSubscriber
  • Project
    • BreadcrumbsSubscriber
    • SidebarSubscriber
    • NavbarSubscriber
  • Task
    • BreadcrumbsSubscriber
    • SidebarSubscriber
    • NavbarSubscriber
  • Doc
    • BreadcrumbsSubscriber
    • SidebarSubscriber
    • NavbarSubscriber

Кроме того, сборка сайд-меню и хлебных крошек столь похожи, что хочется объединить часть сервисов в один. Да, для этого мы их хотели разъединить

 demius 2 года назад

Пока не сделано tndt-85 как-то малоосмысленно делать отдельную директорию resentation. Пусть все эти меню будут в корне, не страшно. Потом переместим сразу в Presentation/Event/…Bar