Commit Graph

863 Commits

Author SHA1 Message Date
Matt-Yorkley
78fc6b7138 Rename "Geo" service to "GmapsGeo" for clarity.
This service directly calls methods in the google maps javascript included in the darkswarm layout. If we're moving away from it, we should clarify where it's used.
2020-06-05 08:35:15 +02:00
Luis Ramos
3a20de1465 Merge pull request #5398 from cillian/open-street-map
Add support for using Open Street Map on the Map and Group pages.
2020-06-04 17:01:25 +01:00
Pau Pérez Fabregat
d9cf22fed5 Merge pull request #5528 from luisramos0/checkout_js
Make checkout JS code send bugsnag alert even if there's an error processing an error
2020-06-03 09:13:40 +02:00
Pau Pérez Fabregat
fb339d6a99 Merge pull request #5263 from luisramos0/pdp
[Mobile] Restyle product modal
2020-06-03 08:55:20 +02:00
Cillian O'Ruanaidh
deafe32354 Add support for using Open Street Map on the Map and Group pages.
The map is displayed using https://leafletjs.com/

To enable Open Street Map go to the Admin -> Configuration -> Content section and click 'Open Street Map Enabled'.

The 'Open Street Map Provider Name' setting can be used to configure different tile providers thanks to the Leaflet-providers extension (https://github.com/leaflet-extras/leaflet-providers)

Some tile providers require an API key, this can provided in JSON format e.g. '{ apiKey: 123 }' in the 'Open Street Map Provider Options' setting.

Each tile provider has their own usage policy so this should be checked before enabling Open Street Map.

The search field for the Open Street Map works differently than searching on Google Maps. It matches producers by their name or address because it was easier to implement instead of matching place names all over the world.
2020-05-31 18:42:55 +02:00
Luis Ramos
6e842212ea Always throw back error even if there is an error loading the flash for example translating the error message 2020-05-29 14:45:22 +01:00
Matt-Yorkley
e03005ed56 Fix maps and tidy up groups map code 2020-05-25 13:52:56 +02:00
Luis Ramos
9a71ffc093 Merge pull request #5438 from Matt-Yorkley/cart-stock-ux
Cart stock UX
2020-05-22 14:21:16 +01:00
Matt-Yorkley
05e6f5792d Fix cart fields sharing same scope
All cart page quantity fields were displaying a single max quantity instead of a different value for each one.
2020-05-19 10:23:12 +02:00
Matt-Yorkley
d70174becc Use fresh scope for each quantity field 2020-05-18 16:28:07 +02:00
Matt-Yorkley
f9f76f9082 Move reused available stock logic to service 2020-05-18 16:19:49 +02:00
Matt-Yorkley
f7b4717f29 Improve validation code 2020-05-18 14:51:11 +02:00
Matt-Yorkley
63e4430ea4 Update cart page links to be disabled when changes are required and form is unsaved
See: https://stackoverflow.com/questions/23425254/enable-disable-anchor-tags-using-angularjs
2020-05-18 14:51:08 +02:00
Luis Ramos
4292636e70 Remove close button in product modal 2020-05-15 12:16:19 +01:00
Luis Ramos
30fe457cb5 Make product modal show close button only if there is a scroll bar 2020-05-15 12:12:07 +01:00
Luis Ramos
59a13adff0 Remove product category from product modal 2020-05-15 12:11:32 +01:00
Matt-Yorkley
3ba1182661 Dynamically mark quantity field as invalid when stock is incorrect 2020-05-15 12:59:29 +02:00
Matt-Yorkley
42195b76d3 Highlight update button when cart page form is "dirty" 2020-05-15 12:59:29 +02: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
Matt-Yorkley
82b11d6947 Ensure join words are not bold 2020-05-10 09:44:12 +02:00
Matt-Yorkley
71fb3b1845 Focus search field after it's cleared, ready for immediate typing of new search term on mobile 2020-05-10 09:44:12 +02:00
Matt-Yorkley
2964ec138d Update display of join words in filters list and rearrange code a bit for clarity
Here we need to build a really dynamic structure on the page like "Results for: <search-term> in <filter1> or <filter2>" and the styling on each of the words needs to be a bit different, specifically the filter terms need to be differently styled to the join words like "in" and "or". We have to generate those bits on the Angular side, but they also have to be wrapped in HTML in a specific way.

$sce.trustAsHtml() marks the injected HTML as "safe" (in relation to security issues like XSS). In this case the injected content doesn't involve any user-defined data, so it should be fine.
2020-05-10 09:44:11 +02:00
Matt-Yorkley
026b98022c Add clear search button in shop searchbar 2020-05-10 09:44:11 +02:00
Matt-Yorkley
ebe00bdc31 Update filters clear button functionality 2020-05-10 09:44:11 +02:00
Matt-Yorkley
8e9833fd06 Implement overlaid sidebar on mobile and tablet 2020-05-10 09:44:11 +02:00
Matt-Yorkley
142cef3f3a Add filters count 2020-05-10 09:44:11 +02:00
Manvil George
63a1a6fefa More optimsations: removing unwanted code 2020-05-07 22:58:09 +10:00
Luis Ramos
3c7970f72f Add select oc message when there are multiple OCs 2020-05-07 12:18:40 +01:00
Luis Ramos
d4980893a1 Refactor darker-background directive, extract method 2020-05-07 12:17:43 +01:00
Luis Ramos
77d7d2b804 Make the background darker only in specific cases 2020-05-07 12:17:43 +01:00
Manvil George
a629e1ecb7 Remove incorrect commenting 2020-05-07 11:46:49 +10:00
Manvil George
585a754b18 Missed out on inverting the boolean expression 2020-05-07 11:31:27 +10:00
Manvil George
7847c4ed9e Removing unwanted blank lines 2020-05-07 09:37:35 +10:00
Manvil George
5b009f606a More optimizations around coding standards 2020-05-07 09:07:32 +10:00
Manvil George
bf3bb4fb63 Review Comments incorporation 2020-05-07 00:54:01 +10:00
Manvil George
f802775ad6 Fixing up old Enterprise Modal references 2020-05-06 15:37:28 +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
13e4411b89 Add error message on cart populate failure and don't keep re-sending the data to the server.
This was triggering many requests to be continuously re-sent in a very problematic way (server-melting), and with no user feedback.
2020-05-05 17:22:10 +02:00
Matt-Yorkley
9a7807b134 Don't continuously re-post data on cart error 2020-05-05 16:04:05 +02:00
Pau Perez
c224df9b6a Do not trigger an orderChanged with null quantity
When loading the page $watchGroup calls the listener function for every
listed line item but with a set variant and null quantity and
max_quantity. There's no point on computing an order change when there
was none.

This saves an empty request on the second most used endpoint of the app,
specially busy when users are placing orders.
2020-04-24 15:54:46 +02:00
Luis Ramos
23f4faf192 Merge pull request #4841 from luisramos0/kill_rabl
Hide broken product taxons field, remove last rabl template and rabl itself
2020-04-21 18:49:12 +01:00
Luis Ramos
cedf1b26f2 If no flash is sent from the server, show the generic error 2020-04-14 14:31:34 +01:00
Luis Ramos
47a93568dc Make code simpler by extracting methods 2020-04-14 13:55:20 +01:00
Luis Ramos
62471bf2ab Clear Loading spinner when exception is caught 2020-04-14 13:50:38 +01:00
Luis Ramos
cdf5bcb7eb Improve unexpected error handling and add test cases for it 2020-04-14 13:44:58 +01:00
Luis Ramos
7414047b92 Switch from old success/error to modern then/catch structure
Catch() will get a few more errors then errors()

Also, add try/catch inside catch to detect any errors parsing the
response error payload
2020-04-14 13:04:28 +01:00
Matt-Yorkley
003341ef7a Add loading indicator when showing closed shops 2020-04-07 10:40:49 +02:00
Matt-Yorkley
bc859cf9f7 Add api/shops_controller and refactor 2020-04-04 17:02:27 +02:00
Matt-Yorkley
af48cac140 Load closed shops in a separate request on /shops page 2020-04-04 14:06:10 +02:00
Luis Ramos
445eb9f287 Merge pull request #5121 from Matt-Yorkley/flaky-maps-js
Update vendor/assets/angular-google-maps.min.js
2020-04-02 22:13:51 +01:00