Skip to content

Commit 18deac9

Browse files
authored
Merge pull request #775 from sh-andriy/fix/ENG-9260_Google-Drive-files-not-loading-once-root-folder-selected
[ENG-9260] | google drive files not loading once root folder selected
2 parents a9a9225 + b24bf84 commit 18deac9

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/app/shared/components/addons/storage-item-selector/storage-item-selector.component.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ <h3 class="mt-4 mb-2">
4444
[handleFolderSelection]="handleFolderSelection"
4545
[rootFolder]="selectedStorageItem()"
4646
></osf-google-file-picker>
47+
@if (selectedStorageItem() !== null) {
48+
<osf-google-file-picker
49+
#filePicker
50+
[isFolderPicker]="false"
51+
[accountId]="accountId()"
52+
[currentAddonType]="currentAddonType()"
53+
[rootFolder]="selectedStorageItem()"
54+
></osf-google-file-picker>
55+
}
4756
} @else {
4857
<div class="folders-table flex flex-column">
4958
<div class="folders-table-heading flex justify-content-between">

src/app/shared/components/addons/storage-item-selector/storage-item-selector.component.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import { InputText } from 'primeng/inputtext';
1010
import { RadioButton } from 'primeng/radiobutton';
1111
import { Skeleton } from 'primeng/skeleton';
1212

13+
import { timer } from 'rxjs';
14+
1315
import {
1416
ChangeDetectionStrategy,
1517
Component,
@@ -22,6 +24,7 @@ import {
2224
OnInit,
2325
output,
2426
signal,
27+
viewChild,
2528
} from '@angular/core';
2629
import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
2730
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
@@ -60,6 +63,8 @@ import { ResourceTypeInfoDialogComponent } from '../resource-type-info-dialog/re
6063
changeDetection: ChangeDetectionStrategy.OnPush,
6164
})
6265
export class StorageItemSelectorComponent implements OnInit {
66+
addFilesPicker = viewChild<GoogleFilePickerComponent>('filePicker');
67+
6368
private destroyRef = inject(DestroyRef);
6469
private customDialogService = inject(CustomDialogService);
6570
private translateService = inject(TranslateService);
@@ -236,6 +241,11 @@ export class StorageItemSelectorComponent implements OnInit {
236241
handleFolderSelection = (folder: StorageItem): void => {
237242
this.selectedStorageItem.set(folder);
238243
this.hasFolderChanged.set(folder?.itemId !== this.initiallySelectedStorageItem()?.itemId);
244+
if (this.isGoogleFilePicker()) {
245+
timer(1000)
246+
.pipe(takeUntilDestroyed(this.destroyRef))
247+
.subscribe(() => this.addFilesPicker()?.createPicker());
248+
}
239249
};
240250

241251
private updateBreadcrumbs(

0 commit comments

Comments
 (0)