src/Flexy/FrontBundle/Themes/CoWorking/templates/_javascripts.html.twig line 1

  1.         
  2.         {{ encore_entry_script_tags('frontend') }}
  3.          <script src="{{asset('https://kit.fontawesome.com/ef61121192.js')}}" crossorigin="anonymous"></script>
  4.             <script src="{{asset('https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js')}}" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
  5.   
  6.         <!-- jQuery-V1.12.4 -->
  7.         <script src="{{asset('themes/coworking/js/vendor/jquery-1.12.4.min.js')}}"></script>
  8.         <!-- Popper js -->
  9.         <script src="{{asset('themes/coworking/js/vendor/popper.min.js')}}"></script>
  10.         <!-- Bootstrap V4.1.3 Fremwork js -->
  11.         <script src="{{asset('themes/coworking/js/bootstrap.min.js')}}"></script>
  12.         <!-- Ajax Mail js -->
  13.         <script src="{{asset('themes/coworking/js/ajax-mail.js')}}"></script>
  14.         <!-- Meanmenu js -->
  15.         <script src="{{asset('themes/coworking/js/jquery.meanmenu.min.js')}}"></script>
  16.         <!-- Wow.min js -->
  17.         <script src="{{asset('themes/coworking/js/wow.min.js')}}"></script>
  18.         <!-- Slick Carousel js -->
  19.         <script src="{{asset('themes/coworking/js/slick.min.js')}}"></script>
  20.         <!-- Owl Carousel-2 js -->
  21.         <script src="{{asset('themes/coworking/js/owl.carousel.min.js')}}"></script>
  22.         <!-- Magnific popup js -->
  23.         <script src="{{asset('themes/coworking/js/jquery.magnific-popup.min.js')}}"></script>
  24.         <!-- Isotope js -->
  25.         <script src="{{asset('themes/coworking/js/isotope.pkgd.min.js')}}"></script>
  26.         <!-- Imagesloaded js -->
  27.         <script src="{{asset('themes/coworking/js/imagesloaded.pkgd.min.js')}}"></script>
  28.         <!-- Mixitup js -->
  29.         <script src="{{asset('themes/coworking/js/jquery.mixitup.min.js')}}"></script>
  30.         <!-- Countdown -->
  31.         <script src="{{asset('themes/coworking/js/jquery.countdown.min.js')}}"></script>
  32.         <!-- Counterup -->
  33.         <script src="{{asset('themes/coworking/js/jquery.counterup.min.js')}}"></script>
  34.         <!-- Waypoints -->
  35.         <script src="{{asset('themes/coworking/js/waypoints.min.js')}}"></script>
  36.         <!-- Barrating -->
  37.         <script src="{{asset('themes/coworking/js/jquery.barrating.min.js')}}"></script>
  38.         <!-- Jquery-ui -->
  39.         <script src="{{asset('themes/coworking/js/jquery-ui.min.js')}}"></script>
  40.         <!-- Venobox -->
  41.         <script src="{{asset('themes/coworking/js/venobox.min.js')}}"></script>
  42.         <!-- Nice Select js -->
  43.         <script src="{{asset('themes/coworking/js/jquery.nice-select.min.js')}}"></script>
  44.         
  45.         <script src="{{asset('themes/coworking/js/price-range/price_range_script.js')}}" type="text/javascript"></script>
  46.         <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
  47.         <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script>
  48.         <!-- LocalStorage cart -->
  49.         <script src="{{asset('flexy/js/cart-localstorage.js')}}" defer></script>
  50.         <!-- Main/Activator js -->
  51.    
  52.     
  53.     <script async src="{{asset('themes/coworking/laundry/js/bundle.js')}}"></script>
  54.         <script src="{{asset('themes/coworking/js/main.js')}}"></script>
  55.         <script>
  56.             document.addEventListener("turbo:load",function(){
  57.             
  58.             $(document).ready(function(){
  59.                 
  60.                             $(".sidebar-categores-box input[type='checkbox']").change(function(){
  61.                                 $(".form-filter-sidebar").submit();
  62.                             });
  63.                             $.extend($.validator.messages, {
  64.                                 required: "Ce champs est obligatoire",
  65.                             });
  66.                            
  67.                 //$("a").not(".menu-item a,.li-product-menu a").attr("href","#");// Disable Links temporary
  68.                
  69.             });
  70.             });
  71.         </script>
  72. <script>
  73.     var total= 0;
  74.     var difference= 0;
  75.     var amount=0;
  76.     var reduction=0;
  77.     var reductionCoupon=0;
  78.     var cash = 0;
  79.     var shippingFees = 0;
  80.     var shippingTips = 0
  81.     var walletPayment = 0;
  82. document.addEventListener("turbo:load",function(){
  83. $(document).ready(function(){
  84.     
  85.     difference= cartLS.total()+ shippingFees + shippingTips;
  86.     total= cartLS.total();
  87. function renderCart(items) {
  88.       const $cart = document.querySelector(".cart")
  89.       const $total = document.querySelector(".total")
  90.         const $cartCheckout = document.querySelector(".cart-checkout")
  91.         const $totalCheckout = document.querySelector(" .total-checkout")
  92.         const $cartDevis = document.querySelector(".cart-devis")
  93.         const $totalDevis = document.querySelector(" .total-devis")
  94.                                             
  95.     const $miniCart = document.querySelector(".minicart-product-list");
  96.     const $miniCartTotal = document.querySelector(".minicart-total span");
  97.     const $singleProductArea = document.querySelector(".single-product-area");
  98.         
  99.         
  100.             var prefixUrl = "{{settings.get.rootUrl}}";
  101.   $miniCart.innerHTML = items.map((item) => `
  102.                                                         <li data-id="${item.id}">
  103.                                                         <a href="${item.url}" class="minicart-product-image">
  104.                                                             <img src="${item.image}" alt="cart products">
  105.                                                         </a>
  106.                                                         <div class="minicart-product-details">
  107.                                                             <h6><a href="#">${item.name}</a></h6>
  108.                                                             <button data-id="${item.id}" type="button" class="btn   btn-block btn-sm  decrease-quantite-to-cart"
  109.             ><i class="fas fa-minus"></i></button>
  110.                                                             <span class="pl-3 pr-3" > ${item.quantity} x ${item.price} MAD</span>
  111.                                                             
  112.           
  113.         
  114.         
  115.           <button data-id="${item.id}" type="button" class="btn   btn-block btn-sm  increase-quantite-to-cart"
  116.             ><i class="fas fa-plus"></i></button>
  117.         
  118.                                                         </div>
  119.                                                         <button data-id="${item.id}" class="close delete-product-from-cart " title="Supprimer">
  120.                                                             <i class="fa fa-close"></i>
  121.                                                         </button>
  122.                                                     </li>
  123. `).join("");
  124.   $miniCartTotal.innerHTML =  cartLS.total() + " MAD";
  125. /*
  126.   const $cart = document.querySelector(".cart")
  127.   const $total = document.querySelector(".total")
  128.   $cart.innerHTML = items.map((item) => `
  129.       <tr data-id="${item.id}">
  130.         <td>${item.name}</td>
  131.         <td style="width: 60px;"> 
  132.           <button data-id="${item.id}" type="button" class="btn   btn-block btn-sm  decrease-quantite-to-cart"
  133.             ><i class="fas fa-minus"></i></button>
  134.         </td>
  135.         <td style="width: 60px;"> 
  136.           <button data-id="${item.id}" type="button" class="btn   btn-block btn-sm  increase-quantite-to-cart"
  137.             ><i class="fas fa-plus"></i></button>
  138.         </td>
  139.         <td style="white-space:nowrap;" class="text-right">${item.quantity} x ${item.price} MAD</td>
  140.         <td  class="text-right">${item.price * item.quantity}  MAD</td>
  141.         <td class="text-right"><Button data-id="${item.id}" class="btn btn-danger  delete-product-from-cart" ><i class="fas fa-trash-alt"></i></Button></td>
  142.       </tr>`).join("");
  143.   $total.innerHTML =  cartLS.total() + "MAD";
  144. */
  145. if($cart){
  146.  $cart.innerHTML = items.map((item) => `
  147.                                             <tr data-id="${item.id}" >
  148.                                                 <td data-id="${item.id}" class="li-product-remove delete-product-from-cart"><a onclick="return false;" href="#">x</a></td>
  149.                                                 <td class="li-product-thumbnail"><img height="50" src="../../${item.image}" alt="${item.name}"></td>
  150.                                                 <td class="li-product-name">${item.name}</td>
  151.                                                 <td class="li-product-price"><span class="amount">MAD ${item.price}</span></td>
  152.                                                 <td class="quantity">
  153.                                                     <label>Quantité</label>
  154.                                                     <div class="cart-plus-minus">
  155.                                                         <input readonly class="cart-plus-minus-box" value="${item.quantity}" type="text">
  156.                                                         <div data-id="${item.id}" class="dec qtybutton decrease-quantite-to-cart"><i class="fa fa-angle-down"></i></div>
  157.                                                         <div data-id="${item.id}" class="inc qtybutton increase-quantite-to-cart"><i class="fa fa-angle-up"></i></div>
  158.                                                     </div>
  159.                                                 </td>
  160.                                                 <td class="product-subtotal"><span class="amount">MAD ${item.price * item.quantity}</span></td>
  161.                                             </tr>
  162. `).join("");
  163. $total.innerHTML =  cartLS.total() + "MAD";
  164. }
  165. if($cartDevis){
  166.  $cartDevis.innerHTML = items.map((item) => `
  167.   <tr>
  168.                             <td data-id="${item.id}" class="no">${item.id}</td>
  169.                             <td class="text-left">
  170.                             <p>
  171.                                ${item.name}
  172.                             </p>
  173.                             </td>
  174.                             <td class="unit"> ${item.price} MAD</td>
  175.                             <td class="qty">${item.quantity} </td>
  176.                             <td class="total">${item.price * item.quantity} MAD</td>
  177.                         </tr>
  178.                                            
  179. `).join("");
  180. $totalDevis.innerHTML =  cartLS.total() + "MAD";
  181. }
  182. if($cartCheckout){
  183.  $cartCheckout.innerHTML = items.map((item) => `
  184.                                               <tr class="cart_item">
  185.                                               <td class="cart-product-name"> ${item.name}<strong class="product-quantity"> Ã— ${item.quantity}</strong></td>
  186.                                               <td class="cart-product-total"><span class="amount">${item.price * item.quantity} MAD</span></td>  
  187.                                             </tr>
  188. `).join("");
  189. $totalCheckout.innerHTML =  cartLS.total() + "MAD";
  190. }
  191.  $(".hm-minicart-trigger .item-text span").text(cartLS.total() + " MAD");
  192.  $(".total-checkout").text(cartLS.total() + " MAD");
  193. $(".hm-minicart .cart-item-count").text(cartLS.list().length);
  194.   
  195.                                             
  196. }
  197. renderCart(cartLS.list());
  198. cartLS.onChange(renderCart);
  199. $(".add-product-to-cart").click(function(){
  200. var id = "p-"+$(this).attr("data-id");
  201. var idProduct = $(this).attr("data-id");
  202. var name = $(this).attr("data-name");
  203. var price = $(this).attr("data-price");
  204. var image = $(this).attr("data-image");
  205. var productType = $(this).attr("data-product-type");
  206. var url = $(this).attr("data-url");
  207. var attributes = $(this).attr("data-attribute");
  208. var quantity = 1;
  209. if(attributes == "true"){
  210.     var quantityAttribut = $($(this).attr("data-container-id")).find("input[name='quantity-attribut']").val();
  211.     var dimensionAttribut = $($(this).attr("data-container-id")).find("input[name='dimension-attribut']").val();
  212.     var pricePerAttribut = $($(this).attr("data-container-id")).find("select[name='attribute-option-price'] option:selected").val();
  213.     
  214.     
  215.     var attributName = $($(this).attr("data-container-id")).find("select[name='attribute-option-price'] option:selected").text();
  216.     price = (parseFloat(pricePerAttribut) * parseFloat(dimensionAttribut) );
  217.     quantity = parseFloat(quantityAttribut);
  218.     var replacedStrDimensionAttribut = dimensionAttribut.replace(/,/g, "-");
  219.     id = "pv-" + $(this).attr("data-id")+replacedStrDimensionAttribut;
  220.     name = name + "("+dimensionAttribut+" "+  attributName +" )";
  221. }
  222. //To Review
  223.  if(productType == "pack"){
  224.     cartLS.destroy();
  225. cartLS.add({
  226.   id: id,
  227.   idProduct: idProduct,
  228.   image:image,
  229.   name: name, 
  230.   price: price,
  231.   productType:productType,
  232.   quantity:quantity,
  233.   notes:[
  234.     {
  235.     id:id,
  236.     noteId:1,
  237.     note:"",
  238.   }
  239.   ],
  240.   attributes:[],
  241.   client:{
  242.       name:"Adil",
  243.       type:"Client Fidele",
  244.   }
  245. });
  246. cartLS.onChange(renderCart);
  247. console.log(cartLS.list());
  248. if(cartLS.exists(id)){
  249. $("#qty-"+id).text(cartLS.get(id).quantity);
  250. }else{
  251.         $("#qty-"+id).text(0);
  252.     }
  253. });
  254. function updateCartNotes(id,updateMethod="add"){
  255.     var currentLigneCart =  cartLS.get(id);
  256.     
  257.         // this will be executed at the end of the loop
  258.             if(updateMethod=="add"){
  259.                     
  260.                         cartLS.quantity(id, 1);
  261.                         cartLS.onChange(renderCart);
  262.                 }
  263.                 else if(updateMethod=="remove") {
  264.                     
  265.                         cartLS.quantity(id, -1);
  266.                     
  267.                         cartLS.onChange(renderCart);
  268.                 }
  269.                 
  270.                 
  271.              
  272.             
  273.     
  274.     
  275.     
  276.     
  277.     
  278.    
  279.     
  280. }
  281. $("body").on("click",".increase-quantite-to-cart",function(){
  282.     console.log(cartLS.list());
  283.    var id = $(this).attr("data-id");
  284.     updateCartNotes(id,"add");
  285.     cartLS.onChange(renderCart);
  286.     if(cartLS.exists(id)){
  287.         $("#qty-"+id).text(cartLS.get(id).quantity);
  288.     }else{
  289.         $("#qty-"+id).text(0);
  290.     }
  291. });
  292. $("body").on("click",".decrease-quantite-to-cart",function(){
  293.     var id = $(this).attr("data-id");
  294.     
  295.     updateCartNotes(id,"remove");
  296.     cartLS.onChange(renderCart);
  297.     if(cartLS.exists(id)){
  298.         $("#qty-"+id).text(cartLS.get(id).quantity);
  299.     }else{
  300.         $("#qty-"+id).text(0);
  301.     }
  302.    
  303. });
  304. $(".decrease-product-from-cart").click(function(){
  305.     var id = $(this).attr("data-id");
  306.     cartLS.quantity(id, -1);
  307.     cartLS.onChange(renderCart);
  308.    
  309. });
  310. $(".cart, .minicart-product-list,.Shopping-cart-area").on("click",".delete-product-from-cart",function(){
  311.     var id = $(this).attr("data-id");
  312.     cartLS.remove(id);
  313.     cartLS.onChange(renderCart);
  314.     if(cartLS.list().length == 0){
  315.         $(".checkout-area").html($(".cart-is-empty").html());
  316.     }
  317. });
  318. $(".destroy-cart").click(function(){
  319.     cartLS.destroy();
  320. });
  321. $("#cash").keyup(function(){
  322.     var total = cartLS.total();
  323.     var cash = $(this).val();
  324.     var difference = cash-total;
  325.     $(".difference-cash").html(difference+ " MAD");
  326. });
  327. });
  328.  $(document).ready(function() {
  329.    
  330.  
  331.     $(".alert-success").fadeTo(2000, 500).slideUp(500, function() {
  332.      $(".alert-success").hide();
  333.     });
  334.     $(".copy-minicart").html($(".minicart").html())
  335.   
  336. });
  337.     
  338. $(function() {
  339.     /**
  340.     * Smooth scrolling to page anchor on click
  341.     **/
  342.     $("a.smoothlink[href*='#']:not([href='#'])").click(function() {
  343.         if (
  344.             location.hostname == this.hostname
  345.             && this.pathname.replace(/^\//,"") == location.pathname.replace(/^\//,"")
  346.         ) {
  347.             var anchor = $(this.hash);
  348.             anchor = anchor.length ? anchor : $("[name=" + this.hash.slice(1) +"]");
  349.             if ( anchor.length ) {
  350.                 $("html, body").animate( { scrollTop: anchor.offset().top - 200 }, 1000);
  351.             }
  352.         }
  353.     });
  354.     
  355. });
  356. });
  357. </script>
  358.     <script>
  359.       ;(function ($) {
  360.         var targetOffset = 150;
  361.         var $w = $(window).scroll(function(){
  362.             if ( $w.scrollTop() > targetOffset ) {   
  363.                 $('.tt-logo ').css({"width":"100px"});
  364.                 $("#tt-header").css({
  365.                     "position":"fixed",
  366.                     "top":0,
  367.                     "right":0,
  368.                     "width": "100%",
  369.                     "box-shadow":" 0px 2px 6px #00000016"
  370.                     });
  371.             } else {
  372.                 $('.tt-logo ').css({
  373.                     "width":"130px"
  374.                     });
  375.                 $("#tt-header").css({"position":"relative","box-shadow":"none"});
  376.             }
  377.         });
  378.         $('.tt-colorswatch-btn').on('click', function (e) {
  379.           $(this).closest('.tt-colorswatch').toggleClass('tt-open-swatch')
  380.           return false
  381.         })
  382.         $('.js-swatch-color').on('click', function (e) {
  383.           var color = $(this).attr('data-color'),
  384.             imgSrc = $(this).attr('data-img'),
  385.             objImg = $('#js-stepbox__nav .stepbox-dots__line02')
  386.           objImg.css('background-image', 'url(images/' + imgSrc + ')')
  387.           if (color != undefined) {
  388.             $('link[href*="css/style"]').attr(
  389.               'href',
  390.               'css/style-color-0' + color + '.css',
  391.             )
  392.           } else {
  393.             $('link[href*="css/style"]').attr('href', 'css/style.css')
  394.           }
  395.           $('.js-swatch-color').removeClass('active')
  396.           $(this).toggleClass('active')
  397.           e.preventDefault()
  398.         })
  399.       })(jQuery)
  400.     </script>
  401.