Skip to content

Commit 4a655ea

Browse files
committed
dart 3.7 deprecated
1 parent 4381359 commit 4a655ea

File tree

5 files changed

+39
-31
lines changed

5 files changed

+39
-31
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
google-jsapi-picker.dart
22
========================
33

4+
**DEPRECATED** (looking for solutions)
5+
46
Google File picker access from Dart
57

68
[Online demo](http://gstest.tekartik.com/google-jsapi-picker/example/google_jsapi_picker_example.html)

example/google_jsapi_picker_example.dart

+33-30
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
1+
// ignore_for_file: deprecated_member_use_from_same_package, deprecated_member_use
2+
13
library;
24

3-
import 'dart:html';
5+
//import 'dart:html';
6+
import 'dart:js_interop';
47

58
import 'package:googleapis_auth/auth_browser.dart';
69
import 'package:tekartik_common_utils/common_utils_import.dart';
710
import 'package:tekartik_google_jsapi/gapi.dart';
811
import 'package:tekartik_google_jsapi/gapi_auth2.dart';
912
import 'package:tekartik_google_jsapi_picker/picker.dart';
10-
13+
import 'package:web/web.dart' as web;
1114
import 'test_config.dart';
1215
import 'test_setup.dart';
1316

1417
GapiAuth2? gapiAuth;
1518
GooglePicker? gpicker;
1619

17-
Element? authorizeResult;
20+
web.Element? authorizeResult;
1821
AppOptions? appOptions;
1922
ClientId? authClientId;
2023
final _setupLock = Lock();
21-
Storage storage = window.localStorage;
24+
web.Storage storage = web.window.localStorage;
2225

2326
String storageKeyPref = 'com.tekartik.google_jsapi_picker_example';
2427

@@ -29,7 +32,7 @@ String? storageGet(String key) {
2932
void storageSet(String key, String? value) {
3033
var prefKey = '$storageKeyPref.$key';
3134
if (value == null) {
32-
storage.remove(prefKey);
35+
storage.removeItem(prefKey);
3336
} else {
3437
storage[prefKey] = value;
3538
}
@@ -41,12 +44,12 @@ String appMimeTypesKey = 'mime_types';
4144
String selectFolderEnabledKey = 'select_folder_enabled';
4245
String includeFoldersKey = 'include_folders';
4346

44-
Element? pickResult;
47+
web.Element? pickResult;
4548
String? _authToken;
46-
InputElement? mimeTypesInput;
49+
web.HTMLInputElement? mimeTypesInput;
4750

4851
void _pick() {
49-
final mimeTypesText = mimeTypesInput!.value!;
52+
final mimeTypesText = mimeTypesInput!.value;
5053
storageSet(appMimeTypesKey, mimeTypesText);
5154

5255
final builder = PickerBuilder(gpicker);
@@ -79,26 +82,26 @@ void _pick() {
7982
builder.oauthToken = _authToken;
8083
final uiPicker = builder.build();
8184
uiPicker.pick().then((PickerDataDocuments docs) {
82-
pickResult!.innerHtml = docs.toString();
85+
pickResult!.innerHTML = docs.toString().toJS;
8386

8487
//pickResult.innerHtml = docs[0].id;
8588
});
8689
}
8790

8891
void pickerMain(String authToken) {
89-
authorizeResult!.innerHtml = 'Authorize token $authToken';
92+
authorizeResult!.innerHTML = 'Authorize token $authToken'.toJS;
9093
print('token: $authToken');
9194
_authToken = authToken;
9295

93-
final pickerForm = querySelector('form.app-picker')!;
96+
final pickerForm = web.document.querySelector('form.app-picker')!;
9497
pickResult = pickerForm.querySelector('.app-result');
95-
pickerForm.classes.remove('hidden');
96-
mimeTypesInput =
97-
pickerForm.querySelector('input#appInputMimeTypes') as InputElement?;
98+
pickerForm.classList.remove('hidden');
99+
mimeTypesInput = pickerForm.querySelector('input#appInputMimeTypes')
100+
as web.HTMLInputElement?;
98101
final pickButton = pickerForm.querySelector('button.app-pick')!;
99102

100103
final selectFolderEnabledInput = pickerForm
101-
.querySelector('#appInputSelectFolderEnabled') as CheckboxInputElement;
104+
.querySelector('#appInputSelectFolderEnabled') as web.HTMLInputElement;
102105
final selectFolderEnabled =
103106
storageGet(selectFolderEnabledKey) == true.toString();
104107
selectFolderEnabledInput.checked = selectFolderEnabled;
@@ -108,16 +111,16 @@ void pickerMain(String authToken) {
108111
});
109112

110113
final includeFoldersInput = pickerForm
111-
.querySelector('#appInputIncludeFolders') as CheckboxInputElement;
114+
.querySelector('#appInputIncludeFolders') as web.HTMLInputElement;
112115
final includeFolders = storageGet(includeFoldersKey) == true.toString();
113116
includeFoldersInput.checked = includeFolders;
114117
includeFoldersInput.onChange.listen((_) {
115118
storageSet(includeFoldersKey, includeFoldersInput.checked.toString());
116119
});
117120

118-
mimeTypesInput!.value = storageGet(appMimeTypesKey);
121+
mimeTypesInput!.value = storageGet(appMimeTypesKey) ?? '';
119122

120-
pickButton.onClick.listen((Event event) {
123+
pickButton.onClick.listen((web.Event event) {
121124
event.preventDefault();
122125
_pick();
123126
});
@@ -130,7 +133,7 @@ Future configSetup() async {
130133
appOptions = await setup();
131134

132135
void errorSetup() {
133-
authorizeResult!.innerText = '''
136+
authorizeResult!.textContent = '''
134137
ERROR: Missing clientId, clientSecret or developerKey
135138
Create local.config.yaml from sample.local.config.yaml ($appOptions)''';
136139
}
@@ -171,15 +174,15 @@ Future _authorize({bool? auto}) async {
171174
}
172175

173176
void authMain() {
174-
final authForm = querySelector('form.app-auth')!;
175-
authForm.classes.remove('hidden');
177+
final authForm = web.document.querySelector('form.app-auth')!;
178+
authForm.classList.remove('hidden');
176179
final authorizeButton = authForm.querySelector('button.app-authorize')!;
177180

178181
authorizeResult = authForm.querySelector('.app-result');
179182
final autoAuthCheckbox =
180-
authForm.querySelector('.app-autoauth') as CheckboxInputElement;
183+
authForm.querySelector('.app-autoauth') as web.HTMLInputElement;
181184

182-
authorizeButton.onClick.listen((Event event) {
185+
authorizeButton.onClick.listen((web.Event event) {
183186
event.preventDefault();
184187
_authorize();
185188
});
@@ -196,25 +199,25 @@ void authMain() {
196199
}
197200
}
198201

199-
Element? loadGapiResult;
202+
late web.Element loadGapiResult;
200203

201204
Future _loadPicker() async {
202-
loadGapiResult!.innerHtml = 'loading Gapi...';
205+
loadGapiResult.textContent = 'loading Gapi...';
203206
try {
204207
final gapi = await loadGapiPlatform();
205-
loadGapiResult!.innerHtml = 'loading GooglePicker...';
208+
loadGapiResult.textContent = 'loading GooglePicker...';
206209
gpicker = await loadPicker(gapi);
207-
loadGapiResult!.innerHtml = 'GooglePicker loaded';
210+
loadGapiResult.textContent = 'GooglePicker loaded';
208211
} catch (e) {
209-
loadGapiResult!.innerHtml = 'load failed $e';
212+
loadGapiResult.textContent = 'load failed $e';
210213
rethrow;
211214
}
212215
authMain();
213216
}
214217

215218
Future main() async {
216-
final loadGapiForm = querySelector('form.app-gapi')!;
217-
loadGapiResult = loadGapiForm.querySelector('.app-result');
219+
final loadGapiForm = web.document.querySelector('form.app-gapi')!;
220+
loadGapiResult = loadGapiForm.querySelector('.app-result')!;
218221

219222
await await _loadPicker();
220223
authMain();

lib/picker.dart

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@Deprecated('TO MIGRATE')
12
library;
23

34
import 'dart:async';

pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: file picker api
44
publish_to: none
55

66
environment:
7-
sdk: ^3.5.0
7+
sdk: ^3.6.0
88

99
dependencies:
1010
tekartik_google_jsapi:

test/picker_test.dart

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// ignore_for_file: deprecated_member_use_from_same_package, deprecated_member_use
2+
13
@TestOn('browser')
24
library;
35

0 commit comments

Comments
 (0)