/** * Render html UI_Slider. * * @since 4.0.0 */ public function render() { $html = ''; $ui_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-stepper', 'name' => $this->settings['name'], 'max_value' => $this->settings['max_value'], 'min_value' => $this->settings['min_value'], 'value' => $this->settings['value'], 'step_value' => $this->settings['step_value'])); $ui_stepper_html = $ui_stepper->render(); $html .= '<div class="cherry-slider-wrap">'; $html .= '<div class="cherry-slider-input">'; $html .= $ui_stepper_html; $html .= '</div>'; $html .= '<div class="cherry-slider-holder">'; $html .= '<div class="cherry-slider-unit" data-left-limit="' . esc_html($this->settings['min_value']) . '" data-right-limit="' . esc_html($this->settings['max_value']) . '" data-value="' . esc_html($this->settings['value']) . '"></div>'; $html .= '</div>'; $html .= '<div class="clear"></div>'; $html .= '</div>'; return $html; }
/** * Render html UI_Range_Slider. * * @since 4.0.0 */ public function render() { $html = ''; $ui_left_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-left-stepper', 'name' => $this->settings['name'] . '[left_value]', 'max_value' => $this->settings['max_value'], 'min_value' => $this->settings['min_value'], 'value' => $this->settings['value']['left_value'], 'step_value' => $this->settings['step_value'], 'class' => 'range-slider-left-stepper')); $ui_right_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-right-stepper', 'name' => $this->settings['name'] . '[right_value]', 'max_value' => $this->settings['max_value'], 'min_value' => $this->settings['min_value'], 'value' => $this->settings['value']['right_value'], 'step_value' => $this->settings['step_value'], 'class' => 'range-slider-right-stepper')); $html .= '<div class="cherry-range-slider-wrap">'; $html .= '<div class="cherry-range-slider-left-input">'; $html .= $ui_left_stepper->render(); $html .= '</div>'; $html .= '<div class="cherry-range-slider-holder">'; $html .= '<div class="cherry-range-slider-unit" data-left-limit="' . $this->settings['min_value'] . '" data-right-limit="' . $this->settings['max_value'] . '" data-left-value="' . $this->settings['value']['left_value'] . '" data-right-value="' . $this->settings['value']['right_value'] . '"></div>'; $html .= '</div>'; $html .= '<div class="cherry-range-slider-right-input">'; $html .= $ui_right_stepper->render(); $html .= '</div>'; $html .= '<div class="clear"></div>'; $html .= '</div>'; return $html; }
/** * Render html UI_Slider. * * @since 4.0.0 */ public function render() { $html = ''; $class = $this->settings['class']; $class .= ' ' . $this->settings['master']; $html .= '<div class="cherry-ui-container ' . esc_attr($class) . '">'; $ui_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-stepper', 'name' => $this->settings['name'], 'max_value' => $this->settings['max_value'], 'min_value' => $this->settings['min_value'], 'value' => $this->settings['value'], 'step_value' => $this->settings['step_value'])); $ui_stepper_html = $ui_stepper->render(); if ('' !== $this->settings['label']) { $html .= '<label class="cherry-label" for="' . esc_attr($this->settings['id']) . '">' . esc_html($this->settings['label']) . '</label> '; } $html .= '<div class="cherry-slider-wrap">'; $html .= '<div class="cherry-slider-holder">'; $html .= '<input type="range" class="cherry-slider-unit" step="' . esc_attr($this->settings['step_value']) . '" min="' . esc_attr($this->settings['min_value']) . '" max="' . esc_attr($this->settings['max_value']) . '" value="' . esc_attr($this->settings['value']) . '">'; $html .= '</div>'; $html .= '<div class="cherry-slider-input">'; $html .= $ui_stepper_html; $html .= '</div>'; $html .= '</div>'; $html .= '</div>'; return $html; }
/** * Render html UI_Slider. * * @since 4.0.0 */ public function render() { $html = ''; $master_class = !empty($this->settings['master']) && isset($this->settings['master']) ? esc_html($this->settings['master']) : ''; $html .= '<div class="cherry-ui-container ' . $master_class . '">'; $ui_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-stepper', 'name' => $this->settings['name'], 'max_value' => $this->settings['max_value'], 'min_value' => $this->settings['min_value'], 'value' => $this->settings['value'], 'step_value' => $this->settings['step_value'])); $ui_stepper_html = $ui_stepper->render(); if ('' !== $this->settings['label']) { $html .= '<label class="cherry-label" for="' . esc_attr($this->settings['id']) . '">' . esc_html($this->settings['label']) . '</label> '; } $html .= '<div class="cherry-slider-wrap">'; $html .= '<div class="cherry-slider-input">'; $html .= $ui_stepper_html; $html .= '</div>'; $html .= '<div class="cherry-slider-holder">'; $html .= '<div class="cherry-slider-unit" data-left-limit="' . esc_attr($this->settings['min_value']) . '" data-right-limit="' . esc_attr($this->settings['max_value']) . '" data-value="' . esc_attr($this->settings['value']) . '"></div>'; $html .= '</div>'; $html .= '<div class="clear"></div>'; $html .= '</div>'; $html .= '</div>'; return $html; }
/** * Render html UI_Typography. * * @since 4.0.0 */ public function render() { $html = ''; $text_align = array('notdefined' => __('Not defined', 'cherry'), 'inherit' => __('Inherit', 'cherry'), 'left' => __('Left', 'cherry'), 'right' => __('Right', 'cherry'), 'center' => __('Center', 'cherry'), 'justify' => __('Justify', 'cherry')); $google_fonts_array = $this->get_google_font(); $standart_fonts_array = $this->get_standart_font(); $character_array = array(); $style_array = array(); $fonttype = ''; $html .= '<div class="cherry-ui-typography-wrap">'; //Font Family $html .= '<div class="cherry-column-section">'; $html .= '<div class="inner">'; $html .= '<div class="field-font-family">'; $html .= '<label for="' . $this->settings['id'] . '-family">' . __('Font Family', 'cherry') . '</label> '; $html .= '<select id="' . $this->settings['id'] . '-family" class="cherry-ui-select cherry-font-family" name="' . $this->settings['name'] . '[family]">'; if ($standart_fonts_array && !empty($standart_fonts_array) && is_array($standart_fonts_array)) { $html .= '<optgroup label="' . __('Standart Webfonts', 'cherry') . '" data-font-type="standart">'; foreach ($standart_fonts_array as $font_key => $font_value) { $category = is_array($font_value['category']) ? implode(",", $font_value['category']) : $font_value['category']; $style = is_array($font_value['variants']) ? implode(",", $font_value['variants']) : $font_value['variants']; $character = is_array($font_value['subsets']) ? implode(",", $font_value['subsets']) : $font_value['subsets']; $selected_state = ''; if ($this->settings['value']['family'] && !empty($this->settings['value']['family'])) { if (!is_array($this->settings['value']['family'])) { $this->settings['value']['family'] = array($this->settings['value']['family']); } foreach ($this->settings['value']['family'] as $key => $value) { $selected_state = selected($value, $font_value['family'], false); if ($selected_state == " selected='selected'") { $fonttype = 'standart'; break; } } } $html .= '<option value="' . $font_value['family'] . '" data-category="' . $category . '" data-style="' . $style . '" data-character="' . $character . '" ' . $selected_state . '>' . esc_html($font_value['family']) . '</option>'; } $html .= '</optgroup>'; } if ($google_fonts_array && !empty($google_fonts_array) && is_array($google_fonts_array)) { $html .= '<optgroup label="' . __('Google Webfonts', 'cherry') . '" data-font-type="web">'; foreach ($google_fonts_array as $font_key => $font_value) { $category = is_array($font_value['category']) ? implode(",", $font_value['category']) : $font_value['category']; $style = is_array($font_value['variants']) ? implode(",", $font_value['variants']) : $font_value['variants']; $character = is_array($font_value['subsets']) ? implode(",", $font_value['subsets']) : $font_value['subsets']; foreach ($font_value['variants'] as $style_key => $style_value) { if (!array_key_exists($style_value, $style_array)) { $text_piece_1 = preg_replace('/[0-9]/s', '', $style_value); $text_piece_2 = preg_replace('/[A-Za-z]/s', ' ', $style_value); $value_text = ucwords($text_piece_2 . ' ' . $text_piece_1); $style_array[$style_value] = $value_text; } } foreach ($font_value['subsets'] as $character_key => $character_value) { if (!array_key_exists($character_value, $character_array)) { $value_text = str_replace('-ext', ' Extended', $character_value); $value_text = ucwords($value_text); $character_array[$character_value] = $value_text; } } $selected_state = ''; if ($this->settings['value']['family'] && !empty($this->settings['value']['family'])) { if (!is_array($this->settings['value']['family'])) { $this->settings['value']['family'] = array($this->settings['value']['family']); } foreach ($this->settings['value']['family'] as $key => $value) { $selected_state = selected($value, $font_value['family'], false); if ($selected_state == " selected='selected'") { $fonttype = 'web'; break; } } } $html .= '<option value="' . $font_value['family'] . '" data-category="' . $category . '" data-style="' . $style . '" data-character="' . $character . '" ' . $selected_state . '>' . esc_html($font_value['family']) . '</option>'; } $html .= '</optgroup>'; } $html .= '</select>'; $html .= '</div>'; $html .= '<div class="field-font-style">'; if ($style_array && !empty($style_array) && is_array($style_array)) { $html .= '<label for="' . $this->settings['id'] . '-style">' . __('Font Style', 'cherry') . '</label> '; $ui_style_select = new UI_Select(array('id' => $this->settings['id'] . '-style', 'name' => $this->settings['name'] . '[style]', 'value' => $this->settings['value']['style'], 'options' => $style_array, 'class' => 'cherry-font-style')); $html .= $ui_style_select->render(); } $html .= '</div>'; $html .= '<div class="field-font-character">'; if ($character_array && !empty($character_array) && is_array($character_array)) { $html .= '<label for="' . $this->settings['id'] . '-character">' . __('Character Sets', 'cherry') . '</label> '; $ui_character_select = new UI_Select(array('id' => $this->settings['id'] . '-character', 'name' => $this->settings['name'] . '[character]', 'value' => $this->settings['value']['character'], 'options' => $character_array, 'class' => 'cherry-font-character')); $html .= $ui_character_select->render(); } $html .= '</div>'; $html .= '</div>'; $html .= '</div>'; $html .= '<div class="cherry-column-section">'; $html .= '<div class="inner">'; $html .= '<div class="field-font-size">'; $html .= '<label for="' . $this->settings['id'] . '-size">' . __('Size', 'cherry') . '</label> '; $ui_size_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-size>', 'name' => $this->settings['name'] . '[size]', 'value' => $this->settings['value']['size'], 'max_value' => 500, 'min_value' => 0, 'step_value' => 1, 'class' => 'font-size')); $html .= $ui_size_stepper->render(); $html .= '</div>'; $html .= '<div class="field-font-lineheight">'; $html .= '<label for="' . $this->settings['id'] . '-lineheight">' . __('Line-height', 'cherry') . '</label> '; $ui_lineheight_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-lineheight>', 'name' => $this->settings['name'] . '[lineheight]', 'value' => $this->settings['value']['lineheight'], 'max_value' => 500, 'min_value' => 0, 'step_value' => 1, 'class' => 'font-lineheight')); $html .= $ui_lineheight_stepper->render(); $html .= '</div>'; $html .= '<div class="field-font-letter-spacing">'; $html .= '<label for="' . $this->settings['id'] . '-letterspacing">' . __('Letter-spacing', 'cherry') . '</label> '; $ui_letterspacing_stepper = new UI_Stepper(array('id' => $this->settings['id'] . '-letterspacing>', 'name' => $this->settings['name'] . '[letterspacing]', 'value' => $this->settings['value']['letterspacing'], 'max_value' => 50, 'min_value' => -50, 'step_value' => 1, 'class' => 'font-letterspacing')); $html .= $ui_letterspacing_stepper->render(); $html .= '</div>'; $html .= '<div class="field-font-color">'; $html .= '<label for="' . $this->settings['id'] . '-color">' . __('Font color', 'cherry') . '</label> '; $ui_colorpicker = new UI_Colorpicker(array('id' => $this->settings['id'] . '-color', 'name' => $this->settings['name'] . '[color]', 'value' => $this->settings['value']['color'], 'class' => 'cherry-color-picker')); $html .= $ui_colorpicker->render(); $html .= '</div>'; $html .= '<div class="field-font-align">'; $html .= '<label for="' . $this->settings['id'] . '-align">' . __('Text align', 'cherry') . '</label> '; $ui_align_select = new UI_Select(array('id' => $this->settings['id'] . '-align', 'name' => $this->settings['name'] . '[align]', 'value' => $this->settings['value']['align'], 'options' => $text_align, 'class' => 'cherry-text-align')); $html .= $ui_align_select->render(); $html .= '</div>'; $html .= '<div class="clear"></div>'; $html .= '</div>'; $html .= '</div>'; $html .= '<div class="clear"></div>'; $ui_preview_textarea = new UI_Textarea(array('id' => $this->settings['id'] . '-preview', 'name' => 'none', 'value' => "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", 'rows' => 4, 'class' => 'cherry-font-preview')); $html .= $ui_preview_textarea->render(); $html .= '<input class="cherry-font-category" name="' . $this->settings['name'] . '[category]" value="" type="hidden" />'; $html .= '<input class="font-type" name="' . $this->settings['name'] . '[fonttype]" type="hidden" value="' . esc_html($fonttype) . '">'; $html .= '</div>'; return $html; }
/** * Enqueue admin-specific javascript. * * @since 4.0.0 */ public function enqueue_builder_scripts($hook_suffix) { UI_Text::enqueue_assets(); UI_Textarea::enqueue_assets(); UI_Select::enqueue_assets(); UI_Checkbox::enqueue_assets(); UI_Radio::enqueue_assets(); UI_Switcher::enqueue_assets(); UI_Colorpicker::enqueue_assets(); UI_Repeater::enqueue_assets(); UI_Media::enqueue_assets(); UI_Stepper::enqueue_assets(); UI_Slider::enqueue_assets(); UI_Range_Slider::enqueue_assets(); UI_Background::enqueue_assets(); UI_Typography::enqueue_assets(); UI_Ace_Editor::enqueue_assets(); UI_Layout_Editor::enqueue_assets(); UI_Static_Area_Editor::enqueue_assets(); UI_Tooltip::enqueue_assets(); wp_enqueue_script('editor'); wp_enqueue_script('interface-builder'); }
/** * Enqueue admin-specific javascript. * * @since 4.0.0 */ public function enqueue_builder_scripts($hook_suffix = false) { UI_Text::enqueue_assets(); UI_Textarea::enqueue_assets(); UI_Select::enqueue_assets(); UI_Checkbox::enqueue_assets(); UI_Radio::enqueue_assets(); UI_Switcher::enqueue_assets(); UI_Colorpicker::enqueue_assets(); UI_Repeater::enqueue_assets(); UI_Media::enqueue_assets(); UI_Stepper::enqueue_assets(); UI_Slider::enqueue_assets(); UI_Range_Slider::enqueue_assets(); UI_Background::enqueue_assets(); UI_Typography::enqueue_assets(); UI_Ace_Editor::enqueue_assets(); UI_Layout_Editor::enqueue_assets(); UI_Tooltip::enqueue_assets(); UI_Webfont::enqueue_assets(); wp_enqueue_script('editor'); wp_enqueue_script('jquery-ui-dialog'); wp_enqueue_script('interface-builder', trailingslashit(CHERRY_URI) . 'admin/assets/js/interface-builder.js', array('jquery'), CHERRY_VERSION, true); }