1//countdown timer 2 3var back_slider_arrow = base_url + '/frontend/assets/img/back.png'; 4var home_slider_left = base_url + '/img/homepage/slider-left.png'; 5 6var dark_mode_theme = $('#global_id_dark_mode').val(); 7if(dark_mode_theme !== undefined && dark_mode_theme == 1) { 8 back_slider_arrow = base_url + '/frontend/assets/img/dark_mode_back.svg'; 9} 10var left_arrow = base_url + '/frontend/assets/img/dark_mode_back.svg'; 11 12function legiitEndDateToTimestampMs(endDateRaw) { 13 if (!endDateRaw) { 14 return null; 15 } 16 var s = String(endDateRaw).trim(); 17 if (!s) { 18 return null; 19 } 20 // Match server strtotime / app timezone â do not treat as UTC (no trailing Z). 21 var iso = s.indexOf('T') >= 0 ? s : s.replace(' ', 'T'); 22 var d = new Date(iso); 23 return isNaN(d.getTime()) ? null : d.getTime(); 24} 25 26function legiitShowOrderLateBadge() { 27 if (document.getElementById('legiit-order-late-badge')) { 28 return; 29 } 30 var title = document.querySelector('header.masthead h1'); 31 if (!title) { 32 return; 33 } 34 var sep = document.createElement('span'); 35 sep.className = 'pl-2 pr-2'; 36 sep.textContent = '|'; 37 var badge = document.createElement('span'); 38 badge.id = 'legiit-order-late-badge'; 39 badge.className = 'bg-danger align-middle font-12 py-1 px-3 border-radius-12px text-uppercase'; 40 badge.textContent = 'Order is late'; 41 title.appendChild(sep); 42 title.appendChild(badge); 43} 44 45function legiitParseOrderCountdownTarget(input) { 46 if (!input) { 47 return null; 48 } 49 var endTs = input.getAttribute('data-end-ts'); 50 if (endTs) { 51 var ts = parseInt(endTs, 10); 52 if (!isNaN(ts) && ts > 0) { 53 var fromTs = new Date(ts); 54 if (!isNaN(fromTs.getTime())) { 55 return fromTs; 56 } 57 } 58 } 59 var days = parseInt(input.getAttribute('data-days') || '0', 10) || 0; 60 var hours = parseInt(input.getAttribute('data-hours') || '0', 10) || 0; 61 var minutes = parseInt(input.getAttribute('data-minutes') || '0', 10) || 0; 62 var seconds = parseInt(input.getAttribute('data-seconds') || '0', 10) || 0; 63 var targetDate = new Date(); 64 targetDate.setSeconds(targetDate.getSeconds() + seconds); 65 targetDate.setMinutes(targetDate.getMinutes() + minutes); 66 targetDate.setHours(targetDate.getHours() + hours); 67 targetDate.setDate(targetDate.getDate() + days); 68 return targetDate; 69} 70 71function legiitStartOrderCountdown(targetDate) { 72 if (!targetDate || isNaN(targetDate.getTime()) || typeof LsCountdown === 'undefined') { 73 return null; 74 } 75 if (targetDate <= new Date()) { 76 return null; 77 } 78 79 var onStart = function () { 80 document.querySelectorAll('.countdown-item').forEach(function (item) { 81 item.classList.add('show'); 82 }); 83 }; 84 var onTick = function (tick) { 85 var daysEl = document.querySelector('.countdown-item.days'); 86 var hoursEl = document.querySelector('.countdown-item.hours'); 87 var minutesEl = document.querySelector('.countdown-item.minutes'); 88 var secondsEl = document.querySelector('.countdown-item.seconds'); 89 if (daysEl) daysEl.innerHTML = (tick.days || '').replace('d', ''); 90 if (hoursEl) hoursEl.innerHTML = (tick.hours || '').replace('h', ''); 91 if (minutesEl) minutesEl.innerHTML = (tick.minutes || '').replace('m', ''); 92 if (secondsEl) secondsEl.innerHTML = (tick.seconds || '').replace('s', ''); 93 if (targetDate <= new Date()) { 94 legiitShowOrderLateBadge(); 95 } 96 }; 97 98 if (window.mycountdown && typeof window.mycountdown.changeTargetDate === 'function') { 99 try { 100 window.mycountdown.changeTargetDate(targetDate); 101 return window.mycountdown; 102 } catch (e) { 103 window.mycountdown = null; 104 } 105 } 106 107 try { 108 var options = new LsCountdownOptions({ targetDate: targetDate, onStart: onStart, onTick: onTick }); 109 var countdown = new LsCountdown(options); 110 countdown.start(); 111 window.mycountdown = countdown; 112 return countdown; 113 } catch (e) { 114 return null; 115 } 116} 117 118/** Call from order_details after countdown.js (not from DOMContentLoaded here â fixes script load order). */ 119function legiitInitOrderCountdown() { 120 var input = document.getElementById('seller_countdown'); 121 if (!input || !document.querySelector('.countdown-item')) { 122 return null; 123 } 124 return legiitStartOrderCountdown(legiitParseOrderCountdownTarget(input)); 125} 126 127function legiitApplyOrderDeadline(orderNo, endDateRaw, endTsRaw) { 128 var input = document.getElementById('seller_countdown'); 129 if (!input || !orderNo) { 130 return; 131 } 132 if (String(input.getAttribute('data-order-no') || '') !== String(orderNo)) { 133 return; 134 } 135 if (endDateRaw) { 136 input.setAttribute('data-end-date', endDateRaw); 137 } 138 var resolvedTs = endTsRaw ? parseInt(endTsRaw, 10) : null; 139 if ((!resolvedTs || isNaN(resolvedTs)) && endDateRaw) { 140 resolvedTs = legiitEndDateToTimestampMs(endDateRaw); 141 } 142 if (resolvedTs && !isNaN(resolvedTs)) { 143 input.setAttribute('data-end-ts', String(resolvedTs)); 144 } 145 input.removeAttribute('data-days'); 146 input.removeAttribute('data-hours'); 147 input.removeAttribute('data-minutes'); 148 input.removeAttribute('data-seconds'); 149 if (window.mycountdown && typeof window.mycountdown.stop === 'function') { 150 try { 151 window.mycountdown.stop(); 152 } catch (e) { 153 /* ignore */ 154 } 155 } 156 window.mycountdown = null; 157 legiitStartOrderCountdown(legiitParseOrderCountdownTarget(input)); 158} 159 160window.legiitInitOrderCountdown = legiitInitOrderCountdown; 161window.legiitApplyOrderDeadline = legiitApplyOrderDeadline; 162 163window.addEventListener('legiit:realtime', function (event) { 164 var detail = event && event.detail ? event.detail : {}; 165 if (detail.type !== 'order.deadline_updated') { 166 return; 167 } 168 legiitApplyOrderDeadline(detail.order_no, detail.end_date, detail.end_ts); 169}); 170 171//countdown timer 172/*if ( $( ".countdown-item" ).length ) { 173 document.addEventListener("DOMContentLoaded", function () { 174 let currentYear = new Date().getFullYear(); 175 let targetDate = new Date(currentYear + 1, 0, 1); 176 let onStart = () => { 177 document.querySelectorAll('.countdown-item').forEach(item => item.classList.add('show')) 178 }
179 let onTick = ({ days, hours, minutes, seconds }) => { 180 document.querySelector('.countdown-item.days').innerHTML = days; 181 document.querySelector('.countdown-item.hours').innerHTML = hours; 182 document.querySelector('.countdown-item.minutes').innerHTML = minutes; 183 document.querySelector('.countdown-item.seconds').innerHTML = seconds; 184 }; 185 let options = new LsCountdownOptions({ targetDate, onStart, onTick }); 186 let countdown = new LsCountdown(options); 187 188 countdown.start(); 189 window.mycountdown = countdown; 190 }); 191}*/ 192//emoji in textarea order detail 193if ( $( "[data-emojiable=true]" ).length ) { 194 $(function () { 195 // Initializes and creates emoji set from sprite sheet 196 window.emojiPicker = new EmojiPicker({ 197 emojiable_selector: '[data-emojiable=true]', 198 assetsPath: imoji_url, 199 popupButtonClasses: 'fa fa-smile-o' 200 }); 201 window.emojiPicker.discover(); 202 }); 203} 204//popup close remove div order detail page 205 206$( ".order-detail-section-box" ).on( "click", " .close", function(e) { 207 e.preventDefault(); 208 $('.order-detail-section-box .profile-detail').remove(); 209}); 210 211 212$(document).ready(function(){ 213 $('.dropdown-submenu a.cus-drop').on("click", function(e){ 214 $(this).next('ul').toggle(); 215 e.stopPropagation(); 216 e.preventDefault(); 217 }); 218 //order detail page tabbing 219 $('.order-detail-section .vertical-tab .nav-tabs li').on("click", function(e){ 220 e.preventDefault(); 221 $('.order-detail-section .vertical-tab .nav-tabs li').removeClass("active"); 222 $(this).addClass("active"); 223 224 }); 225 226 227}); 228 229$(".popular-grid-one").slick({ 230 dots: false, 231 speed: 300, 232 slidesToShow: 3, 233 infinite:false, 234 centerPadding: 30, 235 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 236 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 237 responsive: [{ 238 breakpoint: 1200, 239 settings: { 240 slidesToShow: 2, 241 slidesToScroll: 1, 242 // centerMode: true, 243 244 } 245},{ 246 breakpoint: 992, 247 settings: { 248 slidesToShow: 2, 249 slidesToScroll: 1, 250 // centerMode: true, 251 } 252}, 253{ 254 breakpoint: 767, 255 settings: { 256 slidesToShow: 1, 257 slidesToScroll: 1 258 } 259}] 260}); 261 262$(".popular-services li a").click(function(){ 263 // alert("Hii"); 264 // $('.skills_section').slick('reinit'); 265 //$( ".popular-grid-one" ).refresh(); 266 //var $slider = ".popular-grid-one"; 267 $('.popular-grid-one .cus-arrow-left').click(); 268 //$slider.slick('refresh'); 269 // $(".popular-grid-one").slick({ 270 // dots: false, 271 // speed: 300, 272 // slidesToShow: 3, 273 // infinite:false, 274 // centerPadding: 30, 275 // prevArrow: '<span class="cus-arrow-left"><i class="fa fa-chevron-left"></i></span>', 276 // nextArrow: '<span class="cus-arrow-right"><i class="fa fa-chevron-right"></i></span>', 277 // }); 278 279 280 // if (jQuery('.popular-grid-one').hasClass('slick-initialized')) { 281 // jQuery('.popular-grid-one').slick('destroy'); 282 // } 283}); 284 285 286$(".popular-grid-two").slick({ 287 // dots: false, 288 speed: 300, 289 slidesToShow: 4, 290 arrows: true, 291 infinite:false, 292 centerPadding: 30, 293 // prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>', 294 // nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>', 295 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 296 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 297 responsive: [{ 298 breakpoint: 1024, 299 settings: { 300 slidesToShow: 3, 301 slidesToScroll: 1, 302 // centerMode: true, 303 304 } 305}, 306{ 307 breakpoint: 767, 308 settings: { 309 slidesToShow: 1, 310 slidesToScroll: 1 311 } 312}] 313}); 314 315$(".popular-grid-three").slick({ 316 // dots: true, 317 speed: 300, 318 slidesToShow: 4, 319 infinite:false, 320 centerPadding: 30, 321 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 322 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 323 responsive: [{ 324 breakpoint: 1200, 325 settings: { 326 slidesToShow: 3, 327 slidesToScroll: 1, 328 // centerMode: true, 329 } 330 },{ 331 breakpoint: 992, 332 settings: { 333 slidesToShow: 2, 334 slidesToScroll: 1, 335 // centerMode: true, 336 } 337 }, 338 { 339 breakpoint: 600, 340 settings: { 341 slidesToShow: 1, 342 slidesToScroll: 1 343 } 344}] 345}); 346 347$(".other-course-likes").slick({ 348 // dots: true, 349 speed: 300, 350 slidesToShow: 3, 351 infinite:false, 352 centerPadding: 30, 353 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 354 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 355 responsive: [ 356 { 357 breakpoint: 1024, 358 settings: { 359 slidesToShow: 3, 360 slidesToScroll: 1, 361 centerMode: true, 362 } 363 }, 364 { 365 breakpoint: 767, 366 settings: { 367 slidesToShow: 1, 368 slidesToScroll: 1 369 } 370 } 371 ] 372}); 373$(".popular-grid-marketing").slick({ 374 // dots: true, 375 speed: 300, 376 slidesToShow: 3, 377 infinite:false, 378 centerPadding: 30, 379 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 380 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 381 responsive: [{ 382 breakpoint: 1024, 383 settings: { 384 slidesToShow: 3, 385 slidesToScroll: 1, 386 // centerMode: true, 387 388 } 389}, 390{ 391 breakpoint: 767, 392 settings: { 393 slidesToShow: 1, 394 slidesToScroll: 1 395 } 396}] 397}); 398 399 400$(".popular-grid-cart").slick({ 401 // dots: true, 402 speed: 300, 403 slidesToShow: 5, 404 infinite:false, 405 centerPadding: 30, 406 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 407 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 408 responsive: [{ 409 breakpoint: 1024, 410 settings: { 411 slidesToShow: 3, 412 slidesToScroll: 1, 413 } 414 }, 415 { 416 breakpoint: 767, 417 settings: { 418 slidesToShow: 1, 419 slidesToScroll: 1 420 } 421 }] 422}); 423 424$(".popular-grid-cart-new").slick({ 425 // dots: true, 426 speed: 300, 427 slidesToShow: 3, 428 infinite:false, 429 centerPadding: 30, 430 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 431 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 432 responsive: [{ 433 breakpoint: 1024, 434 settings: { 435 slidesToShow: 3, 436 slidesToScroll: 1, 437 } 438 }, 439 { 440 breakpoint: 767, 441 settings: { 442 slidesToShow: 1, 443 slidesToScroll: 1 444 } 445 }] 446}); 447 448$(".experts-grid").slick({ 449 // dots: true, 450 speed: 300, 451 slidesToShow: 3, 452 infinite:false, 453 centerPadding: '40', 454 // prevArrow: '<span class="cus-arrow-left exicon"><i class="fa fa-chevron-left"></i></span>', 455 // nextArrow: '<span class="cus-arrow-right exicon"><i class="fa fa-chevron-right"></i></span>', 456 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 457 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 458 responsive: [{ 459 breakpoint: 1024, 460 settings: { 461 slidesToShow: 2, 462 slidesToScroll: 1, 463 // centerMode: true, 464 465 } 466}, 467{ 468 breakpoint: 767, 469 settings: { 470 slidesToShow: 1, 471 slidesToScroll: 1 472 } 473}] 474}); 475 476$(".testimonial-grid").slick({ 477 speed: 300, 478 //slidesToShow: 3, 479 infinite:false, 480 centerPadding: '40', 481 prevArrow: '<span class="cus-arrow-left"><img src="'+left_arrow+'"></span>', 482 nextArrow: '<span class="cus-arrow-right"><img src="'+left_arrow+'"></span>', 483 responsive: [{ 484 breakpoint: 1024, 485 settings: { 486 slidesToShow: 2, 487 slidesToScroll: 1, 488 } 489 }, 490 { 491 breakpoint: 767, 492 settings: { 493 slidesToShow: 1, 494 slidesToScroll: 1 495 } 496 }] 497}); 498 499 500$(".popular-grid-category").slick({ 501 // dots: true, 502 speed: 300, 503 slidesToShow: 4, 504 infinite:false, 505 centerPadding: 30, 506 // prevArrow: '<span class="cus-arrow-left exicon"><i class="fa fa-chevron-left"></i></span>', 507 // nextArrow: '<span class="cus-arrow-right exicon"><i class="fa fa-chevron-right"></i></span>', 508 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 509 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 510 responsive: [{ 511 breakpoint: 1024, 512 settings: { 513 slidesToShow: 3, 514 slidesToScroll: 1, 515 // centerMode: true, 516 517 } 518}, 519{ 520 breakpoint: 767, 521 settings: { 522 slidesToShow: 1, 523 slidesToScroll: 1 524 } 525}] 526}); 527 528 529$('.product-slider .slider-for').slick({ 530 slidesToShow: 1, 531 slidesToScroll: 1,
532 arrows: false, 533 fade: true, 534 asNavFor: '.product-slider .slider-nav' 535}); 536$('.product-slider .slider-nav').slick({ 537 slidesToShow: 5, 538 slidesToScroll: 1, 539 asNavFor: '.product-slider .slider-for', 540 dots: true, 541 // centerMode: true, 542 focusOnSelect: true 543}); 544 545$('.home-slick-slider').slick({ 546 dots: true, 547 autoplay: true, 548 autoplaySpeed: 5000, 549 speed: 500, 550 fade: true, 551 cssEase: 'linear' 552}); 553 554$(".show-more").click(function () { 555 if($(".text").hasClass("show-more-height")) { 556 $(this).text("- Less"); 557 } else { 558 $(this).text("+ More"); 559 } 560 561 $(".text").toggleClass("show-more-height"); 562}); 563 564 565 566//mobile device chat screen 567$(document).ready(function () { 568 $(window).on("resize", function (e) { 569 checkScreenSize(); 570 }); 571 572 checkScreenSize(); 573 574 function checkScreenSize(){ 575 var newWindowWidth = $(window).width(); 576 if (newWindowWidth < 767) { 577 $('.chat_list').click(function(event) { 578 $('#chatmobile').modal(); 579 }); 580 581 } 582 583 } 584}); 585 586 // $('#dp1').datepicker(); 587 588 if ( $( "#dpd1" ).length ) { 589 //$('#dpd1').datepicker(); 590 //$('#dpd2').datepicker(); 591 var nowTemp = new Date(); 592 var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0); 593 594 var checkin = $('#dpd1').datepicker({ 595 /*onRender: function(date) { 596 return date.valueOf() < now.valueOf() ? 'disabled' : ''; 597 }*/ 598 }).on('changeDate', function(ev) { 599 if (ev.date.valueOf() > checkout.date.valueOf()) { 600 var newDate = new Date(ev.date) 601 newDate.setDate(newDate.getDate() + 1); 602 checkout.setValue(newDate); 603 } 604 checkin.hide(); 605 $('#dpd2')[0].focus(); 606 }).data('datepicker'); 607 var checkout = $('#dpd2').datepicker({ 608 /*onRender: function(date) { 609 return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : ''; 610 }*/ 611 }).on('changeDate', function(ev) { 612 checkout.hide(); 613 }).data('datepicker'); 614 615 } 616 617 618 619//search box select value in search page 620$(document).ready(function(){ 621 622 $(".cus-sort-by li a").click(function(){ 623 var selectval = $(this).text(); 624 $('.selectvalue').text(selectval); 625 }); 626 627 /* 628 if ( $( ".tags" ).length ) { 629 $('.tags').tagsinput({ 630 tagClass: 'big label label-primary', 631 preventPost: true 632 }); 633 } 634 if ( $( "#meta_keywords" ).length ) { 635 $('#meta_keywords').tagsinput({ 636 tagClass: 'big label label-primary', 637 preventPost: true, 638 maxTags: 10 639 }); 640 } 641 642 if ( $( "#descriptions" ).length ) { 643 CKEDITOR.replace( 'descriptions', { 644 height: 300, 645 }); 646 } 647 */ 648 // if ( $( "#tem_descriptions" ).length ) { 649 // CKEDITOR.replace( 'tem_descriptions', { 650 // height: 300, 651 // }); 652 // } 653}); 654 655 656 657 658//chat screen append 659$(document).ready(function(){ 660 $(".chat_list").click(function(){ 661 $(".chat_list.active_chat").removeClass('active_chat'); 662 $(this).addClass('active_chat'); 663 }); 664}); 665 666 667// $(document).ready(function(){ 668// $(".chat_send_btn").click(function(){ 669// var chat_val = $(".write_msg").val(); 670// $(".msg_history").append('<div class="outgoing_msg"><div class="sent_msg"><p>'+chat_val+' <span class="time_date"> 11:01 AM | June 9</span></p></div></div>'); 671// $(".write_msg").val(''); 672// }); 673// if(e.which == 13) { 674// alert("Hi"); 675// var chat_val = $(".write_msg").val(); 676// $(".msg_history").append('<div class="outgoing_msg"><div class="sent_msg"><p>'+chat_val+' <span class="time_date"> 11:01 AM | June 9</span></p></div></div>'); 677// $(".write_msg").val(''); 678// } 679// }); 680 681 682///////////////////file upload design////////////////////// 683function readURL(input) { 684 if (input.files && input.files[0]) { 685 var reader = new FileReader(); 686 reader.onload = function(e) { 687 $('#imagePreview').css('background-image', 'url('+e.target.result +')'); 688 $('#imagePreview').hide(); 689 $('#imagePreview').fadeIn(650); 690 } 691 reader.readAsDataURL(input.files[0]); 692 } 693} 694$("#imageUpload").change(function() { 695 readURL(this); 696}); 697 698/////////////////////add new field/////////////////////////// 699$(document).ready(function() { 700 var max_fields = 10; //maximum input boxes allowed 701 var wrapper = $(".append-row .append-before"); //Fields wrapper 702 var add_button = $(".add_field_button"); //Add button ID 703 var language_index = $(".language_index_length").val();//get index value of language 704 var x = 1; //initlal text box count 705 $(add_button).click(function(e){ //on add input button click 706 e.preventDefault(); 707 var row = $('.append-row .newrow:last'); 708 var itemvalue = row.find('.languages_name').val(); 709 710 if(itemvalue == ''){ 711 return false;
712 } 713 if(x < max_fields){ //max input box allowed 714 x++; //text box increment 715 console.log("x: " + x); 716 $(wrapper).before('<div class="row align-items-center justify-content-between newrow mx-4 mt-3 m-0"><div class="col-sm-auto"><div class="language"><h6 class="register-text-dark-black font-14 font-weight-bold mb-sm-1">Language</h6> <input type="text" name="language[' + x + '][language]" id="languages_name" class="form-control languages_name" value=""></div></div><div class="col-sm-auto mt-3 mt-md-0"><div class="level"><h6 class="register-text-dark-black font-14 font-weight-bold mb-sm-1">Level</h6><select name="language[' + x + '][level]" id="languages_level" class="form-control"><option value="basic">Basic</option><option value="conversational">Conversational</option><option value="fluent">Fluent</option><option value="native_or_bilingual">Native or Bilingual</option></select></div></div><div class="col-sm-auto mt-3 mt-md-0"><div class=""><button class="btn remove_field register-bg-light-primary text-white font-14">Remove</button></div></div></div>'); //add input box 717 } 718 }); 719 720 $('.append-row').on("click",".remove_field", function(e){ //user click on remove text 721 e.preventDefault(); 722 $(this).closest(".newrow").remove(); 723 x--; 724 }) 725}); 726 727 728 729$(".checkpackage").click(function(){ 730 var isChecked = $('input[name=threeplan]').prop('checked'); 731 732 if(isChecked == true){ 733 $('.threeplans').prop("disabled", false); 734 }else{ 735 $('.threeplans').prop("disabled", true); 736 } 737 738}); 739 740 741/////////////////////add extra field payment/////////////////////////// 742$(document).ready(function() { 743 744 $('.add-new-extra').click(function(e){ //on add input button click 745 e.preventDefault(); 746 var row = $('.append-row .newrow:last'); 747 var itemvalue = row.find('.languages_name').val(); 748 var extra_index = (parseInt($('#extra_index').val())); 749 if(itemvalue == ''){ 750 return false; 751 } 752 $('#extra-body').append('<tr><td class="form-group"><input type="text" name="extra[' + extra_index + '][title]" id="" placeholder="Title" class="form-control"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][description]" id="" placeholder="Description" class="form-control"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][price]" maxlength="2" id="" class="form-control numeric" placeholder="Delivery Days"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][delivery_days]" class="desimal form-control" id="" placeholder="Price"></td><td class="form-group gradient"><button class="btn remove_extra_field">Remove</button></td></tr>'); //add input box 753 extra_index = (parseInt($('#extra_index').val()) + 1); 754 $('#extra_index').val(extra_index); 755 756 }); 757 758 $('#extra-body').on("click",".remove_extra_field", function(e){ //user click on remove text 759 e.preventDefault(); 760 $(this).closest("tr").remove(); 761 762 }) 763}); 764 765 766 767////////////////////add-new-question requirenment page//////////////////////// 768 769$(document).ready(function() { 770 771 $('.add-new-question').click(function(e){ //on add input button click 772 $(".add-new-que-item").show(); 773 $(".add-new-que-item").addClass('addform'); 774 775 $(".extra-body").append('<tr class="form-group multiple-answer hide"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr><tr class="form-group multiple-answer hide"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr><tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>'); 776 777 }); 778 $('.cancel-question').click(function(e){ //on add input button click 779 $(".add-new-que-item").hide(); 780 $(".afterdelete").remove(); 781 }); 782 783 $(document).on( "change", ".addform #answer_type", function() { 784 var answer = this.value; 785 if(answer == "Multiple Answer"){ 786 $('.multiple-answer').removeClass('hide'); 787 }else{ 788 $('.multiple-answer').addClass('hide'); 789 } 790 }); 791 792 $('#extra-body').on( "click", ".add-opt-ans", function() { //on add input button click 793 794 var clone = $('#multiple-answer-clone').clone(); 795 var removeid = $(clone).removeAttr("id"); 796 var cloneclass = $(removeid).addClass('newclone'); 797 var addoption = $(cloneclass).show(); 798 $('#multiple-answer-clone').before(addoption); 799 }); 800 $( "#extra-body" ).on( "click", ".remove-opt-ans", function() { 801 $(this).closest("tr").remove(); 802 }); 803 804 //append questtion answer 805 806 $( "#extra-body" ).on( "click", ".add-question", function() { 807 var ques = $('#question_to_ask') .val(); 808 var ques_ans_type = $('#answer_type') .val(); 809 810 811 if(ques_ans_type == "Multiple Answer"){ 812 var arrNumber = new Array(); 813 $('.opt_answer').each(function(){ 814 if($(this).val() != ''){ 815 arrNumber.push($(this).val()); 816 } 817 818 }) 819 var multipleans = arrNumber; 820 }else{ 821 var multipleans = ''; 822 } 823 824 if($('#is_required_question').prop("checked") == true){ 825 var is_required = "true"; 826 } 827 else if($('#is_required_question').prop("checked") == false){ 828 var is_required = "false"; 829 } 830 831 var question_index = (parseInt($('#question_index').val())); 832 833 $('.new-question').append('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><input type="hidden" name="extra['+question_index+'][question_info]" value="'+ques+'"><input type="hidden" name="extra['+question_index+'][answer_info]" value="'+ques_ans_type+'"><input type="hidden" name="extra['+question_index+'][expacted_answer]" value="'+multipleans+'"><input type="hidden" name="extra['+question_index+'][is_required_question]" value="'+is_required+'"><a href="javascript:void(0);" class="update-que" data-question="" data-answer_type="" data-expacted_answer="" data-is_required_question="'+is_required+'"><i class="icon-pencil"></i></a><a href="javascript:void(0);" class="delete-que"><i class="icon-trash"></i></a></td></tr>');
833 //add input box 834 $(".add-new-que-item").hide(); 835 $('#question_to_ask') .val(''); 836 $('.opt_answer') .val(''); 837 $('#answer_type') .val(''); 838 $( "#is_required_question" ).prop( "checked", false ); 839 $('.multiple-answer').addClass('hide'); 840 $('.multiple-answer-clone.newclone').remove(); 841 $(".add-new-que-item").removeClass('addform'); 842 $(".multiple-answer").remove(); 843 844 question_index = (parseInt($('#question_index').val()) + 1); 845 $('#question_index').val(question_index); 846 847 848}); 849 850}); 851$( ".new-question" ).on( "click", ".delete-que", function(e) { 852 e.preventDefault(); 853 $(this).closest("tr").remove(); 854}); 855 856$( ".new-question" ).on( "click", ".update-que", function(e) { 857 e.preventDefault(); 858 $('.new-question tr').removeClass('editable-row'); 859 $(this).closest('tr').addClass('editable-row'); 860 $('.answer_type').addClass('upadteselect'); 861 862 863 864 865 866 var quest_item1 = $(this).closest('tr').find('.quest_item1').html(); 867 var quest_item2 = $(this).closest('tr').find('.quest_item2').html(); 868 var quest_item3 = $(this).closest('tr').find('.quest_item3').html(); 869 var quest_item4 = $(this).closest('tr').find('.quest_item4').html(); 870 871 if(quest_item3 == ''){ 872 $(".add-new-que-item").addClass('addform'); 873 $(".extra-body").append('<tr class="form-group multiple-answer hide"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr><tr class="form-group multiple-answer hide"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr><tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>'); 874 } 875 $('.add-question').text('Update'); 876 $('.add-question').addClass("update-question"); 877 $('.add-question').removeClass("add-question"); 878 $(".add-new-que-item").show(); 879 $("#question_to_ask").val(quest_item1); 880 $("#answer_type").val(quest_item2); 881 if(quest_item4 == 'Yes'){ 882 $( "#is_required_question" ).prop( "checked", true ); 883 } 884 885 //alert(quest_item3); 886 if(quest_item3 != ''){ 887 var strarray = quest_item3.split(','); 888 if(strarray){ 889 for (var i = 0; i < strarray.length; i++) { 890 if(i==0){ 891 $('.add-new-que-item #extra-body').append('<tr class="form-group multiple-answer afterdelete"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" value="'+strarray[i]+'" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr>'); 892 893 } 894 if(i==1){ 895 $('.add-new-que-item #extra-body').append('<tr class="form-group multiple-answer afterdelete"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" value="'+strarray[i]+'" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr>'); 896 $('.add-new-que-item #extra-body').append('<tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>'); 897 898 } 899 if(i>1){ 900 $('.add-new-que-item #extra-body').append('<tr class="multiple-answer multiple-answer-clone afterdelete" style=""><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" value="'+strarray[i]+'" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>'); 901 } 902 //alert(strarray[i]) 903 } 904 } 905 906 907} 908 909 910 //$("#answer_type").val(quest_item2); 911 912}); 913$(document).ready(function() { 914 $(document).on( "change", ".upadteselect", function() { 915 var answer = this.value; 916 if(answer == "Multiple Answer"){ 917 $('.afterdelete').removeClass('hide'); 918 }else{ 919 $('.afterdelete').addClass('hide'); 920 } 921 }); 922}); 923$( "#extra-body" ).on( "click", ".update-question", function(e) { 924 e.preventDefault(); 925 var ques = $('#question_to_ask') .val(); 926 var ques_ans_type = $('#answer_type') .val(); 927 928 929 if(ques_ans_type == "Multiple Answer"){ 930 var arrNumber = new Array(); 931 $('.opt_answer').each(function(){ 932 if($(this).val() != ''){ 933 arrNumber.push($(this).val()); 934 } 935 936 }) 937 var multipleans = arrNumber; 938 }else{ 939 var multipleans = ''; 940 } 941 942 if($('#is_required_question').prop("checked") == true){ 943 var is_required = "Yes"; 944 } 945 else if($('#is_required_question').prop("checked") == false){ 946 var is_required = "No"; 947 } 948 var question_index = (parseInt($('#question_index').val())); 949 950 951 $('.editable-row').replaceWith('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><input type="hidden" name="extra['+question_index+'][question_info]" value="'+ques+'"><input type="hidden" name="extra['+question_index+'][answer_info]" value="'+ques_ans_type+'"><input type="hidden" name="extra['+question_index+'][expacted_answer]" value="'+multipleans+'"><input type="hidden" name="extra['+question_index+'][is_required_question]" value=a'+is_required+'><a href="javascript:void(0);" class="update-que" data-question="" data-answer_type="" data-expacted_answer="" data-is_required_question="'+is_required+'"><i class="icon-pencil"></i></a><a href="javascript:void(0);" class="delete-que"><i class="icon-trash"></i></a></td></tr>');
951 //add input box 952 953 // $('.editable-row').replaceWith('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><a href="" class="update-que"><i class="icon-pencil"></i></a><a href="" class="delete-que"><i class="icon-trash"></i></a></td></tr>'); //add input box 954 $(".add-new-que-item").hide(); 955 $('#question_to_ask') .val(''); 956 $('.opt_answer') .val(''); 957 $('#answer_type') .val(''); 958 $('.multiple-answer').addClass('hide'); 959 $('.update-question').addClass("add-question"); 960 $('.update-question').removeClass("update-question"); 961 $('.add-question').text('Add'); 962 $('.multiple-answer.afterdelete').remove(); 963 $(".add-new-que-item").removeClass('addform'); 964 $(".multiple-answer.hide").remove(); 965 966 question_index = (parseInt($('#question_index').val()) + 1); 967 $('#question_index').val(question_index); 968}); 969 970/*deliver now - preset template*/ 971$('#save_template').click(function(){ 972 if($(this).prop("checked") == true){ 973 if(order_note_editor.getData()){ 974 $('#template_Data').val(order_note_editor.getData()); 975 $("#template_for").val(1); 976 $('#saveasteplate').modal('show'); 977 }else{ 978 alert_error('Please add template content'); 979 $(this).prop("checked",false); 980 } 981 } 982}); 983 984$('.save_template_button').click(function(e){ 985 e.preventDefault(); 986 var template_for = $("#template_for").val(); 987 var title = $('#title').val(); 988 var template_Data = $('#template_Data').val(); 989 990 $.ajax({ 991 url: $("#update_template_url").val(), 992 method: "POST", 993 data: {'_token':_token , 'is_edit' : 0 ,'template_for':template_for, 'title' : title , 'template_Data' : template_Data}, 994 success : function(data){ 995 if(data.status == 200){ 996 alert_success(data.message); 997 if(template_for == 1){ 998 $('#select_title').append('<option value="'+data.id+'">'+title+'</option>'); 999 }else if(template_for == 2){ 1000 $('#select_title_chat').append('<option value="'+data.id+'">'+title+'</option>'); 1001 } 1002 $('#saveasteplate').modal('hide'); 1003 $('#addTemplate').trigger('reset'); 1004 $('#save_template_chat').prop("checked",false); 1005 }else{ 1006 alert_error(data.message); 1007 } 1008 } 1009 }); 1010}); 1011 1012$('#select_title').change(function(e){ 1013 e.preventDefault(); 1014 var id = $(this).val(); 1015 if(id != ''){ 1016 $.ajax({ 1017 url: $('#select_template_url').val(), 1018 method: "POST", 1019 data: {'_token':_token , 'id' : id}, 1020 dataType: "json", 1021 success: function(data){ 1022 // console.log(data.message); 1023 $('#deliverorderpopup').modal('hide'); 1024 $('#tempalte_pop').modal('show'); 1025 $('#template_id').val(data.id); 1026 $('#edit_title').val(data.title); 1027 $('#template_for').val(data.template_for); 1028 1029 if(data.template_for == 1){ 1030 $('.imoji_data').hide(); 1031 $('.ckeditor_data').show(); 1032 var tem_descriptions = data.message; 1033 temp_description.setData(tem_descriptions); 1034 }else if(data.template_for == 2){ 1035 $('.ckeditor_data').hide(); 1036 $('.imoji_data').show(); 1037 $('#tem_chat_message').val(data.message); 1038 //$('#tem_chat_message').focus(); 1039 } 1040 } 1041 }); 1042 } 1043}); 1044 1045$(document).on('click','.apply_template',function() 1046{ 1047 var template_for = $("#template_for").val(); 1048 if(template_for == 1){ 1049 var tem_descriptions = temp_description.getData(); 1050 order_note_editor.setData(tem_descriptions); 1051 }else{ 1052 var tem_descriptions = applyCannedReplyCustomerPlaceholdersParent($("#tem_chat_message").val()); 1053 $(".emoji-wysiwyg-editor").html(nl2br (tem_descriptions, is_xhtml=false)); 1054 $('.emoji-wysiwyg-editor').focus(); 1055 } 1056 1057 $('#tempalte_pop').modal('hide'); 1058 $('#deliverorderpopup').modal('show'); 1059 1060}); 1061 1062function nl2br (str, is_xhtml) { 1063 var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>'; 1064 return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2'); 1065} 1066 1067function getChatCustomerUsernameForCannedReply() { 1068 var iframe = document.getElementById('chat-iframe'); 1069 if (iframe) { 1070 try { 1071 var doc = iframe.contentDocument || iframe.contentWindow.document; 1072 var $el = $(doc).find('.m-header-messaging .user-name').first(); 1073 var fromTitle = $el.attr('title'); 1074 if (fromTitle && String(fromTitle).trim()) { 1075 return String(fromTitle).trim(); 1076 } 1077 var t = ($el.text() || '').trim(); 1078 if (t) { 1079 return t; 1080 } 1081 } catch (e) {} 1082 } 1083 var $legacy = $('.comment-wrap p.text-header a[href*="viewuserservices"]').first(); 1084 if ($legacy.length) { 1085 return $legacy.text().trim(); 1086 } 1087 return ''; 1088} 1089 1090/** Replace {{customer_username}} / {{username}} in chat template text only (no auto greeting). */ 1091function applyCannedReplyCustomerPlaceholdersParent(message) { 1092 if (message == null || message === '') { 1093 return message; 1094 } 1095 var name = getChatCustomerUsernameForCannedReply(); 1096 if (!name) { 1097 return String(message); 1098 } 1099 var str = String(message); 1100 return str 1101 .replace(/\{\{customer_username\}\}/gi, name) 1102 .replace(/\{\{username\}\}/gi, name)
1103 .replace(/\{customer_username\}/gi, name); 1104} 1105 1106$("#update_template").submit(function(e){ 1107 e.preventDefault(); 1108 var template_for = $("#template_for").val(); 1109 var template_id = $('#template_id').val(); 1110 var edit_title = $('#edit_title').val(); 1111 1112 var messageUpdate = $('#messageUpdate').val(); 1113 1114 if(messageUpdate != 1) 1115 { 1116 messageUpdate = 0; 1117 } 1118 if(template_for == 1){ 1119 var tem_descriptions = temp_description.getData(); 1120 }else if(template_for == 2){ 1121 var tem_descriptions = $('#tem_chat_message').val(); 1122 } 1123 1124 $.ajax({ 1125 url: $("#update_template_url").val(), 1126 method: "POST", 1127 data: {'_token':_token , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions,'messageUpdate' : messageUpdate }, 1128 dataType : "html", 1129 success: function(data){ 1130 1131 if(template_for == 1){ 1132 order_note_editor.setData(tem_descriptions); 1133 }else if(template_for == 2){ 1134 //$('#chat_message').val(tem_descriptions); 1135 var filledUpd = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions); 1136 $(".emoji-wysiwyg-editor").html(nl2br (filledUpd, is_xhtml=false)); 1137 $('.emoji-wysiwyg-editor').focus(); 1138 } 1139 $('#tempalte_pop').modal('hide'); 1140 $('#deliverorderpopup').modal('show'); 1141 1142 alert_success ('Template Updated successfully.'); 1143 1144 var obj=JSON.parse(data); 1145 1146 if(obj.status == 201) 1147 { 1148 1149 setTimeout(function(){ 1150 location.reload(); 1151 },3000); 1152 } 1153 1154 1155 } 1156 }); 1157}); 1158 1159/*Check modal open */ 1160$('.modal').on("hidden.bs.modal", function (e) { 1161 if ($('.modal:visible').length) { 1162 $('body').addClass('modal-open'); 1163 } 1164}); 1165/*Check modal open */ 1166 1167/* Review edit history: keep modal above page overlays (seller profile z-index trap) */ 1168$(document).on('show.bs.modal', '.seller-review-history-modal', function () { 1169 $(this).appendTo(document.body); 1170}); 1171$(document).on('hidden.bs.modal', '.seller-review-history-modal', function () { 1172 setTimeout(function () { 1173 if ($('.modal.show:visible').length) { 1174 return; 1175 } 1176 $('.modal-backdrop').remove(); 1177 $('body').removeClass('modal-open').css('padding-right', ''); 1178 }, 350); 1179}); 1180 1181$("#update_template_canned").submit(function(e){ 1182 e.preventDefault(); 1183 var template_for = $("#template_for").val(); 1184 var template_id = $('#template_id').val(); 1185 var edit_title = $('#edit_title').val(); 1186 1187 var messageUpdate = $('#messageUpdate').val(); 1188 1189 if(messageUpdate != 1) 1190 { 1191 messageUpdate = 0; 1192 } 1193 if(template_for == 1){ 1194 var tem_descriptions = temp_description.getData(); 1195 }else if(template_for == 2){ 1196 var tem_descriptions = $('#tem_chat_message').val(); 1197 } 1198 1199 $.ajax({ 1200 url: $("#update_template_url").val(), 1201 method: "POST", 1202 data: {'_token':_token , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions,'messageUpdate' : messageUpdate }, 1203 dataType : "html", 1204 success: function(data){ 1205 1206 if(template_for == 1){ 1207 //CKEDITOR.instances['delivered_note'].setData(tem_descriptions); 1208 }else if(template_for == 2){ 1209 //$('#chat_message').val(tem_descriptions); 1210 var filledCan = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions); 1211 $(".emoji-wysiwyg-editor").html(nl2br (filledCan, is_xhtml=false)); 1212 $('.emoji-wysiwyg-editor').focus(); 1213 } 1214 $('#tempalte_pop').modal('hide'); 1215 1216 alert_success ('Template Updated successfully.'); 1217 1218 var obj=JSON.parse(data); 1219 1220 if(obj.status == 201) 1221 { 1222 1223 setTimeout(function(){ 1224 location.reload(); 1225 },2000); 1226 } 1227 1228 1229 } 1230 }); 1231}); 1232$("#update_template_seller").submit(function(e){ 1233 e.preventDefault(); 1234 1235 var template_for = $("#template_for").val(); 1236 var template_id = $('#template_id').val(); 1237 var edit_title = $('#edit_title').val(); 1238 if(template_for == 1){ 1239 var tem_descriptions = temp_description.getData(); 1240 }else if(template_for == 2){ 1241 var tem_descriptions = $('#tem_chat_message').val(); 1242 } 1243 $.ajax({ 1244 url: $("#update_template_url").val(), 1245 method: "POST", 1246 data: {'_token':_token , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions }, 1247 dataType : "html", 1248 success: function(data){ 1249 console.log(data); 1250 if(template_for == 1){ 1251 order_note_editor.setData(tem_descriptions); 1252 1253 }else if(template_for == 2){ 1254 1255 var filledMsg = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions); 1256 $('#chat_message').val(filledMsg); 1257 var lengthNew=filledMsg.length; 1258 $('#chars').text(lengthNew); 1259 // $(".emoji-wysiwyg-editor").html(nl2br (tem_descriptions, is_xhtml=false)); 1260 // $('.emoji-wysiwyg-editor').focus(); 1261 } 1262 $('#tempalte_pop').modal('hide'); 1263 //location.reload(); 1264 } 1265 }); 1266}); 1267$("#update_template_seller_service").submit(function(e){ 1268 e.preventDefault(); 1269 1270 var template_for = $("#template_for").val(); 1271 var template_id = $('#template_id').val(); 1272 var edit_title = $('#edit_title').val(); 1273 if(template_for == 1){ 1274 //var tem_descriptions = CKEDITOR.instances['tem_chat_message'].getData(); 1275 }else if(template_for == 2){ 1276 var tem_descriptions = $('#tem_chat_message').val(); 1277 } 1278 $.ajax({ 1279 url: $("#update_template_url").val(), 1280 method: "POST", 1281 data: {'_token':_token , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions }, 1282 dataType : "html", 1283 success: function(data){ 1284 console.log(data); 1285 if(template_for == 1){ 1286 //CKEDITOR.instances['delivered_note'].setData(tem_descriptions); 1287 }else if(template_for == 2){ 1288 1289 //$('#chat_message').val(tem_descriptions); 1290 var filledSvc = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions); 1291 $(".emoji-wysiwyg-editor").html(nl2br (filledSvc, is_xhtml=false)); 1292 $('.emoji-wysiwyg-editor').focus(); 1293 } 1294 $('#tempalte_pop').modal('hide'); 1295 //location.reload(); 1296 } 1297 }); 1298}); 1299 1300$(document).on('click','.delete_template',function() 1301{ 1302 bootbox.confirm("Are you sure you want to delete this template?", function(result){ 1303 if(result == true){ 1304 var template_id = $('#template_id').val(); 1305 var template_for = $("#template_for").val(); 1306 $.ajax({ 1307 url: $('#delete_template_url').val(), 1308 method: "POST", 1309 data: {'_token':_token , 'template_id' : template_id}, 1310 dataType: "html", 1311 success: function(data){ 1312 if(template_for == 1){ 1313 $("#select_title option[value='"+template_id+"']").remove(); 1314 }else{ 1315 $("#select_title_chat option[value='"+template_id+"']").remove(); 1316 } 1317 $('#tempalte_pop').modal('hide'); 1318 alert_success ('Template deleted successfully.'); 1319 } 1320 }); 1321 } 1322 }); 1323}); 1324 1325$(document).on('click','.delete_template_custom',function() 1326{ 1327 var template_id = $(this).data('id'); 1328 1329 bootbox.confirm("Are you sure you want to delete this template?", function(result){ 1330 if(result == true){ 1331 1332 $.ajax({ 1333 url: $('#delete_template_url').val(), 1334 method: "POST", 1335 data: {'_token':_token , 'template_id' : template_id}, 1336 dataType: "html", 1337 success: function(data){ 1338 $("#"+template_id).hide(); 1339 alert_success ('Template deleted successfully.'); 1340 } 1341 }); 1342 } 1343 }); 1344}); 1345 1346 1347 1348/*Chat - preset template*/ 1349 1350$('#save_template_chat').click(function(){ 1351 1352 if($(this).prop("checked") == true){ 1353 1354 if($('#chat_message').val()){ 1355 $('#template_Data').val($('#chat_message').val()); 1356 $("#template_for").val(2); 1357 $('#saveasteplate').modal('show'); 1358 }else{ 1359 alert_error('Please add template content'); 1360 $(this).prop("checked",false); 1361 } 1362 } 1363}); 1364 1365 1366$('#select_title_chat').change(function(e){ 1367 var iframe = document.getElementById('chat-iframe'); 1368 var iframeDocument = iframe.contentDocument || iframe.contentWindow.document; 1369 var is_chat = $(iframeDocument).find('.floating-chat').length; 1370 1371 e.preventDefault(); 1372 var id = $(this).val(); 1373 if(id != '' && is_chat == 0){ 1374 $.ajax({ 1375 url: $('#select_template_url').val(), 1376 method: "POST", 1377 data: {'_token':_token , 'id' : id}, 1378 dataType: "json", 1379 success: function(data){ 1380 $('#tempalte_pop').modal('show'); 1381 $('#template_id').val(data.id); 1382 $('#edit_title').val(data.title); 1383 $('#template_for').val(data.template_for); 1384 if(data.template_for == 1){ 1385 $('.imoji_data').hide(); 1386 $('.ckeditor_data').show(); 1387 $('#tem_chat_message').html(data.message); 1388 }else if(data.template_for == 2){ 1389 $('.ckeditor_data').hide(); 1390 $('.imoji_data').show(); 1391 $('#tem_chat_message').val(data.message); 1392 //$('#tem_chat_message').focus(); 1393 } 1394 } 1395 }); 1396 } 1397}); 1398 1399 1400$(document).on('click','.edit_template',function(e){ 1401 e.preventDefault(); 1402 var id = $(this).data('id'); 1403 1404 1405 if(id != ''){ 1406 $.ajax({ 1407 url: $('#select_template_url').val(), 1408 method: "POST", 1409 data: {'_token':_token , 'id' : id}, 1410 dataType: "json", 1411 success: function(data){ 1412 $('#tempalte_pop').modal('show'); 1413 $('#template_id').val(data.id); 1414 $('#edit_title').val(data.title); 1415 $('#template_for').val(data.template_for); 1416 if(data.template_for == 1){ 1417 $('.imoji_data').hide(); 1418 $('.ckeditor_data').show(); 1419 temp_description.setData(data.message); 1420 //$("#submit_template").data('type',1); 1421 $("#submit_template").attr('data-type', 1); 1422 }else if(data.template_for == 2){ 1423 $('.ckeditor_data').hide(); 1424 $('.imoji_data').show(); 1425 $('#tem_chat_message').html(data.message); 1426 $("#submit_template").attr('data-type', 2); 1427 1428 //$('#tem_chat_message').focus(); 1429 } 1430 } 1431 }); 1432 } 1433}); 1434 1435 1436 1437 1438 1439 1440$("#is_reorder_promo").click(function(e){ 1441 if ($(this).is(':checked')) { 1442 $('.promo_amount-div').show(); 1443 }else{ 1444 $('.promo_amount-div').hide(); 1445 } 1446}); 1447 1448//function to prevent menu open on mouse right click 1449function stop_to_open_context_menu() { 1450 $(".get_review_by_count_link").on("contextmenu",function(e){ 1451 return false;
1452 }); 1453} 1454 1455function review_hover_fn() { 1456 $(".get_review_by_count_link").hover(function(){ 1457 var append = $(this).data('ratting_count'); 1458 $(".rating_hover_"+append).addClass("rating_hover_effect"); 1459 $(".rating_middle_hover_"+append).addClass("rating_middle_hover_effect"); 1460 }, function(){ 1461 var append = $(this).data('ratting_count'); 1462 $(".rating_hover_"+append).removeClass("rating_hover_effect"); 1463 $(".rating_middle_hover_"+append).removeClass("rating_middle_hover_effect"); 1464 }); 1465} 1466$('document').ready(function(){ 1467 review_hover_fn(); 1468 stop_to_open_context_menu(); 1469 stop_to_open_context_menu_common(".share_influencer_link_class"); 1470 $(document).on('change','#review_rating',function(){ 1471 $('#ratting_count_id').val(0); 1472 var url = $('#review_rating option:selected').data('url'); 1473 //window.location.href=url; 1474 get_review_by_ajax(url); 1475 }); 1476 1477 $(document).on('click','.get_review_by_count_link',function(){ 1478 var ratting_count = $(this).data('ratting_count'); 1479 $('#ratting_count_id').val(ratting_count); 1480 var url = $(this).data('url'); 1481 var rating = $('#review_rating').val(); 1482 url = url + '&rating=' + rating; 1483 get_review_by_ajax(url); 1484 }); 1485}); 1486 1487function get_review_by_ajax(url) { 1488 $.ajax({ 1489 url : url, 1490 type : "get", 1491 success : function(data){ 1492 $('.ajax-pagination-div').html(data); 1493 var $vtModals = $('.seller-vt-all-modal'); 1494 if ($vtModals.length) { 1495 var $bodyVt = $('body > .seller-vt-all-modal'); 1496 if ($bodyVt.length) { 1497 $vtModals.not('body > .seller-vt-all-modal').remove(); 1498 $bodyVt.slice(1).remove(); 1499 } else { 1500 $vtModals.slice(1).remove(); 1501 $vtModals.first().appendTo(document.body); 1502 } 1503 } 1504 var $list = $('.ajax-pagination-div .all_review_section, .ajax-pagination-div .review_detail_data, .ajax-pagination-div .empty_review_div').first(); 1505 if ($list.length) { 1506 scrollToElement($list); 1507 } else { 1508 scrollToElement('.all_review_section'); 1509 } 1510 review_hover_fn(); 1511 stop_to_open_context_menu(); 1512 $('#review-pagination').removeClass('d-none'); 1513 } 1514 }); 1515} 1516 1517function scrollToElement(element) { 1518 var $el = element && element.jquery ? element : $(element); 1519 if($el.length){ 1520 var top = $el.offset().top - 140; 1521 if (top < 0) { 1522 top = 0; 1523 } 1524 window.scrollTo({ top: top, behavior: 'smooth' }); 1525 } 1526} 1527 1528$(document).on('click', '.ajax-helpful', function (e) { 1529 var orderid = $(this).attr('data-orderid'); 1530 var type = $(this).attr('data-type'); 1531 var feedback = $(this).closest( ".review-feedback" ).find('.cureview-feedback').attr('data-feedback'); 1532 var report = $(this).closest( ".review-feedback" ).find('.cureview-report').attr('data-report'); 1533 // alert(feedback); 1534 // return 1535 var type = $(this).attr('data-type'); 1536 $this = $(this); 1537 if (orderid != '' ) { 1538 1539 $.ajax({ 1540 type: "POST", 1541 url: reviewFeedback, 1542 data: {"_token": _token, 'order_id':orderid,'type':type}, // serializes the form's elements. 1543 success: function (data) 1544 { 1545 // console.log(data); 1546 if (data.status == 200) { 1547 $this.removeClass('ajax-helpful'); 1548 if(type == 'helpful'){ 1549 1550 $this.closest( ".col-md-9" ).find('.help-count-in').html(data.count +' People'); 1551 $this.addClass('cureview-feedback'); 1552 $this.attr('data-feedback', '0'); 1553 $this.html('<i class="fa fa-check" aria-hidden="true"></i> This review was helpful'); 1554 if(report == 0){ 1555 $this.closest( ".review-feedback" ).find('.cureview-report').hide('200'); 1556 } 1557 }else{ 1558 if(feedback == 0){ 1559 $this.closest( ".review-feedback" ).find('.cureview-feedback').hide('200'); 1560 } 1561 $this.attr('data-report', '0'); 1562 $this.addClass('cureview-report');
1563 $this.text('Thank you for Reporting'); 1564 } 1565 } else if(data.status == 401) { 1566 window.location.href = loginRoute; 1567 } 1568 alert_success(data.message); 1569 }, 1570 error: function(data) { 1571 if(data.status == 401) { 1572 window.location.href = loginRoute; 1573 } 1574 } 1575 }); 1576 } 1577}); 1578 1579function isNumberKey(evt, element) { 1580 var charCode = (evt.which) ? evt.which : event.keyCode 1581 if (charCode > 31 && (charCode < 48 || charCode > 57) && !(charCode == 46 || charCode == 8)){ 1582 return false; 1583 }else { 1584 var len = $(element).val().length; 1585 var index = $(element).val().indexOf('.'); 1586 1587 if (index > 0 && charCode == 46) { 1588 return false; 1589 } 1590 if (index >= 0) { 1591 var CharAfterdot = (len + 1) - index; 1592 1593 if (CharAfterdot > 3 ) { 1594 return false; 1595 } 1596 } 1597 } 1598 return true; 1599} 1600 1601$('.withdraw_amount_num').keypress(function(event) { 1602 var $this = $(this); 1603 if ((event.which != 46 || $this.val().indexOf('.') != -1) && 1604 ((event.which < 48 || event.which > 57) && 1605 (event.which != 0 && event.which != 8))) { 1606 event.preventDefault(); 1607 } 1608 1609 var text = $(this).val(); 1610 if ((event.which == 46) && (text.indexOf('.') == -1)) { 1611 setTimeout(function() { 1612 if ($this.val().substring($this.val().indexOf('.')).length > 3) { 1613 $this.val($this.val().substring(0, $this.val().indexOf('.') + 3)); 1614 } 1615 }, 1); 1616 } 1617 1618 if ((text.indexOf('.') != -1) && 1619 (text.substring(text.indexOf('.')).length > 2) && 1620 (event.which != 0 && event.which != 8) && 1621 ($(this)[0].selectionStart >= text.length - 2)) { 1622 event.preventDefault(); 1623 } 1624}); 1625 1626$('.withdraw_amount_num').bind("paste", function(e) { 1627 var text = e.originalEvent.clipboardData.getData('Text'); 1628 if ($.isNumeric(text)) { 1629 if ((text.substring(text.indexOf('.')).length > 3) && (text.indexOf('.') > -1)) { 1630 e.preventDefault(); 1631 $(this).val(text.substring(0, text.indexOf('.') + 3)); 1632 } 1633 }else { 1634 e.preventDefault(); 1635 } 1636}); 1637 1638//function to prevent menu open on mouse right click 1639function stop_to_open_context_menu_common(element='') { 1640 if(element != '') { 1641 $(element).on("contextmenu",function(e){ 1642 return false; 1643 }); 1644 } 1645} 1646 1647$('document').ready(function () { 1648 // getAllElementsAndCheckColor(); 1649 1650 $(document).on('show.bs.modal', '.modal', function (e) { 1651 // getAllElementsAndCheckColor(); 1652 }); 1653}); 1654 1655function getAllElementsAndCheckColor() { 1656 all_elements = document.querySelectorAll('p span,li span'); 1657 all_elements.forEach(element => { 1658 textColor = window.getComputedStyle(element, null).getPropertyValue('color'); 1659 //brightness = lightOrDark(textColor); 1660 brightness = isTooLightYIQ(textColor) ? 'light' : 'dark'; 1661 if (brightness == 'dark' && dark_mode_theme == 1) { 1662 element.classList.add('global-light-text'); 1663 } 1664 if (brightness == 'light' && dark_mode_theme == 0) { 1665 element.classList.add('global-dark-text'); 1666 } 1667 }); 1668} 1669 1670function lightOrDark(color) { 1671 1672 // Check the format of the color, HEX or RGB? 1673 if (color.match(/^rgb/)) { 1674 1675 // If HEX --> store the red, green, blue values in separate variables 1676 color = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/); 1677 1678 r = color[1]; 1679 g = color[2]; 1680 b = color[3]; 1681 } 1682 else { 1683 1684 // If RGB --> Convert it to HEX: http://gist.github.com/983661 1685 color = +("0x" + color.slice(1).replace( 1686 color.length < 5 && /./g, '$&$&' 1687 ) 1688 ); 1689 1690 r = color >> 16; 1691 g = color >> 8 & 255; 1692 b = color & 255; 1693 } 1694 1695 // HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html 1696 hsp = Math.sqrt( 1697 0.299 * (r * r) + 1698 0.587 * (g * g) + 1699 0.114 * (b * b) 1700 ); 1701 1702 // Using the HSP value, determine whether the color is light or dark 1703 if (hsp > 127.5) { 1704 1705 return 'light'; 1706 } 1707 else { 1708 1709 return 'dark'; 1710 } 1711} 1712 1713function isTooLightYIQ(hexcolor) { 1714 if (hexcolor.match(/^rgb/)) { 1715 1716 // If HEX --> store the red, green, blue values in separate variables 1717 hexcolor = hexcolor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/); 1718 var r = parseInt(hexcolor[1]); 1719 var g = parseInt(hexcolor[2]); 1720 var b = parseInt(hexcolor[3]); 1721 } 1722 else { 1723 var r = parseInt(hexcolor.substr(0, 2), 16); 1724 var g = parseInt(hexcolor.substr(2, 2), 16); 1725 var b = parseInt(hexcolor.substr(4, 2), 16); 1726 } 1727 var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000; 1728 if(dark_mode_theme == 1) { 1729 return yiq >= 90; 1730 } else { 1731 return yiq >= 130; 1732 } 1733} 1734 1735 1736/*****************************new homw page ************************888 */ 1737 1738 1739 1740$(".popular-grid-four").slick({ 1741 // dots: true, 1742 speed: 300, 1743 slidesToShow: 1, 1744 infinite:false, 1745 centerPadding: 30, 1746 prevArrow: '<span class="cus-arrow-left"><img src="frontend/images/homepage log out/Vector.png"></span>', 1747 nextArrow: '<span class="cus-arrow-right"><img src="frontend/images/homepage log out/Vector.png"></span>', 1748 responsive: [{ 1749 breakpoint: 1024, 1750 settings: { 1751 slidesToShow: 1, 1752 slidesToScroll: 1, 1753 // centerMode: true, 1754 1755 } 1756}, 1757{ 1758 breakpoint: 767, 1759 settings: { 1760 slidesToShow: 1, 1761 slidesToScroll: 1 1762 } 1763}] 1764}); 1765 1766$(".popular-grid-five").slick({ 1767 // dots: true, 1768 speed: 300, 1769 slidesToShow: 1, 1770 infinite:false, 1771 centerPadding: 30, 1772 prevArrow: '<span class="cus-arrow-left"><img src="frontend/images/homepage log out/Vector.png"></span>', 1773 nextArrow: '<span class="cus-arrow-right"><img src="frontend/images/homepage log out/Vector.png"></span>', 1774 responsive: [{ 1775 breakpoint: 1024, 1776 settings: { 1777 slidesToShow: 1, 1778 slidesToScroll: 1, 1779 // centerMode: true, 1780 1781 } 1782}, 1783{ 1784 breakpoint: 767, 1785 settings: { 1786 slidesToShow: 1, 1787 slidesToScroll: 1 1788 } 1789}] 1790}); 1791 1792$(".popular-grid-six").slick({ 1793 dots: true, 1794 speed: 300, 1795 slidesToShow: 1, 1796 infinite:false, 1797 centerPadding: 30, 1798 arrows:false, 1799 responsive: [{ 1800 breakpoint: 1024, 1801 settings: { 1802 slidesToShow: 1, 1803 slidesToScroll: 1, 1804 // centerMode: true, 1805 1806 } 1807}, 1808{ 1809 breakpoint: 767, 1810 settings: { 1811 slidesToShow: 1, 1812 slidesToScroll: 1 1813 } 1814}] 1815}); 1816 1817$(".popular-grid-seven").slick({ 1818 // dots: true, 1819 speed: 300, 1820 slidesToShow: 5, 1821 infinite:false, 1822 centerPadding: 30, 1823 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 1824 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 1825 responsive: [{ 1826 breakpoint: 1024, 1827 settings: { 1828 slidesToShow: 3, 1829 slidesToScroll: 1, 1830 // centerMode: true, 1831 1832 } 1833}, 1834{ 1835 breakpoint: 767, 1836 settings: { 1837 slidesToShow: 1, 1838 slidesToScroll: 1 1839 } 1840}] 1841}); 1842 1843$(".popular-grid-eight").slick({ 1844 // dots: true, 1845 speed: 300, 1846 slidesToShow: 3, 1847 infinite:false, 1848 centerPadding: 30, 1849 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 1850 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 1851 responsive: [{ 1852 breakpoint: 1024, 1853 settings: { 1854 slidesToShow: 3, 1855 slidesToScroll: 1, 1856 // centerMode: true, 1857 1858 } 1859}, 1860{ 1861 breakpoint: 767, 1862 settings: { 1863 slidesToShow: 1, 1864 slidesToScroll: 1 1865 } 1866}] 1867}); 1868 1869$(".service-slider-for-2-slide").slick({ 1870 dots: false, 1871 speed: 300, 1872 slidesToShow: 2, 1873 infinite:false, 1874 centerPadding: 30, 1875 prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>', 1876 nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>', 1877 responsive: [ 1878 { 1879 breakpoint: 576, 1880 settings: { 1881 slidesToShow: 1, 1882 slidesToScroll: 1 1883 } 1884 }] 1885}); 1886 1887 $(document).ready(function(){ 1888 if($('.popular-grid-one').length > 0){ 1889 $(".popular-grid-one").not('.slick-initialized').slick(); 1890 } 1891 }); 1892 1893 $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { 1894 $('.popular-grid-one').slick('setPosition'); 1895 }); 1896 1897 1898 1899$( ".change_service_order" ).sortable({ 1900 update: function(event, ui) { 1901 $.ajax({ 1902 url: change_service_ordering, 1903 method: "POST", 1904 data: {'_token':_token , 'id' : $(this).sortable("toArray")}, 1905 dataType: "json", 1906 success: function(data){ 1907 if(data.success == true){ 1908 alert_success(data.message); 1909 } 1910 } 1911 }); 1912 } 1913}).disableSelection(); 1914 1915 1916$(document).click(function (event) { 1917 $('.cus-navbar-collapse').collapse('hide'); 1918}); 1919 1920$('.cust-close-nav-btn').click(function () { 1921 $('.cus-navbar-collapse').collapse('hide'); 1922}); 1923 1924$('.purple-close-nav-btn').click(function () { 1925 $('.purple-navbar-collapse').collapse('hide'); 1926}); 1927 1928$(".cus-navbar-collapse").click(function(event){ 1929 event.stopPropagation(); 1930}); 1931 1932 1933$('.cus-navigation-arrow').click(function() { 1934 $(this).toggleClass('cus-navigation-arrow-rotate'); 1935 $(this).parent().next('.cus-mobile-dropdown').toggleClass('cus-mobile-dropdown-content'); 1936}); 1937 1938/***********************************Drag & Drop*************************************/ 1939 1940function DragNSort (config) { 1941 this.$activeItem = null; 1942 this.$container = config.container; 1943 this.$items = this.$container.querySelectorAll('.' + config.itemClass); 1944 this.dragStartClass = config.dragStartClass; 1945 this.dragEnterClass = config.dragEnterClass; 1946 } 1947 1948 DragNSort.prototype.removeClasses = function () { 1949 [].forEach.call(this.$items, function ($item) { 1950 $item.classList.remove(this.dragStartClass, this.dragEnterClass); 1951 }.bind(this)); 1952 }; 1953 1954 DragNSort.prototype.on = function (elements, eventType, handler) { 1955 [].forEach.call(elements, function (element) { 1956 element.addEventListener(eventType, handler.bind(element, this), false); 1957 }.bind(this)); 1958 }; 1959 1960 DragNSort.prototype.onDragStart = function (_this, event) { 1961 _this.$activeItem = this; 1962 1963 this.classList.add(_this.dragStartClass); 1964 event.dataTransfer.effectAllowed = 'move'; 1965 event.dataTransfer.setData('text/html', this.innerHTML); 1966 }; 1967 1968 DragNSort.prototype.onDragEnd = function (_this) { 1969 this.classList.remove(_this.dragStartClass); 1970 }; 1971 1972 DragNSort.prototype.onDragEnter = function (_this) { 1973 this.classList.add(_this.dragEnterClass); 1974 }; 1975 1976 DragNSort.prototype.onDragLeave = function (_this) { 1977 this.classList.remove(_this.dragEnterClass); 1978 }; 1979 1980 DragNSort.prototype.onDragOver = function (_this, event) { 1981 if (event.preventDefault) { 1982 event.preventDefault(); 1983 } 1984 1985 event.dataTransfer.dropEffect = 'move'; 1986 1987 return false;
1988 }; 1989 1990 DragNSort.prototype.onDrop = function (_this, event) { 1991 if (event.stopPropagation) { 1992 event.stopPropagation(); 1993 } 1994 1995 if (_this.$activeItem !== this) { 1996 _this.$activeItem.innerHTML = this.innerHTML; 1997 this.innerHTML = event.dataTransfer.getData('text/html'); 1998 } 1999 2000 _this.removeClasses(); 2001 2002 return false; 2003 }; 2004 2005 DragNSort.prototype.bind = function () { 2006 this.on(this.$items, 'dragstart', this.onDragStart); 2007 this.on(this.$items, 'dragend', this.onDragEnd); 2008 this.on(this.$items, 'dragover', this.onDragOver); 2009 this.on(this.$items, 'dragenter', this.onDragEnter); 2010 this.on(this.$items, 'dragleave', this.onDragLeave); 2011 this.on(this.$items, 'drop', this.onDrop); 2012 }; 2013 2014 DragNSort.prototype.init = function () { 2015 this.bind(); 2016 }; 2017 2018 if($('.drag-list').length > 0){ 2019 var draggable = new DragNSort({ 2020 container: document.querySelector('.drag-list'), 2021 itemClass: 'drag-item', 2022 dragStartClass: 'drag-start', 2023 dragEnterClass: 'drag-enter' 2024 }); 2025 draggable.init(); 2026 $(".drag-list").draggable ( 2027 { disabled: true } 2028 ); 2029 } 2030 2031/***********************************Drag & Drop*************************************/ 2032$( ".drag-list" ).sortable({ 2033 update: function(event, ui) { 2034 // console.log($(this).sortable("toArray")); 2035 $.ajax({ 2036 url: portfolio_change_ordering_url, 2037 method: "POST", 2038 data: {'_token':_token , 'id' : $(this).sortable("toArray")}, 2039 dataType: "json", 2040 success: function(data){ 2041 if(data.success == true){ 2042 alert_success(data.message); 2043 } 2044 } 2045 }); 2046 } 2047}).disableSelection(); 2048 2049// We need to keep track of faded in elements so we can apply fade out later in CSS 2050document.addEventListener('animationstart', function (e) { 2051 if (e.animationName === 'fade-in') { 2052 e.target.classList.add('did-fade-in'); 2053 } 2054}); 2055 2056document.addEventListener('animationend', function (e) { 2057 if (e.animationName === 'fade-out') { 2058 e.target.classList.remove('did-fade-in'); 2059 } 2060}); 2061 2062 2063$('video.fullimage_video').bind('webkitfullscreenchange mozfullscreenchange fullscreenchange', function(e) { 2064 var state = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen; 2065 // var event = state ? 'FullscreenOn' : 'FullscreenOff'; 2066 if(state == false){ 2067 setTimeout(function(){ 2068 $('.product-slider .slick-track').css('transform','unset'); 2069 },500); 2070 } 2071}); 2072 2073 2074/**********************************Accordion js********************************************/ 2075$(document).ready(function(){ 2076 $("#activate-toggle").click(function(){ 2077 $(".activate-btn").toggle(); 2078 $(".cus-close-btn").toggle().toggleClass('d-block cus-close'); 2079 $(".cus-filter-icon").toggleClass('cus-filter-icon-close'); 2080 $(".cus-deactive").toggle(300); 2081 }); 2082 }); 2083 2084 2085$(".course-slide-menu").slick({ 2086 infinite: false, 2087 speed: 300, 2088 slidesToShow: 1, 2089 arrows: true, 2090 variableWidth: true 2091}); 2092 2093/********************************account setting js*******************************************/ 2094 2095$('.cus_account').each(function () { 2096 var $dropdown = $(this); 2097 var $activeItem = $dropdown.find('.dropdown-menu a.dropdown-item.active').first(); 2098 2099 if (!$activeItem.length) { 2100 return; 2101 } 2102 2103 var label = $.trim($activeItem.clone().children('.ps-nav-score').remove().end().text()); 2104 if (label) { 2105 $dropdown.find('.dropdown-toggle').first().text(label); 2106 } 2107}); 2108 2109$(document).on('click', '.show_rejection_reason',function(event){ 2110 $('#rejection_reason_div').html($(this).attr("data-reason")); 2111 $('#rejection-reason-modal').modal('show'); 2112 }); 2113 2114 2115/*************************blog table script******************************/ 2116var screenWidth = $(window).width(); 2117 2118if (screenWidth < 992 && !$('.blog-content.cus-blog-table-style table').parent('div').hasClass('blog-table-responsive')) { 2119 $('.blog-content.cus-blog-table-style table').wrap('<div class="blog-table-responsive"></div>'); 2120} 2121 2122 2123$('.da').on('shown.bs.tab', function (e) { 2124 $('.popular-grid-one').slick('setPosition'); 2125 }); 2126 2127 2128// new homepage sliders & features 2129$(".hire_top_talent_mobile_slider").slick({ 2130 // dots: false, 2131 speed: 300, 2132 slidesToShow: 1, 2133 arrows: true, 2134 infinite:false, 2135 centerPadding: 10, 2136 // prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>', 2137 // nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>', 2138 prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>', 2139 nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>', 2140 responsive: [{ 2141 breakpoint: 1024, 2142 settings: { 2143 slidesToShow: 3, 2144 slidesToScroll: 1, 2145 // centerMode: true, 2146 2147 } 2148 }, 2149 { 2150 breakpoint: 767, 2151 settings: { 2152 slidesToShow: 1, 2153 slidesToScroll: 1 2154 } 2155 }] 2156}); 2157 2158 2159 2160$(".popular-services-slider").slick({ 2161 // dots: false, 2162 speed: 300, 2163 slidesToShow: 5, 2164 arrows: true, 2165 infinite:false, 2166 centerPadding: 10, 2167 // prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>', 2168 // nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>', 2169 prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>', 2170 nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>', 2171 responsive: [{ 2172 breakpoint: 1024, 2173 settings: { 2174 slidesToShow: 3, 2175 slidesToScroll: 1, 2176 // centerMode: true, 2177 2178 } 2179 }, 2180 { 2181 breakpoint: 767, 2182 settings: { 2183 slidesToShow: 1, 2184 slidesToScroll: 1 2185 } 2186 }] 2187}); 2188 2189$(".hire_top_talent").slick({ 2190 // dots: false, 2191 speed: 300, 2192 slidesToShow: 3, 2193 arrows: true, 2194 infinite:false, 2195 centerPadding: 10, 2196 // prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>', 2197 // nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>', 2198 prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>', 2199 nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>', 2200 responsive: [{ 2201 breakpoint: 1024, 2202 settings: { 2203 slidesToShow: 3, 2204 slidesToScroll: 1, 2205 // centerMode: true, 2206 2207 } 2208 }, 2209 { 2210 breakpoint: 767, 2211 settings: { 2212 slidesToShow: 1, 2213 slidesToScroll: 1 2214 } 2215 }] 2216}); 2217 2218$(function() { 2219 $('.hero-section').animatedHeadline({ 2220 animationType: 'rotate-1' 2221 }); 2222}); 2223 2224 2225/***********************************Chat scroll issue fixed********************************************/ 2226function getElementHeight(selector) { 2227 const element = document.querySelector(selector); 2228 if (element) { 2229 return element.clientHeight; 2230 } 2231 return 0; 2232} 2233 2234// Function to handle resize events 2235function handleResize() { 2236 const elementHeight = getElementHeight('.react_header'); 2237 2238 const chatSection = document.querySelector('.wide_chat_open #chat-iframe'); 2239 if (chatSection) { 2240 chatSection.style.height = "calc(100vh - " + (elementHeight + 10) + "px)"; 2241 } 2242} 2243 2244// Initial load 2245document.addEventListener('DOMContentLoaded', function () { 2246 2247 setTimeout(() => { 2248 handleResize(); 2249 2250 2251 window.addEventListener('resize', handleResize); 2252 2253 2254 const header = document.querySelector('.react_header'); 2255 if (header) { 2256 const resizeObserver = new ResizeObserver(handleResize); 2257 resizeObserver.observe(header); 2258 } 2259 }, 100); 2260}); 2261/***********************************Chat scroll issue fixed********************************************/
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.