Changeset 3263986
- Timestamp:
- 03/30/2025 04:30:38 AM (12 months ago)
- Location:
- gum-elementor-addon
- Files:
-
- 1 added
- 9 edited
-
tags/1.3.12/readme.txt (modified) (1 diff)
-
trunk/css/style.css (modified) (3 diffs)
-
trunk/gum-elementor-addon.php (modified) (2 diffs)
-
trunk/js/allscripts.js (modified) (2 diffs)
-
trunk/js/chart.js (added)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/widgets/blog_grid.php (modified) (6 diffs)
-
trunk/widgets/circle_bar.php (modified) (9 diffs)
-
trunk/widgets/popover_btn.php (modified) (7 diffs)
-
trunk/widgets/totop_btn.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
gum-elementor-addon/tags/1.3.12/readme.txt
r3263985 r3263986 6 6 Tested up to: 6.6.2 7 7 Requires PHP: 7.0 8 Stable tag: 1.3.1 18 Stable tag: 1.3.12 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html -
gum-elementor-addon/trunk/css/style.css
r3255643 r3263986 330 330 .popover-box .close-pop:before{ -webkit-transform: translate(-50%, -50%) rotate(45deg); -ms-transform: translate(-50%, -50%) rotate(45deg);-o-transform: translate(-50%, -50%) rotate(45deg);transform: translate(-50%, -50%) rotate(45deg);} 331 331 .popover-box .close-pop:after{ -webkit-transform: translate(-50%, -50%) rotate(-45deg); -ms-transform: translate(-50%, -50%) rotate(-45deg);-o-transform: translate(-50%, -50%) rotate(-45deg);transform: translate(-50%, -50%) rotate(-45deg);} 332 .popover-box .pop-title{ display: block; } 332 333 333 334 @media (max-width: 767px) { .popover-box{ max-width: 100%;}} … … 734 735 vertical-align: middle; 735 736 text-align: center; 737 display: none; 736 738 background: rgba(0, 0, 0, 0.0); 737 739 -webkit-transition: background-color 0.4s ease; … … 932 934 .elementor-widget-image-carousel.elementor-arrows-valign-top .elementor-swiper-button{ top: 0!important; } 933 935 .elementor-widget-image-carousel.elementor-arrows-valign-bottom .elementor-swiper-button{ bottom: 0; top: auto !important; } 936 937 /* circle bar module */ 938 939 .elementor-widget-gum_circle_bar .elementor-widget-container{ width:100%; } 940 .elementor-widget-gum_circle_bar .circle-bar-outer{ position: relative; width: 100%; margin-left: auto; margin-right: auto; } 941 .elementor-widget-gum_circle_bar.canvas-position-left .circle-bar-outer{ margin-left: 0; } 942 .elementor-widget-gum_circle_bar.canvas-position-right .circle-bar-outer{ margin-right: 0; } 943 .elementor-widget-gum_circle_bar .bar-color{color:#ef1e25;} 944 .elementor-widget-gum_circle_bar .circle-bar-label{ position: absolute; left:50%; top: 50%; text-align: center; z-index:1; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%);transform: translate(-50%,-50%); } 945 .elementor-widget-gum_circle_bar .bar-background{color:#f2f2f2;} -
gum-elementor-addon/trunk/gum-elementor-addon.php
r3255643 r3263986 5 5 * Plugin URI: http://themegum.com/ 6 6 * Description: Addon widget for Elementor. Slideshow, pricing table, icon list, recent post, blog term, post term, post share, post meta, post related, post adjacent, blog grid, post slider,navigation menu, image box, popover and to top button 7 * Version: 1.3.1 17 * Version: 1.3.12 8 8 * Author: TemeGUM 9 9 * Author URI: http://themegum.com … … 113 113 require_once( GUM_ELEMENTOR_DIR."widgets/totop_btn.php" ); 114 114 require_once( GUM_ELEMENTOR_DIR."widgets/carousel_ibox.php" ); 115 require_once( GUM_ELEMENTOR_DIR."widgets/circle_bar.php" ); 115 116 116 117 if(!class_exists('Month_Anual_Pricetable_Widget')){ -
gum-elementor-addon/trunk/js/allscripts.js
r3017959 r3263986 1 1 jQuery(document).ready(function($){ 2 2 "use strict"; 3 4 if($('.popover-button').length){5 $('.popover-button').each(function(){6 var p_btn = $(this),popover = $(this).closest('.popover-button-wrapper'), p_content = popover.find('.popover-box');7 8 if(!p_content.length){9 p_content= $(document.createElement('div')).addClass('popover-box');10 11 var p_title = p_btn.data('pop'), p_text = p_btn.data('pop-text'), p_align = p_btn.data('pop-align');12 var close_btn = $(document.createElement('span')).addClass('close-pop');13 14 p_content.prepend(close_btn);15 16 if(!p_align || p_align==''){ p_align = 'bottom'; }17 18 p_content.addClass('pop-' + p_align);19 20 if(p_title && p_title!=''){21 p_content.prepend('<h4>'+ p_title +'</h4>');22 }23 24 if(p_text && p_text!=''){25 p_content.append('<div>'+ p_text +'</div>');26 }27 p_btn.after(p_content);28 29 close_btn.on('click',function(e){30 e.preventDefault();31 $(this).closest('.popover-button-wrapper').removeClass('pop-it');32 33 });34 }35 36 $(this).on("click", function(e){37 e.preventDefault();38 $(this).closest('.popover-button-wrapper').toggleClass('pop-it');39 });40 41 });42 }43 3 44 4 function prepare_gummenu(menus){ … … 73 33 } 74 34 75 if($("#totop_btn").length){76 $(window).on('scroll', function () {77 78 var winHeight = $(window).height();79 80 if($('#wpadminbar').length){81 winHeight -= $('#wpadminbar').outerHeight();82 }83 if ($(this).scrollTop() > winHeight) {84 $("#totop_btn").fadeIn();85 } else {86 $("#totop_btn").fadeOut();87 }88 });89 90 $("#totop_btn").on('click', function () {91 $("body,html").animate({92 scrollTop: 093 },94 600);95 });96 }97 98 35 }); -
gum-elementor-addon/trunk/readme.txt
r3255643 r3263986 6 6 Tested up to: 6.6.2 7 7 Requires PHP: 7.0 8 Stable tag: 1.3.1 18 Stable tag: 1.3.12 9 9 License: GPLv3 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 71 71 == Changelog == 72 72 73 = 1.3.12 = 74 * Bug Fixing: popover widget 75 * Bug Fixing: totop widget 76 * New widget: circle pie chart 77 * Improvement: Adding meta box radius ( post grid widget ) 78 79 73 80 = 1.3.11 = 74 81 * Security issue fixing -
gum-elementor-addon/trunk/widgets/blog_grid.php
r3233621 r3263986 2580 2580 ); 2581 2581 2582 $this->add_ control(2582 $this->add_responsive_control( 2583 2583 'meta_list_radius', 2584 2584 [ … … 2875 2875 ); 2876 2876 2877 $this->add_ control(2877 $this->add_responsive_control( 2878 2878 'datemeta_radius', 2879 2879 [ … … 3005 3005 ); 3006 3006 3007 $this->add_ control(3007 $this->add_responsive_control( 3008 3008 'author_avatar_radius', 3009 3009 [ … … 3022 3022 ] 3023 3023 ); 3024 3025 /* 3026 $this->add_control( 3027 'author_avatar_position', 3028 [ 3029 'label' => esc_html__( 'Position', 'gum-elementor-addon' ), 3030 'type' => Controls_Manager::CHOOSE, 3031 'options' => [ 3032 'left' => [ 3033 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 3034 'icon' => 'eicon-h-align-left', 3035 ], 3036 'top' => [ 3037 'title' => esc_html__( 'Top', 'gum-elementor-addon' ), 3038 'icon' => 'eicon-v-align-top', 3039 ], 3040 'right' => [ 3041 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 3042 'icon' => 'eicon-h-align-right', 3043 ], 3044 ], 3045 'default' => 'left', 3046 'prefix_class' => 'author_meta_avatar_position-', 3047 'condition' => [ 3048 'author_meta!' => '', 3049 'author_meta_avatar' => 'yes', 3050 ], 3051 ] 3052 ); 3053 */ 3054 3024 3055 3025 3056 3026 $this->add_control( … … 3240 3210 ); 3241 3211 3242 $this->add_ control(3212 $this->add_responsive_control( 3243 3213 'authormeta_radius', 3244 3214 [ … … 3463 3433 ); 3464 3434 3465 $this->add_ control(3435 $this->add_responsive_control( 3466 3436 'categorymeta_radius', 3467 3437 [ -
gum-elementor-addon/trunk/widgets/circle_bar.php
r3255643 r3263986 5 5 * @subpackage Gum Elementor Addon 6 6 * @author support@themegum.com 7 * @since 1. 0.47 * @since 1.3.12 8 8 */ 9 9 defined('ABSPATH') or die(); … … 13 13 use Elementor\Group_Control_Border; 14 14 use Elementor\Group_Control_Typography; 15 use Elementor\Group_Control_Text_Shadow;16 15 use Elementor\Group_Control_Box_Shadow; 16 use Elementor\Core\Kits\Documents\Tabs\Global_Colors; 17 17 18 18 class Gum_Elementor_Circlebar_Widget extends Widget_Base { … … 27 27 throw new \Exception( '`$args` argument is required when initializing a full widget instance.' ); 28 28 } 29 30 wp_register_script( 'easyPieChart', GUM_ELEMENTOR_URL . 'js/chart.js', [ 'elementor-frontend' ,'jquery'], '1.0.0', true ); 29 31 30 32 add_action( 'elementor/element/before_section_start', [ $this, 'enqueue_script' ] ); … … 96 98 97 99 public function get_keywords() { 98 return [ 'wordpress', 'widget', ' button','popup','modal','spot'];100 return [ 'wordpress', 'widget', 'chart']; 99 101 } 100 102 … … 113 115 114 116 115 public static function get_button_sizes() {116 return [117 'xs' => esc_html__( 'Extra Small', 'gum-elementor-addon' ),118 'sm' => esc_html__( 'Small', 'gum-elementor-addon' ),119 'md' => esc_html__( 'Medium', 'gum-elementor-addon' ),120 'lg' => esc_html__( 'Large', 'gum-elementor-addon' ),121 'xl' => esc_html__( 'Extra Large', 'gum-elementor-addon' ),122 ];123 }124 125 126 117 protected function _register_controls() { 127 118 128 119 $this->start_controls_section( 129 'button_title', 130 [ 131 'label' => esc_html__( 'Button', 'gum-elementor-addon' ), 132 ] 133 ); 134 135 $this->add_control( 136 'button_text', 137 [ 138 'label' => esc_html__( 'Text', 'gum-elementor-addon' ), 120 'piechart_title', 121 [ 122 'label' => esc_html__( 'Circle Pie Chart', 'gum-elementor-addon' ), 123 ] 124 ); 125 126 127 $this->add_control( 128 'percent', 129 [ 130 'label' => esc_html__( 'Percentage', 'gum-elementor-addon' ), 131 'type' => Controls_Manager::SLIDER, 132 'default' => [ 133 'size' => 50, 134 'unit' => '%', 135 ], 136 'dynamic' => [ 137 'active' => false, 138 ], 139 ] 140 ); 141 142 143 $this->add_control( 144 'count_number', 145 [ 146 'label' => esc_html__( 'Counter number', 'gum-elementor-addon' ), 147 'type' => Controls_Manager::NUMBER, 148 'dynamic' => [ 149 'active' => false, 150 ], 151 'ai' => [ 152 'active' => false, 153 ], 154 'default' => '', 155 ] 156 ); 157 158 159 $this->add_control( 160 'count_unit', 161 [ 162 'label' => esc_html__( 'Number prefix', 'gum-elementor-addon' ), 139 163 'type' => Controls_Manager::TEXT, 140 164 'dynamic' => [ 141 'active' => true,165 'active' => false, 142 166 ], 143 167 'ai' => [ 144 168 'active' => false, 145 169 ], 146 'default' => esc_html__( 'Click here', 'gum-elementor-addon' ), 147 ] 148 ); 149 150 $this->add_responsive_control( 151 'button_align', 170 'default' => '', 171 ] 172 ); 173 174 175 $this->end_controls_section(); 176 177 178 179 $this->start_controls_section( 180 'section_piechart_style', 181 [ 182 'label' => esc_html__( 'Circle Pie Chart', 'gum-elementor-addon' ), 183 'tab' => Controls_Manager::TAB_STYLE, 184 ] 185 ); 186 187 188 $this->add_control( 189 'line_color', 190 [ 191 'label' => esc_html__( 'Active Color', 'gum-elementor-addon' ), 192 'type' => Controls_Manager::COLOR, 193 'global' => [ 194 'default' => Global_Colors::COLOR_PRIMARY, 195 ], 196 'selectors' => [ 197 '{{WRAPPER}} .bar-color' => 'color: {{VALUE}}', 198 ], 199 'style_transfer' => true, 200 ] 201 ); 202 203 204 205 $this->add_control( 206 'track_color', 207 [ 208 'label' => esc_html__( 'Track Color', 'gum-elementor-addon' ), 209 'type' => Controls_Manager::COLOR, 210 'selectors' => [ 211 '{{WRAPPER}} .bar-background' => 'color: {{VALUE}}', 212 ], 213 'style_transfer' => true, 214 ] 215 ); 216 217 218 $this->add_control( 219 'linecap', 220 [ 221 'label' => esc_html__( 'Line Cap', 'gum-elementor-addon' ), 222 'type' => Controls_Manager::SELECT, 223 'default' => '', 224 'options' => array( 225 ''=>esc_html__('Default','gum-elementor-addon'), 226 'round'=>esc_html__('Round','gum-elementor-addon'), 227 'square'=>esc_html__('Square','gum-elementor-addon'), 228 ), 229 'style_transfer' => true, 230 ] 231 ); 232 233 234 235 $this->add_control( 236 'canvas_wide', 237 [ 238 'label' => esc_html__( 'Canvas size', 'gum-elementor-addon' ), 239 'type' => Controls_Manager::SLIDER, 240 'size_units' => [ '%'], 241 'default' => [ 'size'=> 100], 242 'description' => esc_html__( 'Bar wide equal with container width will activate pei chart mode.', 'gum-elementor-addon' ), 243 ] 244 ); 245 246 $this->add_control( 247 'canvas_align', 152 248 [ 153 249 'label' => esc_html__( 'Alignment', 'gum-elementor-addon' ), 154 250 'type' => Controls_Manager::CHOOSE, 155 251 'options' => [ 156 'left' => [ 157 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 158 'icon' => 'eicon-h-align-left', 159 ], 160 'center' => [ 161 'title' => esc_html__( 'Centered', 'gum-elementor-addon' ), 162 'icon' => 'eicon-h-align-center', 163 ], 164 'right' => [ 165 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 166 'icon' => 'eicon-h-align-right', 167 ], 168 'justify' => [ 169 'title' => esc_html__( 'Full Width', 'gum-elementor-addon' ), 170 'icon' => 'eicon-h-align-stretch', 171 ], 172 ], 173 'prefix_class' => 'elementor%s-align-', 174 'default' => '', 175 ] 176 ); 177 178 $this->add_control( 179 'size', 180 [ 181 'label' => esc_html__( 'Size', 'gum-elementor-addon' ), 182 'type' => Controls_Manager::SELECT, 183 'default' => 'md', 184 'options' => self::get_button_sizes(), 185 'style_transfer' => true, 186 ] 187 ); 188 189 $this->add_control( 190 'selected_icon', 191 [ 192 'label' => esc_html__( 'Icon', 'gum-elementor-addon' ), 193 'type' => Controls_Manager::ICONS, 194 'fa4compatibility' => 'icon', 195 ] 196 ); 197 198 $this->add_control( 199 'icon_align', 200 [ 201 'label' => esc_html__( 'Icon Position', 'gum-elementor-addon' ), 202 'type' => Controls_Manager::CHOOSE, 203 'options' => [ 204 'row' => [ 205 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 206 'icon' => 'eicon-h-align-left', 207 ], 208 'row-reverse' => [ 209 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 210 'icon' => 'eicon-h-align-right', 211 ], 212 ], 213 'condition' => [ 214 'selected_icon[value]!' => '', 215 ], 216 'default' => 'row', 217 'selectors' => [ 218 '{{WRAPPER}} .elementor-button-content-wrapper' => 'flex-direction: {{VALUE}};' 219 ], 220 ] 221 ); 222 223 224 $this->add_control( 225 'icon_indent', 226 [ 227 'label' => esc_html__( 'Icon Spacing', 'gum-elementor-addon' ), 252 'left' => [ 253 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 254 'icon' => 'eicon-h-align-left', 255 ], 256 'center' => [ 257 'title' => esc_html__( 'Center', 'gum-elementor-addon' ), 258 'icon' => 'eicon-h-align-center', 259 ], 260 'right' => [ 261 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 262 'icon' => 'eicon-h-align-right', 263 ] 264 ], 265 'default' => 'center', 266 'toggle' => false, 267 'prefix_class' => 'canvas-position-', 268 ] 269 ); 270 271 $this->add_control( 272 'line_wide', 273 [ 274 'label' => esc_html__( 'Bar Wide', 'gum-elementor-addon' ), 228 275 'type' => Controls_Manager::SLIDER, 276 'size_units' => [ 'px'], 277 'default' => [ 'size'=> 15], 229 278 'range' => [ 230 279 'px' => [ 231 'max' => 100, 280 'min' => 1, 281 'max' => 2000, 232 282 ], 233 283 ], 234 'default' =>['value'=>5, 'unit'=>'px'], 235 'selectors' => [ 236 '{{WRAPPER}} .elementor-button .elementor-align-icon-right' => 'margin-left: {{SIZE}}{{UNIT}};margin-right:0;', 237 '{{WRAPPER}} .elementor-button .elementor-align-icon-left' => 'margin-right: {{SIZE}}{{UNIT}};margin-left: 0;', 238 '{{WRAPPER}} .elementor-button .elementor-button-content-wrapper' => 'gap:{{SIZE}}{{UNIT}};' 239 ], 240 'condition' => ['selected_icon[value]!' => ''], 241 ] 242 ); 243 244 $this->end_controls_section(); 245 246 $this->start_controls_section( 247 'pop_heading', 248 [ 249 'label' => esc_html__( 'Popup Content', 'gum-elementor-addon' ), 250 ] 251 ); 252 253 254 $this->add_control( 255 'pop_title', 256 [ 257 'label' => esc_html__( 'Title', 'gum-elementor-addon' ), 258 'type' => Controls_Manager::TEXT, 259 'dynamic' => [ 260 'active' => true, 261 ], 262 'ai' => [ 263 'active' => false, 264 ], 265 'default' => '', 266 'placeholder' => esc_html__( 'Enter your title', 'gum-elementor-addon' ), 267 'label_block' => true, 268 ] 269 ); 270 271 $this->add_control( 272 'pop_text', 273 [ 274 'label' => esc_html__( 'Text', 'gum-elementor-addon' ), 275 'type' => Controls_Manager::TEXTAREA, 276 'dynamic' => [ 277 'active' => true, 278 ], 279 'default' => esc_html__( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.', 'gum-elementor-addon' ), 280 'placeholder' => esc_html__( 'Enter your description', 'gum-elementor-addon' ), 281 'rows' => 10, 282 'show_label' => false, 283 ] 284 ); 285 286 287 $this->add_control( 288 'pop_align', 289 [ 290 'label' => esc_html__( 'Position', 'gum-elementor-addon' ), 291 'type' => Controls_Manager::CHOOSE, 292 'options' => [ 293 'left' => [ 294 'title' => esc_html__( 'Left', 'gum-elementor-addon' ), 295 'icon' => 'eicon-h-align-left', 296 ], 297 'top' => [ 298 'title' => esc_html__( 'Top', 'gum-elementor-addon' ), 299 'icon' => 'eicon-v-align-top', 300 ], 301 'right' => [ 302 'title' => esc_html__( 'Right', 'gum-elementor-addon' ), 303 'icon' => 'eicon-h-align-right', 304 ], 305 'bottom' => [ 306 'title' => esc_html__( 'Bottom', 'gum-elementor-addon' ), 307 'icon' => 'eicon-v-align-bottom', 308 ], 309 ], 310 'default' => 'bottom', 311 ] 312 ); 313 314 315 $this->add_control( 316 'pop_width', 317 [ 318 'label' => esc_html__( 'Width', 'gum-elementor-addon' ), 284 'description' => esc_html__( 'Bar wide equal with container width will activate pei chart mode.', 'gum-elementor-addon' ), 285 ] 286 ); 287 288 $this->add_control( 289 'track_wide', 290 [ 291 'label' => esc_html__( 'Track Wide', 'gum-elementor-addon' ), 319 292 'type' => Controls_Manager::SLIDER, 293 'size_units' => [ 'px'], 294 'default' => [ 'size'=> 15], 320 295 'range' => [ 321 296 'px' => [ 322 'min' => 100, 323 'max' => 1000, 324 'step'=> 1 297 'min' => 1, 298 'max' => 2000, 325 299 ], 326 'default' => ['value'=> -1,'unit'=>'px'] 327 ], 328 'selectors' => [ 329 '[data-elementor-device-mode=tablet] {{WRAPPER}} .popover-box' => 'width: {{SIZE}}{{UNIT}};', 330 '[data-elementor-device-mode=desktop] {{WRAPPER}} .popover-box' => 'width: {{SIZE}}{{UNIT}};' 331 ] 332 ] 333 ); 334 300 ], 301 ] 302 ); 335 303 336 304 $this->end_controls_section(); 337 305 338 /* 339 * style params 340 */ 341 306 342 307 $this->start_controls_section( 343 ' button_styles',344 [ 345 'label' => esc_html__( ' Button', 'gum-elementor-addon' ),308 'number_styles', 309 [ 310 'label' => esc_html__( 'Number', 'gum-elementor-addon' ), 346 311 'tab' => Controls_Manager::TAB_STYLE, 312 'conditions' => [ 313 'relation' => 'or', 314 'terms' => [ 315 ['name' =>'count_number','operator' => '!==', 'value' => ''], 316 ['name' =>'count_unit','operator' => '!==', 'value' => ''], 317 ] 318 ], 347 319 ] 348 320 ); 321 349 322 350 323 $this->add_group_control( 351 324 Group_Control_Typography::get_type(), 352 325 [ 353 'name' => 'typography_title', 354 'selector' => '{{WRAPPER}} .elementor-button', 355 ] 356 ); 357 358 $this->start_controls_tabs( 'tabs_button_style' ); 359 360 $this->start_controls_tab( 361 'tab_button_normal', 362 [ 363 'label' => esc_html__( 'Normal', 'gum-elementor-addon' ), 364 ] 365 ); 366 367 $this->add_control( 368 'button_text_color', 326 'label' => esc_html__( 'Counter number', 'gum-elementor-addon' ), 327 'name' => 'typography_number_title', 328 'selector' => '{{WRAPPER}} .circle-bar-value', 329 'separator' => 'before', 330 'condition' => [ 331 'count_number[value]!' => '', 332 ], 333 ] 334 ); 335 336 337 $this->add_control( 338 'number_title_color', 369 339 [ 370 340 'label' => esc_html__( 'Color', 'gum-elementor-addon' ), … … 372 342 'default' => '', 373 343 'selectors' => [ 374 '{{WRAPPER}} .elementor-button' => 'fill: {{VALUE}};color: {{VALUE}};', 375 ] 376 ] 377 ); 378 379 $this->add_control( 380 'button_background_color', 381 [ 382 'label' => esc_html__( 'Background', 'gum-elementor-addon' ), 383 'type' => Controls_Manager::COLOR, 384 'default' => '', 385 'selectors' => [ 386 '{{WRAPPER}} .elementor-button' => 'background-color: {{VALUE}};', 387 ], 388 ] 389 ); 390 391 $this->end_controls_tab(); 392 $this->start_controls_tab( 393 'tab_button_hover', 394 [ 395 'label' => esc_html__( 'Hover/Clicked', 'gum-elementor-addon' ), 396 ] 397 ); 398 399 $this->add_control( 400 'button_hover_color', 344 '{{WRAPPER}} .circle-bar-value' => 'color: {{VALUE}};', 345 ], 346 'condition' => [ 347 'count_number[value]!' => '', 348 ], 349 ] 350 ); 351 352 $this->add_group_control( 353 Group_Control_Typography::get_type(), 354 [ 355 'label' => esc_html__( 'Number prefix', 'gum-elementor-addon' ), 356 'name' => 'typography_number_prefix', 357 'selector' => '{{WRAPPER}} .circle-bar-unit', 358 'separator' => 'before', 359 'condition' => [ 360 'count_unit[value]!' => '', 361 ], 362 ] 363 ); 364 365 366 $this->add_control( 367 'number_prefix_color', 401 368 [ 402 369 'label' => esc_html__( 'Color', 'gum-elementor-addon' ), … … 404 371 'default' => '', 405 372 'selectors' => [ 406 '{{WRAPPER}} .elementor-button:hover, {{WRAPPER}} .elementor-button:focus' => 'color: {{VALUE}}!important;', 407 '{{WRAPPER}} .elementor-button:hover svg, {{WRAPPER}} .elementor-button:focus svg' => 'fill: {{VALUE}}!important;', 408 '{{WRAPPER}} .pop-it .elementor-button' => 'color: {{VALUE}}!important;', 409 ], 410 ] 411 ); 412 413 $this->add_control( 414 'button_background_hover_color', 415 [ 416 'label' => esc_html__( 'Background', 'gum-elementor-addon' ), 417 'type' => Controls_Manager::COLOR, 418 'default' => '', 419 'selectors' => [ 420 '{{WRAPPER}} .elementor-button:hover, {{WRAPPER}} .elementor-button:focus' => 'background-color: {{VALUE}};', 421 '{{WRAPPER}} .pop-it .elementor-button' => 'background-color: {{VALUE}};', 422 ], 423 ] 424 ); 425 426 $this->add_control( 427 'button_hover_border_color', 428 [ 429 'label' => esc_html__( 'Border Color', 'gum-elementor-addon' ), 430 'type' => Controls_Manager::COLOR, 373 '{{WRAPPER}} .circle-bar-unit' => 'color: {{VALUE}};', 374 ], 431 375 'condition' => [ 432 'btn_border_border!' => '', 433 ], 434 'selectors' => [ 435 '{{WRAPPER}} .elementor-button:hover, {{WRAPPER}} .elementor-button:focus' => 'border-color: {{VALUE}};', 436 '{{WRAPPER}} .pop-it .elementor-button' => 'border-color: {{VALUE}};', 437 ], 438 ] 439 ); 376 'count_unit[value]!' => '', 377 ], 378 ] 379 ); 380 440 381 441 382 $this->add_responsive_control( 442 'icon_rotate', 443 [ 444 'label' => esc_html__( 'Icon Rotate', 'gum-elementor-addon' ), 445 'type' => Controls_Manager::SLIDER, 446 'size_units' => [ 'deg' ], 447 'default' => [ 448 'size' => 0, 449 'unit' => 'deg', 450 ], 451 'tablet_default' => [ 452 'unit' => 'deg', 453 ], 454 'mobile_default' => [ 455 'unit' => 'deg', 456 ], 457 'selectors' => [ 458 '{{WRAPPER}} .pop-it .elementor-button-icon i, {{WRAPPER}} .pop-it .elementor-button-icon svg' => 'transform: rotate({{SIZE}}{{UNIT}})', 459 ], 460 ] 461 ); 462 463 $this->end_controls_tab(); 464 $this->end_controls_tabs(); 465 466 $this->add_group_control( 467 Group_Control_Border::get_type(), 468 [ 469 'name' => 'btn_border', 470 'selector' => '{{WRAPPER}} .elementor-button', 471 'separator' => 'before', 472 ] 473 ); 474 475 $this->add_control( 476 'btn_border_radius', 477 [ 478 'label' => esc_html__( 'Border Radius', 'gum-elementor-addon' ), 479 'type' => Controls_Manager::DIMENSIONS, 480 'size_units' => [ 'px', '%' ], 481 'selectors' => [ 482 '{{WRAPPER}} .elementor-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 483 ] 484 ] 485 ); 486 487 $this->add_responsive_control( 488 'btn_text_padding', 489 [ 490 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 491 'type' => Controls_Manager::DIMENSIONS, 492 'size_units' => [ 'px', 'em', '%' ], 493 'selectors' => [ 494 '{{WRAPPER}} .elementor-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 495 ] 496 ] 497 ); 498 499 $this->add_group_control( 500 Group_Control_Box_Shadow::get_type(), 501 [ 502 'name' => 'button_box_shadow', 503 'selector' => '{{WRAPPER}} .elementor-button', 504 ] 505 ); 506 507 $this->end_controls_section(); 508 509 $this->start_controls_section( 510 'popup_styles', 511 [ 512 'label' => esc_html__( 'Popup Content', 'gum-elementor-addon' ), 513 'tab' => Controls_Manager::TAB_STYLE, 514 ] 515 ); 516 517 518 519 $this->add_control( 520 'pop_bgcolor', 521 [ 522 'label' => esc_html__( 'Background', 'gum-elementor-addon' ), 523 'type' => Controls_Manager::COLOR, 524 'selectors' => [ 525 '{{WRAPPER}} .popover-box' => 'background-color: {{VALUE}};', 526 '{{WRAPPER}} .popover-box.pop-bottom::after' => 'border-bottom-color: {{VALUE}};', 527 '{{WRAPPER}} .popover-box.pop-top::after' => 'border-top-color: {{VALUE}};', 528 '{{WRAPPER}} .popover-box.pop-left::after' => 'border-left-color: {{VALUE}};', 529 '{{WRAPPER}} .popover-box.pop-right::after' => 'border-right-color: {{VALUE}};', 530 ], 531 ] 532 ); 533 534 535 $this->add_responsive_control( 536 'pop_padding', 537 [ 538 'label' => esc_html__( 'Padding', 'gum-elementor-addon' ), 539 'type' => Controls_Manager::DIMENSIONS, 540 'size_units' => [ 'px', 'em', '%' ], 541 'selectors' => [ 542 '{{WRAPPER}} .popover-box' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 543 ], 544 ] 545 ); 546 547 $this->add_control( 548 'pop_border_radius', 549 [ 550 'label' => esc_html__( 'Border Radius', 'gum-elementor-addon' ), 551 'type' => Controls_Manager::DIMENSIONS, 552 'size_units' => [ 'px', '%' ], 553 'selectors' => [ 554 '{{WRAPPER}} .popover-box' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 555 ] 556 ] 557 ); 558 559 $this->add_control( 560 'pop_border', 561 [ 562 'label' => esc_html__( 'Border Type', 'gum-elementor-addon' ), 563 'type' => Controls_Manager::SELECT, 564 'default' => '', 565 'options' => [ 566 '' => esc_html__( 'None', 'gum-elementor-addon' ), 567 'solid' => esc_html__( 'Solid', 'gum-elementor-addon' ), 568 'double' => esc_html__( 'Double', 'gum-elementor-addon' ), 569 'dotted' => esc_html__( 'Dotted', 'gum-elementor-addon' ), 570 'dashed' => esc_html__( 'Dashed', 'gum-elementor-addon' ), 571 'groove' => esc_html__( 'Groove', 'gum-elementor-addon' ), 572 ], 573 'selectors' => [ 574 '{{WRAPPER}} .popover-box' => 'border-style: {{VALUE}};', 575 ], 576 ] 577 ); 578 579 $this->add_control( 580 'pop_border_width', 581 [ 582 'label' => esc_html__( 'Border Width', 'gum-elementor-addon' ), 583 'type' => Controls_Manager::DIMENSIONS, 584 'condition' => [ 585 'pop_border!' => '', 586 ], 587 'selectors' => [ 588 '{{WRAPPER}} .popover-box' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', 589 '{{WRAPPER}} .popover-box.pop-bottom:before' => 'border-width: calc( 10px + {{TOP}}{{UNIT}} );', 590 '{{WRAPPER}} .popover-box.pop-top:before' => 'border-width: calc( 10px + {{BOTTOM}}{{UNIT}} );', 591 '{{WRAPPER}} .popover-box.pop-left:before' => 'border-width: calc( 10px + {{RIGHT}}{{UNIT}} );', 592 '{{WRAPPER}} .popover-box.pop-right:before' => 'border-width: calc( 10px + {{LEFT}}{{UNIT}} );', 593 ], 594 ] 595 ); 596 597 $this->add_control( 598 'pop_border_color', 599 [ 600 'label' => esc_html__( 'Color', 'gum-elementor-addon' ), 601 'type' => Controls_Manager::COLOR, 602 'selectors' => [ 603 '{{WRAPPER}} .popover-box' => 'border-color: {{VALUE}};', 604 '{{WRAPPER}} .popover-box.pop-bottom:before' => 'border-bottom-color: {{VALUE}};', 605 '{{WRAPPER}} .popover-box.pop-top:before' => 'border-top-color: {{VALUE}};', 606 '{{WRAPPER}} .popover-box.pop-left:before' => 'border-left-color: {{VALUE}};', 607 '{{WRAPPER}} .popover-box.pop-right:before' => 'border-right-color: {{VALUE}};', 608 ], 609 'condition' => [ 610 'pop_border!' => '', 611 ], 612 ] 613 ); 614 615 616 $this->add_group_control( 617 Group_Control_Box_Shadow::get_type(), 618 [ 619 'name' => 'pop_box_shadow', 620 'selector' => '{{WRAPPER}} .popover-box', 621 ] 622 ); 623 624 625 $this->add_control( 626 'pop_box_separator', 627 [ 628 'type' => Controls_Manager::HIDDEN, 629 'separator' => 'before', 630 ] 631 ); 632 633 $this->add_group_control( 634 Group_Control_Typography::get_type(), 635 [ 636 'label' => esc_html__( 'Title', 'gum-elementor-addon' ), 637 'name' => 'typography_pop_title', 638 'selector' => '{{WRAPPER}} .popover-box h4', 639 'separator' => 'before', 640 ] 641 ); 642 643 644 $this->add_control( 645 'pop_title_color', 646 [ 647 'label' => esc_html__( 'Color', 'gum-elementor-addon' ), 648 'type' => Controls_Manager::COLOR, 649 'default' => '', 650 'selectors' => [ 651 '{{WRAPPER}} .popover-box h4' => 'color: {{VALUE}};', 652 ] 653 ] 654 ); 655 656 $this->add_responsive_control( 657 'pop_title_margin', 383 'number_prefix_margin', 658 384 [ 659 385 'label' => esc_html__( 'Spacing', 'gum-elementor-addon' ), … … 668 394 ], 669 395 'selectors' => [ 670 '{{WRAPPER}} {{WRAPPER}} .popover-box h4' => 'margin-bottom: {{SIZE}}{{UNIT}};', 671 ], 672 'separator' => 'after', 673 ] 674 ); 675 676 $this->add_group_control( 677 Group_Control_Typography::get_type(), 678 [ 679 'label' => esc_html__( 'Text', 'gum-elementor-addon' ), 680 'name' => 'typography_pop_text', 681 'selector' => '{{WRAPPER}} .popover-box > div', 682 ] 683 ); 684 685 686 $this->add_control( 687 'pop_text_color', 688 [ 689 'label' => esc_html__( 'Color', 'gum-elementor-addon' ), 690 'type' => Controls_Manager::COLOR, 691 'default' => '', 692 'selectors' => [ 693 '{{WRAPPER}} .popover-box > div' => 'color: {{VALUE}};', 694 ] 396 '{{WRAPPER}} .circle-bar-unit' => 'margin-left: {{SIZE}}{{UNIT}};', 397 ], 398 'condition' => [ 399 'count_unit[value]!' => '', 400 ], 401 695 402 ] 696 403 ); … … 707 414 extract( $settings ); 708 415 709 416 $percent = is_numeric( $percent['size'] ) ? $percent['size'] : '0'; 417 if ( 100 < $percent ) { $percent = 100;} 418 419 $line = filter_var($line_wide['size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); 420 $track = filter_var($track_wide['size'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); 421 $cap = isset($linecap) && in_array( $linecap, array('round','square')) ? $linecap : ''; 422 $widgetID = "mod_". substr( $this->get_id_int(), 0, 4 ); 710 423 ?> 711 <div class="circle-bar easyPieChart" data-linecap="round" data-trackwidth="20" data-linewidth="530" data-bgcolor="blue" data-color="#000" data-percent="80"></div> 712 424 <div class="circle-bar-outer" id="<?php print esc_js(esc_attr($widgetID));?>" style="width:<?php print esc_attr($canvas_wide['size']);?>%"> 425 <div class="circle-bar-label"><?php 426 if( isset($count_number) && $count_number!=''){ printf('<span class="circle-bar-value">%s</span>', esc_html($count_number) ); } 427 if( isset($count_unit) && $count_unit!=''){ printf('<span class="circle-bar-unit">%s</span>', esc_html($count_unit) ); } 428 ?> 429 </div> 430 <div class="circle-bar" data-percent="<?php print(esc_attr($percent));?>"><span class="bar-color"></span><span class="bar-background"></span></div></div> 431 <script type="text/javascript"> 432 jQuery(document).ready(function($){ 433 'use strict'; 434 435 var <?php print esc_js($widgetID).'clrtimer';?>,<?php print esc_js($widgetID).'_size';?>,<?php print esc_js($widgetID).'_line';?>=15,<?php print esc_js($widgetID).'_track';?> = 15,<?php print esc_js($widgetID).'_barColor';?>= $('#<?php print esc_js($widgetID);?>').find('.bar-color').css('color'),<?php print esc_js($widgetID).'_barBackground';?>= $('#<?php print esc_js($widgetID);?>').find('.bar-background').css('color'); 436 437 $(window).on('resize',function(e) { 438 <?php print esc_js($widgetID).'_size';?> = $('#<?php print esc_js($widgetID);?>').outerWidth(); 439 <?php print esc_js($widgetID).'_line';?> = Math.min(<?php print esc_js($widgetID).'_size';?>/2, <?php print(esc_attr($line));?>); 440 <?php print esc_js($widgetID).'_track';?> = Math.min(<?php print esc_js($widgetID).'_size';?>/2, <?php print(esc_attr($track));?>); 441 442 clearTimeout(<?php print esc_js($widgetID).'clrtimer';?>); 443 <?php print esc_js($widgetID).'clrtimer';?> = setTimeout(function(){ 444 $('#<?php print esc_js($widgetID);?> .circle-bar').removeData('easyPieChart').find('canvas').remove(); 445 $('#<?php print esc_js($widgetID);?> .circle-bar').easyPieChart({ 446 barColor: <?php print esc_js($widgetID).'_barColor';?>, 447 trackColor: <?php print esc_js($widgetID).'_barBackground';?>, 448 scaleColor: false, 449 lineCap: '<?php print(esc_attr($cap));?>', 450 lineWidth: <?php print esc_js($widgetID).'_line';?>, 451 trackWidth: <?php print esc_js($widgetID).'_track';?>, 452 animate: 1200, 453 size: <?php print esc_js($widgetID).'_size';?> 454 }); 455 456 }, 100); 457 458 }); 459 460 $(window).resize(); 461 462 463 }); 464 465 </script> 713 466 <?php 714 467 715 468 } 716 469 717 protected function sanitize_output($content) {718 719 720 $allowed_html = array('b'=>array(),'strong'=>array());721 $allowed_protocols = array();722 723 return wp_kses_split($content,$allowed_html, $allowed_protocols);724 }725 726 470 public function enqueue_script( ) { 727 728 471 wp_enqueue_style( 'gum-elementor-addon',GUM_ELEMENTOR_URL."css/style.css",array()); 729 wp_enqueue_script( 'jquery-appear', GUM_ELEMENTOR_URL . 'js/jquery.appear.min.js', array('jquery'), '1.0', false ); 730 wp_enqueue_script( 'easyPieChart', GUM_ELEMENTOR_URL . 'js/chart.js', array('jquery'), '1.0', false ); 731 } 472 } 473 474 public function get_script_depends() { 475 return [ 'easyPieChart' ]; 476 } 732 477 733 478 734 479 } 735 736 480 737 481 // Register widget -
gum-elementor-addon/trunk/widgets/popover_btn.php
r3255643 r3263986 269 269 ); 270 270 271 272 $this->add_control( 273 'pop_tag', 274 [ 275 'label' => esc_html__( 'Title Tag', 'gum-elementor-addon' ), 276 'type' => Controls_Manager::SELECT, 277 'options' => [ 278 'h2' => 'H2', 279 'h3' => 'H3', 280 'h4' => 'H4', 281 'h5' => 'H5', 282 'h6' => 'H6', 283 'div' => 'div', 284 'span' => 'span', 285 ], 286 'default' => 'h4', 287 ] 288 ); 289 271 290 $this->add_control( 272 291 'pop_text', … … 636 655 'label' => esc_html__( 'Title', 'gum-elementor-addon' ), 637 656 'name' => 'typography_pop_title', 638 'selector' => '{{WRAPPER}} .popover-box h4',657 'selector' => '{{WRAPPER}} .popover-box .pop-title', 639 658 'separator' => 'before', 640 659 ] … … 649 668 'default' => '', 650 669 'selectors' => [ 651 '{{WRAPPER}} .popover-box h4' => 'color: {{VALUE}};',670 '{{WRAPPER}} .popover-box .pop-title' => 'color: {{VALUE}};', 652 671 ] 653 672 ] … … 668 687 ], 669 688 'selectors' => [ 670 '{{WRAPPER}} {{WRAPPER}} .popover-box h4' => 'margin-bottom: {{SIZE}}{{UNIT}};',689 '{{WRAPPER}} .popover-box .pop-title' => 'margin-bottom: {{SIZE}}{{UNIT}};', 671 690 ], 672 691 'separator' => 'after', … … 707 726 extract( $settings ); 708 727 709 $this->add_render_attribute( 'wrapper', 'class', 'popover-button-wrapper' ); 728 $widgetID = "mod_". substr( $this->get_id_int(), 0, 4 ); 729 730 $this->add_render_attribute( 'wrapper', ['class' => 'popover-button-wrapper','id'=> $widgetID ]); 710 731 711 732 $this->add_render_attribute( 'button', 'class', [ … … 724 745 $button_html = $button_icon = ''; 725 746 726 727 747 if(!empty($selected_icon['value'])){ 728 729 748 730 749 ob_start(); … … 737 756 $button_html .= '<span '.$this->get_render_attribute_string( 'button_text' ).'>'.esc_html($button_text).'</span>'; 738 757 739 $pop_title = $this->sanitize_output($pop_title);740 $pop_text = $this->sanitize_output($pop_text);741 742 758 ?> 743 <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>><a <?php echo $this->get_render_attribute_string( 'button' ); ?> data-pop="<?php esc_attr_e($pop_title);?>" data-pop-text="<?php esc_attr_e($pop_text);?>" data-pop-align="<?php esc_attr_e($pop_align);?>"><span class="elementor-button-content-wrapper"><?php print $button_icon.$button_html; ?></span></a> 759 <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>><a <?php echo $this->get_render_attribute_string( 'button' ); ?>><span class="elementor-button-content-wrapper"><?php print $button_icon.$button_html; ?></span></a><div class="popover-box pop-<?php esc_attr_e($pop_align);?>"><div><?php 760 761 if($pop_title!=''){ 762 763 $allowed_tags = [ 'h2','h3','h4','h5','h6','div','span' ]; 764 765 $title_tag = isset($pop_tag) && in_array($pop_tag, $allowed_tags) ? $pop_tag:'h4'; 766 767 printf('<%1$s class="pop-title">%2$s</%1$s>',$pop_tag,esc_attr($pop_title)); 768 769 } 770 771 ?><?php esc_attr_e($pop_text);?></div><span class="close-pop"></span></div> 744 772 </div> 773 <script type="text/javascript"> 774 jQuery(document).ready(function($){ 775 'use strict'; 776 777 $('#<?php print esc_js($widgetID).' .popover-button';?>').on("click", function(e){ 778 e.preventDefault(); 779 $(this).closest('.popover-button-wrapper').toggleClass('pop-it'); 780 781 $('#<?php print esc_js($widgetID).' .close-pop';?>').on('click',function(e){ 782 e.preventDefault(); 783 $(this).closest('.popover-button-wrapper').removeClass('pop-it'); 784 }); 785 }); 786 787 }); 788 </script> 745 789 <?php 746 790 747 }748 749 protected function sanitize_output($content) {750 751 752 $allowed_html = array('b'=>array(),'strong'=>array());753 $allowed_protocols = array();754 755 return wp_kses_split($content,$allowed_html, $allowed_protocols);756 791 } 757 792 -
gum-elementor-addon/trunk/widgets/totop_btn.php
r3152093 r3263986 482 482 $top_html = '<span></span>'; 483 483 484 485 484 if(!empty($selected_icon['value'])){ 486 485 … … 490 489 } 491 490 ?><div <?php echo $this->get_render_attribute_string( 'wrapper' );?>><span class="totop-wrapper"><?php print $top_html; ?></span></div> 491 <script type="text/javascript"> 492 jQuery(document).ready(function($){ 493 'use strict'; 494 495 $(window).on('scroll', function () { 496 var totop_offset = 10; 497 498 if($('#wpadminbar').length){ totop_offset += $('#wpadminbar').outerHeight();} 499 if ($(this).scrollTop() < totop_offset ) { $("#totop_btn").fadeOut();} else { $("#totop_btn").fadeIn();} 500 }); 501 502 $("#totop_btn").on('click', function () { 503 $("body,html").animate({ 504 scrollTop: 0 505 }, 506 100); 507 }); 508 }); 509 510 </script> 492 511 <?php 493 494 512 $gum_helper['totop_load'] = true; 495 513
Note: See TracChangeset
for help on using the changeset viewer.