XMLWordДля печати

Детали задачи

    • Icon: История История
    • Решение: Готово
    • Icon: High High
    • Community 3.17.0
    • Не заполнено
    • Не заполнено

    Описание

      1. Разработать сервис для регистрации и получения контроллеров страниц.

      Контроллер страницы должен содержать:

      pageId - идентификатор страницы, к которой он относится. По этому параметру будет связь между страницей и контроллером. Например: dashboard или journals
      getPageKey(params) - метод для получения ключа по параметрам в URL. Ключ определяет необходимость создавать новую вкладку.
      Каждая вкладка в системе должна иметь уникальный составной ключ pageId + результат вызова getPageKey(params). Если же у нас идет попытка открыть URL, у которого итоговый ключ совпадает с одной из уже открытых вкладок, то следует её сделать активной и не открывать новую.

      PageKey НЕ следует сохранять в localStorage во избежание багов с неправильным открытием вкладок после изменений в методе getPageKey. В localStorage храним полный URL с параметрами и при надобности каждый раз вычисляем PageKey (возможно кэширование в памяти, но при перезагрузке страницы эта информация должна быть пересчитана если её кто-то запросит).

      getPageTitle(params) - метод для получения заголовка вкладки по её параметрам.

      Так же следует реализовать дефолтный контроллер, который будет возвращаться из сервиса если не найдется никакой другой.

      Методы сервиса:

      getController(pageId: String): PageController

      register(controller: PageController)

      2. Для страницы журналов сделать реализацию getPageKey при которой ключ === параметру journalsListId
      Все остальные параметры считаем незначительными и их изменение не должно открывать новую вкладку.

      3. Для страницы dashboard сделать реализацию getPageKey при которой ключ === параметру recordRef (пустая строка если он отсутствует)
      Все остальные параметры считаем незначительными и их изменение не должно открывать новую вкладку.

      4. Для страницы dashboard/settings сделать реализацию getPageKey при которой важен только параметр dashboardId

      Вложенные файлы

        Активность

          Люди

            maria.pavlova@citeck.ru Maria Pavlova
            Pavel.Simonov Pavel Simonov [X] (Неактивный)
            Голоса:
            0 Голосовать за эту задачу
            Наблюдатели:
            4 Начать наблюдение за этой задачей

            Даты

              Создано:
              Обновленo:
              Дата решения:

              Учет времени

                Оценка:
                Первоначальная оценка - 3 дни Первоначальная оценка - 3 дни
                3d
                Осталось:
                Оставшееся время - 0 минуты
                0m
                Затрачено:
                Затраченное время - 1 неделя, 3 дни, 6 часы, 30 минуты
                1w 3d 6h 30m