PageSourceSearch

https://jiujitsux.com/wp-content/themes/hello-theme-child-master/c…/js/cart-related-products.js?ver=1791080780

js jiujitsux.com collected 2026-10-04 02:59:10 UTC 9,544 bytes, 203 lines download raw bytes

1jQuery(document).ready(function($){
2
3
4  // ! Adds Heading to Cart
5  if ($(".elementor-menu-cart__main")) {
6    $(".elementor-menu-cart__close-button").after(
7      '<h5 class="crp-title cart_title">Shopping Bag</h5>'
8    );
9  }
10
11
12
13  //! Triggered When Product is Added to Cart
14  $(document.body).on(
15    "added_to_cart",
16    function (e, fragments, cart_hash, this_button) {
17
18      this_button.remove();
19        
20      // AJAX Add Related Product to Mini Cart or Cart Page
21      $.ajax({
22        url: crp_ajax_obj.admin_url,
23        type: "post",
24        data: {
25          action: "add_related_products_to_cart",
26          product_id: this_button.data("product_id"),
27        },
28        success: function (response) {
29          // console.log(JSON.parse(response));
30          add_related_products_to_mini_cart(JSON.parse(response));
31        },
32      });
33    }
34  );
35
36  //! Triggered at page load
37  $.ajax({
38    url: crp_ajax_obj.admin_url,
39    type: "post",
40    data: {
41      action: "add_related_products_to_cart",
42    },
43    success: function (response) {
44    // console.log(
45    //   "file: cart-related-products.js ~ line 34 ~ jQuery ~ response",
46    //   JSON.parse(response)
47    // );
48      add_related_products_to_mini_cart(JSON.parse(response));
49    },
50  });
51
52  // Append Title. If cart is empty, hide it.
53  $(".elementor-menu-cart__main").append(
54    `
55    <li class="elementor-icon-list-item money-back">
56      <span class="elementor-icon-list-icon">
57        <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="m12 0c6.6274166 0 12 5.37258282 12 12 0 6.6274166-5.3725834 12-12 12-6.62741718 0-12-5.3725834-12-12 0-6.62741718 5.37258282-12 12-12zm0 1.2c-5.96467552 0-10.8 4.83532448-10.8 10.8 0 5.9646755 4.83532448 10.8 10.8 10.8 5.9646755 0 10.8-4.8353245 10.8-10.8 0-2.15105328-.6288598-4.155229-1.712764-5.83870754l-9.0144435 9.01444294c-.7029431.7029442-1.8426396.7029454-2.54558379.0000012l-3.95147267-3.951472c-.23431492-.2343155-.23431492-.6142137 0-.8485292.23431435-.2343142.61421357-.2343142.84852792 0l3.95147264 3.9514733c.2343143.2343132.6142125.2343143.848528-.0000012l9.148963-9.1489631c-1.9804069-2.4278821-4.9957636-3.9782444-8.3732276-3.9782444z" fill="#7b6ceb"></path></svg>						
58      </span>
59      <span class="elementor-icon-list-text">30-Day Money-Back Guarantee</span>
60    </li>
61    <div class="crp-wrapper">
62    <h5 class="crp-title" style="${
63      crp_ajax_obj.is_cart_empty ? "display:none" : ""
64    }">Recommended Lessons You May Like!</h5>
65    
66    <div class="tutor-courses-wrap lytbox-mini-cart"></div>
67    </div>
68    `
69  );
70
71  // ! Functions
72  // Append Course Cards HTML
73  function add_related_products_to_mini_cart(response) {
74    if (response.length) {
75      // Display title
76      $(".crp-title").css("display", "block");
77
78      // If Related Products is added remove before add new ones
79      $(".elementor-menu-cart__main .tutor-course-col").remove();
80      $(".tutor-course-col.lytbox-course-card").remove();
81
82      response.forEach((card, i) => {
83        const courseHTML = `
84        <div class="tutor-course-col lytbox-course-card">
85            <div class="tutor-course">
86                <div class="tutor-course-header">
87                    <a href="${card.course_permalink}">${card.course_thumbnail}</a>
88                    <div class="tutor-course-loop-header-meta">
89                        <span class="tutor-course-loop-level">${card.course_level}</span>
90                        <span class="tutor-course-wishlist"><a href="javascript:;" class="tutor-icon-fav-line tutor-course-wishlist-btn ${card.has_wish_list} " data-course-id="${card.course_id}"></a> </span>
91                    </div>
92                </div>
93
94                <div class="tutor-course-body">
95                    <!-- Course Raiting -->
96                    <div class="tutor-loop-rating-wrap ${card.course_rating}">
97                        <div class="tutor-star-rating-group">
98                            ${card.course_stars}
99                            <div class="tutor-rating-gen-input"><input type="hidden" name="tutor_rating_gen_input" value="${card.course_rating_avg}"> </div>
100                        </div>
101                        <span class="tutor-rating-count">${card.course_rating_avg} <i>(${card.course_rating_count})</i> </span>
102                    </div>
103                    
104                    <!-- Course Title -->
105                    <h3>
106                        <a href="${card.course_permalink}">${card.course_title}</a>
107                    </h3>
108                    
109                    <!-- Course Author -->
110                    <div class="tutor-loop-author">
111                        <div class="tutor-single-course-avatar">
112                            <a href="${card.author_url}"> ${card.author_avatar} </a>
113                        </div>
114                        <div class="tutor-single-course-author-name">
115                            <span>by</span>
116                            <a href="${card.author_url}">${card.author}</a>
117                        </div>
118                        <div class="tutor-course-lising-category"> </div>
119                    </div>
120
121                    <div class="tutor-loop-course-footer etlms-carousel-footer" style=" display:block; ">
122                                                                
123                        <div class="tutor-course-loop-price">
124                            <div class="price"> 
125                              <div class=""price-inner>
126                                                <span class="woocommerce-Price-amount amount sale-price ${card.is_on_sale}"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${card.product_sale_price}</bdi></span>
127                                                <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${card.product_price}</bdi></span>
128                                            </div>
129                            <div class="etlms-loop-cart-btn-wrap">
130                                <a href="?add-to-cart=${card.product_id}" data-quantity="1" class="product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="${card.product_id}" data-product_sku="" aria-label="Add “${card.course_title}” to your cart" rel="nofollow">Add to cart</a></div>
131
132                            </div>
133                        </div>
134
135                    </div>
136                </div>
137            </div>
138        </div>
139        `;
140
141        if (i >= 6) {
142          return;
143        }
144        // Append Course HTML on Mini Cart
145        $(".elementor-menu-cart__main .tutor-courses-wrap").append(courseHTML);
146        // Append on Cart Page
147        if (crp_ajax_obj.is_cart) {
148          $(".tutor-courses-wrap.lytbox-cart-page").append(courseHTML);
149        }
150      });
151
152    }
153  }
154
155
156});
157
158
159
160/* 
161
162        const courseHTML = `
163        <div class="col-lg-4 col-sm-6 tutor-course-col">
164            <div class="tutor-course">
165                <div class="tutor-course-header">
166                  <a href="/courses/${element.post_name}/"> ${element.product_image} </a>
167                  <div class="tutor-course-loop-header-meta">
168                          <span class="tutor-course-loop-level">All Levels</span>
169                          <span class="tutor-course-wishlist">
170                            <a href="javascript:;" class="tutor-icon-fav-line tutor-course-wishlist-btn  " data-course-id="${element.ID}"></a>
171                          </span>
172                  </div>
173                </div>
174                <div class="tutor-course-body">
175                      <h3>
176                          <a href="/courses/${element.post_name}/">${element.post_title}</a>
177                      </h3>
178                      <a href="http://local-jiu-jitsu-x.local/profile/jonblank" class="tutor-course-author">Jon Blank</a>
179                      <div class="tutor-loop-rating-wrap no-rating">
180                        <div class="tutor-star-rating-group">
181                          <i class="tutor-icon-star-line" data-rating-value="1"></i><i class="tutor-icon-star-line" data-rating-value="2"></i><i class="tutor-icon-star-line" data-rating-value="3"></i><i class="tutor-icon-star-line" data-rating-value="4"></i><i class="tutor-icon-star-line" data-rating-value="5"></i>
182                          <div class="tutor-rating-gen-input">
182<input type="hidden" name="tutor_rating_gen_input" value="0"> </div>
183                        </div>
184                        <span class="tutor-rating-count"> 0<i>(0)</i> </span>
185                      </div>
186
187                      <div class="tutor-course-pricing clearfix">                                   
188                        <div class="tutor-course-loop-price">
189                            <div class="price"> 
190                              <span class="woocommerce-Price-amount amount"><bdi><span class="woocommerce-Price-currencySymbol">$</span>${element.product_price}.00</bdi></span>
191                              <div class="tutor-loop-cart-btn-wrap">
192                                <a href="?add-to-cart=${element.ID}" data-quantity="1" class="button product_type_simple add_to_cart_button ajax_add_to_cart" data-product_id="${element.ID}" data-product_sku="" aria-label="Add “${element.post_title}” to your cart" rel="nofollow">Add to cart</a>
193                              </div>
194                            </div>
195                        </div>
196                      </div>
197                </div>
198            </div>
199        </div>
200        `;
201
202
203*/

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.