'',
'id' => '',
), $args
);
extract( $defaults );
self::$parent_args = $defaults;
$html = sprintf( '
', FusionCore_Plugin::attributes( 'toggle-shortcode' ), FusionCore_Plugin::attributes( 'toggle-shortcode-panelgroup' ), do_shortcode( $content ) );
$this->accordian_counter++;
return $html;
}
function attr() {
$attr = array();
$attr['class'] = 'accordian fusion-accordian';
if( self::$parent_args['class'] ) {
$attr['class'] .= ' ' . self::$parent_args['class'];
}
if( self::$parent_args['id'] ) {
$attr['id'] = self::$parent_args['id'];
}
return $attr;
}
function panelgroup_attr() {
$attr = array();
$attr['class'] = 'panel-group';
$attr['id'] = 'accordion-' . $this->accordian_counter;
return $attr;
}
/**
* Render the child shortcode
* @param array $args Shortcode paramters
* @param string $content Content between shortcode
* @return string HTML output
*/
function render_child( $args, $content = '') {
$defaults = FusionCore_Plugin::set_shortcode_defaults(
array(
'open' => 'no',
'title' => '',
), $args
);
extract( $defaults );
self::$child_args = $defaults;
self::$child_args['toggle_class'] = '';
if( $open == 'yes' ) {
self::$child_args['toggle_class'] = 'in';
}
$this->collapse_id = substr( md5( sprintf( 'collapse-%s-%s', $this->accordian_counter, $this->collapse_counter ) ), 15 );
$html = sprintf( '', FusionCore_Plugin::attributes( 'fusion-panel panel-default' ),
FusionCore_Plugin::attributes( 'panel-heading' ), FusionCore_Plugin::attributes( 'panel-title toggle' ), FusionCore_Plugin::attributes( 'toggle-shortcode-data-toggle' ),
FusionCore_Plugin::attributes( 'toggle-shortcode-fa-icon' ), $title, FusionCore_Plugin::attributes( 'toggle-shortcode-collapse' ),
FusionCore_Plugin::attributes( 'panel-body toggle-content' ), do_shortcode($content));
$this->collapse_counter++;
return $html;
}
function fa_icon_attr() {
$attr = array();
$attr['class'] = 'fa-fusion-box';
return $attr;
}
function data_toggle_attr() {
$attr = array();
if( self::$child_args['open'] == 'yes' ) {
$attr['class'] = 'active';
}
$attr['data-toggle'] = 'collapse';
$attr['data-parent'] = '#accordion-' . $this->accordian_counter;
$attr['data-target'] = '#' . $this->collapse_id;
$attr['href'] = '#' . $this->collapse_id;
return $attr;
}
function collapse_attr() {
$attr = array();
$attr['id'] = $this->collapse_id;
$attr['class'] = 'panel-collapse collapse ' . self::$child_args['toggle_class'];
return $attr;
}
}
new FusionSC_Toggle();