mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 15:03:07 +00:00
added typedoc
This commit is contained in:
@@ -92,6 +92,14 @@ export class RelationshipService extends DataService<Relationship> {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to create a new relationship
|
||||
* @param typeId The identifier of the relationship type
|
||||
* @param item1 The first item of the relationship
|
||||
* @param item2 The second item of the relationship
|
||||
* @param leftwardValue The leftward value of the relationship
|
||||
* @param rightwardValue The rightward value of the relationship
|
||||
*/
|
||||
addRelationship(typeId: string, item1: Item, item2: Item, leftwardValue?: string, rightwardValue?: string): Observable<RestResponse> {
|
||||
const options: HttpOptions = Object.create({});
|
||||
let headers = new HttpHeaders();
|
||||
@@ -112,6 +120,10 @@ export class RelationshipService extends DataService<Relationship> {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to remove two items of a relationship from the cache using the identifier of the relationship
|
||||
* @param relationshipId The identifier of the relationship
|
||||
*/
|
||||
private removeRelationshipItemsFromCacheByRelationship(relationshipId: string) {
|
||||
this.findById(relationshipId).pipe(
|
||||
getSucceededRemoteData(),
|
||||
@@ -128,6 +140,10 @@ export class RelationshipService extends DataService<Relationship> {
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to remove an item that's part of a relationship from the cache
|
||||
* @param item The item to remove from the cache
|
||||
*/
|
||||
private removeRelationshipItemsFromCache(item) {
|
||||
this.objectCache.remove(item.self);
|
||||
this.requestService.removeByHrefSubstring(item.self);
|
||||
@@ -258,6 +274,12 @@ export class RelationshipService extends DataService<Relationship> {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to retrieve a relationship based on two items and a relationship type label
|
||||
* @param item1 The first item in the relationship
|
||||
* @param item2 The second item in the relationship
|
||||
* @param label The rightward or leftward type of the relationship
|
||||
*/
|
||||
getRelationshipByItemsAndLabel(item1: Item, item2: Item, label: string): Observable<Relationship> {
|
||||
return this.getItemRelationshipsByLabel(item1, label)
|
||||
.pipe(
|
||||
@@ -287,24 +309,51 @@ export class RelationshipService extends DataService<Relationship> {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to set the name variant for specific list and item
|
||||
* @param listID The list for which to save the name variant
|
||||
* @param itemID The item ID for which to save the name variant
|
||||
* @param nameVariant The name variant to save
|
||||
*/
|
||||
public setNameVariant(listID: string, itemID: string, nameVariant: string) {
|
||||
this.appStore.dispatch(new SetNameVariantAction(listID, itemID, nameVariant));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to retrieve the name variant for a specific list and item
|
||||
* @param listID The list for which to retrieve the name variant
|
||||
* @param itemID The item ID for which to retrieve the name variant
|
||||
*/
|
||||
public getNameVariant(listID: string, itemID: string): Observable<string> {
|
||||
return this.appStore.pipe(
|
||||
select(relationshipStateSelector(listID, itemID))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to remove the name variant for specific list and item
|
||||
* @param listID The list for which to remove the name variant
|
||||
* @param itemID The item ID for which to remove the name variant
|
||||
*/
|
||||
public removeNameVariant(listID: string, itemID: string) {
|
||||
this.appStore.dispatch(new RemoveNameVariantAction(listID, itemID));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to retrieve all name variants for a single list
|
||||
* @param listID The id of the list
|
||||
*/
|
||||
public getNameVariantsByListID(listID: string) {
|
||||
return this.appStore.pipe(select(relationshipListStateSelector(listID)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to update the name variant on the server
|
||||
* @param item1 The first item of the relationship
|
||||
* @param item2 The second item of the relationship
|
||||
* @param relationshipLabel The leftward or rightward type of the relationship
|
||||
* @param nameVariant The name variant to set for the matching relationship
|
||||
*/
|
||||
public updateNameVariant(item1: Item, item2: Item, relationshipLabel: string, nameVariant: string): Observable<RemoteData<Relationship>> {
|
||||
return this.getRelationshipByItemsAndLabel(item1, item2, relationshipLabel)
|
||||
.pipe(
|
||||
|
Reference in New Issue
Block a user