Commit Graph

554 Commits

Author SHA1 Message Date
Gabor Javorszky ddd34a4460 Fix add to cart variation AJAX mode when cart fragments are dequeued
No issue.

* high traffic site, so wc-cart-fragments are dequeued (#7777)
* variable product with a lot of variations, so stock lookup happens through ajax
* previously the add-to-cart-variation.js used the wc_cart_fragments_params for the ajax URL, which in this case wasn't available, the result was a hung page
* decoupled from cart fragments: added the wc_ajax_url to the params that wc_add_to_cart_variation_params gets, so no more hung pages.
2016-08-11 01:17:43 +01:00
Mike Jolley 747a6d51d1 Update mini cart after back button page load
Fixes #11646
2016-08-10 11:35:44 +01:00
Justin Shreve f77cdd366d Move our "if no other payment methods are found" selection logic, outside of the if/else block for selectedPaymentMethod. We want to make sure it still ruins, even if selectedPaymentMethod matches nothing. 2016-08-02 10:05:18 -07:00
Justin Shreve e58c0f7f45 Switch our selection for finding the checked box. :checked is faster than filtering. 2016-08-02 09:18:54 -07:00
Justin Shreve a534512b8a Still hide checkboxes for single payment options, even if we select a "previously selected" option. 2016-08-02 09:18:54 -07:00
Justin Shreve 1f25dc001b After payment form fragments are updated, make sure to set the previously selected payment method back as the selected/default payment method. 2016-08-02 09:18:54 -07:00
Mike Jolley 0bfaaa62c4 Don't prevent submission when table is not found
Fixes #11579
2016-08-01 16:19:30 +01:00
Mike Jolley 06f7222a57 [2.6] Ensure value is not null in variations to support empty show_option_none setting
Fixes #11508
2016-07-22 12:42:21 +01:00
Mike Jolley 4e83d45491 POT and min 2016-07-19 18:08:45 +01:00
Mike Jolley 317bbc1b8d Merge pull request #11378 from franticpsyx/variations-script-ajax-post-custom-data
[2.6] Post custom data when fetching a variation via ajax
2016-07-19 13:41:27 +02:00
Claudio Sanches 09ac79e7e1 Minify files 2016-07-14 15:48:11 +02:00
Manos Psychogyiopoulos 982e2011a6 post custom data when fetching a variation via ajax
Sometimes it is needed to add "context" to a variations ajax request, in order modify the returned object content. For instance, in cases where the variation is part of a bundled variable product, we may need to modify the price, stock status or the description of the variation according to the "context".
2016-07-07 11:16:46 +03:00
Manos Psychogyiopoulos 90b4d6090e use existing $form var to block/unblock
Existing code could cause other `variations_form` elements on the same page to block/unblock as well.
2016-07-07 11:07:20 +03:00
Claudio Sanches 561cdd35e5 Apply validation for checkbox while update and submit errors #11360 2016-07-05 19:21:51 -03:00
Claudio Sanches 41f3deb665 Apply validation for checkboxes, closes #11360 2016-07-05 18:29:17 -03:00
James Koster d0865bdcc7 Don't perform cart update on search submit
If you have a search widget on the cart page which is wrapped in a div
(the default wrapper for widgets) the ajax cart would try to update on
search submit. This change ensures the search form is excluded on
`submit_click`.
2016-07-04 11:10:02 +01:00
Mike Jolley f3932e1c9e Removes specificity of shop table rules and triggers different events if on checkout 2016-06-27 11:42:28 +01:00
Mike Jolley 6649500b79 Merge branch 'group-notices-11226'
# Conflicts:
#	assets/js/frontend/checkout.min.js
2016-06-24 16:01:03 +01:00
Mike Jolley 117990d95f Merge branch 'pr/11219'
# Conflicts:
#	assets/js/frontend/cart.min.js
2016-06-24 12:39:47 +01:00
Mike Jolley 5a564bac02 Code tidy 2016-06-24 12:39:13 +01:00
Mike Jolley b9eb873229 minify 2016-06-24 12:28:50 +01:00
Mike Jolley 15400fc5f5 Prevent blocking the same element multiple times
Fixes #11242
2016-06-24 12:18:31 +01:00
Mike Jolley a44bc8bec8 min 2016-06-23 13:47:29 +01:00
Mike Jolley f6a42e55ac Remove all notices on fail 2016-06-23 13:47:24 +01:00
Mike Jolley 7513f40a9d Notice group for order review notices 2016-06-23 13:31:34 +01:00
Andrew Benbow 5a20addd8a Update tokenization-form.js 2016-06-22 10:39:03 +01:00
Andrew Benbow 2cdb4361e4 Update tokenization-form.js
When the checkout form is loaded for guests the save card option is shown, this fix hides it until the Create Account checkbox is checked.
2016-06-22 10:37:36 +01:00
Kevin Killingsworth 230ba6e5bf Cart.js: Only prevent submit for specific buttons
Fixes #11148

Only prevent default submit actions for our own
"Update Cart" and "Add Coupon" operations.
2016-06-15 14:13:46 -05:00
Kevin Killingsworth 265a4faa10 Cart.js: Use currentTarget for events.
Some themes add internal HTML to links, so this adjusts
to use currentTarget, which should always be the node on which
the event is subscribed instead of the target which triggered
the event.
2016-06-15 12:02:58 -05:00
Mike Jolley f8f065bad9 Adjusted triggers for cart.js
Closes #11119
2016-06-15 15:51:53 +01:00
Mike Jolley 99f6540fe9 Trigger fragment refresh after updating ajax cart
Fixes #11064
2016-06-08 12:06:40 +01:00
Shiva Poudel 00cc3711ac Minor tweaks and JSHint ignore for update notice script 2016-06-06 23:05:10 +05:45
Mike Jolley 0cb2f2760c block ui when switching variation with ajax 2016-06-06 14:37:52 +01:00
Mike Jolley 81195e876f Add trigger to update cart and totals area
Closes #11020

Example: jQuery(document).trigger('wc_update_cart');
2016-06-01 12:45:14 +01:00
Mike Jolley 6ac4201b01 Make state label revert after change
Fixes #11014
2016-06-01 11:22:55 +01:00
Claudio Sanches e39274e753 HTTPS for everybody 2016-05-26 22:48:49 -03:00
Mike Jolley 2ba9029624 Suit CSS and method tidyup for saved methods form
cc @jameskoster
2016-05-26 12:42:32 +01:00
Mike Jolley 6fe37fff33 Remove the need for token script when logged out 2016-05-26 12:42:32 +01:00
Kevin Killingsworth 543e091c2c Fix for #10940 - wc_cart_hash
wc_cart_hash was used as a key for localStorage
for all WooCommerce sites. If you were to load your
cart for two different sites in the same browser,
the two WooCommerce pages would contend over this key
and loop on trying to set this key in the localStorage

This commit prepends the site's ajax URL onto the wc_cart_hash
key name in localStorage, providing a unique key for each
WooCommerce site. This ends contention over the keys.
2016-05-24 14:36:43 -05:00
Mike Jolley 3893d0ec19 Fixes tokenisation form when > 1 are used at once.
@claudiosmweb can you give this a check over since it was missed?
2016-05-24 17:52:32 +01:00
Brent Shepherd aa2b97cb4c Allow string indexes for shipping packages 2016-05-23 17:34:43 -07:00
Mike Jolley 843e540ed5 Add classes to variation button wrapper 2016-05-19 11:17:34 +01:00
Mike Jolley 986bd5abc7 Fix save and striping 2016-05-12 12:18:35 +01:00
Zach Stepek c96cd1e4d3 Merge branch 'master' into variation-sku-fix
# Conflicts:
#	assets/js/frontend/add-to-cart-variation.min.js
2016-05-11 14:41:39 -05:00
Zach Stepek 50a7b07496 Update specificity of jQuery selector used to reset SKU in product-meta 2016-05-11 12:25:56 -05:00
Mike Jolley 0927cbee8d Tweaks saved card markup and styling to improve CC form. 2016-05-10 15:43:39 +01:00
Claudio Sanches 8c09a52be0 Minify 2016-05-09 17:13:56 -03:00
Kathy Darling 9926afbebf removed_coupon trigger. follow up to #10863. 2016-05-09 10:39:21 -05:00
Mike Jolley 83844fd55b Added applied_coupon trigger to cart page
#10863
2016-05-06 12:05:59 +01:00
Mike Jolley b39ec6b2d6 Fix undo on storefront
Closes #10816
2016-05-03 17:03:46 +01:00
Kevin Killingsworth 2e6d37c1c3 Fix cart ajax submit buttons for Safari.
Fixes #10813

This adds a "clicked" attribute to clicked form buttons,
which augments Safari specifically since it sets activeElement
to the page body when a button is clicked.
2016-05-02 15:26:14 -05:00
Mike Jolley 9eb32a2bd8 Keeps undo message in view
@coderkevin there was another case where the undo message would be gone
after refresh. This loads the content via ajax still preserving the
message.
2016-04-20 11:21:32 +01:00
Mike Jolley 3a59e3cbad Enable update cart button only when qty's change 2016-04-20 11:10:39 +01:00
Kevin Killingsworth f45a4cd57d Reload cart page upon emptying.
The server shows a different page for the cart
when the cart is completely empty. The Cart AJAX
update subverted this and caused issue #10736 as
a result. Not to mention, the page just didn't look
good or functional with no items left in the cart.

This commit forces a reload any time the cart becomes
empty, which shows the empty page generated from
the server.

Fixes #10736
2016-04-19 23:36:48 -05:00
Kevin Killingsworth 069eca0b32 Fix: Ensure cart gets updated
The cart was not getting updated in all cases
when products were removed or shipping was
updated. This ensures those changes update the
cart as well.

Fixes #10734
2016-04-19 13:00:18 -05:00
Mike Jolley 120a62cd90 minify 2016-04-19 13:44:20 +01:00
bucketpress dfccfce705 Grouping of delegated events together
As suggested by @claudiosmweb
2016-04-19 10:00:16 +08:00
bucketpress 6cca7029fc Make product tabs and ratings work when product page is loaded via ajax
.wc-tabs-wrapper, .woocommerce-tabs, #rating set as delegated events, so that on ajax loading a product page, we can call 
$( '.wc-tabs-wrapper, .woocommerce-tabs, #rating' ).trigger('init'); to make them work.
2016-04-18 18:08:42 +08:00
Mike Jolley 65f2c24358 Handle tab-reviews click 2016-04-15 18:25:18 +01:00
Kevin Killingsworth 00c3bf9ce3 Fix: Update message on update cart/shipping
This adds the messages to the ajaz update cart
and shipping operations.
2016-04-08 12:02:45 -05:00
Kevin Killingsworth 3073437ea1 Fix: Make cart ajax selectore more specific
The previous jQuery selector was on div.woocommerce,
which was also selecting other divs on the page.
This is more specific to the cart table on the page.
2016-04-06 12:14:54 -05:00
Mike Jolley 495aac2df1 Remove backslash 2016-03-23 14:28:45 +00:00
gonssal 523ded8358 Fixed password-strength-meter.js' checkPasswordStrength function not being encapsulated into the wrapper 2016-03-21 17:26:33 +01:00
Mike Jolley 699e007659 Wrap export in quotes to preserve commas
Fixes #10541
2016-03-14 12:26:18 +00:00
Mike Bronner de85e5be25 Add tests for localStorage
Some spiders will not error out on sessions storage, but will throw an exception on localstorage. For example, my site has been hit with the following almost on an hourly basis:

```
TypeError: Cannot call method 'setItem' of null
1
File https://maureentaylor.com/app/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js line 1 in [anonymous]
```
2016-03-13 08:42:35 -07:00
Mike Jolley 71f32383f8 Comment and minify 2016-03-12 08:37:02 +00:00
Mike Jolley 7e712ee09a Tweak preserveComments and re-minify 2016-03-12 08:14:37 +00:00
Claudio Sanches ede64f7aa9 Minify and POT 2016-03-11 14:42:34 -03:00
Claudio Sanches 1aa796390a Minify 2016-03-10 00:02:50 -03:00
Mike Jolley 25d6a93c07 Merge pull request #10479 from shivapoudel/gtm-listener
Tweak - GTM listener for single products tabs
2016-03-07 12:04:38 +00:00
Shiva Poudel 25e1d72017 Tweak - GTM listener for single products tabs, Closes #10478 2016-03-04 23:52:39 +05:45
Justin Shreve e94a60d4c3 Update minified JS 2016-03-01 11:49:43 -08:00
Justin Shreve ccb2c90ef3 Update references for the tokenization UI script (hiding/showing inputs) to use the correct file. 2016-03-01 11:49:43 -08:00
Justin Shreve a2aa20bcb5 Rename payment-gateway JS to tokenization-form. 2016-03-01 11:49:42 -08:00
Justin Shreve eff4e297f9 First pass at showing saved payment methods on checkout 2016-03-01 11:49:40 -08:00
Mike Jolley 6f04ff1fa0 Replace size with length
Fixes #10444
2016-03-01 13:08:25 +00:00
Kevin Killingsworth 7fc0932e33 Fix state input box for cart shipping.
Input box wasn't reappearing when switching from a hidden input
to a text input. Changed the JQuery selector to go off the input
type.
2016-02-27 00:50:05 -06:00
Kevin Killingsworth 45b2f7eae3 Remove console.log calls
Some left-over console log calls were removed.
2016-02-22 11:12:05 -06:00
Kevin Killingsworth b7f365982e cart objects: refactor into objects
This update actually takes the code and refactors it into
two object handlers, cart and cart_shipping.

Also, more block comments are added to each function.
2016-02-22 10:15:47 -06:00
Kevin Killingsworth 02b7c1edc4 cart objects: Create cart_shipping object.
This commit creates a cart shipping object which handles all shipping
code in this file.
2016-02-19 14:33:28 -06:00
Kevin Killingsworth 7c82a6b1f1 cart objects: Add block comments
Add block comments to functions in the file.
2016-02-19 14:26:27 -06:00
Kevin Killingsworth e7fa89cdf9 cart objects: split off events
Step one of implementing objects in carts is splitting off
the event handlers to separate named functions.
2016-02-19 14:13:48 -06:00
Justin Shreve 328ad226e8 [2.5] Correct the 'unavailable template' call for variations so the message is displayed correctly, fixing a JS error. 2016-02-17 07:50:38 -08:00
Kevin Killingsworth 7e951afbae Cart AJAX: Add shipping form support.
Add support for making an AJAX call for updating the shipping options.
2016-02-15 10:52:25 -06:00
Kevin Killingsworth b330813306 Cart AJAX: Clean up form handling for cart form.
The coupon and update cart logic was tripping on each other
between the click handling and form submit handling.
This commit combines the event handler, then splits off from there.
2016-02-15 10:27:47 -06:00
Kevin Killingsworth 4b8cf5cd1f Cart ajax: Fix html5 validation checks for quantities.
The form button click event handling was subverting the validation
checks. Moving the event to the actual form submit event fixed it.
2016-02-15 09:53:11 -06:00
Kevin Killingsworth 62c141ff5d Cart AJAX: Fix block UI for remove item.
The JQuery selector was incorrect and needed to go
further up the DOM tree.
2016-02-15 09:41:58 -06:00
Kevin Killingsworth a8e51cfb66 Style: Add spaces between closing braces and parens. 2016-02-15 08:40:46 -06:00
Kevin Killingsworth ef4debace7 Cart AJAX: Block form during update
Apply the JQuery Block UI to the form during an AJAX update.
Also correct a few small style issues.
2016-02-15 08:10:25 -06:00
Kevin Killingsworth e416ba0e2b Cart AJAX: Add cart item remove.
Add cart item remove, using same technique as the cart update.
Make the normal call via AJAX and update the HTML afterwards.
2016-02-14 22:55:47 -06:00
Kevin Killingsworth 9a43b897da Cart AJAX: Add update call.
Since the code is built to use a form submit for all the quanitities
already, I just made this an ajax call instead of a whole page call.
The result is the exactly the same and the .woocommerce div is replaced
with the resulting HTML.
2016-02-14 21:57:14 -06:00
Kevin Killingsworth 1c361bb29f cart.js: Consolidate url calculation.
DRY the url calculation code within a single function to make
the code more readable and succinct.
2016-02-12 15:43:05 -06:00
Kevin Killingsworth 30a272e58a Add remove coupon ajax handling in cart.
Add code to handle ajax call for removing a coupon from the cart.
2016-02-12 15:43:05 -06:00
Kevin Killingsworth 191b58eba0 Block cart form while applying coupon.
Add code to block the cart form during the apply operation
until completion. Refactor block/unblock into local methods
for reuse.
2016-02-12 15:43:05 -06:00
Kevin Killingsworth 4cc7e99ab7 Add notice to add coupon in cart.
Add the notice to when a coupon is added to the cart,
or the error if the coupon was not added for some reason.
2016-02-12 15:43:05 -06:00
Kevin Killingsworth ce90c440cb Cart ajax: apply coupon
Adds an ajax call for applying coupons while on the cart
screen (not checkout, as it already has this.)

This is the first commit to add ajax calls to the cart update
functions. See issue #6734
2016-02-12 15:43:05 -06:00
Kevin Killingsworth 07db701e91 Add minified js file for add-to-cart-variation.js
Adding missing minified version of js file from
commit f1bf89db2b
2016-02-12 09:54:21 -06:00
Mike Jolley 2c86574785 Merge pull request #10328 from KristoferN/single-product-image-alt-tag-content-error
Corrected content in alt-tag
2016-02-11 13:17:46 +00:00
Kristofer Norén f1bf89db2b Corrected content in alt-tag
Previously both the alt-tag and the title-tag of the variations main image used content from variation.image_title. The alt-tag should use variation.image_alt.
2016-02-11 13:40:56 +01:00
Justin Shreve 37ad8ccbed Minified checkout.js 2016-02-10 10:41:23 -08:00