Commit Graph

53 Commits

Author SHA1 Message Date
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 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
Brent Shepherd aa2b97cb4c Allow string indexes for shipping packages 2016-05-23 17:34:43 -07: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
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
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
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
Mike Jolley 890bcff302 Fix cart ajax endpoint
@claudiosmweb @BFTrick
2015-07-27 20:02:40 +01:00
Mike Jolley 65f19d5ca7 Ajax variation handling
If there are more variations than the threshold allows (set to 20
currently) this loads the matching variation via ajax instead of inline
in the HTML. #8477
2015-07-09 15:56:20 +01:00
Shiva Poudel 8aff509ed7 Tweaks JSHint for cart and cart fragments 2015-06-10 23:11:21 +05:45
Claudio Sanches 1dadbb2842 Fixed coding standards for #7879 2015-04-13 12:37:22 -03:00
Danny van Kooten 88f2e690bb Changing all inefficient selectors of $('body') to $(document.body), which is about 80% faster (and even more on mobile, see https://jsperf.com/jquery-body-vs-document-body-selector/2 ). 2015-04-03 14:21:47 +02:00
Mike Jolley 21c5513526 Added endpoint for faster ajax requests 2015-03-20 12:28:26 +00:00
claudiosmweb c683720b02 Removed old ajax_loader_url param from all js files 2014-11-14 09:52:44 -02:00
splashingpixels ce3605ad36 cart jshinted and standard coding fixes 2014-03-17 20:08:41 -07:00
toddlahman 13c24b410e Removed (document).ready from jQuery scripts
jQuery(document).ready(function($) { is equivalent to calling
jQuery(function($) {.

http://api.jquery.com/ready/
2014-01-30 18:44:17 -08:00
splashingpixels 5b42f5f596 revised/ammend pull request 4513 2014-01-15 23:06:23 -08:00
splashingpixels c6018f58af fix shipping cost total not updating when using select dropdown method Fixes #4515 2014-01-15 19:33:21 -08:00
Mike Jolley 329a96b452 Look for name of select Fixes #4365 2013-12-23 15:42:46 +00:00
Jared Cobb 9fc47db17f Make frontend scripts safe to run on non WC pages (check for objects)
For a more detailed explaination of why this is helpful, see
Issue #4202. In short, from a dev ops perspective, if we want to build /
concatonate our front end scripts into a single application.js file, we
need to ensure scripts first check for dependent global object helpers
before trying to use them. For example, there are several objects
(created via PHP using `wp_localize_script`) which generate objects such
as `wc_single_product_params`. These objects will not exist on most
other pages, however these scripts attempt to execute code that
references these objects.
2013-12-04 12:15:24 -07:00
Mike Jolley e01df544ec Reworked total templates to support coupon lines, and started support for multiple shipping methods per order.
@todo store shipping methods in the order
@todo test with PP shipping real world

cc @coe
2013-08-14 21:00:34 +01:00
Mike Jolley 4f0320fdb2 Refactor frontend scripts #3165 2013-06-11 13:31:41 +01:00
Mike Jolley 53aee3c446 Fix for commit 5507e8453f 2012-12-28 17:33:05 +00:00
Mike Jolley 5507e8453f Remove depricated jQuery Closes #2039 2012-12-28 13:02:12 +00:00