Commit Graph

779 Commits

Author SHA1 Message Date
Mike Jolley f833aadf39 Merge pull request #14975 from tractus/master
Added namespace to jQuery events that are removed in VariationForm
2017-05-23 16:27:49 +01:00
Mike Jolley b140f61510 Merge branch 'master' into fix/14578
# Conflicts:
#	assets/js/frontend/single-product.min.js
2017-05-23 15:09:20 +01:00
Claudio Sanches d6e43ddbe1 Merge pull request #15078 from woocommerce/fix/restore-empty-checkout-data-only
When re-filling fields on checkout, only change the empty ones.
2017-05-16 12:39:28 -03:00
Mike Jolley 438e1aeeea When re-filling fields on checkout, only change the empty ones. 2017-05-15 17:59:22 +01:00
Vinod Dalvi 3249f23576 Resolved the issue - Allow linking to single product additional_information tab from url hash #15016 2017-05-11 19:51:31 +05:30
Trey Richards 9774cfa15f Added namespace to jQuery events that are removed in creation of a VariationForm. 2017-05-09 16:50:34 -07:00
Mike Jolley 5f63f81b72 Merge branch 'add/inline-terms'
# Conflicts:
#	assets/js/frontend/single-product.min.js
2017-04-27 12:37:46 +01:00
Mike Jolley 7c037728f6 Merge branch 'fix/14448'
# Conflicts:
#	assets/js/frontend/single-product.min.js
2017-04-27 12:00:05 +01:00
Mike Jolley d546613c25 Merge branch 'pr/14394'
# Conflicts:
#	assets/js/frontend/single-product.min.js
2017-04-27 11:53:08 +01:00
Mike Jolley a4f7bb3d6e Remove extra comma 2017-04-27 11:52:10 +01:00
Mike Jolley 076d2c9336 Minify 2017-04-26 11:43:12 +01:00
Mike Jolley 1e6d52a3bd Add a data-caption for captions and keep title around.
Fixes #14578
2017-04-25 14:31:24 +01:00
Mike Jolley 3b6e7d9d14 Address field sorting was not working due to wrong data name
Fixes #14533
2017-04-19 16:33:32 +01:00
Mike Jolley 1f66a29457 Use smoothHeight
Closes #14448
2017-04-17 16:23:04 +01:00
AJ Clarke b8e5fc22a2 Localized Photoswipe script 2017-04-14 09:34:05 -07:00
Manos Psychogyiopoulos 92d1490151 Fix typo in single-product.js 2017-04-12 15:06:16 +03:00
Claudio Sanches e2065cf696 Merge pull request #14248 from woocommerce/fix/14245
Trigger wc_fragments_loaded after add to cart fragment refresh
2017-04-11 16:48:14 -03:00
Mike Jolley 4d32308b9f Trigger wc_fragments_loaded after add to cart fragment refresh
Fixes #14245
2017-04-11 10:51:59 +01:00
Mike Jolley 7274c14591 Use correct thumbnail for variation images in gallery
Fixes #14213
2017-04-10 23:02:53 +01:00
Mike Jolley d607aea651 Fade gallery in if no images are set.
Fixes #13910
2017-04-04 23:43:14 +01:00
Mike Jolley 005bedb7e8 Workaround for loading failed message 2017-04-04 11:13:43 +01:00
Mike Jolley 6ccac2f19f Switch to $target
https://github.com/woocommerce/woocommerce/pull/13859#discussion_r109178
476
2017-03-31 16:27:51 +01:00
Mike Jolley 101c11a7ec Use start event to fade 2017-03-31 15:26:46 +01:00
Mike Jolley 62bd505bda CSS transition 2017-03-31 15:16:10 +01:00
Mike Jolley 0c2ab2dabb Fade gallery in after delay to avoid flash
Closes #13847
2017-03-31 13:53:37 +01:00
James Koster 1cd85b1b9b Use the full size image dimensions to decide whether to init zoom. #13830 2017-03-30 19:52:29 +01:00
Mike Jolley 673aa5f5bb Change zoom mode on touch devices
Fixes #13775
2017-03-27 17:10:21 +01:00
Claudio Sanches 40a86c28eb Merge pull request #13707 from woocommerce/fix-13699
Abort gallery script when there are no images
2017-03-22 10:56:49 -03:00
Mike Jolley 47f363a463 data-src on all gallery images
#13710
2017-03-22 13:26:00 +00:00
Mike Jolley 9ff603681b Abort gallery script when there are no images
Fixes #13699
2017-03-22 11:08:37 +00:00
Claudio Sanches d6d6096cba Merge pull request #13630 from woocommerce/fix-13628
Match language array in select2
2017-03-17 16:20:44 -03:00
Mike Jolley c1ce490956 Country select 2017-03-17 11:25:53 +00:00
Mike Jolley f29d4619d3 Change href of link with variation image.
Fixes #13620
2017-03-16 11:56:00 +00:00
Mike Jolley d55653a408 Merge branch 'master' into fix-13498
# Conflicts:
#	includes/class-wc-order.php
#	tests/unit-tests/crud/data.php
2017-03-15 15:52:40 +00:00
Mike Jolley d710ada38d Fix reset with more than one on page 2017-03-14 16:38:04 +00:00
Mike Jolley a6436eb915 prototype pattern 2017-03-14 15:48:18 +00:00
Manos Psychogyiopoulos 161b6a132b use data() correctly 2017-03-14 15:42:15 +02:00
Manos Psychogyiopoulos 290e000bcb better use of gallery var 2017-03-14 15:04:08 +02:00
Manos Psychogyiopoulos 4cc936c383 move event handlers to init 2017-03-14 13:52:48 +02:00
Manos Psychogyiopoulos fb6c1b09fc use class prop `flexslider_enabled` in `init_zoom` 2017-03-14 13:44:45 +02:00
Manos Psychogyiopoulos 4e48a2ddfa revert change from attr. to data. 2017-03-14 13:33:05 +02:00
Manos Psychogyiopoulos 9181f1c151 allow init with args 2017-03-14 12:55:25 +02:00
Manos Psychogyiopoulos 1d5cd9409e allow multiple galleries on page and init of dynamically loaded galleries 2017-03-13 18:58:39 +02:00
Claudiu Lodromanean e1891b85a2 Remove all previous messages on submit error 2017-03-07 12:15:07 -08:00
Claudiu Lodromanean cd37d8aa40 Add wrapper class to messages 2017-03-06 14:45:45 -08:00
Claudiu Lodromanean 4ad3709859 Make coupon errors properly refresh the checkout page 2017-03-06 11:52:38 -08:00
Mike Jolley 052417e0d0 Merge pull request #13416 from woocommerce/fix-13402
Reset gallery position on variation change
2017-03-06 11:58:16 +00:00
Claudiu Lodromanean 3c4b06f51c Remove extra space 2017-03-03 13:30:16 -08:00
Claudiu Lodromanean 29bdcd7985 Better slide-reset checking 2017-03-03 13:28:38 -08:00
Mike Jolley 31b10d861e Add wrappers around sortable checkout fields
Fixes #13432
Fixes #13434
2017-03-02 15:08:02 +00:00
JeroenSormani 8abd814212 Fix #13432 - Order notes field not showing by default (hidden under 'ship to different address') 2017-03-02 15:23:03 +01:00
Claudiu Lodromanean 9348a9c7f9 Dont need to update after every variation change 2017-03-01 13:13:05 -08:00
Claudiu Lodromanean 0715146e89 Reset gallery position on variation change 2017-03-01 11:42:41 -08:00
Claudio Sanches 9a666d23e1 Merge pull request #13310 from woocommerce/checkout-improvements
Checkout improvements and fixes
2017-02-23 13:15:06 -03:00
Mike Jolley b9a01da618 Check size of all images to enable zoom
Closes #13290
2017-02-23 12:29:09 +00:00
Mike Jolley eb47dc7036 Improve validation event 2017-02-23 11:51:27 +00:00
Mike Jolley 114026b0be Maintain focus after selection
Fixes #13300
2017-02-23 10:51:41 +00:00
Mike Jolley d1eab19725 Avoid disabling buttons when password length is 0 2017-02-22 11:03:43 +00:00
Mike Jolley 7f33db5746 Fix and minify 2017-02-21 10:35:11 +00:00
Maximus80 ea97b60d49 fix product gallery lightbox trigger 2017-02-21 09:11:39 +01: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
Mike Jolley 93e21a09c7 Convert alert to regular notice.
Fixes #13216
2017-02-16 16:27:37 +00:00
Mike Jolley a06f83ac50 Fix variation image change 2017-02-16 11:00:09 +00:00
Mike Jolley d8a00b97a1 Minify 2017-02-16 10:44:43 +00:00
Rasmus a77bd11dad Remove deprecated jQuery bind calls
As of jQuery 3.0, .bind() has been deprecated. It was superseded by the .on() method for attaching event handlers to a document since jQuery 1.7, so its use was already discouraged.

Since jQuery 1.7 or higher is included in the required WordPress version this seems like a safe and sane change.
2017-02-15 10:43:16 +01:00
Mike Jolley 926384f20c Make script load features conditonally 2017-01-27 15:35:29 +00:00
Mike Jolley bf24ba395d Use get_theme_support for gallery features 2017-01-27 14:13:54 +00:00
Mike Jolley f457c25055 Remove unused is_touch_device 2017-01-26 15:19:37 +00:00
Mike Jolley 41f3572b23 Merge branch 'fix-12922' 2017-01-26 14:57:51 +00:00
Claudiu Lodromanean ecb542986a Basic non-height-changing slideshow 2017-01-23 15:35:30 -08:00
James Koster f0c35ed45e Display (toggle-able) terms inline on the checkout rather than opening a new window 2017-01-17 15:18:23 +00:00
Mike Jolley 57ef639f8d Minify 2017-01-17 14:35:47 +00:00
Mike Jolley b2f537fe95 Merge pull request #12820 from woocommerce/fix-12817-mb
Update available attribute options
2017-01-17 14:33:43 +00:00
James Koster 88a378ea79 Don't allow users to open the lightbox for placeholder images 2017-01-16 14:17:03 +00:00
Caleb Burks b5991c417c Update available attribute options
Ensure that available attributes can be updated after each attribute selection.

Fixes https://github.com/woocommerce/woocommerce/issues/12817
2017-01-15 03:17:03 -05:00
Mike Jolley b150e4c790 Fix image display when only placeholders are visible. 2017-01-06 11:51:09 +00:00
Mike Jolley 32a3e76851 Min 2017-01-06 11:37:06 +00:00
Mike Jolley c6ae59c991 Move ajax logic into check_variations so it's triggered on page load
Fixes #12768
2017-01-06 11:36:04 +00:00
Mike Jolley f6949346f3 Min 2017-01-04 12:21:12 +00:00
Mike Jolley b791c627dd Allow options to be deselected in IE11 and fix add to cart check.
Fixes #12736 and #12721. Also seems to close #12706
2017-01-04 12:20:52 +00:00
Mike Jolley b15465bbdd Fix fade in 2016-12-23 14:08:39 +00:00
Mike Jolley 04c28403c8 Minify 2016-12-23 14:08:39 +00:00
Mike Jolley ade5574d98 Add slashes to string based selectors to fix attributes containing quotes 2016-12-22 22:54:06 +00:00
Mike Jolley 9e4aecaefb Merge branch 'pr/12651' 2016-12-20 16:17:02 +00:00
Mike Jolley 3e3973d08b Support old templates too 2016-12-20 16:16:55 +00:00
Mike Jolley 74076880ea Minify 2016-12-20 13:11:37 +00:00
Mike Jolley 0300464613 Use accounting.js in price slider widget 2016-12-20 13:11:09 +00:00
ksere 21f6f791bd fix checkout login form not toggling 2016-12-20 02:38:30 +02:00
Claudio Sanches ff35f07a4d Minify 2016-12-15 14:49:33 -02:00
Mike Jolley 94c5680d04 Allow update cart to preserve notices and update after coupon 2016-12-15 16:37:58 +00:00
Mike Jolley c92d9d4a49 Make sure src is not null 2016-12-15 13:04:50 +00:00
Mike Jolley ad4704f02d Variations script refactor from #12585
Applying this to master to match 2.6 PR
2016-12-15 12:58:41 +00:00
Mike Jolley df967f912a More spaces and min 2016-12-14 19:32:01 +00:00
Mike Jolley 0531bd72ea Spaces 2016-12-14 19:31:26 +00:00
Mike Jolley 852db2bfb6 spacing 2016-12-13 18:49:56 +00:00
Mike Jolley d32797b733 Handle BW compat priority. 2016-12-13 18:48:39 +00:00
Mike Jolley 74f3972e26 Add sort parameter to checkout fields to aid with sorting per locale. 2016-12-12 15:23:28 +00:00
Mike Jolley 3f1368153a Merge pull request #12521 from woocommerce/plugins-url-assets-12477
Register scripts using plugins_url
2016-12-06 16:04:30 +00:00
Mike Jolley 31fbee2b07 ran grunt 2016-12-06 11:53:27 +00:00
Mike Jolley 0c2d070d72 Merge pull request #12475 from leogermani/patch-1
get_payment_method relies on a more generic DOM element
2016-12-06 11:18:58 +00:00
Mike Jolley 7b739b9367 Register scripts using plugins_url 2016-12-05 18:34:30 +00:00
Manos Psychogyiopoulos 22d02a0925 fix variation attributes rendering
Renders options html outside the DOM and uses .html() to update DOM state in one go.

ref: https://github.com/woocommerce/woocommerce/issues/12485
2016-11-29 10:21:00 +02:00
leogermani 83cc3a9365 get_payment_method relies on a more generic DOM element
When checking the payment method, I think it would be better to rely on a more generic DOM element to make sure the find() method will find what it is looking for, in case theme authors have changed the position of things inside the form.

Ive stumble into this because I wanted to display the order review in the top of the page, before the billing form, but I wanted to keep the payment form at the end of the page, so, after changing the order_review DIV position, I did:

```
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20);
add_action( 'woocommerce_checkout_after_customer_details', 'woocommerce_checkout_payment');
```

After I did this, the get_payment_method stopped working.

I might be wrong, but I think this proposal gives more flexibility to theme authors, while not breaking anything. This tweak Ive done dont look really ugly to me, I think I should be able to move things inside the checkout form around.

Thanks for looking into it

cheers
2016-11-27 16:51:22 -02:00
Mike Jolley ca04ee8e9f Replace 2016-11-22 15:09:37 +00:00
Claudio Sanches b279727bca [2.6] Fixed select reseting everytime that is clicked on Firefox 50, closes #12383 2016-11-17 15:53:27 -02:00
Claudio Sanches 2ff4bc9591 Fixed not declared var and coding standards #12385 2016-11-17 15:08:19 -02:00
James Kemp cf6c42fb01 Move "added_to_cart" actions to trigger
Doing this means that plugin/theme developers can trigger the mini-cart and buttons to update without having to rewrite and maintain their own version of this function.
2016-11-17 16:05:46 +00:00
Mike Jolley 76b32c9aa5 WIP - Product CRUD (#12065)
* Created function to get the catalog visibility options

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Sanitize ids later

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Bump template version

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* Made abstract function useful

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* Allow WP_Query to preload post data, and meta in wc_get_products()

Allow WP_Query to bulk query for post data and meta if more than
just IDs are requested from wc_get_products(). Reduces query count
significantly.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* First methods for WP_Product crud

* Product set methods

* Fixed several erros while setting data

* Hardcode the get_type per product class

* Initial look through getters and setters and abstract data

* Missing var

* Fixed coding standards and improved the docblocks

* Get cached terms from wc_get_related_terms()

* Fixed wrong variable in wc_get_related_terms

* Use count() instead of sizeof()

* Add related product functions and deprecate those in class.

* No need to exclude ID

* Sanitize ids later

* Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it.

* Remove unneeded comments

* wc_get_product_term_ids instead of related wording and use in other places.

get_the_terms is used here and also handles caching, something
wp_get_post_terms does not.

* Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function

* External Product CRUD

* _virtual meta should be 'no', not taxable, in product unit test helper

* Bump template version

* Made abstract function useful

* Grouped product class

* Tests

* Move children to meta and update test

* Use get_upsell_ids

* Spacing in query

* Moving and refactoring methods

* Availability html

* Tidy/add todos

* Rename method

* Put back review functions (still todo)

* missing $this

* get_price_including_tax/excluding_tax functions

* wc_get_price_to_display

* Price handling

* [Product CRUD] Variable (#12146)

* [Product CRUD] Variable Products

* Handle PR feedback.

* [Product CRUD] Grouped Handling (#12151)

* Handle grouped product saving

* Update routine

* [Product CRUD] Product crud terms (#12149)

* Category and tag id handling

* Replace template functions

* Remove todo

* Handle default name in save function

* Product crud admin save routine (#12174)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Spacing

* Fix comment

* wc_implode_text_attributes helper function

* [Product CRUD] Product crud admin use getters (#12196)

* Initial props

* Work on admin saving

* Set/get attributes

* Atom was moaning about this before but no longer.

* Update get_shipping_class

* WC_Product_Attribute

* Use getter in admin panel

* Fix attribute saving

* Move settings into new files

* Refactor panels and use getters

* Use getters for variation panel

* Revert save variation changes for now

* Add todos

* Fix downloads

* REST API CRUD Updates

* Additional API updates/fixes. Added some todos

* Fix final failing tests and implementing setters/getters and attributes functionality.

* Fix comparison for is_on_sale and remove download_type from WC_Product.

* Add a wc_get_products wrapper.

* Remove the download type input from the product data metabox for downloadable products. (#12221)

* [Product CRUD] Variations - setters, getters and admin. (#12228)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* Feedback fixes

* Implement CRUD in the legacy REST API

* Handle PR feedback

* [Product CRUD] Getter setter proxy methods (#12236)

* Started on variation changes

* Stock functions

* Variation class

* Bulk change ->id to get_id() to fix variation form display

* Missing status

* Fix add to cart

* Start on stored data save

* save variation

* Save_variations

* Variation edit panel

* Save variations code works.

* Remove stored data code and fix save

* Improve legacy class

* wc_bool_to_string

* prepare_set_attributes

* Use wc_get_products

* More feedback fixes

* get_prop implementation in abstract and data classes

* Implement set_prop

* Change handling

* Array key exists

* set_object_read

* Use get_the_terms() instead of wp_get_post_terms()

wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not
use the object cache, and generates a database query every time it is used.

get_the_terms() however can use data from the object cache if present.

* [Product CRUD] Variable, variation, notices, and stock handling (#12277)

* No longer needed

* Remove old todos

* Use getters in admin list

* Related and upsells update for CRUD

* Fix notice in gallery

* Variable fixes and todos

* Context

* Price sync

* Revert variation attributes change

* Return parent data in view context

* Defer term counting

* wc_find_matching_product_variation

* Stock manage tweaks

* Stock fixes

* Correct id

* correct id

* Better sync

* Data logic setter fix

* feedback

* Prevent notices

* Handle image_id from parent

* Fix error

* Remove _wc_save_product_price

* Remove todo

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* [Product CRUD] Abstract todos (#12305)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Revert "[Product CRUD] Abstract todos (#12305)"

This reverts commit 9a6136fcf8.

* Remove deprecated get_variation_id()

* New default attributes method

* [Product CRUD] Product Datastore (#12317)

* Fix up tests in the product/* folder.

* Handle data store updates for grouped, variable, external, simple, and general data store updates for products.

* Variations & variable changes.

* Update -functions.php calls to use data store.

* Add an interface for the public product data store methods.

* Finished product factory tests

* Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods.

* Fix up delete in all versions of the api

* Handle feedback

* Match protected decloration to parent

* Product crud abstract todos (#12316)

* Get dimensions and weights, with soft deprecation

* Product attributes

* Ratings

* Fix read method

* Downloads

* Feedback

* Fix up store

* Fixed method returning in write context

* Fix error in variation admin

* Check for parent value - fixes tax class

* Remove old/complete todos

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed wrong variation URLs

* Fixed undefined $image_id in WC_Product_Variation::get_image_id()

* Allow wc_rest_prepare_date_response() handle timestamps

* Updated get methods on REST API for variations

* Use variations CRUD to save variations metadata

* Remove deprecated get_variation_id()

* New default attributes method

* Fixed method returning in write context

* Allow set tax class as "parent"

* Removed duplicated sync

* Fixed coding standards

* TODO is not accurate.

* Should pass WC_Product instancies to WC_Comments methods (#12327)

* Use new method in abstract order class to prevent headers sent issue in tests

* Fixed variable description in REST API

* Updated how create initial product variation

* Fixed a few fatal errors and warnings in Products CRUD (#12329)

* Fixed a few fatal errors and warnings in Products CRUD

* Fixed sync functions

* Add variations CRUD to legacy API (#12331)

* Apply crud to variable products in legacy API v1

* New REST API do not need fallback for default attributes

* Apply variations CRUD to legacy API v2

* Legacy v2 - save default attributes

* Variations in legacy API v2 do not have descriptions

* Fixed legacy API v2 variations params

* Applied variations CRUD to legacy API v3

* Sync before save in legacy apis

* Punc

* Removed API todos

* Removed test

* Products endpoint tweaks (#12354)

* Var type already normalized on CRUD

* Let Product CRUD handle with validation, sanitization and conditional checks

* Set downloads using WC_Product_Download

* Stop try catch exceptions more than one time

* Handle WC_Data_Exception in legacy API

* Complete remove products when fails on creating

* On creating I mean!

* Already have a method to complete delete products

* Fixed standards using WP CodeSniffer

* get_the_terms() returns false when empty

* get_manage_stock returns boolean

@claudiosanches

* Merge conflict

* Variations API endpoint fixes

* Product CRUD improvements (#12359)

* args is not used any more - remove todo

* Added test for attributes

* wc_get_price_excluding_tax usage

* parent usage

* Fix rating counts

* Test fixes

* Cleanup after tests

* Make sure status transition code runs even during API calls, not just in admin.

* Default visibility

* Fix attribute setting in API

* Use get name instead of get title

* variation id usage

* Improved cross sell templates

* variation_data

* Grouped product sync

* Notices

* Sync is not needed in API

* Delete

* Rename interfaces

* Update counts in data store
2016-11-16 12:38:24 +00:00
James Koster 4343c8dc03 Disable magnification on touch. #12315 2016-11-14 11:50:37 +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
Claudio Sanches 48013fa2c3 Minify 2016-11-07 15:47:05 -02:00
Shiva Poudel b32c7b89dc Fix - Photoswipe action button background style (#12209)
* Fix - Photoswipe action button background style

* Fix - Do not scroll to top after closing PhotoSwipe

* Tweak - Move photoswipe style overides to WooCommerce stylesheet

Closes #12200
2016-11-03 11:35:55 +00:00
Mike Jolley 11689b244c Remove notices once only
Closes #12182
2016-10-26 17:24:35 +01:00
Mike Jolley c893bf34aa [2.6] Fire tokenisation event on load for pay page.
Fixes #12047
2016-10-14 12:39:19 +01:00
Mike Jolley c93486ccc7 Typo in comment. 2016-10-14 12:38:55 +01:00
James Koster 3823b78318 Add/product galleries (#11665)
* register prettyPhoto but don't enqueue. #10721

* Remove lightbox option. #10721

Also registers the prettyPhoto styles instead of enqueueing

* Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721

* Add flexslider assets #10721

* styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721.

* Add zoom functionality. #10721

* Move js to single-product.js. #10721

* styling of the gallery thumbnails when using the `product_page` shortcode. #10721

* Only enable the zoom if the image is large enough. #10721

* Use a 4 column layout by default. #10721

* Make the carousel options filterable. #10721

* rtl styles for gallery. #10721

* Don't zoom on handheld devices. #10721

* markup tweaks in prep for photoswipe

* disable zoom for now

* Add and enqueue photoswipe assets

* add the photoswipe template

* initialise photoswipe - it's alive!

* tidy up js. add title. add separate trigger. #10721

* Move photoswipe functions to single-product.js. #10721

* reactivate the zoom! #10721

* style the photoswipe trigger. #10721

* disable flexslider animation loop. #10721

* js tidy up. #10721

* Fix jshint

* Abstract the product gallery scripts

* Minify

* Fixed conflict with the admin bar

* Photoswipe conflict with admin bar

* Index. #10721

* photoswipe button styles. #10721

* Styling. #10721

* No animation on zoom
* Image width on mobile

* No shadows please. #10721

Looking at you, Twenty Twelve.

* code tidy and add class to placeholder figure. #10721

* simplify rtl query

* photoswipe button styles

* Comma should not be here

* zoom icon #10721

* gallery thumb styles. #10721

* trigger icon. #10721

* Image margins. #10721

* icon hover states. #10721

* Variation handling

* Fix zoom and heights

* Resize after timeout
2016-10-13 15:25:42 +01:00
Manos Psychogyiopoulos 75b3042d9c [2.6] Variations script errors when 'empty' option is omitted (#11944)
* fix variation script malfunctioning when show_option_none arg is set to false

* add minified version
2016-10-11 18:26:08 +01:00
Mike Jolley 400ce650de Compare type 2016-10-08 12:47:26 +01:00
James Koster b8150ec49f Make the Store Notice dismissible.
* Adds new-style css classes to store notice
* Adds a ‘dismiss’ link to the store notice
* Hide the notice when the ‘dismiss’ link is clicked and set a cookie
to keep it hidden
2016-10-07 13:41:13 +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
Akeda Bagus e213e1cd00 Added data to be passed in `updated_checkout` event handler.
Resolves #11872.
2016-09-08 16:17:37 +07:00
Jeroen Sormani 8e757b78ef Allow checkbox to have '.update_totals_on_change' class 2016-09-05 16:42:25 +02:00
Mike Jolley 4da955923c [2.6] Handle info notices in cart
Fixes #11808
2016-08-31 18:07:21 +01:00
Mike Jolley f0bae3e5d7 Dupe comment 2016-08-12 10:39:21 +01:00
Gabor Javorszky 72982ab1e8 Fix jshint errors and minifies the script 2016-08-11 01:22:06 +01:00
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