* 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
* 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
Fix for issue #11811https://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.
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.
When opening the modal it doesn't allow you to close it with the ESC key unless you click on the modal first.
Focussing on the modal when its loaded resolves that.
Also adding tooltip initialisation so tooltips will show if they are present. I don't believe core is using tooltips in there right now, but I guess its useful for the future / 3rd party devs that may have a use for it (like me)
report.js export_csv of the 'table' data_format will not download if the cell data contains #. Most likely due to the fact that #<id> is a octect character.
This is a quick fix that strips any # character from table cell data.
There may be a way to escape # however \# nor HTML encoding to %23 resolved the issue.
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".
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`.
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.
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.