Как стать автором
Обновить

Модальные окна для рельсов

Время на прочтение1 мин
Количество просмотров1.6K
Доброго времени суток, Хабровчане!

Сразу же извините меня за мой русский, так как мой родной язык украинский.

Я Ruby On Rails разработчик и много раз сталкивался с потребностью модальных окон в моих проектах. Перепробовал я много готовых таких как facebox, fancybox, диалоги с jQuery UI и тд.
На одном из моих последних проектов заказчик захотел добавить конфирм диалог перед удалением какого либо ресурса. Надо было выводить красивое диалоговое окно, а не джаваскриптовый алерт который дает нам rails ujs. Тогда в нас использовался facebox и мне пришлось лазить по всему проекту допиливать все это для фейсбокса. И тогда я решил написать что-то свое, но чисто для рельсов, так все выше упомянуты легко прикрутить куда угодно.
Основной фишкой гема стало то что стандартные рельсовские конфирмейшены можно заменить лишь прописав одну строчку в application.js файле. Добавил еще поддержку картинок чтобы не было необходимости ставить еще что-то если на проекте надо простая галерейка. Все занимает только 5kb. Работает во всех браузерах и в ie начиная с седьмой версии.

Выглядит вот так:
image

image
Правда для IE не такая красивая закрывалка. Кому надо что бы ну прям во всех браузерах выглядело одинаково надо поставить опцию:
$.lazybox.settings({niceClose: false})


Гем умеет:

  • Выводить конфирм диалоги
  • Выводить ремоут страницы
  • Выводить картинки


Установка проще простого

Gemfile:
gem 'lazybox'

application.js:
//= require lazybox

applications.css:
*= require lazybox


Для того чтобы заменить стандартные конфирмы в applications.js добавьте
$.rails.allowAction = $.lazybox.confirm;


У библиотеки есть много опций. Просмотреть можно тут
Демо тут

Спасибо за внимание.
Теги:
Хабы:
Всего голосов 18: ↑13 и ↓5+8
Комментарии5

Публикации

Истории

Работа

Ruby on Rails
4 вакансии

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань