Викирама: ToDo-лист

Todo:PublicRelease

Делегируемые:

  • баг: функционал "androind-назад = ESC" в мобильниках почему-то не работает :(
  • если открыть фото, а потом закрыть, а потом нажать "Назад", то восстанавливается удаленный Якорь. Неудобно, надо чтобы клики по фото не попадали в историю браузера

Todo:someday

  • воспроизводимые баги:
    • Mini, Mini2, Mini3, Mini4, Mini6 -- художественные комбинации — здесь, если кликнуть на первое фото любой (например, последней) группы фото, фото не листаются влево вообще, но зато листаются вправо… по кругу?
    • если потянуть то, что не тянется, и отпустить мышку, когда курсор вне галереи, она закрывается, что неожиданно и раздражает
  • невоспроизводимые баги: при открытии с телефона, в Chrome, в режиме инкогнито при первом клике галерея стабильно генерится из превьюшек. Такой же глюк, возможно, проявляется на PC (но очень редко)
    • UPD: на DEC-19 не удается воспроизвести. Люди! Пожалуйста, протестируйте галерею на этих ваших мобильниках!
    • Связанный глюк из прошлого: почему-то на медленном интернете размер галереи задается по первой загруженной preview, а не по полноразмерной фото. Решалось добавлением в конфиг data-width='100%%'
  • оформить рецепт на pmwiki.org, взяв за основу Синтаксис [@Mini5:*@]

Как можно сделать разделение фотографий по группам, по аналогии с Ultralightbox?

В оригинальном рецепте есть вот такой функционал:
$Mini['EnableLightbox'] = 1; to enable Ultralightbox slideshow mode 1 (default is disabled, can be 1, 2 or 3). There are three modes of slideshows:

  • 1 : all thumbnails in the page form an "image set"; with < and > arrows you can see them all
  • 2 : each Mini: set is in an independent "image set"; < and > arrows show only the pictures in the current Mini: markup
  • 3 : each thumbnail is independent; the original is displayed with Ultralightbox but no < and > arrows, and sliding to prev/next is disabled.

В этом рецепте он не реализован, а именно работает сквозная группировка по всей странице.

Если мы захотим реализовать этот функционал, следует действовать примерно так.

В $Mini["MiniFmt0"] добавить id='lightbox_mini_%2\$s' :

 <div class='fotorama hidden' id='lightbox_mini_%2\$s' …

Таким образом, у каждого блока появится свой уникальный ID вида id='lightbox_mini_1'.

Теперь придется как следует доработать fotorama-ph.js. Начать вот так

   // $('.fotorama').first().attr('id','fotorama');
   $('.fotorama').removeClass('hidden');  
   $('.fotorama').appendTo('body');

Это мы заменили адресацию для общих действий с ID на class. Теперь смотрим следующую строку:

 $('a.ph-fotoramer').appendTo('#fotorama'); // так она выглядит сейчас, надо заменить #fotorama 

Это касается ссылок из LinkFmt0. У этих ссылок есть атрибут data-lightbox='lightbox_mini_2' , так вот его значение и есть цель для команды appendTo , соответствующее уникальному ID-блока, который мы определили выше.

Далее придется переписать код аналогичным образом:

  • инициировать столько экземпляров Фоторам, сколько их есть на странице
  • научить ссылки открывать конкретную Фотораму, определяя это по data-lightbox
  • общие действия (закрытия окна и т.д.) реализовывать через class, а не через ID, как сейчас

Как можно сделать разделение фотографий по группам, посредством вложения в объединяющий слой, как было в первой версии?

Это есть смысл делать только совместно с реализацией разделения. Вероятно, надо написать функцию, определяющую критерий группировки. Если ссылка внутри, условно .wikirama-unioner, то объединяем по нему. Если нет, то по атрибуту из data-lightbox…