### API ### ================ Adresy zákazníka ================ .. code-block:: html
.. code-block:: javascript document.querySelector('form.address').addEventListener('submit', function(event){ event.preventDefault(); // @todo loading api.user.address.add(new FormData(this)) .then(function(response){ // reload page? }) .catch(function(error){ // display error }); }); document.querySelector('form.address').addEventListener('submit', function(event){ event.preventDefault(); // @todo loading api.user.address.update(123456789, new FormData(this)) .then(function(response){ // reload page? }) .catch(function(error){ // display error }); }); document.querySelector('a.delete-address').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.user.address.delete(123456789) .then(function(response){ // reload page? }) .catch(function(error){ // display error }); }); // @todo loading api.user.address.get(123456789) .then(function(response){ // fill form? }) .catch(function(error){ // display error }); ================================ Newsletter (přihlášený zákazník) ================================ ------------------------------- api.user.newsletter.unsubscribe ------------------------------- .. code-block:: javascript document.querySelector('a.customer-unsubscribe').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.user.newsletter.unsubscribe() .then(function(){ // reload page? }) .catch(function(error){ // display error }); }); ========== Objednávka ========== ---------------- api.order.delete ---------------- .. code-block:: javascript document.querySelector('a.delete-order').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.order.delete() .then(function(response){ // reload page? }) .catch(function(error){ // display error }); }); --------------------- api.order.voucher.add --------------------- .. code-block:: javascript document.querySelector('a.add-voucher').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.order.voucher.add('XYZ1234') .then(function(response){ // reload page? }) .catch(function(error){ // display error alert(error.message); }); }); ------------------------ api.order.voucher.delete ------------------------ .. code-block:: javascript document.querySelector('a.delete-voucher').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.order.voucher.delete('XYZ1234') .then(function(response){ // reload page? }) .catch(function(error){ // display error alert(error.message); }); }); --------------------------- api.order.item.changeAmount --------------------------- .. code-block:: javascript document.querySelector('a.remove-change-amount').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.order.item.changeAmount(/* item id*/ 123, 7 /* new amount (cannot be zero) */) .then(function(response){ // reload page? }) .catch(function(error){ // display error // Currently one of stock, unavailable, min_amount, max_amount, amount_multiple // More can be added later - always fallback to error message console.log(error.code); // translated error message console.log(error.message); // item name (useful if rule was triggered by bundle part) console.log(error.item.name); // correct amount for current validation (may not be valid for next validation) // zero for unavailable items console.log(error.recommendedAmount); }); }); --------------------- api.order.item.remove --------------------- .. code-block:: javascript document.querySelector('a.remove-cart-item').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.order.item.delete(123) .then(function(response){ // reload page? }) .catch(function(error){ // display error alert(error.message); }); }); ======== Produkty ======== ----------------------- api.product.compare.add ----------------------- .. code-block:: javascript document.querySelector('a.compare-product').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.product.compare.add(123) .then(function(response){ response.count // počet produktů v porovnání response.url // URL na stránku se srovnání produktů }) .catch(function(error){ // display error alert(error.message); }); }); -------------------------- api.product.compare.remove -------------------------- .. code-block:: javascript document.querySelector('a.compare-product').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.product.compare.remove(123) .then(function(response){ response.count // počet produktů v porovnání response.url // URL na stránku se srovnání produktů }) .catch(function(error){ // display error alert(error.message); }); }); -------------------------- api.product.compare.clear -------------------------- .. code-block:: javascript document.querySelector('a.compare-product').addEventListener('click', function(event){ event.preventDefault(); // @todo loading api.product.compare.remove() .then(function(response){ }) .catch(function(error){ // display error alert(error.message); }); }); -------------------------- api.log.feature.used -------------------------- Logování použití funkce je určené na sledování méně používaných funkcí a po omezenou dobu - například pro A/B test. Název může být libovolný - používá se jen pro debug reportování. .. code-block:: javascript document.querySelector('a.compare-product').addEventListener('click', function(event){ event.preventDefault(); api.log.feature.used('product-added-to-compare'); });