/**
  * Editor Elements.
  *
  * This method defines the visual appearance of an element on the Builder canvas.
  */
 public function editor_element($params)
 {
     extract($params);
     $data['modal-title'] = $this->method_title;
     $data['modal-action'] = $this->shortcode['name'];
     $data['dragdrop-level'] = $this->shortcode['drag-level'];
     $data['shortcode-handler'] = $this->shortcode['name'];
     $data['shortcode-allowed'] = $this->shortcode['name'];
     $output = '<div class="ac-layout-section modal-animation ac-no-visual-updates ac-drag ' . $this->shortcode['name'] . '"' . ac_html_data_string($data) . '>';
     $output .= '<div class="ac-sorthandle menu-item-handle">';
     $output .= '<span class="ac-element-title">' . $this->method_title . '</span>';
     if (isset($this->shortcode['has_fields'])) {
         $output .= '<a class="axiscomposer-edit edit-element-icon" href="#edit" title="' . __('Edit Section', 'axiscomposer') . '">' . __('Edit Section', 'axiscomposer') . '</a>';
     }
     $output .= '<a class="axiscomposer-trash trash-element-icon" href="#trash" title="' . __('Delete Section', 'axiscomposer') . '">' . __('Delete Section', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-clone clone-element-icon" href="#clone" title="' . __('Clone Section', 'axiscomposer') . '">' . __('Clone Section', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-inner-shortcode ac-connect-sort ac-drop" data-dragdrop-level="' . $data['dragdrop-level'] . '">';
     $output .= '<textarea data-name="text-shortcode" rows="4" cols="20">' . ac_shortcode_string($this->shortcode['name'], $args, $content) . '</textarea>';
     if ($content) {
         $content = do_shortcode_builder($content);
         $output .= $content;
     }
     $output .= '</div>';
     $output .= '</div>';
     return $output;
 }
 /**
  * Editor Elements.
  *
  * This method defines the visual appearance of an element on the Builder canvas.
  */
 public function editor_element($params)
 {
     extract($params);
     $size = array('ac_cell_one_full' => '1/1', 'ac_cell_one_half' => '1/2', 'ac_cell_one_third' => '1/3', 'ac_cell_two_third' => '2/3', 'ac_cell_one_fourth' => '1/4', 'ac_cell_three_fourth' => '3/4', 'ac_cell_one_fifth' => '1/5', 'ac_cell_two_fifth' => '2/5', 'ac_cell_three_fifth' => '3/5', 'ac_cell_four_fifth' => '4/5');
     $data['width'] = $this->shortcode['name'];
     $data['modal-title'] = __('Edit Cell', 'axiscomposer');
     $data['modal-action'] = $this->shortcode['name'];
     $data['dragdrop-level'] = $this->shortcode['drag-level'];
     $data['shortcode-handler'] = $this->shortcode['name'];
     $data['shortcode-allowed'] = $this->shortcode['name'];
     $output = '<div class="ac-layout-column ac-layout-cell ac-no-visual-updates ac-drag ' . $this->shortcode['name'] . '"' . ac_html_data_string($data) . '>';
     $output .= '<div class="ac-sorthandle">';
     $output .= '<span class="ac-column-size">' . $size[$this->shortcode['name']] . '</span>';
     if (isset($this->shortcode['has_fields'])) {
         $output .= '<a class="axiscomposer-edit edit-element-icon" href="#edit" title="' . __('Edit Cell', 'axiscomposer') . '">' . __('Edit Cell', 'axiscomposer') . '</a>';
     }
     $output .= '<a class="axiscomposer-trash trash-element-icon" href="#trash" title="' . __('Delete Cell', 'axiscomposer') . '">' . __('Delete Cell', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-clone clone-element-icon" href="#clone" title="' . __('Clone Cell', 'axiscomposer') . '">' . __('Clone Cell', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-inner-shortcode ac-connect-sort ac-drop" data-dragdrop-level="' . $this->shortcode['drop-level'] . '">';
     $output .= '<span class="ac-fake-cellborder"></span>';
     $output .= '<textarea data-name="text-shortcode" rows="4" cols="20">' . ac_shortcode_string($this->shortcode['name'], $args, $content) . '</textarea>';
     if ($content) {
         $content = do_shortcode_builder($content);
         $output .= $content;
     }
     $output .= '</div>';
     $output .= '</div>';
     return $output;
 }
 /**
  * Editor Elements.
  *
  * This method defines the visual appearance of an element on the Builder canvas.
  */
 public function editor_element($params)
 {
     extract($params);
     $data['modal-title'] = $this->method_title;
     $data['modal-action'] = $this->shortcode['name'];
     $data['dragdrop-level'] = $this->shortcode['drag-level'];
     $data['shortcode-handler'] = $this->shortcode['name'];
     $data['shortcode-allowed'] = $this->shortcode['name'];
     if ($content) {
         $eventual_content = do_shortcode_builder($content);
         $textarea_content = ac_shortcode_string($this->shortcode['name'], $args, $content);
     } else {
         $eventual_content = '';
         $ac_cell_one_half = new AC_Shortcode_Cells_One_Half();
         $shortcode_params = array('content' => '', 'args' => '', 'data' => '');
         // Loading twice as we have to generate 2 cell :)
         $eventual_content .= $ac_cell_one_half->editor_element($shortcode_params);
         $eventual_content .= $ac_cell_one_half->editor_element($shortcode_params);
         $textarea_content = ac_shortcode_string($this->shortcode['name'], $args, '[ac_cell_one_half first][/ac_cell_one_half] [ac_cell_one_half][/ac_cell_one_half]');
     }
     $output = '<div class="ac-layout-row ac-layout-section modal-animation ac-no-visual-updates ac-drag ' . $this->shortcode['name'] . '"' . ac_html_data_string($data) . '>';
     $output .= '<div class="ac-sorthandle menu-item-handle">';
     $output .= '<span class="ac-element-title">' . $this->method_title . '</span>';
     if (isset($this->shortcode['has_fields'])) {
         $output .= '<a class="axiscomposer-edit edit-element-icon" href="#edit" title="' . __('Edit Row', 'axiscomposer') . '">' . __('Edit Row', 'axiscomposer') . '</a>';
     }
     $output .= '<a class="axiscomposer-trash trash-element-icon" href="#trash" title="' . __('Delete Row', 'axiscomposer') . '">' . __('Delete Row', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-clone clone-element-icon" href="#clone" title="' . __('Clone Row', 'axiscomposer') . '">' . __('Clone Row', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-cell">';
     $output .= '<a class="axiscomposer-cell-set set-cell-icon" href="#set-cell" title="' . __('Set Cell Size', 'axiscomposer') . '">' . __('Set Cell Size', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-cell-add add-cell-icon" href="#add-cell" title="' . __('Add Cell', 'axiscomposer') . '">' . __('Add Cell', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-inner-shortcode ac-connect-sort ac-drop" data-dragdrop-level="' . $this->shortcode['drop-level'] . '">';
     $output .= '<textarea data-name="text-shortcode" rows="4" cols="20">' . $textarea_content . '</textarea>';
     $output .= $eventual_content;
     $output .= '</div>';
     $output .= '</div>';
     return $output;
 }
 /**
  * Editor Elements.
  *
  * This method defines the visual appearance of an element on the Builder canvas.
  */
 public function editor_element($params)
 {
     extract($params);
     $size = array('ac_one_full' => '1/1', 'ac_one_half' => '1/2', 'ac_one_third' => '1/3', 'ac_two_third' => '2/3', 'ac_one_fourth' => '1/4', 'ac_three_fourth' => '3/4', 'ac_one_fifth' => '1/5', 'ac_two_fifth' => '2/5', 'ac_three_fifth' => '3/5', 'ac_four_fifth' => '4/5');
     $extra_class = isset($args[0]) ? $args[0] == 'first' ? ' ac-first-column' : '' : '';
     $output = '<div class="ac-layout-column ac-layout-column-no-cell modal-animation ac-drag ' . $this->shortcode['name'] . $extra_class . '" data-dragdrop-level="' . $this->shortcode['drag-level'] . '" data-width="' . $this->shortcode['name'] . '">';
     $output .= '<div class="ac-sorthandle menu-item-handle">';
     $output .= '<a class="ac-change-column-size layout-element-icon ac-decrease" href="#decrease" title="' . __('Decrease Column Size', 'axiscomposer') . '"></a>';
     $output .= '<span class="ac-column-size">' . $size[$this->shortcode['name']] . '</span>';
     $output .= '<a class="ac-change-column-size layout-element-icon ac-increase" href="#increase" title="' . __('Increase Column Size', 'axiscomposer') . '"></a>';
     $output .= '<a class="axiscomposer-trash trash-element-icon" href="#trash" title="' . __('Delete Column', 'axiscomposer') . '">' . __('Delete Column', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-clone clone-element-icon" href="#clone" title="' . __('Clone Column', 'axiscomposer') . '">' . __('Clone Column', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-inner-shortcode ac-connect-sort ac-drop" data-dragdrop-level="' . $this->shortcode['drop-level'] . '">';
     $output .= '<textarea data-name="text-shortcode" rows="4" cols="20">' . ac_shortcode_string($this->shortcode['name'], $args, $content) . '</textarea>';
     if ($content) {
         $content = do_shortcode_builder($content);
         $output .= $content;
     }
     $output .= '</div>';
     $output .= '</div>';
     return $output;
 }
 /**
  * Callback for default sortable elements.
  */
 public function sortable_editor_element($params)
 {
     $extra_class = '';
     $defaults = array('innerHtml' => '', 'class' => 'ac-default-container');
     $params = array_merge($defaults, $params);
     extract($params);
     $data['modal-title'] = $this->method_title;
     $data['modal-action'] = $this->shortcode['name'];
     $data['dragdrop-level'] = $this->shortcode['drag-level'];
     $data['shortcode-handler'] = $this->shortcode['name'];
     $data['shortcode-allowed'] = $this->shortcode['name'];
     if (isset($this->shortcode['shortcode-nested'])) {
         $data['shortcode-allowed'] = $this->shortcode['shortcode-nested'];
         $data['shortcode-allowed'][] = $this->shortcode['name'];
         $data['shortcode-allowed'] = implode(',', $data['shortcode-allowed']);
     }
     $output = '<div class="ac-sortable-element modal-animation ac-drag ' . $this->shortcode['name'] . ' ' . $class . '"' . ac_html_data_string($data) . '>';
     $output .= '<div class="ac-sorthandle menu-item-handle">';
     if (isset($this->shortcode['has_fields'])) {
         $extra_class = 'axiscomposer-edit';
         $output .= '<a class="' . $extra_class . ' edit-element-icon" href="#edit" title="' . __('Edit Element', 'axiscomposer') . '">' . __('Edit Element', 'axiscomposer') . '</a>';
     }
     $output .= '<a class="axiscomposer-trash trash-element-icon" href="#trash" title="' . __('Delete Element', 'axiscomposer') . '">' . __('Delete Element', 'axiscomposer') . '</a>';
     $output .= '<a class="axiscomposer-clone clone-element-icon" href="#clone" title="' . __('Clone Element', 'axiscomposer') . '">' . __('Clone Element', 'axiscomposer') . '</a>';
     $output .= '</div>';
     $output .= '<div class="ac-inner-shortcode ' . $extra_class . '">';
     $output .= $innerHtml;
     $output .= '<textarea data-name="text-shortcode" rows="4" cols="20">' . ac_shortcode_string($this->shortcode['name'], $args, $content) . '</textarea>';
     $output .= '</div>';
     $output .= '</div>';
     return $output;
 }