/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body, &$renderer, &$parser) { $id = $plugin->id(); $seconds = $plugin->parameter('seconds'); $slideAnimation = ''; $i = 0; if (!$parser->wysiwyg) { $children = $plugin->children('Plugin'); $childrenCount = count($children); foreach ($children as $child) { switch ($child->type) { case 'Slider': $sliderId = $child->id(); $thisSlideSeconds = $seconds * ($childrenCount - $i - 1); $i++; $slideAnimation .= <<<CSS CSS; break; } } $totalSlideSeconds = $i * $seconds; $parser->scripts->addCss(<<<CSS CSS ); } $sliders = parent::render($plugin, $body, $renderer, $parser); return $sliders; }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body = '', &$renderer, &$parser) { $plugin->allowLineAfter = false; $id = $plugin->id(); $parser->scripts->addScript(<<<JS \$(function() { \tvar tabs = \$('#{$id}'); \ttabs.tabs(); }); JS ); if (!empty($plugin->privateAttributes['titles'])) { $ul = $renderer->helper('ul'); foreach ($plugin->privateAttributes['titles'] as $tabId => $title) { $a = $renderer->helper('a'); $a->attributes['href'] = '#' . $tabId; $a->staticChildren[] = $title; $li = $renderer->helper('li'); $li->children[] = $a; $ul->children[] = $li; } $body = $ul->render() . $body; } $tabs = parent::render($plugin, $body, $renderer, $parser); return $tabs; }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body, &$renderer, &$parser) { if (!isset($plugin->parent->privateAttributes['titles'])) { $plugin->parent->privateAttributes['titles'] = array(); } $plugin->parent->privateAttributes['titles'][$plugin->id()] = $plugin->parameter('title'); return parent::render($plugin, $body, $renderer, $parser); }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body, &$renderer, &$parser) { if (!isset($plugin->parent->privateAttributes['titles'])) { $plugin->parent->privateAttributes['titles'] = array(); } $parser->scripts->addScript(<<<JS \$(".section:first").addClass("active"); JS ); $id = $plugin->id(); //$plugin->attributes['data-anchor'] = $id; $plugin->parent->privateAttributes['titles'][$id] = $plugin->parameter('title'); return parent::render($plugin, $body, $renderer, $parser); }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body = '', &$renderer, &$parser) { $id = $plugin->id(); $parser->scripts->addScript(<<<JS \$(function() { \t \$( '#{$id}' ).accordion({ \t header: 'h3' \t }); }); JS ); $accordions = parent::render($plugin, $body, $renderer, $parser); return $accordions; }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body = '', &$renderer, &$parser) { $elementName = $parser->wysiwyg && !empty($this->wysiwygTagType) ? $this->wysiwygTagType : $this->htmlTagType; $element = $renderer->element($this->expressionType, $elementName); $element->classes[] = (!empty($this->attributes['class']) ? $this->attributes['class'] . ' ' : '') . $plugin->type; $element->attributes['id'] = $id = $plugin->id(); $parser->plugins[] = $id; $style = $this->stylize($plugin->parametersRaw); if (!empty($style)) { $element->attributes['style'] = $style; } $this->attributeDefaults($plugin->attributes); foreach ($plugin->attributes as $attribute => $value) { $element->attributes[$attribute] = $value; } if ($parser->wysiwyg) { $parser->scripts->addScript(""); } $element->detailedAttributes += $this->detailedAttributes; $element->detailedAttributes['data-plugin-type'] = $plugin->type; $element->detailedAttributes['data-draggable'] = $this->draggable ? 'true' : 'false'; $element->detailedAttributes['data-plugin-parameters'] = empty($plugin->parametersRaw) ? null : urlencode(json_encode($plugin->parametersRaw)); $element->detailedAttributes['data-in-line'] = $plugin->inLine ? 'true' : 'false'; if ($plugin->inLine) { $element->detailedAttributes['contenteditable'] = 'false'; if ($this->hasHtmlBody == false && !$this->bodyIsAutoGenerated) { $element->setInline(); } } if (!empty($body)) { $element->staticChildren[] = $body; } $renderedPluginElement = $element->render(); return $renderedPluginElement; }
/** * @param WikiLingo\Expression\Plugin $plugin * @param string $body * @param WikiLingo\Renderer $renderer * @param WikiLingo\Parser $parser * @return string */ public function render(WikiLingo\Expression\Plugin &$plugin, &$body = '', &$renderer, &$parser) { $plugin->allowLineAfter = false; $id = $plugin->id(); $anchors = array(); if (!$parser->wysiwyg) { if (!empty($plugin->privateAttributes['titles'])) { //menu $ul = Type::Helper($renderer->helper('ul')); $ul->attributes['id'] = $id . '-menu'; $i = 1; //anchors for sections foreach ($plugin->privateAttributes['titles'] as $sectionId => $title) { $link = Type::Helper($renderer->helper('span')); $link->attributes['href'] = $sectionId; $link->attributes['onclick'] = <<<JS \$.fn.fullpage.moveTo({$i}); return false; JS; $i++; //$anchors[] = $a->attributes['data-index'] = $i++; //$a->attributes['id'] = $sectionId . '-anchor'; $link->staticChildren[] = $title; $li = Type::Helper($renderer->helper('li')); $li->children[] = $link; $ul->children[] = $li; } $body .= $ul->render(); $anchorsJson = json_encode($anchors); Type::Scripts($parser->scripts)->addScriptLocation('~/bower_components/fullPage.js/jquery.fullPage.js')->addCssLocation('~/bower_components/fullPage.js/jquery.fullPage.css')->addScript(<<<JS \$(function() { \$.fn.fullpage({ anchors: {$anchorsJson}, easing: 'easeInOutQuad', scrollSpeed: 1100, menu: '#{$id}-menu' }); }); JS )->addCss(<<<CSS #{$id}-menu { height: 40px; left: 0; margin: 0; padding: 0; position: fixed; top: 0; width: 100%; list-style: none outside none; } #{$id}-menu li { background-color: rgba(255, 255, 255, 0.5); color: #000000; border-radius: 10px; display: inline-block; margin: 10px; } #{$id}-menu li.active { background-color: rgba(0, 0, 0, 0.5); color: #FFFFFF; } #{$id}-menu li span { display: block; padding: 9px 18px; text-decoration: none; color: inherit; cursor: pointer; } CSS ); } } $tabs = parent::render($plugin, $body, $renderer, $parser); return $tabs; }