Skip to content

Commit e48b124

Browse files
authored
Merge pull request #771 from mkovalua/fix/ENG-9722
[ENG-9722] Expand File Picker for Registration Submissions
2 parents 8dadfe6 + 13607f3 commit e48b124

File tree

4 files changed

+24
-11
lines changed

4 files changed

+24
-11
lines changed

src/app/features/preprints/store/preprint-stepper/preprint-stepper.state.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,12 +308,12 @@ export class PreprintStepperState {
308308
getProjectFilesByLink(ctx: StateContext<PreprintStepperStateModel>, action: FetchProjectFilesByLink) {
309309
ctx.setState(patch({ projectFiles: patch({ isLoading: true }) }));
310310

311-
return this.fileService.getFilesWithoutFiltering(action.filesLink).pipe(
312-
tap((files: FileModel[]) => {
311+
return this.fileService.getFilesWithoutFiltering(action.filesLink, 1).pipe(
312+
tap((response) => {
313313
ctx.setState(
314314
patch({
315315
projectFiles: patch({
316-
data: files,
316+
data: response.data,
317317
isLoading: false,
318318
}),
319319
})

src/app/features/registries/components/files-control/files-control.component.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
[storage]="null"
4747
[currentFolder]="currentFolder()!"
4848
[isLoading]="isFilesLoading()"
49+
[scrollHeight]="'500px'"
4950
[viewOnly]="filesViewOnly()"
5051
[resourceId]="projectId()"
5152
[provider]="provider()"

src/app/features/registries/store/handlers/files.handlers.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,27 @@ export class FilesHandlers {
3434
);
3535
}
3636

37-
getProjectFiles(ctx: StateContext<RegistriesStateModel>, { filesLink }: GetFiles) {
37+
getProjectFiles(ctx: StateContext<RegistriesStateModel>, { filesLink, page }: GetFiles) {
3838
const state = ctx.getState();
3939
ctx.patchState({
4040
files: {
4141
...state.files,
4242
isLoading: true,
43+
error: null,
44+
totalCount: 0,
4345
},
4446
});
4547

46-
return this.filesService.getFilesWithoutFiltering(filesLink).pipe(
48+
return this.filesService.getFilesWithoutFiltering(filesLink, page).pipe(
4749
tap((response) => {
50+
const newData = page === 1 ? response.data : [...(state.files.data ?? []), ...response.data];
51+
4852
ctx.patchState({
4953
files: {
50-
data: response,
54+
data: newData,
5155
isLoading: false,
5256
error: null,
53-
totalCount: response.length,
57+
totalCount: response.totalCount,
5458
},
5559
});
5660
}),

src/app/shared/services/files.service.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
OsfFileRevision,
1717
PatchFileMetadata,
1818
} from '@osf/features/files/models';
19+
import { PaginatedData } from '@osf/shared/models/paginated-data.model';
1920

2021
import { FileKind } from '../enums/file-kind.enum';
2122
import { AddonMapper } from '../mappers/addon.mapper';
@@ -85,10 +86,17 @@ export class FilesService {
8586
.pipe(map((response) => ({ files: FilesMapper.getFileFolders(response.data), meta: response.meta })));
8687
}
8788

88-
getFilesWithoutFiltering(filesLink: string): Observable<FileModel[]> {
89-
return this.jsonApiService
90-
.get<FilesResponseJsonApi>(filesLink)
91-
.pipe(map((response) => FilesMapper.getFiles(response.data)));
89+
getFilesWithoutFiltering(filesLink: string, page = 1): Observable<PaginatedData<FileModel[]>> {
90+
const params: Record<string, string> = {
91+
page: page.toString(),
92+
};
93+
return this.jsonApiService.get<FilesResponseJsonApi>(filesLink, params).pipe(
94+
map((response) => ({
95+
data: FilesMapper.getFiles(response.data),
96+
totalCount: response.meta.total,
97+
pageSize: response.meta.per_page,
98+
}))
99+
);
92100
}
93101

94102
uploadFile(

0 commit comments

Comments
 (0)