mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-08 18:44:14 +00:00

Add the Item Withdraw and Reistate action Add the make Item Private and Public action Add the Permanently Delete action
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import {Component} from '@angular/core';
|
|
import {first} from 'rxjs/operators';
|
|
import {RestResponse} from '../../../core/cache/response-cache.models';
|
|
import {AbstractSimpleItemActionComponent} from '../simple-item-action/abstract-simple-item-action.component';
|
|
import {RemoteData} from '../../../core/data/remote-data';
|
|
import {Item} from '../../../core/shared/item.model';
|
|
|
|
@Component({
|
|
selector: 'ds-item-public',
|
|
templateUrl: '../simple-item-action/abstract-simple-item-action.component.html'
|
|
})
|
|
/**
|
|
* Component responsible for rendering the make item public page
|
|
*/
|
|
export class ItemPublicComponent extends AbstractSimpleItemActionComponent {
|
|
|
|
protected messageKey = 'public';
|
|
protected predicate = (rd: RemoteData<Item>) => rd.payload.isDiscoverable;
|
|
|
|
/**
|
|
* Perform the make public action to the item
|
|
*/
|
|
performAction() {
|
|
this.itemDataService.setDiscoverable(this.item.id, true).pipe(first()).subscribe(
|
|
(response: RestResponse) => {
|
|
this.processRestResponse(response);
|
|
}
|
|
);
|
|
}
|
|
}
|