Skip to content

Commit d4a663e

Browse files
authored
feat: add error event (#22)
1 parent 244361f commit d4a663e

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ and load OAuth tokens.
9393
| `picker:canceled` | \`\` | Triggered when the user cancels the picker dialog. |
9494
| `picker:picked` | \`\` | Triggered when the user picks one or more items. |
9595
| `picker:loaded` | \`\` | Triggered when the picker is loaded. |
96+
| `picker:error` | \`\` | Triggered when an error occurs. |
9697

9798
#### Slots
9899

custom-elements.json

+4
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,10 @@
275275
{
276276
"description": "Triggered when the picker is loaded.",
277277
"name": "picker:loaded"
278+
},
279+
{
280+
"description": "Triggered when an error occurs.",
281+
"name": "picker:error"
278282
}
279283
],
280284
"attributes": [

src/drive-picker/drive-picker-element.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ declare global {
3838
"picker:canceled": CustomEvent<DrivePickerEventDetail>;
3939
"picker:picked": CustomEvent<DrivePickerEventDetail>;
4040
"picker:loaded": CustomEvent<DrivePickerEventDetail>;
41+
"picker:error": CustomEvent<unknown>;
4142
}
4243
}
4344

@@ -56,6 +57,7 @@ declare global {
5657
* @fires picker:canceled - Triggered when the user cancels the picker dialog.
5758
* @fires picker:picked - Triggered when the user picks one or more items.
5859
* @fires picker:loaded - Triggered when the picker is loaded.
60+
* @fires picker:error - Triggered when an error occurs.
5961
*
6062
* @slot - The default slot contains View elements to display in the picker.
6163
* Each View element should implement a property `view` of type
@@ -138,7 +140,7 @@ export class DrivePickerElement extends HTMLElement {
138140
this.picker?.dispose();
139141

140142
// this await is necessary as an attribute may have changed
141-
// prior to the API initialy being loaded
143+
// prior to the API initially being loaded
142144
await this.loading;
143145

144146
if (!this.google) return;
@@ -263,11 +265,13 @@ export class DrivePickerElement extends HTMLElement {
263265
case google.picker.Action.PICKED:
264266
eventType = "picker:picked";
265267
break;
266-
case google.picker.Action.LOADED:
268+
case google.picker.Action.ERROR:
269+
eventType = "picker:error";
270+
break;
271+
case "loaded":
267272
eventType = "picker:loaded";
268273
break;
269274
default:
270-
console.warn(`Unknown action: ${data.action}`);
271275
return;
272276
}
273277

0 commit comments

Comments
 (0)