1 2(function($) { 3 var mtfgfTooltipApi = null; 4 5 6 function mmattr($that, key) { 7 return $that.attr(key) || $that.attr('data-'+key); 8 } 9 // v20200220 10 var isFieldOfVisibleGForm = function($that) { 11 var gform_page = $that.closest('.gform_page'); 12 if((gform_page.length > 0) && (gform_page.css('display') == 'none')) { 13 return false; 14 } 15 16 var gpnf_nested_form = $that.closest('.gpnf-nested-form'); 17 if((gpnf_nested_form.length > 0) && (gpnf_nested_form.css('display') == 'none')) { 18 return false; 19 } 20 21 return true; 22 } 23 24 var isMMI = function($forceModal) { 25 return (mtfgf_settings && mtfgf_settings.add_icon) && ($forceModal || mtfgf_settings.add_icon_hover_icon || mtfgf_settings.add_icon_click_icon); 26 } 27 28 // v20200220 29 var isFieldInited = function($that) { 30 if($that.hasClass('mm-tooltip-inited')) { 31 return true; 32 } 33 return false; 34 } 35 36 // v20200220 37 var markFieldInited = function($that) { 38 $that.addClass('mm-tooltip-inited'); 39 } 40 41 // v20200220 42 var isContainTooltipContent = function(tipC) { 43 // console.log('mtfgtrim', mtfgtrim($('<div>'+tipC+'</div>').text())); 44 // return !((!tipC) || (tipC.length==0) || (!/(<|>)/i.test(tipC) && (mtfgtrim($('<div>'+tipC+'</div>').text()).length==0))); 45 var hasText = !((!tipC) || (tipC.length==0) || (mtfgtrim($('<div>'+tipC+'</div>').text()).length==0)); 46 47 var hasImageOrVideo = /(<iframe|<video|<img|<script|<object)/i.test(tipC); 48 49 return hasText || hasImageOrVideo; 50 } 51 52 // v20200220 53 var encodedStr = function(rawStr){ 54 return rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) { 55 return '&#'+i.charCodeAt(0)+';'; 56 }); 57 }; 58 59 // v20200220 60 var handle_gfield_list_column = function($that, is_reinit_price_field, tooltip_code) { 61 var $ligfield = $that.closest('.gfield'); 62 $forceModal = $ligfield.hasClass('mm-enable-modal'); 63 // console.log('mtfgf_settings', mtfgf_settings); 64 $desc = $that.closest('.gfield').find('.mm_tooltip_text'); 65 //console.log('desc', $desc); 66 if($desc.length > 0){ 67 var tipC = getTooltipContentRaw($that.closest('.gfield').find('.gfield_label'), mtfgf_settings, $that.index()+1, true); 68 var hasTooltipContent = isContainTooltipContent(tipC); 69 //console.log('hasTooltipContent', hasTooltipContent, tipC); 70 if(hasTooltipContent){ 71 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 72 var ligfieldiconClasses = ligfieldicon.split(' '); 73 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 74 if(mtfgf_settings && mtfgf_settings.add_icon) { 75 $label = $that;//.find('label'); 76 if($label.find('mmi').length == 0) { 77 if(mtfgf_settings.showIconLeft) { 78 $label.html('<label><mmi><i class="'+ligfieldicon+'"></i></mmi> '+$label.html())+'</label>'; 79 } 80 else { 81 $label.html('<label>' + $label.html()+' <mmi><i class="'+ligfieldicon+'"></i></mmi></label>'); 82 } 83 } 84 85 } 86 var selector001 = 'label'; // $forceModal ? 'label mmi' : 'label'; 87 var targetLabel = $that.find('label'); 88 var target = $that.find(selector001); 89 90 // if(mtfgf_settings && mtfgf_settings.mouse_over) { 91 // targetLabel.addClass('mm-tooltip'); 92 // } 93 if(mtfgf_settings && mtfgf_settings.add_underline) { 94 targetLabel.addClass('mm-tooltip-title-underline'); 95 } 96 97 initHoverTooltip(target, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 98 99 // targetLabel.addClass('mm-tooltip-inited'); 100 } 101 } 102 } 103 104 // v20200220 105 var handle_radio_or_checkbox_option = function($that, is_reinit_price_field, tooltip_code, force_index) { 106 var $ligfield = $that.closest('.gfield'); 107 $forceModal = $ligfield.hasClass('mm-enable-modal') || mtfgf_settings.force_modal; 108 // console.log('mtfgf_settings', mtfgf_settings); 109 $desc = $that.closest('.gfield').find('.mm_tooltip_text'); 110 // console.log('desc', $desc); 111 if($desc.length > 0){ 112 var tipC = getTooltipContentRaw($that.closest('.gfield').find('.gfield_label'), mtfgf_settings, force_index ? force_index : $that.index()+1, true); 113 // console.log('tipC', tipC); 114 var hasTooltipContent = isContainTooltipContent(tipC); 115 var deschtml = $desc.html(); 116 if(!hasTooltipContent && mtfgf_settings.mouse_over_input && !mtfgfHasOptionsHr(deschtml)) {
117 tipC = $desc.html(); 118 hasTooltipContent = true; 119 } 120 121 // console.log('handle_radio_or_checkbox_option', $that, hasTooltipContent); 122 123 if(hasTooltipContent){ 124 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 125 var ligfieldiconClasses = ligfieldicon.split(' '); 126 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 127 $label = $that.find('label'); 128 var hasLabel = $label.length > 0; 129 if(!hasLabel) $label = $that; 130 if(mtfgf_settings && mtfgf_settings.add_icon) { 131 132 if($label.find('mmi').length == 0) { 133 // $label.attr('tabindex', 0); 134 if(mtfgf_settings.showIconLeft) { 135 $label.html('<mmi><i class="'+ligfieldicon+'"></i></mmi> '+$label.html()); 136 } 137 else { 138 $label.html($label.html()+' <mmi><i class="'+ligfieldicon+'"></i></mmi>'); 139 } 140 } 141 } 142 // var selector001 = (mtfgf_settings && mtfgf_settings.add_icon) && ($forceModal || mtfgf_settings.add_icon_hover_icon || mtfgf_settings.add_icon_click_icon) ? '> :nth-child(2) mmi' : '> :nth-child(2)'; 143 144 var selector001 = isMMI($forceModal) ? '> label mmi' : '> label'; 145 // var selector001 = (mtfgf_settings && mtfgf_settings.add_icon) && ($forceModal || mtfgf_settings.add_icon_hover_icon || mtfgf_settings.add_icon_click_icon) ? 'label mmi' : 'label'; 146 var target = hasLabel ? $that.find(selector001) : (isMMI($forceModal) ? $that.find('mmi') : $that); 147 // console.log('handle_radio_or_checkbox_option', $label, target); 148 149 150 // if(mtfgf_settings.mouse_over_input || (!mtfgf_settings.focus_input)) { 151 152 // } 153 // else if(mtfgf_settings.focus_input) { 154 // target = $that.find('input:nth-child(1)'); 155 // } 156 157 // console.log('target', target); 158 159 // var gf_price_fix = false; 160 161 // var gf_price_fix = (!mtfgf_settings.isMobile) && $that.closest('.gfield').hasClass('gfield_price'); 162 163 // (mtfgf_settings.add_icon_hover_icon) || $forceModal ? ':nth-child(2) mmi' : ':nth-child(2)'; 164 165 initHoverTooltip(target, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 166 } 167 } 168 } 169 170 // v20200220 171 var reinit_price_field = function(formId, tooltip_code) { 172 $('#gform_'+formId+' .gfield_price .gfield_checkbox > li, #gform_'+formId+' .gfield_price .gfield_radio > li, #gform_'+formId+' .gfield_price .gfield_checkbox > div, #gform_'+formId+' .gfield_price .gfield_radio > div').each(function(index) { 173 $that = $(this); 174 var gform_page = $that.closest('.gform_page'); 175 if((gform_page.length > 0) && (gform_page.css('display') == 'none')) { 176 return; 177 } 178 handle_radio_or_checkbox_option($that, true, tooltip_code); 179 180 }); 181 } 182 183 // v20200220 184 var mtfgtrim = function(s) { 185 //return this.replace(/[(^\s+)(\s+$)]/g,"");//ææå符串ä¸éç空ç½ç¬¦ä¹å»æ 186 //return this.replace(/^\s+|\s+$/g,""); // 187 return s.replace(/^\s+/g,"").replace(/\s+$/g,""); 188 } 189 190 // v20200220 191 var mtfgfGetValueFromRegExp = function(regex, html){ 192 var m = null; 193 var result = ''; 194 if ((m = regex.exec(html)) !== null) { 195 // This is necessary to avoid infinite loops with zero-width matches 196 if (m.index === regex.lastIndex) { 197 regex.lastIndex++; 198 } 199 // The result can be accessed through the `m`-variable. 200 m.forEach(function(match, groupIndex) { 201 //console.log(`Found match, group ${groupIndex}: ${match}`); 202 if(groupIndex == 1){ 203 result = match; 204 } 205 }); 206 } 207 return result; 208 } 209 210 // v20200220 211 var hideEvents = { 212 hidden: function(event, api) { 213 // console.log('api000002', api, '#qtip-'+api.id+' iframe');
214 jQuery('#qtip-'+api.id+' iframe').each(function(){ 215 var leg = jQuery(this).attr("src"); 216 var regex =/https?:\/\/(www.)?youtube|youtu\.be/ig; 217 if(leg.match(regex)) { 218 // console.log('api000002 youtube video, try to pause'); 219 this.contentWindow.postMessage(JSON.stringify({ 220 event: 'command', 221 func: 'pauseVideo' }), '*'); // pauseVideo stopVideo 222 } 223 224 // var leg=jQuery(this).attr("src"); 225 // jQuery(this).attr('src', leg); 226 // console.log('api000002 leg', leg); 227 }); 228 // Destroy it immediately 229 // api.destroy(false); 230 }, 231 hide: function(event, api) { 232 // mtfgfTooltipApi = null; 233 // console.log('mtfgfTooltipApi hide', mtfgfTooltipApi); 234 // console.log('hidetooltip', event.tagName, event.originalEvent); 235 // if(event.originalEvent && event.originalEvent.originalEvent && event.originalEvent.originalEvent.originalTarget.tagName == 'IFRAME') { 236 // event.preventDefault(); 237 // } 238 239 // prevent auto hide for youtube video 240 if(event.type == 'mouseout' && event.originalEvent && event.originalEvent.target && event.originalEvent.target.tagName == 'IFRAME') { 241 event.preventDefault(); 242 } 243 else if(event.type == 'blur' && event.originalEvent && event.originalEvent.target && event.originalEvent.target.activeElement && event.originalEvent.target.activeElement.tagName == 'IFRAME') { 244 event.preventDefault(); 245 } 246 }, 247 show: function(event, api) { 248 249 mtfgfTooltipApi = api; //$(this).qtip('api'); 250 // console.log('mtfgfTooltipApi show', mtfgfTooltipApi); 251 setTimeout(function(){ 252 // console.log('qtipshow', event, api); 253 if(jQuery().accordion) { 254 jQuery( event.target ).find(".qtip-content .mm-accordion").each(function(){ 255 var $that = $(this); 256 if($that.hasClass('mm-accordion-all-collapsed')) { 257 $that.accordion({ 258 collapsible: true, 259 active: false, 260 }); 261 } else { 262 $that.accordion(); 263 } 264 }); 265 // setTimeout(function(){ 266 mtfgfTooltipApi.reposition(event); 267 // }, 13); 268 } 269 }, 13); 270 271 } 272 }; 273 274 function mtfgfHasOptionsHr(html) { 275 var split_str_arr = ['<hr>', '<hr />', '<hr/>']; 276 for(var jj =0; jj < split_str_arr.length; jj++ ) { 277 if(html.indexOf(split_str_arr[jj])>=0) { 278 return true; 279 } 280 } 281 return false; 282 } 283 284 // v20200220 285 function getTooltipContentRaw($that, mtfgf_settings, i, isRadioOrCheckbox) { 286 var selector = mtfgf_settings.description_as_tooltip ? '.gfield_description' : '.mm_tooltip_text'; 287 // var mmli = $that.parents('.mm-tooltip-li'); 288 var mmli = $that.closest('.gfield'); 289 var html = mmli.find(selector).html(); 290 // console.log('getTooltipContentRaw001', html); 291 if(mtfgf_settings.description_as_tooltip && (!html)) { 292 selector = '.mm_tooltip_text'; 293 html = mmli.find(selector).html(); 294 // console.log('getTooltipContentRaw002', html); 295 } 296 297 298 299 //if(html && ($that.next().hasClass('ginput_container_radio') || $that.next().hasClass('ginput_container_checkbox'))) { 300 if((i>=0) && html && isRadioOrCheckbox) { 301 var split_str_arr = ['<hr>', '<hr />', '<hr/>']; 302 var split_str = false; 303 for(var jj =0; jj < split_str_arr.length; jj++ ) { 304 if(html.indexOf(split_str_arr[jj])>=0) { 305 split_str = split_str_arr[jj]; 306 break; 307 } 308 } 309 310 if(split_str) { 311 var hs = html.split(split_str); 312 // console.log('getTooltipContentRaw - hs', hs); 313 if((i>=0) && (hs.length > i)) { 314 html = hs[i]; 315 } 316 else { 317 html = false;
318 } 319 } 320 else if(i > 0) { 321 return false; 322 } 323 324 } 325 326 327 //} 328 return html; 329 330 //ginput_container_radio 331 } 332 333 // v20200220 334 function getTooltipContent($that, mtfgf_settings, isRadioOrCheckbox) { 335 var m = getTooltipContentRaw($that, mtfgf_settings, 0, isRadioOrCheckbox); 336 // console.log("getTooltipContentResult", m, $that); 337 return m; 338 } 339 340 // v20200220 341 function fixeIsHover(isHover, tooltipHTML){ 342 if(mtfgf_settings.enable_lightbox && mtfgf_settings.enable_lightbox_on_click_icon) { 343 var foundImg = /<img/i.test(tooltipHTML); 344 if(tooltipHTML && foundImg) { 345 return false; 346 } 347 } 348 349 return isHover; 350 } 351 352 var mm_named_styles_added = []; 353 var mm_custom_max_width_added = []; 354 // v20200220 355 function mtfgf_maybe_custom_max_width($that){ 356 var $ligfield = $that.closest('.gfield'); 357 var $enalbedCustomMaxWidth = $ligfield.hasClass('mm-enable-custom-max-width'); 358 if($enalbedCustomMaxWidth) { 359 var maxWidth = $ligfield.attr('mm-max-width'); 360 if(mm_custom_max_width_added.indexOf(maxWidth) == -1) { 361 var $container = $('<style type="text/css"></style>').appendTo("body"); 362 $container.text('.qtip.mm-custom-max-width-'+maxWidth+' {max-width: '+maxWidth+'px !important}'); 363 364 mm_custom_max_width_added[mm_custom_max_width_added.length] = maxWidth; 365 } 366 return maxWidth; 367 } 368 return false 369 } 370 371 function mtfgf_handle_named_style($that, tooltip_code, style_id) { 372 373 // console.log('window.mtfgf_named_styles', window.mtfgf_named_styles); 374 if(window.mtfgf_named_styles && window.mtfgf_named_styles[style_id]) { 375 var mtfgf_js_code = {}; 376 var mtfgf_css_code = ''; 377 // console.log('window.mtfgf_named_styles[style_id]', window.mtfgf_named_styles[style_id]); 378 var mtfgf = window.mtfgf_named_styles[style_id].style; 379 if(mmMobileDetect.isMobile.phone) { 380 mtfgf_js_code = mtfgf.js_code_phone ? mtfgf.js_code_phone : mtfgf.js_code; 381 mtfgf_css_code = mtfgf.css_code_phone ? mtfgf.css_code_phone : mtfgf.css_code; 382 } 383 else if(mmMobileDetect.isMobile.tablet) { 384 mtfgf_js_code = mtfgf.js_code_pad ? mtfgf.js_code_pad : mtfgf.js_code; 385 mtfgf_css_code = mtfgf.css_code_pad ? mtfgf.css_code_pad : mtfgf.css_code; 386 } 387 else { 388 mtfgf_js_code = mtfgf.js_code; 389 mtfgf_css_code = mtfgf.css_code; 390 } 391 392 eval('var named_tooltip_code = ' + mtfgf_js_code); 393 394 named_tooltip_code.style.classes = " mm-tooltip-container-" + style_id; 395 mtfgf_css_code = mtfgf_css_code.replace(/\.mm\-tooltip\-container/g, '.mm-tooltip-container-'+style_id); 396 397 if(mm_named_styles_added.indexOf(style_id) == -1) { 398 var $container = $('<style type="text/css"></style>').appendTo("body"); 399 $container.text(mtfgf_css_code); 400 401 mm_named_styles_added[mm_named_styles_added.length] = style_id; 402 } 403 404 // console.log('named_tooltip_code', named_tooltip_code); 405 406 return named_tooltip_code; 407 } 408 409 return tooltip_code; 410 } 411 412 // v20200220 413 function mtfgf_get_tooltip_code($that, tooltip_code){ 414 if($that.attr('tip2-ns')) { 415 var style_id = $that.attr('tip2-ns'); 416 return mtfgf_handle_named_style($that, tooltip_code, style_id); 417 } 418 var $ligfield = $that.closest('.gfield'); 419 var $enalbedNamedStyle = $ligfield.hasClass('mm-enable-named-style'); 420 if($enalbedNamedStyle) { 421 var style_id = $ligfield.attr('mm-named-style'); 422 return mtfgf_handle_named_style($that, tooltip_code, style_id); 423 } 424 return tooltip_code; 425 } 426 427 // v20200220
428 function mtfgf_open_link_in_new_window(html) { 429 return html ? html.replace(/<a(.+?>)/gi, function(match, p1, p2, offset, input_string) 430 { 431 var match2 = match.toLowerCase(); 432 if(match2.indexOf('href=')>0 && match2.indexOf('target=')==-1) { 433 return '<a target="_blank"'+p1; 434 } 435 else { 436 return match; 437 } 438 }) : html; 439 } 440 441 // v20200220 442 function mtfgf_maybe_add_title(html, mmli, mmliradio) { 443 if(mmli.attr('mm-tooltip-custom-title')) { 444 var custom_title = ''; 445 if(mmliradio.length > 0) { 446 var label = mmliradio.find('label').contents(); 447 // custom_title = label[0].textContent; 448 if(label && label[0]) { 449 custom_title = label[0].textContent; 450 } 451 else { 452 custom_title = mmliradio.text(); 453 // console.log('mmliradio', mmliradio); 454 } 455 456 } 457 else { 458 custom_title = mmli.attr('mm-tooltip-custom-title'); 459 } 460 461 if(custom_title.length > 0) { 462 html = '<h6 class="mm-tooltip-title">'+ custom_title+'</h6>'+html; 463 } 464 465 } 466 467 return html; 468 } 469 470 // v20200220 471 function initHoverTooltip($that, isModal, tooltip_code_default, tooltipHTML, hideEvents, settings1, isForce, modalHint) { 472 isModal = isModal || mtfgf_settings.force_modal; 473 if(!tooltipHTML) return; 474 if(tooltipHTML.trim().length === 0) return; 475 var mmli = $that.closest('.gfield'); 476 // var pum = mmli.parents('.pum'); 477 // // console.log('pumBeforeOpen isForce', isForce); 478 // if((!isForce) && pum.length > 0) { 479 // // console.log('pumBeforeOpenåç°pum'); 480 // pum.on('pumAfterOpen', function () { 481 // // console.log('pumBeforeOpen'); 482 // var $popup = $(this); 483 // setTimeout(function(){ 484 // initHoverTooltip($that, isModal, tooltip_code_default, tooltipHTML, hideEvents, settings1, true); 485 // }, 200); 486 // }); 487 // return; 488 // } 489 490 var maxWidth = mtfgf_maybe_custom_max_width($that); 491 492 tooltip_code = mtfgf_get_tooltip_code($that, tooltip_code_default); 493 494 495 496 497
498 tooltipHTML = mtfgf_open_link_in_new_window(tooltipHTML); 499 500 501 var mmliradio = $that.closest('.mm-tooltip-radio'); 502 if(mmliradio.length === 0) mmliradio = $that.closest('th.mm-tooltip-list-item'); 503 if(mmliradio.length === 0) { 504 var mmcell = $that.closest('td.gfield_list_cell'); 505 // console.log('mmcell', mmcell); 506 if(mmcell.length > 0) { 507 var mmcellIndex = mmcell.index(); 508 509 mmliradio = mmcell.closest('.gfield_list').find('th:nth-child('+(mmcellIndex+1)+')'); 510 // console.log('mmcellIndex th', mmcellIndex, mmliradio); 511 } 512 } 513 514 tooltipHTML = mtfgf_maybe_add_title(tooltipHTML, mmli, mmliradio); 515 516 if(mtfgf_settings) { 517 var isHover = true; 518 519 isHover = fixeIsHover(isHover, tooltipHTML); 520 var forceShowTooltip = mmliradio.length === 0 && mmli.hasClass('mm-force-show-tooltip'); 521 // console.log('forceShowTooltip', {forceShowTooltip, isModal}); 522 if(isModal){ 523 $that.click(function(e){ 524 e.preventDefault(); 525 var readMoreHTML = tooltipHTML.split('<!--more-->'); 526 527 if(readMoreHTML.length > 1) { 528 var ReadMoreButtonText = mmli.attr('mm-modal-more-text') || 'Read More'; 529 530 531 readMoreHTML[0] += '<div class="mtfgf_modal_read_more_row"><a class="mtfgf_modal_read_more">'+ReadMoreButtonText+'</a></div>'; 532 readMoreHTML[0] += '<div class="mtfgf_modal_read_more_content">'+readMoreHTML[1]+'</div>'; 533 } 534 535 //.appendTo('body'); 536 //$('#mtfgf_modal'). 537 $('<div class="mtfgf_modal">'+readMoreHTML[0]+'</div>').modalmm(); 538 539 setTimeout(function(){ 540 // console.log('qtipshow', event, api); 541 if(jQuery().accordion) { 542 jQuery(".mtfgf_modal .mm-accordion").each(function(){ 543 var $that = $(this); 544 if($that.hasClass('mm-accordion-all-collapsed')) { 545 $that.accordion({ 546 collapsible: true, 547 active: false, 548 }); 549 } else { 550 $that.accordion(); 551 } 552 }); 553 } 554 555 }, 13); 556 return false; 557 }); 558 559 var showTooltipHint = mmli.hasClass('mm-modal-enable-hint') || modalHint; 560 561 562 if(showTooltipHint){ 563 var ReadMoreButtonText1 = mmli.attr('mm-modal-hint-text') || modalHint || 'Click to show...'; 564 $that.qtip($.extend({}, tooltip_code, { 565 content: { 566 text: ReadMoreButtonText1// Use the "div" element next to this for the content 567 }, 568 show: { 569 solo: true, 570 ready: forceShowTooltip, 571 event: 'hover', 572 }, 573 hide: { //forceShowTooltip ? false : 574 fixed: true, 575 delay: 300 576 }, 577 events: hideEvents 578 })); 579 } 580 } 581 else if(isHover) { //hover to show tooltip 582 583 if(mtfgf_settings.deviceType == 1 && mmli.hasClass('mm-tooltip-magic-position-mobile-phone')) { 584 if(!(tooltip_code.position.my == 'top center' || tooltip_code.position.my == 'bottom center')) { 585 tooltip_code.position.at = 'top center'; 586 tooltip_code.position.my = 'bottom center'; 587 } 588 var leftPos = $that[0].getBoundingClientRect().left; 589 var winWidth = $(window).width(); 590 var domWidth = $that.width(); 591 if((leftPos + domWidth ) > winWidth / 2) { 592 tooltip_code.style.tip = { 593 // offset: -leftPos 594 offset: -((winWidth-domWidth)/2 - leftPos) // offset from the center 595 }; 596 } else { 597 tooltip_code.style.tip = { 598 offset: -leftPos - domWidth/2 599 }; 600 } 601 // console.log('tooltip_code leftPos', leftPos, domWidth, winWidth, tooltip_code) 602 } 603 604 var showO = ''; 605 var hideO = ''; 606 var isInput = $that.is('input, textarea, select'); 607 if(!isInput || mtfgf_settings.mouse_over_input || (!mtfgf_settings.focus_input)) { 608 showO = mtfgf_settings.add_icon_click_icon ? 'click' : 'hover'; 609 hideO = { 610 fixed: true, 611 delay: 300 612 } 613 } else if(mtfgf_settings.focus_input) { 614 showO = mmliradio.length > 0 ? 'click' : 'focus'; 615 hideO = mmliradio.length > 0 ? { 616 fixed: true, 617 delay: 300 618 } : 'unfocus'; 619 620 // if(mtfgf_settings.mouse_over) { 621 // showO = { 622 // event: mmliradio.length > 0 ? showO+' mouseenter' : showO 623 // }; 624 // hideO = { 625 // fixed: true, 626 // delay: 300 627 // } 628 // } 629 } 630 631 632 // console.log('target qtip 1', mmliradio.length, $that, showO, hideO); 633 // console.log('target qtip 2', $that, showO, hideO); 634 const hasVideo = /(class="post-video")|youtube|<video|<iframe/ig.test(tooltipHTML); 635 636 637 const tooltip_code_new = $.extend({}, tooltip_code); 638 tooltip_code_new.style.classes += maxWidth ? ' mm-custom-max-width-' + maxWidth : ''; 639 640 // forceShowTooltip = true; 641 642 // console.log('tooltip_code_new', tooltip_code_new); 643 // mtfgf_settings.isMobile = true; 644 // console.log('tooltip_code_new222', $that, mtfgf_settings.isMobile ? 'click' : showO); 645 $that.qtip($.extend(tooltip_code_new, { 646 content: { 647 text: tooltipHTML// Use the "div" element next to this for the content 648 }, 649 // style: { 650 // classes: maxWidth ? 'mm-custom-max-width-' + maxWidth : '' 651 // }, 652 show: { 653 ready: forceShowTooltip, 654 solo: true, 655 event: (mtfgf_settings.isMobile && !mmli.hasClass('gfield_price') ? 'click' : showO), 656 }, 657 hide: hasVideo ? 'unfocus' : hideO, 658 events: hideEvents 659 })); 660 // $that.parent().off('click'); 661 // console.log('forceShowTooltip 002', {tooltipHTML, $that, showO}); 662 663 if(mtfgf_settings && mtfgf_settings.tab_stop) { 664 $that 665 .attr('tabindex', 0) 666 .on('focus', function(e){ 667 // console.log('$that focused'); 668 $(this).trigger('mouseenter'); 669 // mtfgfTooltipApi = $(this).qtip('api'); 670 }) 671 .on('blur', function(e){ 672 // console.log('$that unfocused'); 673 $(this).trigger('mouseleave'); 674 // mtfgfTooltipApi = null; 675 }); 676 } 677 } 678 else { //click to show lightbox 679 if($that.attr('sb_items_id')){ 680 return; 681 } 682 var $images = $('<div>'+tooltipHTML+'</div>').find('img'); 683 684 // console.log('sbItems tooltipHTML', tooltipHTML); 685 // console.log('sbItems images', $images); 686 687 mtfgf_settings['sb_items_seed'] = mtfgf_settings['sb_items_seed'] ? mtfgf_settings['sb_items_seed'] + 1 : 1; 688 689 var sbItems = []; 690 $images.each(function(index){ 691 var src = $(this).attr('data-lazy-src') || $(this).attr('src'); 692 if(src.indexOf('/plugins/') ==-1 ) { 693 sbItems.push({ 694 href: src //, title:'My Caption' 695 }); 696 } 697 }); 698 mtfgf_settings['sb_items_'+mtfgf_settings['sb_items_seed']] = sbItems; 699 $that.addClass('mm-swipebox'); 700 $that.attr('sb_items_id', mtfgf_settings['sb_items_seed']); 701 $that.click(function(e){ 702 e.preventDefault(); 703 var sbItems = mtfgf_settings['sb_items_'+$(this).attr('sb_items_id')]; 704 // console.log('sbItems', sbItems); 705 jQuery.swipebox(sbItems); 706 return false;
707 }); 708 709 if(mtfgf_settings.enable_lightbox_hover_tooltip){ 710 $that.qtip($.extend({}, tooltip_code, { 711 content: { 712 text: mtfgf_settings.lightbox_hover_tooltip// Use the "div" element next to this for the content 713 }, 714 show: { 715 solo: true, 716 ready: forceShowTooltip, 717 event: 'hover', 718 }, 719 hide: { //forceShowTooltip ? false : { 720 fixed: true, 721 delay: 300 722 }, 723 events: hideEvents 724 })); 725 } 726 } 727 } 728 } 729 730 // v20200220 731 function quoteattr(s, preserveCR) { 732 preserveCR = preserveCR ? ' ' : '\n'; 733 return ('' + s) /* Forces the conversion to string. */ 734 .replace(/&/g, '&') /* This MUST be the 1st replacement. */ 735 .replace(/'/g, ''') /* The 4 other predefined entities, required. */ 736 .replace(/"/g, '"') 737 .replace(/</g, '<') 738 .replace(/>/g, '>') 739 /* 740 You may add other replacements here for HTML only 741 (but it's not necessary). 742 Or for XML, only if the named entities are defined in its DTD. 743 */ 744 .replace(/\r\n/g, preserveCR) /* Must be before the next replacement. */ 745 .replace(/[\r\n]/g, preserveCR); 746 ; 747 } 748 749 // v20200220 750 var handle_gfield_input_textarea_no_label_mode = function($that, hasSubLabel, placeholder, no_label_show_help_icon, $desc) { 751 $that.closest('.gfield').find('input, textarea').each(function(){ 752 if(['radio', 'checkbox', 'hidden'].indexOf($(this).attr('type')) >= 0) { 753 return; 754 } 755 if($(this).attr('placeholder')){ 756 placeholder = $(this).attr('placeholder'); 757 } 758 else if(hasSubLabel) { 759 placeholder = $(this).parent().find('label').text(); 760 } 761 762 // if(mtfgf_settings.add_underline) { 763 // $(this).addClass('mm-tooltip-placeholder-underline'); 764 765 // } 766 767 if(mtfgf_settings.add_icon && ($desc.length > 0) && (!no_label_show_help_icon)) { 768 // var newPlaceholder = placeholder+" "; 769 // var placeholderMark = "{mtfgf-placeholder}"; 770 // this.setAttribute('placeholder', "{mtfgf-placeholder}"); 771 // $(this).css('font-family', "Arial, FontAwesome, \"Font Awesome 5 Free\"") 772 // console.log('testfontfamily', $('body').css('font-family')); 773 var newff = $('body').css('font-family'); 774 if(!newff) { 775 newff = "mticon"; 776 } else { 777 newff += ", mticon"; 778 } 779 $(this).css('font-family', newff) 780 //  781 782 // $(this).addClass('mticon') 783 .attr('placeholder', (placeholder+" \ue85d")); // " ï" 784 } 785 else { 786 $(this).attr('placeholder', placeholder); 787 } 788 }); 789 } 790 791 // v20200220 792 var handle_gfield_select_no_label_mode = function($that, hasSubLabel, placeholder, no_label_show_help_icon, $desc) { 793 $that.closest('.gfield').find('select').each(function(){ 794 var $that = $(this); 795 var firstOption = $that.find('option:first-child'); 796 var selectedOption = $that.find('option:selected'); 797 var hasPlaceholder = (firstOption.length == 1) && (!firstOption.attr('value')); 798 799 if(hasPlaceholder && firstOption.text()){ 800 placeholder = firstOption.text(); 801 } 802 else if(hasSubLabel) { 803 placeholder = $that.parent().find('label').text(); 804 } 805 806 if(!hasPlaceholder) { 807 firstOption = $('<option>'); 808 // console.log('sssssss', selectedOption.attr('selected'), selectedOption.html()); 809 if((selectedOption.length == 0) || (selectedOption.index()==0) ) { 810 firstOption.attr('selected', 'selected'); 811 }
812 $that.prepend(firstOption); 813 } 814 815 if(mtfgf_settings.add_icon && ($desc.length > 0) && (!no_label_show_help_icon)) { 816 firstOption.html(placeholder+" ï").parent().css('font-family', "Arial, FontAwesome"); 817 } 818 else { 819 firstOption.html(placeholder); 820 } 821 }); 822 } 823 824 // v20200220 825 var handle_gfield_select_no_label_mode = function($ligfield, ligfieldicon, $forceModal, tooltip_code, $desc, hideEvents) { 826 var $sig = $ligfield.find('.gfield_checkbox li') 827 // setTimeout(function(){ 828 if($sig.length == 1) { 829 // if($that.closest('.gfield').hasClass('gfield_price')) { 830 831 // } 832 // else { 833 var $sig0 = $($sig.get(0)).find('label') 834 if(mtfgf_settings.add_icon) { 835 // $sig0.attr('tabindex', 0); 836 if(mtfgf_settings.showIconLeft) { 837 $sig0.html('<mmi><i class="'+ligfieldicon+'"></i></mmi> '+$sig0.html()); 838 } 839 else { 840 $sig0.html($sig0.html()+' <mmi><i class="'+ligfieldicon+'"></i></mmi>'); 841 } 842 } 843 844 // var gf_price_fix = (!mtfgf_settings.isMobile) && $that.closest('.gfield').hasClass('gfield_price'); 845 var gf_price_fix = false; 846 847 var targetSig = isMMI($forceModal) && (!gf_price_fix) ? $sig0.find('mmi') : $sig0; 848 // console.log("getTooltipContentResult", "single checkbox", $sig0.find('.fa-question-circle'), $desc.html()); 849 850 initHoverTooltip(targetSig, mtfgf_settings.add_icon && $forceModal, tooltip_code, $desc.html(), hideEvents, mtfgf_settings); 851 // } 852 } 853 // }, 100); 854 } 855 856 // v20200220 857 var handle_gfield_input_textarea_normal_mode = function($that, $desc, no_label_show_help_icon_item, ligfieldicon, $forceModal, hideEvents, tooltip_code) { 858 var $sig0 = $that.closest(".gfield").find('.ginput_container input, .ginput_container textarea, .ginput_container select') 859 //mtfgf_settings.add_icon && 860 if($sig0.length > 0) { 861 862 $sig0.each(function(){ 863 var $sigLast = $(this); //$sig0.last(); 864 if(['radio', 'checkbox', 'hidden'].indexOf($sigLast.attr('type')) >= 0) { 865 return; 866 } 867 868 869 870 if($sigLast.closest("ul").hasClass('gfield_radio')) { 871 // console.log('handle_gfield_input_textarea_normal_mode', $sigLast); 872 return; 873 } 874 875 // if(['radio', 'checkbox'].indexOf($sigLast.attr('type')) >= 0 && !(mtfgf_settings.mouse_over_input || mtfgf_settings.focus_input)) { 876 // return; 877 // } 878 879 // if(['radio', 'checkbox'].indexOf($sigLast.attr('type')) >= 0 && mtfgf_settings.mouse_over_input) { 880 // if($sigLast.next().is('input')) return; 881 // $sigLast = $sigLast.parent(); 882 883 // return; 884 // } 885 886 if($sigLast.parent().hasClass('ginput_container_time') && !$sigLast.is(':last-child') ) return; 887 if($sigLast.parent().hasClass('ginput_list')) return; 888 889 890 891 var tipC = $desc.html(); 892 var cell = $sigLast.closest('.gfield_list_cell'); 893 if(cell.length > 0) { 894 var celllabel = $sigLast.closest('.gfield').find('.gfield_label'); 895 896 tipC = getTooltipContentRaw(celllabel, mtfgf_settings, cell.index()+1, true); 897 } 898 899 var hasTooltipContent = isContainTooltipContent(tipC); 900 // console.log('tipC', tipC, hasTooltipContent); 901 if(!hasTooltipContent) { 902 return; 903 } 904 905 if(no_label_show_help_icon_item) { 906 // $sigLast.attr('tabindex', 0) 907 if(mtfgf_settings.showIconLeft) { 908 $sigLast.before('<mmi><i class="'+ligfieldicon+'"></i></mmi> '); 909 } 910 else { 911 $sigLast.after(' <mmi><i class="'+ligfieldicon+'"></i></mmi>'); 912 } 913 } 914 915 var targetSigLast = $sigLast.parent().find('mmi'); 916 917 if(no_label_show_help_icon_item) { 918 initHoverTooltip(targetSigLast, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 919 } 920 921 922 if(mtfgf_settings && (mtfgf_settings.mouse_over_input || mtfgf_settings.focus_input) && !$forceModal) { 923 924 initHoverTooltip($sigLast, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 925 926 } 927 }); 928 } 929 } 930 931 function reinit_global(tooltip_code) { 932 $('magic-tooltip, .magic-tooltip, .magic-tooltips').each(function(index) { 933 $that = $(this); 934 if(isFieldInited($that)) return; 935 markFieldInited($that); 936 // if(!isFieldOfVisibleGForm($that)) return; 937 // if(isFieldInited($that)) return; 938 // markFieldInited($that); 939 // var $ligfield = $that.closest('.gfield'); 940 // $forceModal = $ligfield.hasClass('mm-enable-modal'); 941 // console.log('mtfgf_settings', mtfgf_settings); 942 $desc = $('<textarea />').html($that.html()).text(); 943 944 var tooltipContentName = mmattr($that, 'tooltip-content-name') || false; 945 var $label = mmattr($that, 'label') || ''; 946 if(tooltipContentName) { 947 if($('#mtfgf-tc-'+tooltipContentName).length > 0) { 948 $desc = $('#mtfgf-tc-'+tooltipContentName).html(); 949 if(!$label) { 950 $label = $that.html(); 951 } 952 } 953 } 954 955 var isModal = mmattr($that, 'modal')==='true' || mmattr($that, 'modal')==='yes' || false; 956 957 var modalHint = mmattr($that, 'modal-hint'); 958 959 $style = mmattr($that, 'style') ? ' tip2-ns="'+mmattr($that, 'style')+'"' : ''; 960 // console.log('desc', $desc); 961 962 if($desc.length > 0){ 963 var className = mmattr($that, 'underline')==='yes' ? " mm-tooltip-title-underline" : ""; 964 if(!$label || mmattr($that, 'icon')) { 965 var ligfieldicon = mmattr($that, 'icon') || 'fa fa-question-circle'; 966 if(ligfieldicon.indexOf('fa') !== 0) { 967 ligfieldicon = 'fa fa-question-circle'; 968 } 969 var ligfieldiconClasses = ligfieldicon.split(' '); 970 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 971 if(mtfgf_settings.showIconLeft) { 972 $that.before('<span'+$style+' class="mm-tooltip'+className+'"><mmi><i class="'+ligfieldicon+'"></i></mmi> '+$label+'</span>'); 973 } 974 else { 975 $that.before('<span'+$style+' class="mm-tooltip'+className+'">'+$label+' <mmi><i class="'+ligfieldicon+'"></i></mmi></span>'); 976 } 977 } 978 else { 979 980 $that.before('<span'+$style+' class="mm-tooltip'+className+'">'+$label+'</span>'); 981 } 982 initHoverTooltip($that.prev(), isModal, tooltip_code, $desc, hideEvents, mtfgf_settings, false, modalHint); 983 } 984 }); 985 } 986 987 // v20200220 988 function reinit(tooltip_code) { 989 var shouldShowTooltip = mtfgf_settings && (mtfgf_settings.mouse_over || (mtfgf_settings.add_icon && (mtfgf_settings.add_icon_hover_icon || mtfgf_settings.add_icon_click_icon))); 990 991 // console.log('reinit 001'); 992 // ----- $('.gfield_label, .mm-tooltip-label') begin ----- 993 $('.gfield_label, .mm-tooltip-label').each(function(index) { 994 $that = $(this); 995 if($that.find(">:first-child").hasClass("gfield_label")) return; 996 if(!isFieldOfVisibleGForm($that)) return; 997 if(isFieldInited($that)) return; 998 markFieldInited($that); 999 // console.log('mtfgf_settings', mtfgf_settings); 1000 $desc = mtfgf_settings.description_as_tooltip ? $that.closest('.gfield').find('.gfield_description') : $that.closest('.gfield').find('.mm_tooltip_text'); 1001 1002 if(mtfgf_settings.description_as_tooltip && $desc.length == 0 ) { 1003 $desc = $that.parents('.gfield').find('.mm_tooltip_text'); 1004 } 1005 1006 // console.log('desc', $desc); 1007 1008 $forceNoLabel = $that.closest('.gfield').hasClass('mm-enable-no-label'); 1009 $forceModal = $that.closest('.gfield').hasClass('mm-enable-modal'); 1010 var hasSubLabel = $that.next().hasClass('ginput_complex'); 1011 1012 // console.log('forceNoLabel', $forceNoLabel); 1013 1014 var no_label_show_help_icon_item = $that.closest('.gfield').hasClass('mm-enable-no-label-show-help-icon'); 1015 var no_label_show_help_icon = (mtfgf_settings.no_label_show_help_icon || no_label_show_help_icon_item); 1016 1017 //No label mode begin 1018 if(mtfgf_settings && (mtfgf_settings.enable_no_label_mode || $forceNoLabel)) { 1019 1020 $that.closest('.gfield').addClass('mm-tooltip-li-no-label'); 1021 1022 var $forceNoLabelPlaceholder = $that.closest('.gfield').hasClass('mm-enable-no-label-placeholder'); 1023 1024 if(mtfgf_settings && (mtfgf_settings.enable_no_label_mode_placeholder || $forceNoLabelPlaceholder)) { 1025 1026 var placeholder = ''; 1027 1028 var $forceNoLabelRequired = $that.closest('.gfield').hasClass('mm-enable-no-label-required'); 1029 1030 if(mtfgf_settings && (mtfgf_settings.no_label_show_required || $forceNoLabelRequired )) { 1031 placeholder = $that.text(); 1032 } 1033 else { 1034 var $thatClone = $that.clone(); 1035 $thatClone.find('.gfield_required').remove() 1036 placeholder = $thatClone.text(); 1037 // console.log('mtfgf_settings placeholder', placeholder); 1038 } 1039 1040 handle_gfield_input_textarea_no_label_mode($that, hasSubLabel, placeholder, no_label_show_help_icon, $desc); 1041 1042 handle_gfield_select_no_label_mode($that, hasSubLabel, placeholder, no_label_show_help_icon, $desc); 1043 } 1044 } 1045 //No label mode end 1046 // 1047 1048 1049 1050 if($desc.length > 0) { 1051 var $ligfield = $that.closest('.gfield'); 1052 var $forceNoLabelAgree = $ligfield.hasClass('mm-enable-no-label-agree'); 1053 1054 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1055 var ligfieldiconClasses = ligfieldicon.split(' '); 1056 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1057 1058 //No label mode begin 1059 if(mtfgf_settings && (mtfgf_settings.enable_no_label_mode || $forceNoLabel)) { 1060 if(mtfgf_settings.no_label_checkbox_tooltip || $forceNoLabelAgree) { 1061 handle_gfield_select_no_label_mode($ligfield, ligfieldicon, $forceModal, tooltip_code, $desc, hideEvents); 1062 } 1063 if(no_label_show_help_icon) { 1064 // $that.closest(".gfield").addClass('mm-tooltip-li-no-label-help-icon'); 1065 } 1066 } 1067 //No label mode end 1068 // if(no_label_show_help_icon_item) { 1069 handle_gfield_input_textarea_normal_mode($that, $desc, no_label_show_help_icon_item, ligfieldicon, $forceModal, hideEvents, tooltip_code); 1070 1071 1072 1073 // } 1074 // else 1075 if(!no_label_show_help_icon_item) { 1076 var $ligfield = $that.closest('.gfield'); 1077 if(mtfgf_settings && (shouldShowTooltip || mtfgf_settings.mouse_over_input || mtfgf_settings.focus_input)) { 1078 $ligfield.addClass('mm-tooltip-li'); 1079 1080 1081 if(mtfgf_settings.description_as_tooltip) { 1082 $ligfield.addClass('mm-tooltip-li-hide-description'); 1083 } 1084 } 1085 1086 var tipC = getTooltipContentRaw($that, mtfgf_settings, 0, true); 1087 var hasTooltipContent = isContainTooltipContent(tipC); 1088 // console.log('tipC', tipC, hasTooltipContent); 1089 if(!hasTooltipContent) { 1090 return; 1091 } 1092 1093 if(shouldShowTooltip) { 1094 $that.addClass('mm-tooltip'); 1095 } 1096 if(mtfgf_settings && mtfgf_settings.add_underline) { 1097 $that.addClass('mm-tooltip-title-underline'); 1098 } 1099 1100 1101 if(mtfgf_settings && mtfgf_settings.add_icon) { 1102 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1103 var ligfieldicon2 = $ligfield.attr('mm-fa-icon2') || 'fa fa-question-circle'; 1104 var ligfieldiconClasses = ligfieldicon.split(' '); 1105 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1106 // $that.attr('tabindex', 0) 1107 var secondTooltip = $ligfield.hasClass('mm-enable-show-description-as-second-tooltip') ? '
1107<mmi2><i class="'+ligfieldicon2+'"></i></mmi2>' : ''; 1108 1109 if(mtfgf_settings.showIconLeft) { 1110 $that.html('<mmi><i class="'+ligfieldicon+'"></i></mmi>'+secondTooltip+' '+$that.html()); 1111 } 1112 else { 1113 $that.html($that.html()+' <mmi><i class="'+ligfieldicon+'"></i></mmi>'+secondTooltip); 1114 } 1115 } 1116 } 1117 } 1118 1119 }); 1120 // ----- $('.gfield_label, .mm-tooltip-label') end -------- 1121 1122 if(shouldShowTooltip) { 1123 // var $ligfield = $that.closest('.gfield'); 1124 // var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1125 // var ligfieldiconClasses = ligfieldicon.split(' '); 1126 // var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1127 // var hsel = mtfgf_settings.add_icon_hover_icon ? '.mm-tooltip .'+ligfieldiconClass : '.mm-tooltip'; 1128 $('.mm-tooltip').each(function() { // Notice the .each() loop, discussed below 1129 //console.log('.mm-tooltip', $(this)); 1130 var $that = $(this); 1131 var $next = $that.next(); 1132 if(!isFieldOfVisibleGForm($that)) return; 1133 var $ligfield = $that.closest('.gfield'); 1134 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1135 var ligfieldiconClasses = ligfieldicon.split(' '); 1136 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1137 $forceModal = $ligfield.hasClass('mm-enable-modal'); 1138 var $hsel = isMMI($forceModal) ? $that.find('mmi') : $that; 1139 1140 var gfgfield = $that.closest('.gfield'); 1141 var isRadioOrCheckbox = !$next.hasClass('gpnf-nested-entries-container') && (gfgfield.hasClass('field_sublabel_below') || gfgfield.hasClass('field_sublabel_above')); 1142 1143 1144 initHoverTooltip($hsel, $forceModal, tooltip_code, getTooltipContent($that, mtfgf_settings, isRadioOrCheckbox), hideEvents, mtfgf_settings); 1145 1146 if(isMMI($forceModal) && $ligfield.hasClass('mm-enable-show-description-as-second-tooltip') ) { 1147 var $hsel2 = $that.find('mmi2'); 1148 if($hsel2.length > 0) { 1149 initHoverTooltip($hsel2, $forceModal, tooltip_code, gfgfield.find('.gfield_description').html(), hideEvents, mtfgf_settings); 1150 } 1151 } 1152 }); 1153 } 1154 1155 $('.gfield_html').each(function(index) { 1156 $that = $(this); 1157 if(!isFieldOfVisibleGForm($that)) return; 1158 if(isFieldInited($that)) return; 1159 1160 if($that.find('.mm-tooltip-label').length>0) { 1161 return; 1162 } 1163 1164 markFieldInited($that); 1165 1166 // console.log('mtfgf_settings', mtfgf_settings); 1167 $desc = $that.find('.mm_tooltip_text'); 1168 // console.log('desc', $desc); 1169 1170 if($desc.length > 0){ 1171 initHoverTooltip($that, false, tooltip_code, $desc.html(), hideEvents, mtfgf_settings); 1172 } 1173 }); 1174 1175 1176 1177 $('.gform_wrapper tip').each(function(index) { 1178 $that = $(this); 1179 1180 if(!isFieldOfVisibleGForm($that)) return; 1181 if(isFieldInited($that)) return; 1182 markFieldInited($that); 1183 var $ligfield = $that.closest('.gfield'); 1184 $forceModal = $ligfield.hasClass('mm-enable-modal'); 1185 1186 // console.log('mtfgf_settings', mtfgf_settings); 1187 $desc = $that.html(); 1188 1189 $label = $that.attr('title') || ''; 1190 // console.log('desc', $desc); 1191 1192 if($desc.length > 0){ 1193 if(!$label || (mtfgf_settings && mtfgf_settings.add_icon)) { 1194 var ligfieldicon = $that.attr('mm-fa-icon') || 'fa fa-question-circle'; 1195 var ligfieldiconClasses = ligfieldicon.split(' '); 1196 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1197 var className = $label ? " mm-tooltip-title-underline" : ""; 1198 if(mtfgf_settings.showIconLeft) { 1199 $that.before('<label class="mm-tooltip'+className+'"><mmi><i class="'+ligfieldicon+'"></i></mmi> '+$label+'</label>'); 1200 } 1201 else { 1202 $that.before('<label class="mm-tooltip'+className+'">'+$label+' <mmi><i class="'+ligfieldicon+'"></i></mmi></label>'); 1203 } 1204 } 1205 else { 1206 $that.before('<label class="mm-tooltip mm-tooltip-title-underline">'+$label+'</label>'); 1207 } 1208 initHoverTooltip($that.prev(), mtfgf_settings.add_icon && $forceModal, tooltip_code, $desc, hideEvents, mtfgf_settings); 1209 } 1210 }); 1211 1212 $('.gsection').each(function(index) { 1213 $that = $(this); 1214 1215 if(!isFieldOfVisibleGForm($that)) return; 1216 if(isFieldInited($that)) return; 1217 markFieldInited($that); 1218 var $ligfield = $that.closest('.gfield'); 1219 $forceModal = $ligfield.hasClass('mm-enable-modal'); 1220 1221 // console.log('mtfgf_settings', mtfgf_settings); 1222 $desc = $that.find('.mm_tooltip_text'); 1223 // console.log('desc', $desc); 1224 1225 if($desc.length > 0){ 1226 if($that.hasClass('gsection')) { 1227 if(mtfgf_settings && mtfgf_settings.add_icon) { 1228 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1229 var ligfieldiconClasses = ligfieldicon.split(' '); 1230 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1231 if(mtfgf_settings.showIconLeft) { 1232 $that.find('h2').html('<span><mmi><i class="'+ligfieldicon+'"></i></mmi> '+$that.find('h2').html()+'</span>'); 1233 } 1234 else { 1235 $that.find('h2').html('<span>'+$that.find('h2').html()+' <mmi><i class="'+ligfieldicon+'"></i></mmi></span>'); 1236 } 1237 } 1238 } 1239 initHoverTooltip($that.find('h2 span'), mtfgf_settings.add_icon && $forceModal, tooltip_code, $desc.html(), hideEvents, mtfgf_settings); 1240 } 1241 }); 1242 1243 // console.log('gform', form); 1244 $('.gform_footer input[type="submit"], .gform_footer button[type="submit"]').each(function(index) { 1245 $that = $(this); 1246 if(!isFieldOfVisibleGForm($that)) return; 1247 if(isFieldInited($that)) return; 1248 1249 if(!$that.hasClass('mtfgf_enable_form_button_tooltip')){ 1250 return; 1251 } 1252 if($that.hasClass('mm-tooltip-inited')) { 1253 return; 1254 } 1255 markFieldInited($that); 1256 var $ligfield = $that.closest('.gfield'); 1257 $forceModal = $ligfield.hasClass('mm-enable-modal'); 1258 1259 // console.log('mtfgf_settings', mtfgf_settings); 1260 $desc = $that.parent().find('.mm_tooltip_text'); 1261 // console.log('desc', $desc); 1262 1263 if($desc.length > 0){ 1264 if(mtfgf_settings && mtfgf_settings.add_icon && (!$that.hasClass('mtfgf_enable_form_button_remove_help_icon'))) { 1265 var ligfieldicon = $ligfield.attr('mm-fa-icon') || 'fa fa-question-circle'; 1266 var ligfieldiconClasses = ligfieldicon.split(' '); 1267 var ligfieldiconClass = ligfieldiconClasses[ligfieldiconClasses.length-1]; 1268 var $icon = null; 1269 if(mtfgf_settings.showIconLeft) { 1270 $icon = $('<mmi><i class="'+ligfieldicon+'"></i></mmi>').insertBefore($that); 1271 } 1272 else { 1273 $icon = $('<mmi><i class="'+ligfieldicon+'"></i></mmi>').insertAfter($that); 1274 } 1275 // $that.find('h2').html('<span>'+$that.find('h2').html()+' </span>'); 1276 initHoverTooltip($icon, $forceModal, tooltip_code, $desc.html(), hideEvents, mtfgf_settings); 1277 } 1278 else { 1279 initHoverTooltip($that, false, tooltip_code, $desc.html(), hideEvents, mtfgf_settings); 1280 } 1281 } 1282 }); 1283 1284 $('.gsurvey-likert').each(function(index0) { 1285 $(this).find('.gsurvey-likert-choice-label, tbody .gsurvey-likert-row-label').each(function(index) { 1286 $that = $(this); 1287 if(!isFieldOfVisibleGForm($that)) return; 1288 1289 if($that.hasClass('mm-tooltip-radio')) { 1290 return; 1291 } 1292 1293 // var gf_price_fix = $that.closest('.gfield').hasClass('gfield_price'); 1294 // if (gf_price_fix && !mtfgf_settings.isGFLoaded) { 1295 // return; 1296 // } 1297 $that.addClass('mm-tooltip-radio'); 1298 handle_radio_or_checkbox_option($that, false, tooltip_code, index+1); 1299 }); 1300 }); 1301 $('.gfield_checkbox > li, .gfield_radio > li, .gfield_checkbox > div, .gfield_radio > div').each(function(index) { 1302 $that = $(this); 1303 if(!isFieldOfVisibleGForm($that)) return; 1304 1305 if($that.hasClass('mm-tooltip-radio')) { 1306 return; 1307 } 1308 1309 // var gf_price_fix = $that.closest('.gfield').hasClass('gfield_price'); 1310 // if (gf_price_fix && !mtfgf_settings.isGFLoaded) { 1311 // return; 1312 // } 1313 $that.addClass('mm-tooltip-radio'); 1314 handle_radio_or_checkbox_option($that, false, tooltip_code); 1315 }); 1316 1317 1318 1319 //Add list field support 1320 $('.gfield_list thead th, .gfield_list .gfield_list_header .gfield_header_item').each(function(index) { 1321 $that = $(this); 1322 if(!isFieldOfVisibleGForm($that)) return; 1323 if($that.html().trim().length === 0) return; 1324 if($that.hasClass('mm-tooltip-list-item')) return; 1325 1326 $that.addClass('mm-tooltip-list-item'); 1327 handle_gfield_list_column($that, false, tooltip_code); 1328 }); 1329 1330 // console.log('magictooltips loaded again'); 1331 1332 $('.mm-tooltip-li input, .mm-tooltip-li textarea, .mm-tooltip-li select').each(function() { // Notice the .each() loop, discussed below 1333 var $that = $(this); 1334 if(!isFieldOfVisibleGForm($that)) return; 1335 1336 var gfield_list = $that.closest('.gfield_list'); 1337 if((gfield_list.length > 0)) { 1338 return; 1339 } 1340 1341 // var gform_input_container_time = $that.closest('.ginput_container_time'); 1342 // console.log('gform_input_container_time', gform_input_container_time); 1343 // if(gform_input_container_time.length > 0) { 1344 // return; 1345 // } 1346 1347 // if($that.attr('type')=='hidden') { 1348 // return; 1349 // } 1350 1351 if(['radio', 'checkbox', 'hidden'].indexOf($(this).attr('type')) >= 0) { 1352 return; 1353 } 1354 1355 $forceNoLabel = $that.closest('.gfield').hasClass('mm-enable-no-label'); 1356 1357 if(!(mtfgf_settings && (mtfgf_settings.focus_input || mtfgf_settings.mouse_over_input || $forceNoLabel))) { 1358 return; 1359 } 1360 1361 if($that.closest('.gfield').hasClass('mm-tooltip-radio')) { 1362 return; 1363 } 1364 1365 // console.log('forceNoLabel', $forceNoLabel, $that.html()); 1366 1367 var showO = ''; 1368 var hideO = ''; 1369 if(mtfgf_settings.mouse_over_input || ($forceNoLabel && (!mtfgf_settings.focus_input))) { 1370 showO = 'hover'; 1371 hideO = { 1372 fixed: true, 1373 delay: 300 1374 } 1375 } 1376 else if(mtfgf_settings.focus_input) { 1377 showO = 'focus'; 1378 hideO = 'unfocus'; 1379 } 1380 1381 var index = $that.closest('.ginput_container').find('input, textarea, select').index($that); 1382 if(!$forceNoLabel) { 1383 index += 1; 1384 } 1385 // console.log('.mm-tooltip-li input', $that.attr('id'), index); 1386 var gfgfield = $that.closest('.gfield'); 1387 var isRadioOrCheckbox = gfgfield.hasClass('field_sublabel_below') || gfgfield.hasClass('field_sublabel_above'); 1388 $(this).qtip($.extend({}, tooltip_code, { 1389 content: { 1390 text: getTooltipContentRaw($that, mtfgf_settings, index, isRadioOrCheckbox)//getTooltipContent($(this), mtfgf_settings) // Use the "div" element next to this for the content 1391 }, 1392 show: { 1393 solo: true, 1394 event: showO, 1395 }, 1396 hide: hideO, 1397 events: hideEvents 1398 })); 1399 $(this).on('focus', function(){ 1400 $(this).closest('.mm-tooltip-li').addClass('mm-tooltip-li-focus'); 1401 }).on('blur', function(){ 1402 // console.log('blur'); 1403 $(this).closest('.mm-tooltip-li').removeClass('mm-tooltip-li-focus'); 1404 if(typeof($(this).qtip('api'))!== 'undefined') { 1405 $(this).qtip('api').hide(); 1406 } 1407 }); 1408 }); 1409 } 1410 1411 var mmtooltip_init = function(){ 1412 // if(typeof(mtfgf_settings) == 'undefined') { 1413 // console.log('mtfgf_settings is not undefined '); 1414 // setTimeout(mmtooltip_init, 1000); 1415 // return; 1416 // } 1417 //document.addEventListener('DOMContentLoaded', function () { 1418 1419 $(document).keyup(function(e) { 1420 if (e.key === "Escape") { // escape key maps to keycode `27` 1421 1422 // <DO YOUR WORK HERE> 1423 if(mtfgfTooltipApi) { 1424 // console.log('mtfgfTooltipApi Escape', mtfgfTooltipApi.hide); 1425 mtfgfTooltipApi.hide(); 1426 mtfgfTooltipApi = null; 1427 } 1428 } 1429 }); 1430 1431 window.mmMobileDetect = {}; 1432 (function () {var a={};var g=/iPhone/i,p=/iPod/i,i=/iPad/i,f=/\bAndroid(?:.+)Mobile\b/i,h=/Android/i,d=/(?:SD4930UR|\bSilk(?:.
1432+)Mobile\b)/i,e=/Silk/i,c=/Windows Phone/i,j=/\bWindows(?:.+)ARM\b/i,k=/BlackBerry/i,l=/BB10/i,m=/Opera Mini/i,n=/\b(CriOS|Chrome)(?:.+)Mobile/i,o=/Mobile(?:.+)Firefox\b/i;function b($,a){return $.test(a)}function q($){var a=($=$||("undefined"!=typeof navigator?navigator.userAgent:"")).split("[FBAN");void 0!==a[1]&&($=a[0]),void 0!==(a=$.split("Twitter"))[1]&&($=a[0]);var r={apple:{phone:b(g,$)&&!b(c,$),ipod:b(p,$),tablet:!b(g,$)&&b(i,$)&&!b(c,$),device:(b(g,$)||b(p,$)||b(i,$))&&!b(c,$)},amazon:{phone:b(d,$),tablet:!b(d,$)&&b(e,$),device:b(d,$)||b(e,$)},android:{phone:!b(c,$)&&b(d,$)||!b(c,$)&&b(f,$),tablet:!b(c,$)&&!b(d,$)&&!b(f,$)&&(b(e,$)||b(h,$)),device:!b(c,$)&&(b(d,$)||b(e,$)||b(f,$)||b(h,$))||b(/\bokhttp\b/i,$)},windows:{phone:b(c,$),tablet:b(j,$),device:b(c,$)||b(j,$)},other:{blackberry:b(k,$),blackberry10:b(l,$),opera:b(m,$),firefox:b(o,$),chrome:b(n,$),device:b(k,$)||b(l,$)||b(m,$)||b(o,$)||b(n,$)},any:!1,phone:!1,tablet:!1};return r.any=r.apple.device||r.android.device||r.windows.device||r.other.device,r.phone=r.apple.phone||r.android.phone||r.windows.phone,r.tablet=r.apple.tablet||r.android.tablet||r.windows.tablet,r}a=q();if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=a;}else if(typeof define==="function"&&define.amd){define(function(){return a})}else{this.mmMobileDetect["isMobile"]=a}})(); 1433 1434 // !function(a){var b=/iPhone/i,c=/iPod/i,d=/iPad/i,e=/(?=.*\bAndroid\b)(?=.*\bMobile\b)/i,f=/Android/i,g=/(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i,h=/(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i,i=/Windows Phone/i,j=/(?=.*\bWindows\b)(?=.*\bARM\b)/i,k=/BlackBerry/i,l=/BB10/i,m=/Opera Mini/i,n=/(CriOS|Chrome)(?=.*\bMobile\b)/i,o=/(?=.*\bFirefox\b)(?=.*\bMobile\b)/i,p=new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)","i"),q=function(a,b){return a.test(b)},r=function(a){var r=a||navigator.userAgent,s=r.split("[FBAN");if("undefined"!=typeof s[1]&&(r=s[0]),s=r.split("Twitter"),"undefined"!=typeof s[1]&&(r=s[0]),this.apple={phone:q(b,r),ipod:q(c,r),tablet:!q(b,r)&&q(d,r),device:q(b,r)||q(c,r)||q(d,r)},this.amazon={phone:q(g,r),tablet:!q(g,r)&&q(h,r),device:q(g,r)||q(h,r)},this.android={phone:q(g,r)||q(e,r),tablet:!q(g,r)&&!q(e,r)&&(q(h,r)||q(f,r)),device:q(g,r)||q(h,r)||q(e,r)||q(f,r)},this.windows={phone:q(i,r),tablet:q(j,r),device:q(i,r)||q(j,r)},this.other={blackberry:q(k,r),blackberry10:q(l,r),opera:q(m,r),firefox:q(o,r),chrome:q(n,r),device:q(k,r)||q(l,r)||q(m,r)||q(o,r)||q(n,r)},this.seven_inch=q(p,r),this.any=this.apple.device||this.android.device||this.windows.device||this.other.device||this.seven_inch,this.phone=this.apple.phone||this.android.phone||this.windows.phone,this.tablet=this.apple.tablet||this.android.tablet||this.windows.tablet,"undefined"==typeof window)return this},s=function(){var a=new r;return a.Class=r,a};"undefined"!=typeof module&&module.exports&&"undefined"==typeof window?module.exports=r:"undefined"!=typeof module&&module.exports&&"undefined"!=typeof window?module.exports=s():"function"==typeof define&&define.amd?define("isMobile",[],a.isMobile=s()):a.isMobile=s()}(window.mmMobileDetect); 1435 1436 // console.log('mmMobileDetect', mmMobileDetect); 1437 1438 if(typeof(mtfgf_settings.is_valid_license_key)=='undefined') { 1439 return; 1440 } 1441 //console.log('mtfgf_settings', mtfgf_settings); 1442 if(!(parseInt(mtfgf_settings.is_valid_license_key) == 1)) { 1443 return; 1444 } 1445 1446 mtfgf_settings.isGFLoaded = false; 1447 1448 var mtfgf_js_code = {}; 1449 var mtfgf_css_code = ''; 1450 1451 if(mmMobileDetect.isMobile.phone) { 1452 if(mtfgf_settings.disable_on_mobile == '1') { 1453 return; 1454 } 1455 mtfgf_settings.force_modal = mtfgf_settings.force_modal_on_mobile == '1'; 1456 mtfgf_js_code = mtfgf.js_code_phone ? mtfgf.js_code_phone : mtfgf.js_code; 1457 mtfgf_css_code = mtfgf.css_code_phone ? mtfgf.css_code_phone : mtfgf.css_code; 1458 mtfgf_settings.isMobile = true; 1459 mtfgf_settings.deviceType = 1; 1460 } 1461 else if(mmMobileDetect.isMobile.tablet) { 1462 if(mtfgf_settings.disable_on_tablet == '1') { 1463 return; 1464 } 1465 mtfgf_settings.force_modal = mtfgf_settings.force_modal_on_tablet == '1'; 1466 mtfgf_js_code = mtfgf.js_code_pad ? mtfgf.js_code_pad : mtfgf.js_code; 1467 mtfgf_css_code = mtfgf.css_code_pad ? mtfgf.css_code_pad : mtfgf.css_code; 1468 mtfgf_settings.isMobile = true; 1469 mtfgf_settings.deviceType = 2; 1470 } 1471 else { 1472 if(mtfgf_settings.disable_on_pc == '1') { 1473 return; 1474 } 1475 mtfgf_settings.force_modal = false;
1476 mtfgf_js_code = mtfgf.js_code; 1477 mtfgf_css_code = mtfgf.css_code; 1478 mtfgf_settings.isMobile = false; 1479 mtfgf_settings.deviceType = 3; 1480 } 1481 1482 if(mtfgf_settings && mtfgf_settings.enable_no_label_mode) { 1483 if((!mtfgf_settings.mouse_over_input) && (!mtfgf_settings.focus_input) ) { 1484 mtfgf_settings.mouse_over_input = true; 1485 } 1486 } 1487 1488 var csscodeMM = mtfgf_css_code; 1489 1490 csscodeMM = ".qtip-content h6.mm-tooltip-title {line-height: 180%; margin: 0px; color: #FFFFFF; font-size: 16px; font-weight: bold;}\r\n" + csscodeMM; 1491 1492 var regexMM = /\.mm-tooltip-container {.+z\-index\:[\s]+?([0-9]+)/g; 1493 var zIndexMM = mtfgfGetValueFromRegExp(regexMM, csscodeMM); 1494 zIndexMM = parseInt(zIndexMM)+1; 1495 // zIndexMM = zIndexMM + ""; 1496 // console.log('zIndexMM', zIndexMM); 1497 1498 csscodeMM = csscodeMM + "\r\n.jquery-modalmm.blocker{\r\n"+ 1499 "\tz-index: " + zIndexMM+";\r\n" + 1500 "}\r\n"; 1501 1502 csscodeMM = csscodeMM + "\r\n#swipebox-overlay{\r\n"+ 1503 "\tz-index: " + (zIndexMM+1)+" !important;\r\n" + 1504 "}\r\n"; 1505 1506 1507 1508 csscodeMM = csscodeMM + mtfgf_settings.custom_css; 1509 1510 if(mtfgf_settings && mtfgf_settings.help_icon_color) { 1511 csscodeMM = csscodeMM + 'mmi, mmi2 {color: '+mtfgf_settings.help_icon_color+';}'; 1512 } 1513 1514 // $('.gform_body .gfield').each(function(index) { 1515 // $that = $(this); 1516 // $that.find('input, select, textarea, .mtfgf_help').tooltipster({ 1517 // content: $that.find('.gfield_description').html() 1518 // }); 1519 // }); 1520 // console.log('mtfgf',mtfgf); 1521 eval('var tooltip_code = ' + mtfgf_js_code); 1522 1523 var $container = $('<style type="text/css"></style>').appendTo("body"); 1524 $container.text(csscodeMM); 1525 1526 if(tooltip_code.position && tooltip_code.position.at === 'left center' && tooltip_code.position.my === 'right center') { 1527 mtfgf_settings.showIconLeft = true; 1528 } 1529 else { 1530 mtfgf_settings.showIconLeft = false; 1531 } 1532 1533 // console.log('reinit tooltip_code', tooltip_code); 1534 // console.log('fontawesome', window.FontAwesome); 1535 // console.log('window.imageChoices_gformGetOptionLabel =', window.imageChoices_gformGetOptionLabel); 1536 // if(window.imageChoices_gformGetOptionLabel){ 1537 jQuery(document).on('gform_page_loaded', function(){ 1538 // console.log('gform_page_loaded'); 1539 reinit(tooltip_code); 1540 reinit_global(tooltip_code); 1541 }); 1542 // console.log('reinit_global'); 1543 1544 // } else { 1545 // console.log('reinit and reinit_global'); 1546 reinit(tooltip_code); 1547 reinit_global(tooltip_code); 1548 // } 1549 1550 if(window.gform) { 1551 if(window.gform_format_option_label) { 1552 window.mtfgf_old_gform_format_option_label = window.gform_format_option_label; 1553 // window.gform_format_option_label = function(fullLabel, fieldLabel, priceLabel, selectedPrice, price, formId, fieldId){ 1554 1555 // // console.log('mtfgf gform_format_option_label'); 1556 // return fullLabel; 1557 // }; 1558 window.gform_format_option_label = function(i, o, s, c, a, t, n, l) { 1559 // console.log('gform_format_option_label', i, o, s, c, a, t, n, l); 1560 // i = i.replace(/ <mmi(.*)<\/mmi>/i, ""); 1561 var regex = mtfgf_settings.showIconLeft ? /<mmi(.*)<\/mmi> /gi : / <mmi(.*)<\/mmi>/gi; 1562 var arr = regex.exec(o); 1563 // console.log('gform_format_option_label', arr); 1564 if(arr && arr.length > 0) { 1565 oldmmi = arr[0]; 1566 o = o.replace(regex, ""); 1567 i = i.replace(regex, ""); 1568 // console.log('gform_format_option_label o=', o); 1569 i = mtfgf_old_gform_format_option_label(i, o, s, c, a, t, n, l); 1570 if(mtfgf_settings.showIconLeft) { 1571 i = oldmmi+i; 1572 } else { 1573 i += oldmmi; 1574 } 1575 1576 // i = i.replace("__mmi__", oldmmi); 1577 // console.log('gform_format_option_label', i, o, s, c, a, t, n, l); 1578 } else { 1579 i = mtfgf_old_gform_format_option_label(i, o, s, c, a, t, n, l); 1580 } 1581 return i; 1582 } 1583 } 1584 1585 if(isMMI(false)) { 1586 window.gform.addFilter( 'gform_product_total', function(total, formId){ 1587 setTimeout(function(){ 1588 reinit_price_field(formId, tooltip_code); 1589 }, 100); 1590 return total; 1591 } ); 1592 } 1593 1594 } 1595 1596 // console.log('mtfgf init'); 1597 // This code is for GP Nested Forms plugin 1598 jQuery(document).bind('gform_post_render', function(e, form_id){ 1599 // return; 1600 // console.log('reinit gform_post_render', form_id); 1601 setTimeout(function(){ 1602 mtfgf_settings.isGFLoaded = true; 1603 reinit(tooltip_code); 1604 reinit_global(tooltip_code); 1605 }, 100); 1606 1607 // reinit(tooltip_code); 1608 // if(window.FontAwesome) { 1609 // setTimeout(function(){ 1610 // reinit(tooltip_code); 1611 // }, 2000); 1612 // } 1613 // else { 1614 // reinit(tooltip_code); 1615 // } 1616 // reinit(tooltip_code); 1617 ///gform_ajax_frame_2 1618 1619 // var message = $("#gform_ajax_frame_" + form_id).contents().find("#gform_confirmation_message_"+form_id).html(); 1620 // console.log('mtfgf gform_post_render', form_id, message); 1621 // if(message) { 1622 // console.log('addRobotChatResponse', message); 1623 // window.ConversationalForm.addRobotChatResponse(message); 1624 // // $('<cf-chat-response class="robot show"><thumb></thumb>
1624<text value-added="">'+message+'</text></cf-chat-response>').appendTo('#conversational-form > cf-chat'); 1625 // $('cf-input input').val(' '); 1626 // window.mcfgf_global_submitted = true; 1627 // mcfgf_auto_scroll(true); 1628 // } 1629 1630 1631 }); 1632 1633 jQuery(document).on('click', '.mtfgf_modal_read_more', function(e){ 1634 e.preventDefault(); 1635 $(this).parent().hide().next().show(); 1636 return false; 1637 }); 1638 1639 if(typeof(window.gform)!=='undefined') { 1640 window.gform.addAction( 'gform_list_post_item_add', function ( item, container ) { 1641 //console.log('gform_list_post_item_add', item, container); 1642 // item.find( 'input[type="text"]' ).on( 'change', function() { 1643 // console.log( 'Changed!' ); 1644 // } ); 1645 var $sig0 = item.find('input[type="text"]'); 1646 1647 if(mtfgf_settings.add_icon && $sig0.length > 0) { 1648 $sig0.each(function(){ 1649 var $sigLast = $(this); //$sig0.last(); 1650 // if($sigLast.parent().hasClass('ginput_list')) return; 1651 // if(mtfgf_settings.showIconLeft) { 1652 // $sigLast.before('<mmi><i class="'+ligfieldicon+'"></i></mmi> '); 1653 // } 1654 // else { 1655 // $sigLast.after(' <mmi><i class="'+ligfieldicon+'"></i></mmi>'); 1656 // } 1657 1658 var targetSigLast = $sigLast.parent().find('mmi'); 1659 1660 var cell = $sigLast.closest('.gfield_list_cell'); 1661 var $ligfield = item.closest('.gfield'); 1662 var $forceModal = $ligfield.hasClass('mm-enable-modal'); 1663 var label = $ligfield.find('.gfield_label'); 1664 1665 var tipC = getTooltipContentRaw(label, mtfgf_settings, cell.index()+1, true); 1666 1667 var hasTooltipContent = isContainTooltipContent(tipC); 1668 // console.log('tipC', tipC, hasTooltipContent); 1669 if(!hasTooltipContent) return; 1670 initHoverTooltip(targetSigLast, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 1671 1672 if(mtfgf_settings && (mtfgf_settings.mouse_over_input || mtfgf_settings.focus_input) && !$forceModal) { 1673 1674 initHoverTooltip($sigLast, mtfgf_settings.add_icon && $forceModal, tooltip_code, tipC, hideEvents, mtfgf_settings); 1675 1676 } 1677 }); 1678 } 1679 } ); 1680 } 1681 1682 1683 if(mtfgf_settings && mtfgf_settings.enable_lightbox) { 1684 var selector = '.mtfgf_modal img'; 1685 if(!mtfgf_settings.enable_lightbox_on_click_icon) { 1686 selector+=', .mm-tooltip-container'; 1687 } 1688 1689 jQuery(document).on('click', selector, function(e){ 1690 e.preventDefault(); 1691 1692 var $images = $(this).closest('.mm-tooltip-container, .mtfgf_modal').find('img'); 1693 1694 var sbItems = []; 1695 $images.each(function(index){ 1696 var src = $(this).attr('data-lazy-src') || $(this).attr('src'); 1697 if(src.indexOf('/plugins/') ==-1 ) { 1698 sbItems.push({ 1699 href: src //, title:'My Caption' 1700 }); 1701 } 1702 }); 1703 1704 if(sbItems.length > 0) { 1705 // console.log('sbItems', sbItems); 1706 jQuery.swipebox(sbItems); 1707 } 1708 1709 1710 return false; 1711 }); 1712 1713 // addition for swipebox, closing img on click on bg 1714 jQuery(function(){ 1715 jQuery(document.body) 1716 .on('click touchend','#swipebox-slider .current img', function(e){ 1717 return false;
1718 }) 1719 .on('click touchend','#swipebox-slider .current', function(e){ 1720 jQuery('#swipebox-close').trigger('click'); 1721 }); 1722 }); 1723 } 1724 1725 // if(window.gform_format_option_label) { 1726 // window.mtfgf_gform_format_option_label = window.gform_format_option_label; 1727 // } 1728 1729 1730 1731 // if(window.gformGetOptionLabel) { 1732 // window.mtfgf_gformGetOptionLabel = window.gformGetOptionLabel; 1733 // } 1734 1735 // window.gformGetOptionLabel = function(element, selected_value, current_price, form_id, field_id) { 1736 // var helpicon_key = 'fa-question-circle'; 1737 // var helpicon_html = ' <mmi><i class="fa fa-question-circle"></i></mmi>'; 1738 // var original_label = element.html(); 1739 // if(original_label.indexOf(helpicon_key) > 0) { 1740 1741 // if(element.closest('.mm-tooltip-radio').index()==0) { 1742 // setTimeout(function(){ 1743 // element.closest('.mm-tooltip-li') 1744 // .removeClass('mm-enable-no-label') 1745 // .removeClass('mm-enable-no-label-agree') 1746 // .removeClass('mm-tooltip-li-no-label') 1747 // .removeClass('mm-tooltip-li') 1748 // .find('.mm-tooltip-inited').removeClass('mm-tooltip-inited'); 1749 // // reinit(tooltip_code); 1750 // // $('#field_id').; 1751 // }, 3000); 1752 // setTimeout(function(){ 1753 // element.closest('.mm-tooltip-radio').removeClass('mm-tooltip-radio'); 1754 // }, 100); 1755 // } 1756 1757 // } 1758 // return mtfgf_gformGetOptionLabel(element, selected_value, current_price, form_id, field_id); 1759 // } 1760 1761 // window.gform_format_option_label = function(label, original_label, price_label, current_price, price, form_id, field_id){ 1762 // var helpicon_key = 'fa-question-circle'; // 1763 // var helpicon_html = ' <mmi><i class="fa fa-question-circle"></i></mmi>'; //mm-tooltip-tmp-option 1764 // if(window.mtfgf_gform_format_option_label) { 1765 // label = mtfgf_gform_format_option_label(label, original_label, price_label, current_price, price, form_id, field_id); 1766 // } 1767 1768 // if(original_label.indexOf(helpicon_key) > 0) { 1769 // return label.replace(/<i(.*)<\/i>/i, "")+helpicon_html; 1770 // } 1771 // else { 1772 // return label; 1773 // } 1774 // } 1775 }; 1776 1777 $(document).ready(mmtooltip_init); 1778 1779 1780 1781})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.