Commit Graph

79 Commits

Author SHA1 Message Date
Matt-Yorkley
4c4142c56d Fix HAML "unbalanced brackets" errors 2021-02-09 11:57:00 +00:00
Maikel Linke
bd731267ec Allow user to get maximum available quantity
When the user entered a number beyond the stock level, the browser was
correcting that to the max number which is very helpful. But Angular was
setting the model to undefined which removes the item from the cart.

Deactivating Angular's max behaviour let's us set the value ourselves
which is then used in the cart.
2021-01-22 16:42:21 +11:00
Maikel Linke
35b4e8c4d1 Allow editing of invalid quantities
If the user entered an invalid quantity, Angular set the model to
undefined and we removed the input field to show the add button. That
makes it impossible for a user to see what the maximum quantity to enter
would be. For example:

- The variant has a stock level of 5.
- The user enters 7.
- Angular sets it to undefined.
- The input field disappears.
- The user is startled and doesn't know how to proceed.

But now we hide the input only if it's deliberately set to zero.
2021-01-22 16:42:21 +11:00
Maikel Linke
cf2a105b2a Prevent line breaks within plus/minus buttons 2021-01-22 16:42:20 +11:00
Maikel Linke
688be46b10 Avoid horizontal scroll bar on small screens 2021-01-22 16:42:20 +11:00
Maikel Linke
66423a1ec3 Add quantity input to shop front product list
Adding bigger quantities can now be done via an input field instead of
clicking a thousand times.

The add-button has been widened to match the new space requirements.
2021-01-22 16:42:20 +11:00
Andy Brett
902f8caea9 direct specifically to shop tab 2020-12-02 11:39:02 -08:00
Andy Brett
14091cd106 fix #6415 2020-12-02 11:39:02 -08:00
Maikel Linke
230d3e76a1 Label plus and minus symbols as special 2020-10-22 15:46:47 +11:00
Maikel Linke
e45941276e Better naming of translation keys
Also splitting one key for two different uses.
2020-10-22 15:46:47 +11:00
Maikel Linke
d2600b1d40 Avoid translation errors by hardcoding symbols
The fullwidth plus and minus signs are well understood in all countries
(that participate in the development of OFN). It's more likely that a
translator enters a normal plus or minus than that they want to change
the symbol. A normal + or - sign doesn't fill a whole character space
and is therefore not well aligned in the design.
2020-10-22 15:46:47 +11:00
Maikel Linke
9da91576ac Fix height of invisible "in cart" text
While the text "x in cart" isn't visible, the item quantity is not set.
A missing variable leads to longer text that is taken up more space. In
this case it was two lines instead of one line. The resulting extra line
of margin disappeared when adding to the cart and the rest of the page
jumped up.
2020-10-22 15:46:46 +11:00
Maikel Linke
755773e5ad Style code 2020-10-22 15:46:46 +11:00
Maikel Linke
01c4882759 Replace bulk buy inputs with add-remove-buttons 2020-10-22 15:46:46 +11:00
Maikel Linke
59c13b97ea Replace quantity input with add-remove buttons
The new mobile friendly design contains a nice "Add" button to add
variants to your cart. Once you have the variant in you cart, it's
replaced by plus and minus buttons to adjust the quantity.

Other languages have longer words than "Add" which need to fit on the
button. Since the add button and the +/- buttons should have the same
width, I widened them a little bit so that they fit the longest words
Aggiungi and Добавить.
2020-10-22 15:46:46 +11:00
Luis Ramos
5f7c1474a2 Merge pull request #5377 from manvil/1782_enterprise_at_same_address
Handling multiple enterprises at the same location
2020-05-13 19:31:14 +01:00
Manvil George
bf3bb4fb63 Review Comments incorporation 2020-05-07 00:54:01 +10:00
Manvil George
19b5f6a562 Handling multiple enterprises at the same location
Changes:
* Introduced a cluster marker to denote multiple points of interest at
the same location
* Seperated out a plain enterprise modal into 2 parts
  * A modal called EnterpriseModal for showing a list of enterprises at
  the same location
  * A box called EnterpriseBox(which by the way is also a technically a
  modal) that shows the details of that particular enterprise selected
* If at a location there exists only a single enterprise then only the
box is shown
2020-05-06 12:54:42 +10:00
Matt-Yorkley
3ce7e96777 Add some debounce and an onwheel hack to product add to basket field
Debounce ensures we don't get a million requests if the up/down buttons are clicked rapidly. The onwheel hack adds some protection against scrolling triggering the quantity up/down. See: https://stackoverflow.com/a/51076231
2020-04-27 19:27:07 +02:00
Jon Leighton
fcff302d55 Bring back ‘Shop for X products at:’ title
Fixes #2112

It looks like this bug was accidentally introduced during a refactor in
e5ca494db8. The `bo-html` attribute was
replaced with `ng-html`, but it appears that it should actually have
used `ng-bind-html`
(https://docs.angularjs.org/api/ng/directive/ngBindHtml) because the
former is not a valid AngularJS directive.

It was also necessary to bubble up the `.cta-container` class in order to
get the appropriate styling on the title.
2019-06-17 15:43:15 +10:00
luisramos0
f0842fcbe5 Convert all calls to variant.count_on_hand to variant.on_hand 2019-02-18 21:54:07 +00:00
Keir Osborn
bd7e072938 embedded groups layout changes 2018-06-22 14:03:00 +10:00
Frank West
b05b9747b8 Fix enterprise description display formatting
Removes `text-small` class from container and change container to `div`
instead of `p` for semantic differentiation.
2018-05-18 07:20:56 -07:00
Matt-Yorkley
c860ffc176 Adjust use of non-translatable open/closed icons 2018-01-24 15:33:26 +11:00
Leta Keane
8648070a05 Add disabled class to shopfront property selectors 2017-07-26 15:46:00 +10:00
Keir Osborn
209c9242d9 remove word-wrap class from enterprise.email_address and enterprise.website in javascripts/templates/partials/contact.html.haml 2017-03-24 12:55:30 +11:00
Rohan Mitchell
7b5e8fa603 Rename API field properties to supplied_properties 2016-08-26 12:13:47 +10:00
Rob Harrington
b957555c82 Adding infinite-scroll to the shopfront
For performance improvement with large data sets
2016-08-10 12:08:03 +10:00
Rohan Mitchell
a5a00e9cef Show taxons and properties on producer modal (seen on map, shop producer info) 2016-06-24 07:57:06 +10:00
Rob Harrington
abc906186e Using ngSrc correctly in frontend 2016-05-25 08:10:20 +10:00
Rob Harrington
e5ca494db8 Replacing bindonce with native Angularjs syntax in Darkswarm
Involved changing bo-text -> ng-bind, bo-href-i -> ng-href, bo-src-i -> ng-src and ng-html -> ng-bind-html
2016-05-25 08:10:20 +10:00
Rohan Mitchell
1220ff8a06 Notify when stock limit reached on shopfront rather than silently capping 2016-04-27 15:05:44 +10:00
Rohan Mitchell
8f8a1191cb Remove stock cap on max_quantity 2016-04-27 12:27:24 +10:00
Rohan Mitchell
5e39b11c2f Spec out of stock handling for group buy 2016-04-21 09:36:23 +10:00
Rohan Mitchell
cfe062918b When a variant goes out of stock, disable the input and grey out the row 2016-04-21 09:36:23 +10:00
Rohan Mitchell
a1bcdc616f Extract add-to-cart inputs into partials 2016-04-21 09:36:22 +10:00
Maikel Linke
4feb7c893b Introduce contact email address for enterprises
Add a new column email_address to enterprises.
Use this new field for public display of contact details.
The old field enterprise.email is still used internally.
It is still displayed on orders and emails sent to customers.
A new enterprise has the owner's email address by default now.

Fix GH #757
2016-02-24 15:14:07 +11:00
Maikel Linke
0f2ae79e05 Fixing "Shop for" label on groups producer modal 2015-12-04 10:37:55 +11:00
Maikel Linke
e9d1cf6eb5 using translate filter instead of root scope function 2015-10-08 18:09:11 +11:00
Maikel Linke
ae96541112 Internationalisation of Javascript views 2015-10-01 11:13:45 +10:00
Maikel Linke
f8725a0174 Removing unused JS partial 2015-10-01 11:12:31 +10:00
Rohan Mitchell
5688cfd1dd WIP: Rename ofnEmptiesCart to ofnChangeHub 2015-07-31 16:56:08 +10:00
Rohan Mitchell
a509747ba7 Do not show double-ups of places to shop 2015-07-10 15:51:57 +10:00
Rohan Mitchell
e679f1175c Add shop-for-products-at to map producer modals 2015-07-10 15:51:57 +10:00
Rick Giner
9c26b3ebb2 bind-once in partials 2015-05-03 14:34:42 +10:00
Rob Harrington
0cf8b017b9 Pulling out taxons and properties placeholders from producer and product modals 2015-04-17 13:20:01 +10:00
summerscope
938eff8482 More layout tweaks to enterprise modal template 2015-03-19 16:13:47 +11:00
summerscope
b99e94cecf WIP on producer and product modals 2015-03-19 16:02:52 +11:00
Rafael Schouten
47dc001735 merge has_shopfront and is_distibutor 2014-10-01 20:27:53 +10:00
summerscope
237d129710 Changing the markup to give a class where is a producer 2014-09-26 15:01:23 +10:00