Commit Graph

73 Commits

Author SHA1 Message Date
Mike Jolley 1fc6155167 Fix cart ajax triggers
Closes #18498
2018-01-18 16:31:17 +00:00
claudiulodro 4ef2152881 Hide/set fields depending on whether managing stock 2017-11-15 14:10:06 -08:00
Gabriel Reguly f19023a9e1
Shipping selection for multiple packages
Allow for shipping method selection when using multiple packages.

Previous code selected/posted only the changed method, but multiple packages require all methods.
2017-11-02 14:15:29 -02:00
ragulka d73e7e4f9d Prevent unwanted double cart notices (#16460)
* Don't add shipping zone debug message when doing ajax

Prevent an issue where the "Customer matched zone" debug message is shown twice after first selecting a shipping method and then changing a product's quantity in cart and clicking Update cart.

* Don't pass event object to cart.update_cart

Prevent accidentally preserving cart notices when `wc_update_cart` event is triggered on body. If the event object is passed to update_cart() as the first param, it evaluates to true, forcing existing notices to be preserved.

* Pass custom arguments to cart.update_cart()

Instead of simply not passing the event object, pass any custom arguments, so it's possible to do something like: $( body ).trigger( 'wc_update_cart', true ); to still preserve notices if needed.
2017-08-16 11:34:35 +01:00
Mike Jolley 555f093ac3 Use select2 in cart
Fixes #15985
2017-07-10 13:14:27 +01:00
Claudio Sanches ee87024d82 Merge pull request #15956 from woocommerce/add-cart-readdition-notice
Use ajax when restoring an item in the cart
2017-07-04 16:35:23 -03:00
Caleb Burks 2d52e6e398 Use ajax when restoring an item in the cart 2017-07-04 04:01:59 -05:00
Caleb Burks 342b051731 Only show most recent cart removal notice 2017-07-04 03:33:51 -05:00
Mike Jolley 7f33db5746 Fix and minify 2017-02-21 10:35:11 +00:00
Kathy c30b1c1bb3 Coupon tweaks (#13222)
* pass coupon to applied/removed JS trigger

* add coupon id and coupon object to action hooks in admin metabox
2017-02-17 11:58:15 +00:00
Shiva Poudel 04bfa3c36d Fix - Don't preserve cart notices for quantity update
Closes #12877
2017-01-26 01:05:38 +05:45
Mike Jolley 94c5680d04 Allow update cart to preserve notices and update after coupon 2016-12-15 16:37:58 +00:00
Mike Jolley e1dd355cd9 Cart js class (#12172)
* Add classes and revise JS

* Block correct element in totals

* If no form with class is present, revert to reloading page

* Reload

* Rebase fail
2016-11-11 16:00:32 +00:00
Mike Jolley 11689b244c Remove notices once only
Closes #12182
2016-10-26 17:24:35 +01:00
Kevin Killingsworth 81d186000d Fix cart update field enter on submit for IE
Fix for issue #11811
https://github.com/woothemes/woocommerce/issues/11811

IE handles hitting <ENTER> on an input field differently than
Chrome or Firefox in that it finds the nearest submit button
and fires the event from it instead of the actual text field
from which the user hit <ENTER>.

This commit catches the <ENTER> key event before the submit happens
and forces the cart_submit handling on that event instead.
2016-09-22 16:52:23 -04:00
Mike Jolley 4da955923c [2.6] Handle info notices in cart
Fixes #11808
2016-08-31 18:07:21 +01:00
Mike Jolley 0bfaaa62c4 Don't prevent submission when table is not found
Fixes #11579
2016-08-01 16:19:30 +01: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 15400fc5f5 Prevent blocking the same element multiple times
Fixes #11242
2016-06-24 12:18:31 +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 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