mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACA-45] Drag and Drop a New Version (#5710)
* added a new input: file * unit test - having singleFile option and a file as input, the type of the input for uploading should be button instead of file * added a click event for the upload button and also handle if having a file as input, the type of the input should be 'button' instead of 'file' * handling allowed for upload also for 'update' permissions over a dropped file. also emitting a new event for updating file version if i'm dropping a single file over another file. * unit tests for handling dropping a file over another * added a new input (file type) * passing a file to adf-version-upload component * new input as file and toggle new version if having that as input + unit test * added new input as file for new version * added new input to allow dropping a file over another to update it's version * added a new variable for handling dropping a file over another one and also handle a new event when we update the file version * pass a new dropped file to the dialog * new message * new method to allow isDropTarget for a file instead only to folders. * new emitter for updating a file's version * allows updating a file's version by dropping another file over it. * refactor allowDropFiles * update docs for drag&drop file into another file * update for drag&drop a file over another file functionality * made the allowDropFiles checking optional for isDropTarget property, only checking if the value is passed to the share-data-row Co-authored-by: Eugenio Romano <eugenio.romano@alfresco.com>
This commit is contained in:
@@ -75,9 +75,9 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
toolbarColor = 'default';
|
||||
|
||||
selectionModes = [
|
||||
{ value: 'none', viewValue: 'None' },
|
||||
{ value: 'single', viewValue: 'Single' },
|
||||
{ value: 'multiple', viewValue: 'Multiple' }
|
||||
{value: 'none', viewValue: 'None'},
|
||||
{value: 'single', viewValue: 'Single'},
|
||||
{value: 'multiple', viewValue: 'Multiple'}
|
||||
];
|
||||
|
||||
// The identifier of a node. You can also use one of these well-known aliases: -my- | -shared- | -root-
|
||||
@@ -237,6 +237,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
}
|
||||
|
||||
toggleAllowDropFiles() {
|
||||
this.allowDropFiles = !this.allowDropFiles;
|
||||
this.documentList.reload();
|
||||
}
|
||||
|
||||
@@ -322,7 +323,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
getCurrentDocumentListNode(): MinimalNodeEntity[] {
|
||||
if (this.documentList.folderNode) {
|
||||
return [{ entry: this.documentList.folderNode }];
|
||||
return [{entry: this.documentList.folderNode}];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
@@ -427,7 +428,7 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
|
||||
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
|
||||
this.dialog.open(VersionManagerDialogAdapterComponent, {
|
||||
data: { contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload },
|
||||
data: {contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload},
|
||||
panelClass: 'adf-version-manager-dialog',
|
||||
width: '630px'
|
||||
});
|
||||
@@ -591,6 +592,27 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
|
||||
this.logService.log(event);
|
||||
}
|
||||
|
||||
onUploadNewVersion(ev) {
|
||||
const contentEntry = ev.detail.data.node.entry;
|
||||
const showComments = this.showVersionComments;
|
||||
const allowDownload = this.allowVersionDownload;
|
||||
const newFileVersion = ev.detail.files[0].file;
|
||||
|
||||
if (this.contentService.hasAllowableOperations(contentEntry, 'update')) {
|
||||
this.dialog.open(VersionManagerDialogAdapterComponent, {
|
||||
data: {
|
||||
contentEntry: contentEntry, showComments: showComments, allowDownload: allowDownload,
|
||||
newFileVersion: newFileVersion, showComparison: true
|
||||
},
|
||||
panelClass: 'adf-version-manager-dialog',
|
||||
width: '630px'
|
||||
});
|
||||
} else {
|
||||
const translatedErrorMessage: any = this.translateService.instant('OPERATION.ERROR.PERMISSION');
|
||||
this.openSnackMessage(translatedErrorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
getFileFiltering(): string {
|
||||
return this.acceptedFilesTypeShow ? this.acceptedFilesType : '*';
|
||||
}
|
||||
|
Reference in New Issue
Block a user