ontimize-web-ngx-filemanager
Version:
An implementation of file management system for Ontimize Web
57 lines • 8.47 kB
JavaScript
import { OFileUploader } from 'ontimize-web-ngx';
export class OFileUploaderExtended extends OFileUploader {
constructor(service, entity, form, parentKey, filemanagerService, workspaceService) {
super(service, entity);
this.form = form;
this.parentKey = parentKey;
this.filemanagerService = filemanagerService;
this.workspaceService = workspaceService;
}
setParentItem(val) {
this.parentItem = val;
}
getParentItem() {
return this.parentItem;
}
/**
* Uploads a single file on a single request.
* @param item the file to upload
*/
uploadItem(item) {
item.prepareToUpload();
if (this.isUploading || item.isUploading) {
return;
}
this.isUploading = true;
item.isUploading = true;
this._onBeforeUploadItem(item);
if (this.service === undefined) {
console.warn('No service configured! aborting upload');
return;
}
if (this._uploadSuscription) {
this._uploadSuscription.unsubscribe();
}
const workspaceId = this.workspaceService.getWorkspace();
let folderId;
if (this.parentKey && this.parentItem.hasOwnProperty(this.parentKey)) {
folderId = this.parentItem[this.parentKey];
}
const self = this;
this._uploadSuscription =
this.filemanagerService.upload(workspaceId, folderId, [item]).subscribe(resp => {
if (resp.loaded && resp.total) {
const progress = Math.round(resp.loaded * 100 / resp.total);
self._onProgressItem(item, progress);
}
else if ((resp.documentId && resp.fileId && resp.versionId) || (resp.data != null && resp.data.length > 0)) {
self._onSuccessItem(item, resp);
}
else {
console.log('error');
self._onErrorItem(item, 'Unknow error');
}
}, err => self._onErrorItem(item, err), () => self._onCompleteItem(item));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1maWxlLXVwbG9hZGVyLWV4dGVuZGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC1maWxlbWFuYWdlci9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1pbnB1dC9vLWZpbGUtdXBsb2FkZXItZXh0ZW5kZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixhQUFhLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFLMUYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFRdEQsWUFDRSxPQUFxQixFQUNyQixNQUFjLEVBQ2QsSUFBb0IsRUFDcEIsU0FBaUIsRUFDakIsa0JBQXVCLEVBQ3ZCLGdCQUFrQztRQUVsQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFRO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxVQUFVLENBQUMsSUFBZTtRQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRS9CLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87U0FDUjtRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN2QztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6RCxJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEUsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0I7WUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdFLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQ3RDO3FCQUFNLElBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQzdHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUNqQztxQkFBTTtvQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztpQkFDekM7WUFDSCxDQUFDLEVBQ0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDbkMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FDakMsQ0FBQztJQUNOLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWxlU2VydmljZSwgT0ZpbGVJdGVtLCBPRmlsZVVwbG9hZGVyLCBPRm9ybUNvbXBvbmVudCB9IGZyb20gJ29udGltaXplLXdlYi1uZ3gnO1xuXG5pbXBvcnQgeyBJRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9maWxlbWFuYWdlci5zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXb3Jrc3BhY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd29ya3NwYWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgT0ZpbGVVcGxvYWRlckV4dGVuZGVkIGV4dGVuZHMgT0ZpbGVVcGxvYWRlciB7XG5cbiAgcHJvdGVjdGVkIGZvcm06IE9Gb3JtQ29tcG9uZW50O1xuICBwYXJlbnRLZXk6IHN0cmluZztcbiAgcHJvdGVjdGVkIGZpbGVtYW5hZ2VyU2VydmljZTogSUZpbGVNYW5hZ2VyU2VydmljZTtcbiAgcHJvdGVjdGVkIHBhcmVudEl0ZW06IGFueTtcbiAgcHJvdGVjdGVkIHdvcmtzcGFjZVNlcnZpY2U6IFdvcmtzcGFjZVNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VydmljZTogSUZpbGVTZXJ2aWNlLFxuICAgIGVudGl0eTogc3RyaW5nLFxuICAgIGZvcm06IE9Gb3JtQ29tcG9uZW50LFxuICAgIHBhcmVudEtleTogc3RyaW5nLFxuICAgIGZpbGVtYW5hZ2VyU2VydmljZTogYW55LFxuICAgIHdvcmtzcGFjZVNlcnZpY2U6IFdvcmtzcGFjZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoc2VydmljZSwgZW50aXR5KTtcbiAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgIHRoaXMucGFyZW50S2V5ID0gcGFyZW50S2V5O1xuICAgIHRoaXMuZmlsZW1hbmFnZXJTZXJ2aWNlID0gZmlsZW1hbmFnZXJTZXJ2aWNlO1xuICAgIHRoaXMud29ya3NwYWNlU2VydmljZSA9IHdvcmtzcGFjZVNlcnZpY2U7XG4gIH1cblxuICBzZXRQYXJlbnRJdGVtKHZhbDogYW55KSB7XG4gICAgdGhpcy5wYXJlbnRJdGVtID0gdmFsO1xuICB9XG5cbiAgZ2V0UGFyZW50SXRlbSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudEl0ZW07XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkcyBhIHNpbmdsZSBmaWxlIG9uIGEgc2luZ2xlIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBpdGVtIHRoZSBmaWxlIHRvIHVwbG9hZFxuICAgKi9cbiAgdXBsb2FkSXRlbShpdGVtOiBPRmlsZUl0ZW0pOiB2b2lkIHtcbiAgICBpdGVtLnByZXBhcmVUb1VwbG9hZCgpO1xuICAgIGlmICh0aGlzLmlzVXBsb2FkaW5nIHx8IGl0ZW0uaXNVcGxvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc1VwbG9hZGluZyA9IHRydWU7XG4gICAgaXRlbS5pc1VwbG9hZGluZyA9IHRydWU7XG5cbiAgICB0aGlzLl9vbkJlZm9yZVVwbG9hZEl0ZW0oaXRlbSk7XG5cbiAgICBpZiAodGhpcy5zZXJ2aWNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gc2VydmljZSBjb25maWd1cmVkISBhYm9ydGluZyB1cGxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3VwbG9hZFN1c2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl91cGxvYWRTdXNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IHdvcmtzcGFjZUlkID0gdGhpcy53b3Jrc3BhY2VTZXJ2aWNlLmdldFdvcmtzcGFjZSgpO1xuICAgIGxldCBmb2xkZXJJZDtcbiAgICBpZiAodGhpcy5wYXJlbnRLZXkgJiYgdGhpcy5wYXJlbnRJdGVtLmhhc093blByb3BlcnR5KHRoaXMucGFyZW50S2V5KSkge1xuICAgICAgZm9sZGVySWQgPSB0aGlzLnBhcmVudEl0ZW1bdGhpcy5wYXJlbnRLZXldO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuX3VwbG9hZFN1c2NyaXB0aW9uID1cbiAgICAgIHRoaXMuZmlsZW1hbmFnZXJTZXJ2aWNlLnVwbG9hZCh3b3Jrc3BhY2VJZCwgZm9sZGVySWQsIFtpdGVtXSkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICBpZiAocmVzcC5sb2FkZWQgJiYgcmVzcC50b3RhbCkge1xuICAgICAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5yb3VuZChyZXNwLmxvYWRlZCAqIDEwMCAvIHJlc3AudG90YWwpO1xuICAgICAgICAgIHNlbGYuX29uUHJvZ3Jlc3NJdGVtKGl0ZW0sIHByb2dyZXNzKTtcbiAgICAgICAgfSBlbHNlIGlmICggKHJlc3AuZG9jdW1lbnRJZCAmJiByZXNwLmZpbGVJZCAmJiByZXNwLnZlcnNpb25JZCkgfHwgKHJlc3AuZGF0YSAhPSBudWxsICYmIHJlc3AuZGF0YS5sZW5ndGggPiAwKSkge1xuICAgICAgICAgIHNlbGYuX29uU3VjY2Vzc0l0ZW0oaXRlbSwgcmVzcCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS5sb2coJ2Vycm9yJyk7XG4gICAgICAgICAgc2VsZi5fb25FcnJvckl0ZW0oaXRlbSwgJ1Vua25vdyBlcnJvcicpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgICBlcnIgPT4gc2VsZi5fb25FcnJvckl0ZW0oaXRlbSwgZXJyKSxcbiAgICAgICAgKCkgPT4gc2VsZi5fb25Db21wbGV0ZUl0ZW0oaXRlbSlcbiAgICAgICk7XG4gIH1cblxufVxuIl19