public static function render(array $parameters) { // Begins layout $xmlOutput = parent::begin(self::$parameters['class']); // Loops over each content block foreach ($parameters as $content) { // Adds row $xmlOutput .= DataCenterXml::div(DataCenterXml::div(array('class' => 'row'), $content)); } // Ends layout $xmlOutput .= parent::end(); // Returns results return $xmlOutput; }
public static function render(array $parameters) { // Begins layout $xmlOutput = parent::begin(self::$parameters['class']); // Calculates split percentage $split = round(100 / count($parameters)); // Loops over each content block foreach ($parameters as $content) { // Adds column $xmlOutput .= DataCenterXml::div(array('style' => "width:{$split}%;float:left;"), DataCenterXml::div(array('class' => 'column'), $content)); } // Ends layout $xmlOutput .= parent::end(); // Returns results return $xmlOutput; }
public static function render(array $parameters) { // Increment the number of tabbed layouts in existence self::$sets++; // Gets id for this set $set = self::$sets; // Begins layout $xmlOutput = parent::begin(self::$parameters['class']); $xmlOutput .= DataCenterXml::open('div', array('class' => 'tabs')); // Loops over each content block $state = 'current'; $tab = 0; foreach ($parameters as $name => $content) { if ($content !== null) { // Adds row $xmlOutput .= DataCenterXml::div(array('class' => 'item-' . $state, 'id' => 'tabs_' . $set . '_tab_' . $tab, 'onclick' => DataCenterJs::callFunction('dataCenter.ui.layouts.tabs.select', array(DataCenterJs::toScalar($set), DataCenterJs::toScalar($tab)))), DataCenterUI::message('tab', $name)); $state = 'normal'; $tab++; } else { $xmlOutput .= DataCenterXml::div(array('class' => 'item-disabled'), DataCenterUI::message('tab', $name)); } } $xmlOutput .= DataCenterXml::close('div'); $xmlOutput .= DataCenterXml::clearFloating(); // Loops over each content block $display = 'block'; $tab = 0; foreach ($parameters as $content) { if ($content !== null) { // Adds row $xmlOutput .= DataCenterXml::div(DataCenterXml::div(array('class' => 'page', 'id' => 'tabs_' . $set . '_page_' . $tab, 'style' => 'display:' . $display), $content)); $display = 'none'; $tab++; } } // Ends layout $xmlOutput .= parent::end(); // Builds javascript for layout $jsOutput = <<<END \t\t\tif ( !dataCenter.ui.layouts.tabs ) { \t\t\t\tdataCenter.ui.layouts.tabs = { \t\t\t\t\tsets: {}, \t\t\t\t\tselect: function( \t\t\t\t\t\tsetID, tabID \t\t\t\t\t) { \t\t\t\t\t\tif ( this.sets[setID] ) { \t\t\t\t\t\t\tfor ( var i = 0; i < this.sets[setID].count; i++ ) { \t\t\t\t\t\t\t\tvar page = document.getElementById( \t\t\t\t\t\t\t\t\t'tabs_' + setID + '_page_' + i \t\t\t\t\t\t\t\t); \t\t\t\t\t\t\t\tvar tab = document.getElementById( \t\t\t\t\t\t\t\t\t'tabs_' + setID + '_tab_' + i \t\t\t\t\t\t\t\t); \t\t\t\t\t\t\t\tif ( tab && page ) { \t\t\t\t\t\t\t\t\tif ( i == tabID ) { \t\t\t\t\t\t\t\t\t\tpage.style.display = 'block'; \t\t\t\t\t\t\t\t\t\ttab.className = 'item-current'; \t\t\t\t\t\t\t\t\t} else { \t\t\t\t\t\t\t\t\t\tpage.style.display = 'none'; \t\t\t\t\t\t\t\t\t\ttab.className = 'item-normal'; \t\t\t\t\t\t\t\t\t} \t\t\t\t\t\t\t\t} \t\t\t\t\t\t\t} \t\t\t\t\t\t} \t\t\t\t\t}, \t\t\t\t\taddSet: function( name, count ) { \t\t\t\t\t\tthis.sets[name] = {}; \t\t\t\t\t\tthis.sets[name].count = count; \t\t\t\t\t} \t\t\t\t} \t\t\t} \t\t\t// Add information for this set \t\t\tdataCenter.ui.layouts.tabs.addSet( {$set}, {$tab} ); END; // Adds script $xmlOutput .= DataCenterXml::script($jsOutput); // Returns results return $xmlOutput; }