projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
18169: Removed cancel disable when uploading
[arvados-workbench2.git]
/
src
/
services
/
collection-service
/
collection-service.ts
diff --git
a/src/services/collection-service/collection-service.ts
b/src/services/collection-service/collection-service.ts
index 5ae03b89eb0f816c7f595d322dadd1000d94b8cd..52fbf1a5c50b8cf8e198b0b88b6739934e206651 100644
(file)
--- a/
src/services/collection-service/collection-service.ts
+++ b/
src/services/collection-service/collection-service.ts
@@
-2,14
+2,15
@@
//
// SPDX-License-Identifier: AGPL-3.0
//
// SPDX-License-Identifier: AGPL-3.0
-import { CollectionResource } from "
~/
models/collection";
+import { CollectionResource } from "models/collection";
import { AxiosInstance } from "axios";
import { AxiosInstance } from "axios";
-import { CollectionFile, CollectionDirectory } from "
~/
models/collection-file";
-import { WebDAV } from "
~/
common/webdav";
+import { CollectionFile, CollectionDirectory } from "models/collection-file";
+import { WebDAV } from "common/webdav";
import { AuthService } from "../auth-service/auth-service";
import { extractFilesData } from "./collection-service-files-response";
import { AuthService } from "../auth-service/auth-service";
import { extractFilesData } from "./collection-service-files-response";
-import { TrashableResourceService } from "~/services/common-service/trashable-resource-service";
-import { ApiActions } from "~/services/api/api-actions";
+import { TrashableResourceService } from "services/common-service/trashable-resource-service";
+import { ApiActions } from "services/api/api-actions";
+import { customEncodeURI } from "common/url";
export type UploadProgress = (fileId: number, loaded: number, total: number, currentTime: number) => void;
export type UploadProgress = (fileId: number, loaded: number, total: number, currentTime: number) => void;
@@
-27,6
+28,14
@@
export class CollectionService extends TrashableResourceService<CollectionResour
]);
}
]);
}
+ create(data?: Partial<CollectionResource>) {
+ return super.create({ ...data, preserveVersion: true });
+ }
+
+ update(uuid: string, data: Partial<CollectionResource>) {
+ return super.update(uuid, { ...data, preserveVersion: true });
+ }
+
async files(uuid: string) {
const request = await this.webdavClient.propfind(`c=${uuid}`);
if (request.responseXML != null) {
async files(uuid: string) {
const request = await this.webdavClient.propfind(`c=${uuid}`);
if (request.responseXML != null) {
@@
-55,20
+64,24
@@
export class CollectionService extends TrashableResourceService<CollectionResour
await this.webdavClient.delete(`c=${path}`);
}
}
await this.webdavClient.delete(`c=${path}`);
}
}
+ await this.update(collectionUuid, { preserveVersion: true });
}
async uploadFiles(collectionUuid: string, files: File[], onProgress?: UploadProgress) {
}
async uploadFiles(collectionUuid: string, files: File[], onProgress?: UploadProgress) {
+ if (collectionUuid === "" || files.length === 0) { return; }
// files have to be uploaded sequentially
for (let idx = 0; idx < files.length; idx++) {
await this.uploadFile(collectionUuid, files[idx], idx, onProgress);
}
// files have to be uploaded sequentially
for (let idx = 0; idx < files.length; idx++) {
await this.uploadFile(collectionUuid, files[idx], idx, onProgress);
}
+ await this.update(collectionUuid, { preserveVersion: true });
}
}
- moveFile(collectionUuid: string, oldPath: string, newPath: string) {
-
return
this.webdavClient.move(
+
async
moveFile(collectionUuid: string, oldPath: string, newPath: string) {
+
await
this.webdavClient.move(
`c=${collectionUuid}${oldPath}`,
`c=${collectionUuid}${oldPath}`,
- `c=${collectionUuid}
${e
ncodeURI(newPath)}`
+ `c=${collectionUuid}
/${customE
ncodeURI(newPath)}`
);
);
+ await this.update(collectionUuid, { preserveVersion: true });
}
extendFileURL = (file: CollectionDirectory | CollectionFile) => {
}
extendFileURL = (file: CollectionDirectory | CollectionFile) => {
@@
-94,7
+107,7
@@
export class CollectionService extends TrashableResourceService<CollectionResour
},
onUploadProgress: (e: ProgressEvent) => {
onProgress(fileId, e.loaded, e.total, Date.now());
},
onUploadProgress: (e: ProgressEvent) => {
onProgress(fileId, e.loaded, e.total, Date.now());
- }
+ }
,
};
return this.webdavClient.upload(fileURL, [file], requestConfig);
}
};
return this.webdavClient.upload(fileURL, [file], requestConfig);
}