/** * Execute and display a template script. * * @param string $tpl The name of the template file to parse; automatically searches through the template paths. * * @return mixed A string if successful, otherwise a JError object. */ public function display($tpl = 'default') { $document = JFactory::getDocument(); $app = JFactory::getApplication(); $input = $app->input; $model = $this->getModel(); $usersConfig = JComponentHelper::getParams('com_fabrik'); $model->setId($input->getInt('id', $usersConfig->get('visualizationid', $input->getInt('visualizationid', 0)))); if (!$model->canView()) { echo FText::_('JERROR_ALERTNOAUTHOR'); return false; } $srcs = FabrikHelperHTML::framework(); FabrikHelperHTML::styleSheet('plugins/fabrik_visualization/nvd3_chart/lib/novus-nvd3/src/nv.d3.css'); $srcs['FbListFilter'] = 'media/com_fabrik/js/listfilter.js'; $srcs['AdvancedSearch'] = 'media/com_fabrik/js/advanced-search.js'; $lib = COM_FABRIK_LIVESITE . 'plugins/fabrik_visualization/nvd3_chart/lib/novus-nvd3/'; $document->addScript($lib . 'lib/d3.v2.js'); $document->addScript($lib . 'nv.d3.js'); $document->addScript($lib . 'src/tooltip.js'); $document->addScript($lib . 'lib/fisheye.js'); $document->addScript($lib . 'src/utils.js'); $document->addScript($lib . 'src/models/legend.js'); $document->addScript($lib . 'src/models/axis.js'); $document->addScript($lib . 'src/models/scatter.js'); $document->addScript($lib . 'src/models/line.js'); $document->addScript($lib . 'src/models/lineChart.js'); $document->addScript($lib . 'src/models/multiBar.js'); $document->addScript($lib . 'src/models/multiBarChart.js'); $this->row = $model->getVisualization(); $this->requiredFiltersFound = $model->getRequiredFiltersFound(); $params = $model->getParams(); $js = $model->js(); FabrikHelperHTML::addScriptDeclaration($js); $this->params = $params; $viewName = $this->getName(); $pluginManager = JModelLegacy::getInstance('Pluginmanager', 'FabrikFEModel'); $plugin = $pluginManager->getPlugIn('calendar', 'visualization'); $this->params = $params; $this->postText = $model->postText; $this->assign('containerId', $this->get('ContainerId')); $this->assign('filters', $this->get('Filters')); $this->showFilters = $model->showFilters(); $this->assign('filterFormURL', $this->get('FilterFormURL')); $tpl = $params->get('nvd3_chart_layout', $tpl); $this->_setPath('template', JPATH_ROOT . '/plugins/fabrik_visualization/nvd3_chart/views/nvd3_chart/tmpl/' . $tpl); FabrikHelperHTML::stylesheetFromPath('plugins/fabrik_visualization/nvd3_chart/views/nvd3_chart/tmpl/' . $tpl . '/template.css'); // Assign something to Fabrik.blocks to ensure we can clear filters $ref = $model->getJSRenderContext(); $js = "{$ref} = {};"; $js .= "\n" . "Fabrik.addBlock('{$ref}', {$ref});"; $js .= $model->getFilterJs(); FabrikHelperHTML::iniRequireJs($model->getShim()); FabrikHelperHTML::script($srcs, $js); $text = $this->loadTemplate(); FabrikHelperHTML::runContentPlugins($text); echo $text; }
/** * Add CSS * * @param $tpl */ private function css($tpl) { $lib = COM_FABRIK_LIVESITE . 'plugins/fabrik_visualization/fullcalendar/libs/fullcalendar/'; FabrikHelperHTML::styleSheet($lib . 'fullcalendar.css'); // Add our css FabrikHelperHTML::stylesheetFromPath('plugins/fabrik_visualization/fullcalendar/fullcalendar.css'); JHTML::stylesheet('media/com_fabrik/css/list.css'); FabrikHelperHTML::stylesheetFromPath('plugins/fabrik_visualization/fullcalendar/views/fullcalendar/tmpl/' . $tpl . '/template.css'); // Adding custom.css, just for the heck of it FabrikHelperHTML::stylesheetFromPath('plugins/fabrik_visualization/fullcalendar/views/fullcalendar/tmpl/' . $tpl . '/custom.css'); }
/** */ public function framework() { static $added; if (!$added) { $config = JFactory::getConfig(); $debug = $config->get('debug'); $uncompressed = $debug ? '-uncompressed' : ''; $src = array(); if (JRequest::getInt('ajax') !== 1 && JRequest::getVar('tmpl') !== 'component') { $src[] = 'media/system/js/mootools-core' . $uncompressed . '.js'; $src[] = 'media/system/js/mootools-more' . $uncompressed . '.js'; } $src[] = 'media/com_fabrik/js/mootools-ext.js'; $src[] = 'media/com_fabrik/js/art.js'; $src[] = 'media/com_fabrik/js/icons.js'; $src[] = 'media/com_fabrik/js/icongen.js'; $src[] = 'media/com_fabrik/js/fabrik.js'; $src[] = 'media/com_fabrik/js/tips/floatingtips.js'; $src[] = 'media/com_fabrik/js/window.js'; FabrikHelperHTML::styleSheet(COM_FABRIK_LIVESITE . '/media/com_fabrik/css/fabrik.css'); FabrikHelperHTML::addScriptDeclaration("head.ready(function() { Fabrik.liveSite = '" . COM_FABRIK_LIVESITE . "';});"); FabrikHelperHTML::script($src, true, "window.fireEvent('fabrik.framework.loaded');"); $added = true; } }
/** */ public function framework(){ if (!self::$framework) { $config = JFactory::getConfig(); $debug = $config->get('debug'); //$uncompressed = $debug ? '-uncompressed' : ''; $src = array(); //loading here as well as normal J behavior call makes document.body not found for gmap element when // rendered in the form if (JRequest::getInt('ajax') !== 1 && JRequest::getVar('tmpl') !== 'component') { // $src[] = 'media/system/js/mootools-core'.$uncompressed.'.js'; // $src[] = 'media/system/js/mootools-more'.$uncompressed.'.js'; } JHtml::_('behavior.framework', true); if (!FabrikHelperHTML::inAjaxLoadedPage()) { JDEBUG ? JHtml::_('script', 'media/com_fabrik/js/lib/head/head.js'): JHtml::_('script', 'media/com_fabrik/js/lib/head/head.min.js'); } $src[] = 'media/com_fabrik/js/mootools-ext.js'; $src[] = 'media/com_fabrik/js/lib/art.js'; $src[] = 'media/com_fabrik/js/icons.js'; $src[] = 'media/com_fabrik/js/icongen.js'; $src[] = 'media/com_fabrik/js/fabrik.js'; $src[] = 'media/com_fabrik/js/lib/tips/floatingtips.js'; $src[] = 'media/com_fabrik/js/window.js'; FabrikHelperHTML::styleSheet(COM_FABRIK_LIVESITE.'/media/com_fabrik/css/fabrik.css'); FabrikHelperHTML::addScriptDeclaration("head.ready(function() { Fabrik.liveSite = '".COM_FABRIK_LIVESITE."';});"); FabrikHelperHTML::script($src, true, "window.fireEvent('fabrik.framework.loaded');"); self::$framework = true; } }
/** * load Fabrik's framework (js and base css file) */ public static function framework() { if (!self::$framework) { $src = array(); if (FabrikHelperHTML::inAjaxLoadedPage()) { // 17/10/2011 (firefox) retesting loading this in ajax page as without it Class is not available? so form class doesnt load JHtml::_('behavior.framework', true); //$$$ rob 06/02/2012 recall ant so that Color.detach is available (needed for opening a window from within a window) JHtml::_('script', 'media/com_fabrik/js/lib/art.js'); JHtml::_('script', 'media/com_fabrik/js/lib/Event.mock.js'); } if (!FabrikHelperHTML::inAjaxLoadedPage()) { //required so that any ajax loaded form can make use of it later on (otherwise stops js from working) //only load in main/first window - otherwise reloading it causes js errors related to calendar translations JHTML::_('behavior.calendar'); //loading framework, if in ajax loaded page: // * makes document.body not found for gmap element when // * removes previously added window.events (17/10/2011 we're now using Fabrik.events - so this may no longer be an issue) JHtml::_('behavior.framework', true); JDEBUG ? JHtml::_('script', 'media/com_fabrik/js/lib/head/head.js') : JHtml::_('script', 'media/com_fabrik/js/lib/head/head.min.js'); $navigator = JBrowser::getInstance(); if ($navigator->getBrowser() == 'msie') { $src[] = 'media/com_fabrik/js/lib/flexiejs/flexie.js'; } $src[] = 'media/com_fabrik/js/mootools-ext.js'; $src[] = 'media/com_fabrik/js/lib/art.js'; $src[] = 'media/com_fabrik/js/icons.js'; $src[] = 'media/com_fabrik/js/icongen.js'; $src[] = 'media/com_fabrik/js/fabrik.js'; $src[] = 'media/com_fabrik/js/lib/tips/floatingtips.js'; $src[] = 'media/com_fabrik/js/window.js'; $src[] = 'media/com_fabrik/js/lib/Event.mock.js'; FabrikHelperHTML::styleSheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/fabrik.css'); // $$$ hugh - setting liveSite needs to use addScriptDecleration, so it loads earlier, otherwise // in some browsers it's not available when other things (like map biz) are loading FabrikHelperHTML::addScriptDeclaration("head.ready(function() { Fabrik.liveSite = '" . COM_FABRIK_LIVESITE . "';});"); FabrikHelperHTML::script($src, "Fabrik.fireEvent('fabrik.framework.loaded');"); /* $script = array(); $script[] = "Fabrik.liveSite = '" . COM_FABRIK_LIVESITE . "'"; $script[] = "Fabrik.fireEvent('fabrik.framework.loaded');"; FabrikHelperHTML::script($src, implode("\n", $script)); */ } self::$framework = true; } }