config['php_class'] = get_class($this);
// element id
$this->config['id'] = 'recent_works';
// element name
$this->config['name'] = __('Recent Works', 'fusion-core');
// element icon
$this->config['icon_url'] = "icons/sc-text_block.png";
// css class related to this element
$this->config['css_class'] = "fusion_element_box";
// element icon class
$this->config['icon_class'] = 'fusion-icon builder-options-icon fusiona-insertpicture';
// tooltip that will be displyed upon mouse over the element
//$this->config['tool_tip'] = 'Creates a Recent Works Blck';
// any special html data attribute (i.e. data-width) needs to be passed
// drop_level: elements with higher drop level can be dropped in elements with lower drop_level,
// i.e. element with drop_level = 2 can be dropped in element with drop_level = 0 or 1 only.
$this->config['data'] = array("drop_level" => "4");
}
// override default implemenation for this function as this element have special view
public function create_visual_editor( $params ) {
$innerHtml = '
';
$innerHtml .= '
'.__('Recent Works', 'fusion-core').'layout = icon-on-side
columns = 5
categories = All
';
$innerHtml .= '
';
$this->config['innerHtml'] = $innerHtml;
}
//this function defines TextBlock sub elements or structure
function popup_elements() {
$no_of_columns = Helper::fusion_create_dropdown_data( 1 , 6 );
$wp_categories_list = Helper::fusion_shortcodes_categories('portfolio_category');
$animation_speed = Helper::get_animation_speed_data();
$animation_direction = Helper::get_animation_direction_data();
$animation_type = Helper::get_animation_type_data();
$choices = Helper::get_shortcode_choices();
$this->config['subElements'] = array(
array( "name" => __('Layout', 'fusion-core'),
"desc" => __('Choose the layout for the shortcode', 'fusion-core'),
"id" => "fusion_layout",
"type" => ElementTypeEnum::SELECT,
"value" => "carousel",
"allowedValues" => array('carousel' => __('Carousel', 'fusion-core'),
'grid' => __('Grid', 'fusion-core'),
'grid-with-excerpts' => __('Grid with Excerpts', 'fusion-core'))
),
array( "name" => __('Picture Size', 'fusion-core'),
"desc" => __('fixed = width and height will be fixed
auto = width and height will adjust to the image.', 'fusion-core'),
"id" => "fusion_picture_size",
"type" => ElementTypeEnum::SELECT,
"value" => "fixed",
"allowedValues" => array('fixed' => __('Fixed', 'fusion-core'),
'auto' => __('Auto', 'fusion-core'))
),
array( "name" => __('Grid with Excerpts Layout', 'fusion-core'),
"desc" => __('Select if the grid with excerpts layouts are boxed or unboxed.', 'fusion-core'),
"id" => "fusion_boxed_text",
"type" => ElementTypeEnum::SELECT,
"value" => "unboxed",
"allowedValues" => array('boxed' => __('Boxed', 'fusion-core'),
'unboxed' => __('Unboxed', 'fusion-core'))
),
array("name" => __('Show Filters', 'fusion-core'),
"desc" => __('Choose to show or hide the category filters', 'fusion-core'),
"id" => "fusion_filters",
"type" => ElementTypeEnum::SELECT,
"value" => "yes",
"allowedValues" => $choices
),
array("name" => __('Columns', 'fusion-core'),
"desc" => __('Select the number of columns to display. Does not work with Carousel layout.', 'fusion-core'),
"id" => "fusion_columns",
"type" => ElementTypeEnum::SELECT,
"value" => "3",
"allowedValues" => $no_of_columns
),
array("name" => __('Column Spacing', 'fusion-core'),
"desc" => __('Insert the amount of spacing between portfolio items without "px". ex: 7. Does not work with Carousel layout.', 'fusion-core'),
"id" => "fusion_column_spacing",
"type" => ElementTypeEnum::INPUT,
"value" => "12",
),
array("name" => __('Categories', 'fusion-core'),
"desc" => __('Select a category or leave blank for all', 'fusion-core'),
"id" => "fusion_cat_slug",
"type" => ElementTypeEnum::MULTI,
"value" => array(''),
"allowedValues" => $wp_categories_list
),
array("name" => __('Exclude Categories', 'fusion-core'),
"desc" => __('Select a category to exclude', 'fusion-core'),
"id" => "fusion_exclude_cats",
"type" => ElementTypeEnum::MULTI,
"value" => array(''),
"allowedValues" => $wp_categories_list
),
array("name" => __('Number of Posts', 'fusion-core'),
"desc" => __('Select the number of posts to display', 'fusion-core'),
"id" => "fusion_number_posts",
"type" => ElementTypeEnum::INPUT,
"value" => "8"
),
array("name" => __('Excerpt Length', 'fusion-core'),
"desc" => __('Insert the number of words/characters you want to show in the excerpt', 'fusion-core'),
"id" => "fusion_excerpt_words",
"type" => ElementTypeEnum::INPUT,
"value" => 35,
),
array("name" => __('Animation Type', 'fusion-core'),
"desc" => __('Select the type on animation to use on the shortcode', 'fusion-core'),
"id" => "fusion_animation_type",
"type" => ElementTypeEnum::SELECT,
"value" => "",
"allowedValues" => $animation_type
),
array("name" => __('Direction of Animation', 'fusion-core'),
"desc" => __('Select the incoming direction for the animation', 'fusion-core'),
"id" => "fusion_animation_direction",
"type" => ElementTypeEnum::SELECT,
"value" => "",
"allowedValues" => $animation_direction
),
array("name" => __('Speed of Animation', 'fusion-core'),
"desc" => __('Type in speed of animation in seconds (0.1 - 1)', 'fusion-core'),
"id" => "fusion_animation_speed",
"type" => ElementTypeEnum::SELECT,
"value" => "0.1",
"allowedValues" => $animation_speed
),
array("name" => __('CSS Class', 'fusion-core'),
"desc" => __('Add a class to the wrapping HTML element.', 'fusion-core'),
"id" => "fusion_class",
"type" => ElementTypeEnum::INPUT,
"value" => ""
),
array("name" => __('CSS ID', 'fusion-core'),
"desc" => __('Add an ID to the wrapping HTML element.', 'fusion-core'),
"id" => "fusion_id",
"type" => ElementTypeEnum::INPUT,
"value" => ""
),
);
}
}