custom/static-plugins/BaumarktTheme/src/Resources/views/storefront/component/wishlist-offcanvas/wishlist-offcanvas.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/utilities/offcanvas.html.twig' %}
  2. {% block utilities_offcanvas %}
  3.     <div class="wishlist-offcanvas-container" data-wishlist-content="true">
  4.         {{ parent() }}
  5.     </div>
  6. {% endblock %}
  7. {% block utilities_offcanvas_close %}
  8. {% endblock %}
  9. {% block utilities_offcanvas_close_text %}{% endblock %}
  10. {% block utilities_offcanvas_content %}
  11.     {% block page_wishlist_container %}
  12.         <div class="wishlist-header">
  13.             {% block wishlist_offcanvas_header %}
  14.                 <h2 id="wishlist-offcanvas-title">{{ "wishlist.offcanvas.headline.new"|trans|sw_sanitize }}</h2>
  15.                 {% sw_icon 'close_m' style { 'pack' : 'globus_icons' } %}
  16.             {% endblock %}
  17.         </div>
  18.         <div class="wishlist-content">
  19.             <div class="d-none csrf-wrapper">
  20.                 <div id="create-wishlist-csrf">
  21.                     {{ sw_csrf('frontend.pixup.wishlist.ajax.create_wishlist') }}
  22.                 </div>
  23.                 <div id="delete-wishlist-csrf">
  24.                     {{ sw_csrf('frontend.pixup.wishlist.ajax.delete_wishlist') }}
  25.                 </div>
  26.                 <div id="edit-wishlist-csrf">
  27.                     {{ sw_csrf('frontend.pixup.wishlist.ajax.edit_wishlist') }}
  28.                 </div>
  29.                 <div id="change-add-product-csrf">
  30.                     {{ sw_csrf('frontend.pixup.wishlist.ajax.add_product') }}
  31.                 </div>
  32.                 <div id="change-remove-product-csrf">
  33.                     {{ sw_csrf('frontend.pixup.wishlist.ajax.remove_product') }}
  34.                 </div>
  35.             </div>
  36.             {% block wishlist_offcanvas_content %}
  37.                 <div class="header-search header-search-col col-12 my-4">
  38.                 </div>
  39.                 <div class="wrapper">
  40.                     <div class="wishlist-edit wishlist-toggle d-none">
  41.                         <div class="form-group w-100">
  42.                             <label for="wishlist_edit_Name" class="col-sm-12 col-form-label px-0">
  43.                                 {{ "wishlist.offcanvas.label.editInput"|trans|sw_sanitize }}
  44.                             </label>
  45.                             <div class="col-sm-12 px-0">
  46.                                 <input class="form-control" value="" maxlength="40" id="wishlist_edit_Name" placeholder="{{  "pixup-wishlist.wishlist-page.editWishlist.form.placeholder.name"|trans }}">
  47.                             </div>
  48.                         </div>
  49.                     </div>
  50.                     <div class="wishlist-new wishlist-toggle d-none">
  51.                         <div class="form-group w-100">
  52.                             <label for="wishlistName" class="col-sm-12 col-form-label px-0">
  53.                                 {{ "wishlist.offcanvas.label.newInput"|trans|sw_sanitize }}
  54.                             </label>
  55.                             <div class="col-sm-12 px-0">
  56.                                 <input class="form-control" value="" maxlength="40" id="wishlistName" placeholder="{{  "pixup-wishlist.wishlist-page.createModal.form.placeholder.name"|trans }}">
  57.                             </div>
  58.                         </div>
  59.                     </div>
  60.                     <div class="wishlist-new-and-add wishlist-toggle d-none">
  61.                         <div class="form-group w-100">
  62.                             <label for="wishlistName" class="col-sm-12 col-form-label px-0">
  63.                                 {{ "wishlist.offcanvas.label.newInput"|trans|sw_sanitize }}
  64.                             </label>
  65.                             <div class="col-sm-12 px-0">
  66.                                 <input class="form-control" value="" maxlength="40" id="wishlistName" placeholder="{{  "pixup-wishlist.wishlist-page.createModal.form.placeholder.name"|trans }}">
  67.                             </div>
  68.                         </div>
  69.                     </div>
  70.                     <div class="wishlist-add wishlist-toggle d-none">
  71.                     </div>
  72.                     <div class="wishlist-add wishlist-toggle d-none">
  73.                         <button class="btn btn-secondary new-wishlist"
  74.                                 data-wishlist-offcanvas="true"
  75.                                 data-wishlist-offcanvas-headline="Neue Einkaufsliste"
  76.                                 data-wishlist-offcanvas-type="newAndAdd"
  77.                                 disabled>
  78.                             NEUE EINKAUFSLISTE ANLEGEN
  79.                         </button>
  80.                         <script type="text/javascript">
  81.                             function pixupWishlist_createWishlistInit(url){
  82.                                 name = document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").value;
  83.                                 if(!document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").value) {
  84.                                     document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").style.border = "1px solid red";
  85.                                     return;
  86.                                 }else
  87.                                     document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").style.border = "1px solid #bcc1c7";
  88.                                 products = JSON.stringify({});
  89.                                 {% if wishlistCanBePublic %}
  90.                                 privateState = document.getElementById("wishlistPrivate").checked;
  91.                                 editable = document.getElementById("wishlistEditable").checked;
  92.                                 {% if wishlistBirthday %}
  93.                                 birthday = document.getElementById('wishlistBirthday').checked;
  94.                                 {% else %}
  95.                                 birthday = false;
  96.                                 {% endif %}
  97.                                 password = document.getElementById("wishlistPassword").value;
  98.                                 password = (password == "")?null:password;
  99.                                 {% else %}
  100.                                 privateState = true;
  101.                                 editable = false;
  102.                                 password = null;
  103.                                 birthday = false;
  104.                                 {% endif %}
  105.                                 wishlistId = null;
  106.                                 name = escape(name);
  107.                                 name = name.replace(/%FC/g, "ü");
  108.                                 name = name.replace(/%DC/g, "Ü");
  109.                                 name = name.replace(/%F6/g, "ö");
  110.                                 name = name.replace(/%D6/g, "Ö");
  111.                                 name = name.replace(/%E4/g, "ä");
  112.                                 name = name.replace(/%C4/g, "Ä");
  113.                                 name = name.replace(/%DF/g, "ß");
  114.                                 csrfToken = document.querySelector('#create-wishlist-csrf input').value
  115.                                 url = url.replace(/--name--/, name).replace(/--products--/,escape(products))
  116.                                     .replace(/--private--/,privateState).replace(/--editable--/,editable).replace(/--birthday--/,birthday)
  117.                                     .replace(/--password--/,escape(password)).replace(/--wishlistId--/,wishlistId);
  118.                                 pixupWishlist_ajaxCore("POST",url, csrfToken, function(xhttp,name,editable,privateState,birthday){
  119.                                     data = JSON.parse(xhttp.responseText);
  120.                                     if(data.data.success === false){
  121.                                         displayMessage(data.error.codes[0].label,false,6000);
  122.                                     }else{
  123.                                         pixupWIshlist_createMenuEntry(data.data.wishlistId,name,privateState,editable,birthday);
  124.                                         pixupWishlist_switchWishlist(data.data.wishlistId)
  125.                                     }
  126.                                 },[name,editable,privateState,birthday])
  127.                             }
  128.                             function pixupWishlist_createAndAddWishlistInit(event, url){
  129.                                 name = document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").value;
  130.                                 if(!document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").value) {
  131.                                     document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").style.border = "1px solid red";
  132.                                     return;
  133.                                 }else
  134.                                     document.querySelector(".wishlist-offcanvas .d-flex #wishlistName").style.border = "1px solid #bcc1c7";
  135.                                 products = JSON.stringify({});
  136.                                 {% if wishlistCanBePublic %}
  137.                                 privateState = document.getElementById("wishlistPrivate").checked;
  138.                                 editable = document.getElementById("wishlistEditable").checked;
  139.                                 {% if wishlistBirthday %}
  140.                                 birthday = document.getElementById('wishlistBirthday').checked;
  141.                                 {% else %}
  142.                                 birthday = false;
  143.                                 {% endif %}
  144.                                 password = document.getElementById("wishlistPassword").value;
  145.                                 password = (password == "")?null:password;
  146.                                 {% else %}
  147.                                 privateState = true;
  148.                                 editable = false;
  149.                                 password = null;
  150.                                 birthday = false;
  151.                                 {% endif %}
  152.                                 wishlistId = null;
  153.                                 name = escape(name);
  154.                                 name = name.replace(/%FC/g, "ü");
  155.                                 name = name.replace(/%DC/g, "Ü");
  156.                                 name = name.replace(/%F6/g, "ö");
  157.                                 name = name.replace(/%D6/g, "Ö");
  158.                                 name = name.replace(/%E4/g, "ä");
  159.                                 name = name.replace(/%C4/g, "Ä");
  160.                                 name = name.replace(/%DF/g, "ß");
  161.                                 csrfToken = document.querySelector('#create-wishlist-csrf input').value
  162.                                 url = url.replace(/--name--/, name).replace(/--products--/,escape(products))
  163.                                     .replace(/--private--/,privateState).replace(/--editable--/,editable).replace(/--birthday--/,birthday)
  164.                                     .replace(/--password--/,escape(password)).replace(/--wishlistId--/,wishlistId);
  165.                                 pixupWishlist_ajaxCore("POST",url, csrfToken, function(xhttp,name,editable,privateState,birthday){
  166.                                     data = JSON.parse(xhttp.responseText);
  167.                                     if(data.data.success === false){
  168.                                         displayMessage(data.error.codes[0].label,false,6000);
  169.                                     }else{
  170.                                         // todo: check on wl view
  171.                                         // pixupWIshlist_createMenuEntry(data.data.wishlistId,name,privateState,editable,birthday);
  172.                                         // pixupWishlist_switchWishlist(data.data.wishlistId)
  173.                                         //custom add after creating new wl before
  174.                                         if(document.querySelector('body.is-ctl-pixupwishlist') !== null) {
  175.                                             pixupWIshlist_createMenuEntry(data.data.wishlistId, name)
  176.                                             setTimeout(function(){
  177.                                                 let badgeCountElem = document.getElementById("menu"+data.data.wishlistId+"-count");
  178.                                                 badgeCountElem.innerHTML = '1';
  179.                                             },0);
  180.                                         }
  181.                                         let productId = event.target.dataset.productId
  182.                                         let newWishlistId = data.data.wishlistId
  183.                                         let elem = document.querySelector('[data-product-id="' + productId + '"]')
  184.                                         if(document.querySelector('.product-id') !== null) {
  185.                                             productId = document.querySelector('.product-id').innerHTML.trim()
  186.                                         } else {
  187.                                             //todo: fdsg
  188.                                             productId = window.currentProductId
  189.                                         }
  190.                                         pixupWishlist_changeProductWishlistStateInit(
  191.                                             elem,
  192.                                             'custom',
  193.                                             productId,
  194.                                             newWishlistId
  195.                                         )
  196.                                         if(this._acidRemove) {
  197.                                             this.el.parentNode.querySelector('.cart-item-remove-button').click();
  198.                                         }
  199.                                     }
  200.                                 },[name,editable,privateState,birthday])
  201.                             }
  202.                         </script>
  203.                     </div>
  204.                 </div>
  205.             {% endblock %}
  206.         </div>
  207.         <div class="wishlist-footer">
  208.             {% block wishlist_offcanvas_footer %}
  209.                 <div class="wishlist-edit wishlist-toggle w-100 d-none">
  210.                     <button class="btn btn-secondary abort">{{ "general.storeLocatorOffcanvas.cancelButton"|trans|sw_sanitize }}</button>
  211.                     <button type="submit" class="btn btn-primary apply"
  212.                             onclick="pixupWishlist_editeWishlistInit(
  213.                                     '{{ url("frontend.pixup.wishlist.ajax.edit_wishlist", {
  214.                                 'name': "--name--",
  215.                                 'wishListId':'--wishlistId--',
  216.                                 'private':'--private--',
  217.                                 'editable':'--editable--',
  218.                                 'birthday':'--birthday--',
  219.                                 'password':'--password--'
  220.                             })  }}',
  221.                                     )">
  222.                         {{ "general.storeLocatorOffcanvas.confirmButton"|trans|sw_sanitize }}
  223.                     </button>
  224.                 </div>
  225.                 <div class="wishlist-new wishlist-toggle w-100 d-none">
  226.                     <button class="btn btn-secondary abort">{{ "general.storeLocatorOffcanvas.cancelButton"|trans|sw_sanitize }}</button>
  227.                     <button type="submit" class="btn btn-primary apply"
  228.                             onclick="pixupWishlist_createWishlistInit(
  229.                                     '{{ url("frontend.pixup.wishlist.ajax.create_wishlist", {
  230.                                 'name': "--name--",
  231.                                 'products':'--products--',
  232.                                 'private':'--private--',
  233.                                 'editable':'--editable--',
  234.                                 'birthday':'--birthday--',
  235.                                 'password':'--password--',
  236.                                 'wishListId':'--wishlistId--'
  237.                             })  }}',
  238.                                     )">
  239.                         {{ "general.storeLocatorOffcanvas.confirmButton"|trans|sw_sanitize }}
  240.                     </button>
  241.                 </div>
  242.                 <div class="wishlist-new-and-add wishlist-toggle w-100 d-none">
  243.                     <button class="btn btn-secondary abort">{{ "general.storeLocatorOffcanvas.cancelButton"|trans|sw_sanitize }}</button>
  244.                     <button type="submit" class="btn btn-primary apply"
  245.                             onclick="pixupWishlist_createAndAddWishlistInit(
  246.                                     event, '{{ url("frontend.pixup.wishlist.ajax.create_wishlist", {
  247.                                 'name': "--name--",
  248.                                 'products':'--products--',
  249.                                 'private':'--private--',
  250.                                 'editable':'--editable--',
  251.                                 'birthday':'--birthday--',
  252.                                 'password':'--password--',
  253.                                 'wishListId':'--wishlistId--'
  254.                             })  }}',
  255.                                     )">
  256.                         {{ "general.storeLocatorOffcanvas.confirmButton"|trans|sw_sanitize }}
  257.                     </button>
  258.                 </div>
  259.                 <div class="wishlist-add wishlist-toggle w-100 d-none">
  260.                     <button class="btn btn-secondary abort">{{ "general.storeLocatorOffcanvas.cancelButton"|trans|sw_sanitize }}</button>
  261.                     <button type="submit" class="btn btn-primary apply" disabled
  262. {#                            onclick="pixupWishlist_changeProductWishlistStateInit(#}
  263. {#                                    this,#}
  264. {#                                    this.dataset.remove,#}
  265. {#                                    '{{productId}}'#}
  266. {#                                    )"#}
  267.                     >
  268.                         {{ "general.storeLocatorOffcanvas.confirmButton"|trans|sw_sanitize }}
  269.                     </button>
  270.                 </div>
  271.             {% endblock %}
  272.         </div>
  273.     {% endblock %}
  274. {% endblock %}