Files
dspace-angular/src/app/+item-page/edit-item-page/item-public/item-public.component.ts
Yana De Pauw d9a393c8e6 Add Item Status Edit Actions
Add the Item Withdraw and Reistate action
Add the make Item Private and Public action
Add the Permanently Delete action
2018-12-18 16:52:11 +01:00

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);
}
);
}
}