[AdminTools] Избранные элементы

Первая версия пакета инструментов для администраторов. Пока в нее вошел только функционал для управления избранными элементами. Изначально планировал выделить их в отдельную вкладку (см. картинку). Но получилось не очень — дублирование функционала двух вкладок (основной и с избранными элементами), плюс неудобство с их синхронизацией. Поэтому решил сделать в виде фильтра в основной вкладке элементов.


Насколько получилось удобно судить вам.

Принцип работы


У каждого типа элементов в тулбаре появилась звездочка, которая включает и отключает режим избранных элементов.
В контекстное меню каждого элемента добавлены пункты «Добавить в избранное» и «Удалить из избранного».
Текущие состояния фильтров и элементов хранятся в сессии и в кэше в папке core/cache/admintools/favorite_elements. Последовательность такая — если данных в сессии нет, то берется из кэша.

За внешний вид избранных элементов отвечает css класс x-element-favorite. Чтобы изменить иконку, укажите класс иконки в системной настройке admintools_favorites_icon. Например, «icon-star» или «icon-heart». Последняя такая миленькая. :)

В принципе все достаточно понятно. Если будут вопросы и предложения, не стесняйтесь.

П.С. Всевозможные улучшалки админки планирую включать в этот компонент.

Проект на Github.
Уже в магазине.
Сергей Шлоков
25 октября 2015, 12:44
modx.pro
4
3 983
+12
Поблагодарить автора Отправить деньги

Комментарии: 36

Павел Гвоздь
25 октября 2015, 17:28
+1
Не думал, что так скоро. Замечательная плюшка! Спасибо, Сергей. Сразу просьба: сделать значок избранного рядом с иконкой шаблона, если это возможно, а не вместо нее.
    Сергей Шлоков
    25 октября 2015, 18:00
    0
    Картинки с моего сайта. Изначально звездочки отключены. Внешний вид избранных элементов можно изменить в css файле.
    Василий Столейков
    26 октября 2015, 08:55
    +1
    Классно! Сдержал своё слово, на выходных занялся этим!
    У меня вопрос: избранное персонализировано для каждого пользователя, или оно одно общее для всех пользователей?
      Сергей Шлоков
      26 октября 2015, 09:16
      0
      У меня вопрос: избранное персонализировано для каждого пользователя, или оно одно общее для всех пользователей?
      Для всех общее. После того как выложил тоже пришла в голову мысль разделить для пользователей. Уже вчера вечером сделал. Пока выкладывать не буду, чтобы не плодить версии для каждой маленькой доработки.
        Василий Столейков
        26 октября 2015, 09:27
        0
        Ок, главное что сделал, это пока не критично. Спасибо ещё раз!
          Сергей Шлоков
          26 октября 2015, 09:30
          0
          Хотя наверно лучше выложить, чтоб потом не настраивать заново. Ща обновлю.
            Василий Столейков
            26 октября 2015, 10:31
            0
            Давай, чтобы потом путаницы не было между пользователями
      Василий Столейков
      26 октября 2015, 10:33
      0
      joxi.ru/82Q76PbHLLbQrd — заметил глюк при подсчёте папок. На скриншоте я добавил в избранное только 1 чанк scripts, но подсчитались все 6 пунктов (вместе с папками). Если же попытаться их раскрывать, они обновляются и исчезают. Но при обновлении дерева или страницы они снова появляются.
      То есть глюк с подсчётом вложенных папок.
        Сергей Шлоков
        26 октября 2015, 10:54
        +1
        Я бы сказал, что это фича (специфика) дерева, а не баг. Дело в том, что если папка закрыта, то она пустая — в ней нет элементов. Зачитывается она только когда ее открываешь. Иначе дерево бы грузилось минуты. Т.е. на момент построения дерева я не знаю, есть ли в закрытых папках избранные элементы. Поэтому и получается, что когда папку открываешь, элементы подгружаются и я уже могу подсчитать избранные. А если их нет, то я скрываю папку. Если папка открыта, то я сразу подсчитываю и скрываю папку, если в ней их нет.
        В дальнейшем я постараюсь решить эту проблему. На сегодняшний день я не знаю как заменить процессор у дерева на свой без изменения ядра, чтобы уже в нем решать часть задач.
        П.С. Я сильно не тестировал. Возможно вылезут еще какие-то моменты. Будем решать их по мере поступления.
          Василий Столейков
          26 октября 2015, 13:32
          0
          Всё же папки доставляют много неудобств.
          Поясню:
          Когда нужно избранное? Когда элементов большая куча. Но в таком случае они обязательно рассортированы по папкам, у меня например папки в несколько уровней глубины.
          Обычно избранное небольшое — пару элементов, которые нужны для для текущих работ. Потом их можно убрать из избранного, т.к. слишком много избранного — это тоже мусор.
          Сейчас же если у меня в избранном один чанк, находящийся на 4-м уровне вложенности, то это не добавляет мне удобства, потому что при любой перезагрузке страницы мне снова нужно будет открывать все 4 папки глубины, чтобы добраться только до 1-го моего чанка. Хотя смысл избранного в том, чтобы оно было всегда под рукой.
          Вывод: в избранном не нужны вообще папки!
          Если у тебя получится вывести в избранное прямо в корень все избранные элементы подряд, то это намного облегчит работу, всё будет под рукой! Те же элементы, над которыми сейчас не работаю — просто удаляю из избранного.
            Сергей Шлоков
            26 октября 2015, 13:40
            0
            Если у тебя получится вывести в избранное прямо в корень все избранные элементы подряд, то это намного облегчит работу, всё будет под рукой!
            Это совсем не сложно. Просто это вопрос дискуссионный — нужны они или нет. Соглашусь, что они не удобны. Лично я бы тоже их убрал.
              Василий Столейков
              26 октября 2015, 17:04
              0
              Если они кому-то так нужны, то выведи это в системные настройки. Хотя непонятно кому нужны вложенные папки для избранного, ведь избранное нужно только для пары элементов, а лазить за ними в глубину это трудозатратно, а ведь ещё нужно помнить в какой из папок нужный тебе элемент…
              Избранное, это текучая часть — сегодня избранное, завтра уже можно удалить его оттуда за ненадобностью.
              В среднестатическом сайте элементов совсем немного и избранное в принципе не сильно будет востребованно — только для 1-2 чанков. А на больших сайтах, где нужно всё упрощать для быстроты — папки только усложняют работу.
                Сергей Шлоков
                27 октября 2015, 14:11
                +1
                Сделал без папок. Кроме того, для оптимизации добавил системную настройку «Не проверять права». Если разработчик один, то нафига лопатить дерево и проверять права на каждый элемент. А если не проверять права, то и нет нужды в коллекции объектов, можно зачитать в массив. Это уменьшает время загрузки дерева и используемую память.
              Сергей Шлоков
              26 октября 2015, 13:53
              0
              при любой перезагрузке страницы мне снова нужно будет открывать все 4 папки глубины
              Если папку оставить открытой, то при следующей загрузке она откроется.
                Василий Столейков
                26 октября 2015, 17:07
                0
                А если её закрыть? А если мне нужно в соседнюю папку на такой же глубине? А если...
                На самом деле мне кажется это костыль, т.к. в самом дереве тоже бывают глюки, которые требуют его обновления или закрытия, особенно когда в процессе работы раскрыты почти все папки и вдруг решаешь их позакрывать.
                Хотя это моё личное мнение )))
          Василий Столейков
          27 октября 2015, 10:55
          0
          А для вкладки «Файлы» избранное возможно сделать? Тоже можно без папок, если папки нужны, то выключаем режим избранного.
            Сергей Шлоков
            27 октября 2015, 14:05
            +1
            Посмотрю. Там используются источники. Если получится, сделаю.
            Павел Гвоздь
            30 октября 2015, 08:32
            0
            Сергей, у меня ошибки вываливаются на 2.3.6 с избранным и кнопки на типе элементов не появляется, да и стандартные пропали куда-то:


            Кеш обновлял…
              Сергей Шлоков
              30 октября 2015, 09:10
              0
              Да, немного накосячил. Исправленная версия уже доступна в магазине. Если сразу не заработает, то нужно удалить удалить все из папки /core/cache/admintools/favorite_elements/ и завершить все сеансы, чтобы убить сессию.
              Алексей
              10 мая 2016, 11:18
              4
              0
              Было бы классно как-то удобно и на виду расположить вот эти вот хоткеи MODX:
              Дмитрий Суворов
              05 ноября 2016, 22:24
              0
              Доброго времени суток! Заметил небольшой баг при использовании темы dark.

              В «Контроле доступа», такой момент: prnt.sc/d3ibo3
              Если пробовать оттянуть границу вправо, она наоборот смещается влево на определенный интервал при каждой попытке:
              1. prnt.sc/d3ia5c
              2. prnt.sc/d3ibcx
                Сергей Шлоков
                06 ноября 2016, 07:47
                0
                Дмитрий, а как вы пришли к выводу, что это именно из-за темы dark?
                  Дмитрий Суворов
                  06 ноября 2016, 12:53
                  0
                  Прощу прощения за беспокойство, просто из-за светлого дефолтного оформления не замечал этот косяк ранее и не проверив решил что из-за темы
                Oleg
                26 октября 2017, 13:09
                0
                Не работает поле (неизвестно, для чего оно) — на скриншоте обвёл красным. Проверил на своём сайте, и после на modhost.pro, с одним этим компонентом.

                  Владимир
                  26 октября 2017, 13:50
                  0
                  Если вы кликните по записям, то в этом поле (визуального редактора) появится их содержимое
                  Вы наверно считаете что поле должно скрываться до выбора конкретной записи? Например мне не мешает пользоваться этим компонентом «как есть».
                    Oleg
                    26 октября 2017, 14:17
                    0
                    Владимир, благодарю! Я проглядел этот функционал, он удобный. Заблокированный текстовый редактор немного вводит в заблуждение, скрыть его было бы лучше. Но это уже мелочи, на вкус, они не мешают работе.
                      Владимир
                      26 октября 2017, 14:44
                      0
                      Спасибо разработчику)) Надеюсь он еще много чего для MODX придумает, а то все грозится уйти в монастырь перейти на другой фреймворк :)
                      Эх… нет в мире стабильности.
                        Сергей Шлоков
                        26 октября 2017, 20:11
                        0
                        Почему грозится? Он уже перешел. Новых разработок для MODX не планируется. Только в рамках поддержки своих сайтов, которые пока ещё на MODX.
                          Владимир
                          26 октября 2017, 20:12
                          0
                          Грусть-печать :(
                            Сергей Шлоков
                            26 октября 2017, 20:15
                            0
                            Думаю, ты изменишь своё мнение. :) Надеюсь не долго ждать осталось.
                              Владимир
                              26 октября 2017, 20:29
                              0
                              Это сложный вопрос.
                              Просто порассуждаю. Те, для кого это в той или иной степени бизнес, с движка (любого) не слазят по причинам привычки (наработок), множества проектов у клиентов именно на этом движке, понятным социальным моментам, пример тому сообщество, поставляющее идеи и решения. Т.е. ущербность того или иного инструментария компенсируется вот этим всем.
                              Когда то да, все меняется. Я отказался пользоваться вордпрессом и джумлой, а кто-то лепит на том же вордпрессе и рад (да еще сколько клиентов просят «Только вордпресс!»)

                              PS
                              Он уже перешел.

                              Сергей, твоих фишек будет не хватать. Сам многими пользуюсь и вспоминаю добрым словом.
                  Katya Larionova
                  22 января 2018, 16:57
                  0
                  в редактировании комментарий сниппета Tiket не вертикальной прокрутки, нет возможности прокрутить до конца списка
                  prntscr.com/i3xodc
                    Сергей Шлоков
                    22 января 2018, 17:19
                    +1
                    Сочувствую. А ко мне обратились потому что я:
                    — красивый;
                    — добрый;
                    — оказался под рукой.
                      Katya Larionova
                      23 января 2018, 10:05
                      0
                      После обновления этого компонента
                        Сергей Шлоков
                        23 января 2018, 10:23
                        0
                        Кать, давайте поиграем в ролевые игры. Я буду Ватсоном. Объясните мне вашу логическую цепочку, которая привела ко мне.
                        Я знаю:
                        — что у Вас нестандартная тема админки.
                        — последняя версия AdminTools вышла полгода назад и не касалась стилей. Версия с темами выходила осенью 2016 года.

                        Я не знаю:
                        — используете ли Вы какую-нибудь тему AdminTools и если да, то пробовали её отключать?
                        — проверяли ли Вы какой css отключает прокрутку?
                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    36