/** * Replace insert tags. * * @param ReplaceInsertTagsEvent $event Replace insert tags event. * * @return void */ public function replaceIconInsertTag(ReplaceInsertTagsEvent $event) { if ($event->getTag() == 'icon' || $event->getTag() == 'i') { $icon = Bootstrap::generateIcon($event->getParam(0), $event->getParam(1)); $event->setHtml($icon); $event->stopPropagation(); } }
/** * Replace modal insert tag. * * This insert tag will replace the modal::* insert tag. It only creates an link. * * Supported formats are: * * modal_btn::id::default sm * - Creates an link to a modal by using modal modul name as label. * - Transforms 2nd param to btn-* classes * * modal_btn::id::default sm::Custom title * - creates an link to a modal with a custom title * * @param ReplaceInsertTagsEvent $event Replace insert tag event. * * @return void */ public function replaceModalButtonInsertTag(ReplaceInsertTagsEvent $event) { if ($event->getTag() === 'modal_btn') { $element = $this->createLink($event->getParam(0), $event->getParam(2)); $element->addClass('btn'); $classes = array_filter(explode(' ', $event->getParam(1))); $classes = array_map(function ($class) { return 'btn-' . $class; }, $classes); if ($classes) { $element->addClasses($classes); } else { $element->addClass('btn-default'); } if ($element) { $event->setHtml($element->generate()); } } }
/** * Translate event params. * * @param ReplaceInsertTagsEvent $event The subscribed event. * * @return array */ private function translateParams(ReplaceInsertTagsEvent $event) { $infinite = false; $columnSetId = $event->getParam(0); if ($event->getParam(1) === 'begin' && $event->getParam(2)) { $columnSetId = $event->getParam(2); if ($event->getParam(3)) { $infinite = true; } } return array($columnSetId, $infinite); }