1
+ // ignore_for_file: deprecated_member_use_from_same_package, deprecated_member_use
2
+
1
3
library ;
2
4
3
- import 'dart:html' ;
5
+ //import 'dart:html';
6
+ import 'dart:js_interop' ;
4
7
5
8
import 'package:googleapis_auth/auth_browser.dart' ;
6
9
import 'package:tekartik_common_utils/common_utils_import.dart' ;
7
10
import 'package:tekartik_google_jsapi/gapi.dart' ;
8
11
import 'package:tekartik_google_jsapi/gapi_auth2.dart' ;
9
12
import 'package:tekartik_google_jsapi_picker/picker.dart' ;
10
-
13
+ import 'package:web/web.dart' as web;
11
14
import 'test_config.dart' ;
12
15
import 'test_setup.dart' ;
13
16
14
17
GapiAuth2 ? gapiAuth;
15
18
GooglePicker ? gpicker;
16
19
17
- Element ? authorizeResult;
20
+ web. Element ? authorizeResult;
18
21
AppOptions ? appOptions;
19
22
ClientId ? authClientId;
20
23
final _setupLock = Lock ();
21
- Storage storage = window.localStorage;
24
+ web. Storage storage = web. window.localStorage;
22
25
23
26
String storageKeyPref = 'com.tekartik.google_jsapi_picker_example' ;
24
27
@@ -29,7 +32,7 @@ String? storageGet(String key) {
29
32
void storageSet (String key, String ? value) {
30
33
var prefKey = '$storageKeyPref .$key ' ;
31
34
if (value == null ) {
32
- storage.remove (prefKey);
35
+ storage.removeItem (prefKey);
33
36
} else {
34
37
storage[prefKey] = value;
35
38
}
@@ -41,12 +44,12 @@ String appMimeTypesKey = 'mime_types';
41
44
String selectFolderEnabledKey = 'select_folder_enabled' ;
42
45
String includeFoldersKey = 'include_folders' ;
43
46
44
- Element ? pickResult;
47
+ web. Element ? pickResult;
45
48
String ? _authToken;
46
- InputElement ? mimeTypesInput;
49
+ web. HTMLInputElement ? mimeTypesInput;
47
50
48
51
void _pick () {
49
- final mimeTypesText = mimeTypesInput! .value! ;
52
+ final mimeTypesText = mimeTypesInput! .value;
50
53
storageSet (appMimeTypesKey, mimeTypesText);
51
54
52
55
final builder = PickerBuilder (gpicker);
@@ -79,26 +82,26 @@ void _pick() {
79
82
builder.oauthToken = _authToken;
80
83
final uiPicker = builder.build ();
81
84
uiPicker.pick ().then ((PickerDataDocuments docs) {
82
- pickResult! .innerHtml = docs.toString ();
85
+ pickResult! .innerHTML = docs.toString ().toJS ;
83
86
84
87
//pickResult.innerHtml = docs[0].id;
85
88
});
86
89
}
87
90
88
91
void pickerMain (String authToken) {
89
- authorizeResult! .innerHtml = 'Authorize token $authToken ' ;
92
+ authorizeResult! .innerHTML = 'Authorize token $authToken ' .toJS ;
90
93
print ('token: $authToken ' );
91
94
_authToken = authToken;
92
95
93
- final pickerForm = querySelector ('form.app-picker' )! ;
96
+ final pickerForm = web.document. querySelector ('form.app-picker' )! ;
94
97
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 ? ;
98
101
final pickButton = pickerForm.querySelector ('button.app-pick' )! ;
99
102
100
103
final selectFolderEnabledInput = pickerForm
101
- .querySelector ('#appInputSelectFolderEnabled' ) as CheckboxInputElement ;
104
+ .querySelector ('#appInputSelectFolderEnabled' ) as web. HTMLInputElement ;
102
105
final selectFolderEnabled =
103
106
storageGet (selectFolderEnabledKey) == true .toString ();
104
107
selectFolderEnabledInput.checked = selectFolderEnabled;
@@ -108,16 +111,16 @@ void pickerMain(String authToken) {
108
111
});
109
112
110
113
final includeFoldersInput = pickerForm
111
- .querySelector ('#appInputIncludeFolders' ) as CheckboxInputElement ;
114
+ .querySelector ('#appInputIncludeFolders' ) as web. HTMLInputElement ;
112
115
final includeFolders = storageGet (includeFoldersKey) == true .toString ();
113
116
includeFoldersInput.checked = includeFolders;
114
117
includeFoldersInput.onChange.listen ((_) {
115
118
storageSet (includeFoldersKey, includeFoldersInput.checked.toString ());
116
119
});
117
120
118
- mimeTypesInput! .value = storageGet (appMimeTypesKey);
121
+ mimeTypesInput! .value = storageGet (appMimeTypesKey) ?? '' ;
119
122
120
- pickButton.onClick.listen ((Event event) {
123
+ pickButton.onClick.listen ((web. Event event) {
121
124
event.preventDefault ();
122
125
_pick ();
123
126
});
@@ -130,7 +133,7 @@ Future configSetup() async {
130
133
appOptions = await setup ();
131
134
132
135
void errorSetup () {
133
- authorizeResult! .innerText = '''
136
+ authorizeResult! .textContent = '''
134
137
ERROR: Missing clientId, clientSecret or developerKey
135
138
Create local.config.yaml from sample.local.config.yaml ($appOptions )''' ;
136
139
}
@@ -171,15 +174,15 @@ Future _authorize({bool? auto}) async {
171
174
}
172
175
173
176
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' );
176
179
final authorizeButton = authForm.querySelector ('button.app-authorize' )! ;
177
180
178
181
authorizeResult = authForm.querySelector ('.app-result' );
179
182
final autoAuthCheckbox =
180
- authForm.querySelector ('.app-autoauth' ) as CheckboxInputElement ;
183
+ authForm.querySelector ('.app-autoauth' ) as web. HTMLInputElement ;
181
184
182
- authorizeButton.onClick.listen ((Event event) {
185
+ authorizeButton.onClick.listen ((web. Event event) {
183
186
event.preventDefault ();
184
187
_authorize ();
185
188
});
@@ -196,25 +199,25 @@ void authMain() {
196
199
}
197
200
}
198
201
199
- Element ? loadGapiResult;
202
+ late web. Element loadGapiResult;
200
203
201
204
Future _loadPicker () async {
202
- loadGapiResult! .innerHtml = 'loading Gapi...' ;
205
+ loadGapiResult.textContent = 'loading Gapi...' ;
203
206
try {
204
207
final gapi = await loadGapiPlatform ();
205
- loadGapiResult! .innerHtml = 'loading GooglePicker...' ;
208
+ loadGapiResult.textContent = 'loading GooglePicker...' ;
206
209
gpicker = await loadPicker (gapi);
207
- loadGapiResult! .innerHtml = 'GooglePicker loaded' ;
210
+ loadGapiResult.textContent = 'GooglePicker loaded' ;
208
211
} catch (e) {
209
- loadGapiResult! .innerHtml = 'load failed $e ' ;
212
+ loadGapiResult.textContent = 'load failed $e ' ;
210
213
rethrow ;
211
214
}
212
215
authMain ();
213
216
}
214
217
215
218
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' )! ;
218
221
219
222
await await _loadPicker ();
220
223
authMain ();
0 commit comments