[ADF-2567] delete a version (#3151)

* configuration support for version manager

* checkbox for version deletion demo

* i18n support for version manager

* deleting versions

* confirmation dialog for version deletion

* readme update

* update schema

* update code as per code review

* update i18n resources for demo shell

* unit tests
This commit is contained in:
Denys Vuika
2018-04-06 18:40:17 +01:00
committed by GitHub
parent 313d7f30cf
commit 5325fd4cd4
19 changed files with 285 additions and 43 deletions

View File

@@ -5,6 +5,11 @@
"COMMENTS": "Comments",
"PROPERTIES": "Properties",
"VERSIONS": "Versions"
},
"ADF_VERSION_MANAGER": {
"ALLOW_DELETE": "Allow delete",
"SHOW_COMMENTS" : "Show comments on versions",
"ALLOW_DOWNLOAD" :"Enable version download"
}
},
"title": "Welcome",
@@ -67,11 +72,9 @@
"CUSTOM_FILTER" :"Custom extensions filter",
"MAX_SIZE" : "Max size filter",
"ENABLE_VERSIONING" :"Enable versioning",
"ENABLE_VERSION_DOWNLOAD" :"Enable version download",
"DESCRIPTION_UPLOAD" : "Enable upload",
"ENABLE_INFINITE_SCROLL":"Enable Infinite Scrolling",
"MULTISELECT_DESCRIPTION" : "Use Cmd (Mac) or Ctrl (Windows) to toggle selection of multiple items",
"SHOW_VERSION_COMMENTS" : "Show comments on versions",
"RECENT" : {
"EMPTY_STATE": {
"TITLE": "Recent is empty"

View File

@@ -484,5 +484,10 @@
"exif:exif": "*"
}
}
},
"adf-version-manager": {
"allowComments": true,
"allowDownload": true,
"allowDelete": true
}
}

View File

@@ -362,7 +362,8 @@
<adf-version-manager
[node]="documentList.selection[0].entry"
[showComments]="showVersionComments"
[enableDownload]="enableVersionDownload">
[allowDownload]="allowVersionDownload"
[allowDelete]="allowVersionDelete">
</adf-version-manager>
</ng-container>
</ng-container>
@@ -437,23 +438,32 @@
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">{{'DOCUMENT_LIST.ENABLE_VERSIONING' |
translate}}
<mat-slide-toggle [color]="'primary'" [(ngModel)]="versioning">
{{'DOCUMENT_LIST.ENABLE_VERSIONING' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="infiniteScrolling">
<mat-slide-toggle color="primary" [(ngModel)]="infiniteScrolling">
{{'DOCUMENT_LIST.ENABLE_INFINITE_SCROLL' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="showVersionComments">
{{'DOCUMENT_LIST.SHOW_VERSION_COMMENTS' | translate}}
<mat-slide-toggle color="primary" [(ngModel)]="showVersionComments">
{{'APP.ADF_VERSION_MANAGER.SHOW_COMMENTS' | translate}}
</mat-slide-toggle>
<mat-slide-toggle [color]="'primary'" [(ngModel)]="enableVersionDownload">
{{'DOCUMENT_LIST.ENABLE_VERSION_DOWNLOAD' | translate}}
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="allowVersionDownload">
{{'APP.ADF_VERSION_MANAGER.ALLOW_DOWNLOAD' | translate}}
</mat-slide-toggle>
</section>
<section>
<mat-slide-toggle color="primary" [(ngModel)]="allowVersionDelete">
{{'APP.ADF_VERSION_MANAGER.ALLOW_DELETE' | translate}}
</mat-slide-toggle>
</section>

View File

@@ -103,7 +103,10 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
versioning = false;
@Input()
enableVersionDownload = true;
allowVersionDownload = true;
@Input()
allowVersionDelete = true;
@Input()
acceptedFilesType = '.jpg,.pdf,.js';
@@ -365,11 +368,11 @@ export class FilesComponent implements OnInit, OnChanges, OnDestroy {
onManageVersions(event) {
const contentEntry = event.value.entry;
const showComments = this.showVersionComments;
const enableDownload = this.enableVersionDownload;
const allowDownload = this.allowVersionDownload;
if (this.contentService.hasPermission(contentEntry, 'update')) {
this.dialog.open(VersionManagerDialogAdapterComponent, {
data: { contentEntry, showComments, enableDownload },
data: { contentEntry, showComments, allowDownload },
panelClass: 'adf-version-manager-dialog',
width: '630px'
});

View File

@@ -1,6 +1,6 @@
<header mat-dialog-title>{{'VERSION.DIALOG.TITLE' | translate}}</header>
<section mat-dialog-content>
<adf-version-manager [node]="contentEntry" [enableDownload]="enableDownload" [showComments]="showComments" (uploadError)="uploadError($event)"></adf-version-manager>
<adf-version-manager [node]="contentEntry" [allowDownload]="allowDownload" [showComments]="showComments" (uploadError)="uploadError($event)"></adf-version-manager>
</section>
<footer mat-dialog-actions fxLayout="row" fxLayoutAlign="end center">
<button mat-button (click)="close()">{{'VERSION.DIALOG.CLOSE' | translate}}</button>

View File

@@ -28,14 +28,14 @@ export class VersionManagerDialogAdapterComponent {
public contentEntry: MinimalNodeEntryEntity;
showComments = true;
enableDownload = true;
allowDownload = true;
constructor(@Inject(MAT_DIALOG_DATA) data: any,
private snackBar: MatSnackBar,
private containingDialog?: MatDialogRef<VersionManagerDialogAdapterComponent>) {
this.contentEntry = data.contentEntry;
this.showComments = data.hasOwnProperty('showComments') ? data.showComments : this.showComments;
this.enableDownload = data.hasOwnProperty('enableDownload') ? data.enableDownload : this.enableDownload;
this.allowDownload = data.hasOwnProperty('allowDownload') ? data.enableDownload : this.allowDownload;
}
uploadError(errorMessage: string) {