From 84e4c1108455df8fd64b89b13fa3c9e834334472 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 21 Feb 2024 10:44:53 +0100 Subject: [PATCH 1/2] update import of package:web/helpers.dart & fix deprecations --- example/01-basics/map-geolocation/page.dart | 2 +- example/03-controls/control-custom-state/page.dart | 2 +- example/03-controls/control-replacement/page.dart | 4 ++-- example/03-controls/split-map-panes/page.dart | 2 +- .../marker-animations-iteration/page.dart | 2 +- example/05-drawing_on_map/marker-remove/page.dart | 2 +- example/05-drawing_on_map/overlay-hideshow/page.dart | 2 +- example/05-drawing_on_map/overlay-remove/page.dart | 2 +- example/05-drawing_on_map/polyline-remove/page.dart | 2 +- example/06-layers/layer-data-dragndrop/page.dart | 2 +- example/06-layers/layer-heatmap/page.dart | 10 +++++----- example/07-maptypes/aerial-rotation/page.dart | 2 +- example/08-services/directions-complex/page.dart | 4 ++-- example/08-services/directions-panel/page.dart | 2 +- example/08-services/directions-simple/page.dart | 2 +- example/08-services/directions-travel-modes/page.dart | 2 +- example/08-services/directions-waypoints/page.dart | 4 ++-- example/08-services/distance-matrix/page.dart | 2 +- example/08-services/elevation-paths/page.dart | 5 +++-- example/08-services/geocoding-reverse/page.dart | 2 +- example/08-services/geocoding-simple/page.dart | 2 +- example/08-services/streetview-overlays/page.dart | 7 +++++-- example/10-places/place-search-pagination/page.dart | 2 +- .../places-autocomplete-addressform/page.dart | 2 +- .../places-autocomplete-hotelsearch/page.dart | 2 +- example/10-places/places-autocomplete/page.dart | 4 ++-- pubspec.yaml | 2 +- 27 files changed, 41 insertions(+), 37 deletions(-) diff --git a/example/01-basics/map-geolocation/page.dart b/example/01-basics/map-geolocation/page.dart index ac54d7da..3ecf8a0d 100644 --- a/example/01-basics/map-geolocation/page.dart +++ b/example/01-basics/map-geolocation/page.dart @@ -1,7 +1,7 @@ import 'dart:js_interop'; import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; late InfoWindow infoWindow; diff --git a/example/03-controls/control-custom-state/page.dart b/example/03-controls/control-custom-state/page.dart index 236468de..3430b949 100644 --- a/example/03-controls/control-custom-state/page.dart +++ b/example/03-controls/control-custom-state/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; final LatLng chicago = LatLng(41.85, -87.65); diff --git a/example/03-controls/control-replacement/page.dart b/example/03-controls/control-replacement/page.dart index 4f39a230..2a860ad7 100644 --- a/example/03-controls/control-replacement/page.dart +++ b/example/03-controls/control-replacement/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart' hide Event; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; void main() { final map = GMap( @@ -28,7 +28,7 @@ void initZoomControl(GMap map) { void initMapTypeControl(GMap map) { final mapTypeControlDiv = - document.querySelector('.maptype-control') as HtmlElement; + document.querySelector('.maptype-control') as HTMLElement; document.querySelector('.maptype-control-map')!.onClick.listen((event) { mapTypeControlDiv.classList.add('maptype-control-is-map'); diff --git a/example/03-controls/split-map-panes/page.dart b/example/03-controls/split-map-panes/page.dart index a712d480..296faa61 100644 --- a/example/03-controls/split-map-panes/page.dart +++ b/example/03-controls/split-map-panes/page.dart @@ -3,7 +3,7 @@ library example; import 'package:google_maps/google_maps.dart'; import 'package:js/js.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; void main() { final mapOptions = MapOptions() diff --git a/example/05-drawing_on_map/marker-animations-iteration/page.dart b/example/05-drawing_on_map/marker-animations-iteration/page.dart index 1c52618c..7a1c48e3 100644 --- a/example/05-drawing_on_map/marker-animations-iteration/page.dart +++ b/example/05-drawing_on_map/marker-animations-iteration/page.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart' hide Animation; +import 'package:web/web.dart' hide Animation; final berlin = LatLng(52.520816, 13.410186); final List neighborhoods = [ diff --git a/example/05-drawing_on_map/marker-remove/page.dart b/example/05-drawing_on_map/marker-remove/page.dart index baab98f5..ec020307 100644 --- a/example/05-drawing_on_map/marker-remove/page.dart +++ b/example/05-drawing_on_map/marker-remove/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; final markers = []; diff --git a/example/05-drawing_on_map/overlay-hideshow/page.dart b/example/05-drawing_on_map/overlay-hideshow/page.dart index 5488658f..96929ad6 100644 --- a/example/05-drawing_on_map/overlay-hideshow/page.dart +++ b/example/05-drawing_on_map/overlay-hideshow/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late USGSOverlay overlay; diff --git a/example/05-drawing_on_map/overlay-remove/page.dart b/example/05-drawing_on_map/overlay-remove/page.dart index 905e41aa..fcdbc4b6 100644 --- a/example/05-drawing_on_map/overlay-remove/page.dart +++ b/example/05-drawing_on_map/overlay-remove/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GroundOverlay historicalOverlay; late GMap map; diff --git a/example/05-drawing_on_map/polyline-remove/page.dart b/example/05-drawing_on_map/polyline-remove/page.dart index 2a2b63b6..5b0e4ea1 100644 --- a/example/05-drawing_on_map/polyline-remove/page.dart +++ b/example/05-drawing_on_map/polyline-remove/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late Polyline flightPath; late GMap map; diff --git a/example/06-layers/layer-data-dragndrop/page.dart b/example/06-layers/layer-data-dragndrop/page.dart index c36e933c..bc49da7b 100644 --- a/example/06-layers/layer-data-dragndrop/page.dart +++ b/example/06-layers/layer-data-dragndrop/page.dart @@ -3,7 +3,7 @@ import 'dart:js_interop'; import 'package:google_maps/google_maps.dart'; import 'package:js/js_util.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; diff --git a/example/06-layers/layer-heatmap/page.dart b/example/06-layers/layer-heatmap/page.dart index 6f1fc1fc..2fc4f625 100644 --- a/example/06-layers/layer-heatmap/page.dart +++ b/example/06-layers/layer-heatmap/page.dart @@ -1,6 +1,6 @@ import 'package:google_maps/google_maps.dart'; import 'package:google_maps/google_maps_visualization.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; // Adding 500 Data Points late GMap map; @@ -17,16 +17,16 @@ void main() { ..data = points ..map = map); - querySelector('#toggleHeatmap')!.onClick.listen((e) { + document.querySelector('#toggleHeatmap')!.onClick.listen((e) { toggleHeatmap(); }); - querySelector('#changeGradient')!.onClick.listen((e) { + document.querySelector('#changeGradient')!.onClick.listen((e) { changeGradient(); }); - querySelector('#changeRadius')!.onClick.listen((e) { + document.querySelector('#changeRadius')!.onClick.listen((e) { changeRadius(); }); - querySelector('#changeOpacity')!.onClick.listen((e) { + document.querySelector('#changeOpacity')!.onClick.listen((e) { changeOpacity(); }); } diff --git a/example/07-maptypes/aerial-rotation/page.dart b/example/07-maptypes/aerial-rotation/page.dart index 15984e3e..4d505221 100644 --- a/example/07-maptypes/aerial-rotation/page.dart +++ b/example/07-maptypes/aerial-rotation/page.dart @@ -1,6 +1,6 @@ import 'dart:async'; import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; diff --git a/example/08-services/directions-complex/page.dart b/example/08-services/directions-complex/page.dart index d51f1c60..0b10efdf 100644 --- a/example/08-services/directions-complex/page.dart +++ b/example/08-services/directions-complex/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; late DirectionsRenderer directionsDisplay; @@ -51,7 +51,7 @@ void calcRoute() { // function to create markers for each step. directionsService.route(request, (response, status) { if (status == DirectionsStatus.OK) { - querySelector('#warnings_panel')!.innerHTML = + document.querySelector('#warnings_panel')!.innerHTML = '${response!.routes![0]!.warnings}'; directionsDisplay.directions = response; showSteps(response); diff --git a/example/08-services/directions-panel/page.dart b/example/08-services/directions-panel/page.dart index f30b1f88..20dc8208 100644 --- a/example/08-services/directions-panel/page.dart +++ b/example/08-services/directions-panel/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late DirectionsRenderer directionsDisplay; final directionsService = DirectionsService(); diff --git a/example/08-services/directions-simple/page.dart b/example/08-services/directions-simple/page.dart index 727fa02d..0a2a8cfd 100644 --- a/example/08-services/directions-simple/page.dart +++ b/example/08-services/directions-simple/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late DirectionsRenderer directionsDisplay; final directionsService = DirectionsService(); diff --git a/example/08-services/directions-travel-modes/page.dart b/example/08-services/directions-travel-modes/page.dart index 317e5d3f..f25d4229 100644 --- a/example/08-services/directions-travel-modes/page.dart +++ b/example/08-services/directions-travel-modes/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late DirectionsRenderer directionsDisplay; final directionsService = DirectionsService(); diff --git a/example/08-services/directions-waypoints/page.dart b/example/08-services/directions-waypoints/page.dart index 953afb98..aad2627b 100644 --- a/example/08-services/directions-waypoints/page.dart +++ b/example/08-services/directions-waypoints/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late DirectionsRenderer directionsDisplay; final directionsService = DirectionsService(); @@ -14,7 +14,7 @@ void main() { map = GMap(document.getElementById('map-canvas') as HTMLElement, mapOptions); directionsDisplay.map = map; - querySelector('#calcRoute')!.onClick.listen((e) => calcRoute()); + document.querySelector('#calcRoute')!.onClick.listen((e) => calcRoute()); } void calcRoute() { diff --git a/example/08-services/distance-matrix/page.dart b/example/08-services/distance-matrix/page.dart index a57f3163..1655a9ae 100644 --- a/example/08-services/distance-matrix/page.dart +++ b/example/08-services/distance-matrix/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; late Geocoder geocoder; diff --git a/example/08-services/elevation-paths/page.dart b/example/08-services/elevation-paths/page.dart index fdb22dbb..98597a32 100644 --- a/example/08-services/elevation-paths/page.dart +++ b/example/08-services/elevation-paths/page.dart @@ -5,7 +5,7 @@ import 'dart:js_util'; import 'package:google_maps/google_maps.dart'; import 'package:js/js.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; @JS('google.visualization.ColumnChart') class ColumnChart { @@ -107,7 +107,8 @@ void plotElevation(List? results, ElevationStatus? status) { } // Draw the chart using the data within its DIV. - (querySelector('#elevation_chart')! as HTMLElement).style.display = 'block'; + (document.querySelector('#elevation_chart')! as HTMLElement).style.display = + 'block'; chart.draw(data, jsify({'height': 150, 'legend': 'none', 'titleY': 'Elevation (m)'})); } diff --git a/example/08-services/geocoding-reverse/page.dart b/example/08-services/geocoding-reverse/page.dart index ed1e1590..18108159 100644 --- a/example/08-services/geocoding-reverse/page.dart +++ b/example/08-services/geocoding-reverse/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; final geocoder = Geocoder(); late GMap map; diff --git a/example/08-services/geocoding-simple/page.dart b/example/08-services/geocoding-simple/page.dart index 5d2a5ff8..e1772584 100644 --- a/example/08-services/geocoding-simple/page.dart +++ b/example/08-services/geocoding-simple/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; final geocoder = Geocoder(); late GMap map; diff --git a/example/08-services/streetview-overlays/page.dart b/example/08-services/streetview-overlays/page.dart index 409e6116..ac890ca1 100644 --- a/example/08-services/streetview-overlays/page.dart +++ b/example/08-services/streetview-overlays/page.dart @@ -1,5 +1,5 @@ import 'package:google_maps/google_maps.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; late StreetViewPanorama panorama; @@ -46,7 +46,10 @@ void main() { ..heading = 265 ..pitch = 0); - querySelector('#toggleStreetView')!.onClick.listen((e) => toggleStreetView()); + document + .querySelector('#toggleStreetView')! + .onClick + .listen((e) => toggleStreetView()); } void toggleStreetView() { diff --git a/example/10-places/place-search-pagination/page.dart b/example/10-places/place-search-pagination/page.dart index 5fffaf32..540078b8 100644 --- a/example/10-places/place-search-pagination/page.dart +++ b/example/10-places/place-search-pagination/page.dart @@ -1,6 +1,6 @@ import 'package:google_maps/google_maps.dart'; import 'package:google_maps/google_maps_places.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late GMap map; diff --git a/example/10-places/places-autocomplete-addressform/page.dart b/example/10-places/places-autocomplete-addressform/page.dart index 4fdef3db..a7ceb497 100644 --- a/example/10-places/places-autocomplete-addressform/page.dart +++ b/example/10-places/places-autocomplete-addressform/page.dart @@ -4,7 +4,7 @@ import 'dart:js_util'; import 'package:google_maps/google_maps.dart'; import 'package:google_maps/google_maps_places.dart'; -import 'package:web/helpers.dart'; +import 'package:web/web.dart'; late Autocomplete autocomplete; final componentForm = { diff --git a/example/10-places/places-autocomplete-hotelsearch/page.dart b/example/10-places/places-autocomplete-hotelsearch/page.dart index 47f669d4..88963785 100644 --- a/example/10-places/places-autocomplete-hotelsearch/page.dart +++ b/example/10-places/places-autocomplete-hotelsearch/page.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:google_maps/google_maps.dart'; import 'package:google_maps/google_maps_places.dart'; -import 'package:web/helpers.dart' hide Animation, Event; +import 'package:web/web.dart' hide Animation, Event; late GMap map; late PlacesService places; diff --git a/example/10-places/places-autocomplete/page.dart b/example/10-places/places-autocomplete/page.dart index 1154e78a..b18f3e5f 100644 --- a/example/10-places/places-autocomplete/page.dart +++ b/example/10-places/places-autocomplete/page.dart @@ -1,6 +1,6 @@ import 'package:google_maps/google_maps.dart'; import 'package:google_maps/google_maps_places.dart'; -import 'package:web/helpers.dart' hide Event; +import 'package:web/web.dart' hide Event; void main() { final mapOptions = MapOptions() @@ -69,7 +69,7 @@ void main() { // Sets a listener on a radio button to change the filter type on Places // Autocomplete. void setupClickListener(String id, List types) { - final radioButton = querySelector('#$id'); + final radioButton = document.querySelector('#$id'); Event.addDomListener(radioButton, 'click', (_) { autocomplete.types = types; }); diff --git a/pubspec.yaml b/pubspec.yaml index cee7cab6..787d43c1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: js: ^0.6.3 js_wrapping: ^0.7.4 meta: ^1.3.0 - web: ^0.4.0 + web: ^0.5.0 dev_dependencies: build_runner: ^2.4.0 build_web_compilers: ^4.0.0 From 29e212a866fe9a951ee130b34fc853e32e9c7c6e Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 21 Feb 2024 11:02:18 +0100 Subject: [PATCH 2/2] patch Fullscreen API --- .../03-controls/control-replacement/page.dart | 27 ++++++++++++++++--- pubspec.yaml | 4 +-- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/example/03-controls/control-replacement/page.dart b/example/03-controls/control-replacement/page.dart index 2a860ad7..1b3d968a 100644 --- a/example/03-controls/control-replacement/page.dart +++ b/example/03-controls/control-replacement/page.dart @@ -1,3 +1,5 @@ +import 'dart:js_interop'; + import 'package:google_maps/google_maps.dart' hide Event; import 'package:web/web.dart'; @@ -66,12 +68,31 @@ void initFullscreenControl(GMap map) { }); } -bool isFullscreen(Element element) => document.fullscreenElement == element; +bool isFullscreen(Element element) => + _FullscreenDocument(document).fullscreenElement == element; void requestFullscreen(Element element) { - element.requestFullscreen(); + _FullscreenElement(element).requestFullscreen.callAsFunction(); } void exitFullscreen() { - document.exitFullscreen(); + _FullscreenDocument(document).exitFullscreen.callAsFunction(); +} + +/// This extension type merely exists because `package:web` no longer provides the Fullscreen API, +/// as Safari only supports it under a prefix. +/// +/// This extension type can be removed when that restriction is lifted. +extension type _FullscreenDocument(Document _) { + external JSFunction get exitFullscreen; + + external Element? get fullscreenElement; +} + +/// This extension type merely exists because `package:web` no longer provides the Fullscreen API, +/// as Safari only supports it under a prefix. +/// +/// This extension type can be removed when that restriction is lifted. +extension type _FullscreenElement(Element _) { + external JSFunction get requestFullscreen; } diff --git a/pubspec.yaml b/pubspec.yaml index 787d43c1..eb66ad02 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,11 +1,11 @@ name: google_maps -version: 7.0.0 +version: 7.1.0 description: > With that package you will be able to use Google Maps JavaScript API from Dart scripts. homepage: https://github.com/a14n/dart-google-maps environment: - sdk: '>=2.12.0 <4.0.0' + sdk: '>=3.3.0 <4.0.0' dependencies: js: ^0.6.3 js_wrapping: ^0.7.4