mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 18:14:17 +00:00
64387: UploadBitstreamComponent intermediate commit
This commit is contained in:
@@ -175,6 +175,8 @@
|
||||
"home.title": "DSpace Angular :: Home",
|
||||
"home.top-level-communities.head": "Communities in DSpace",
|
||||
"home.top-level-communities.help": "Select a community to browse its collections.",
|
||||
"item.bitstreams.upload.bundle-name": "Bundle Name",
|
||||
"item.bitstreams.upload.drop-message": "Drop a file to upload",
|
||||
"item.edit.delete.cancel": "Cancel",
|
||||
"item.edit.delete.confirm": "Delete",
|
||||
"item.edit.delete.description": "Are you sure this item should be completely deleted? Caution: At present, no tombstone would be left.",
|
||||
|
@@ -0,0 +1,14 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="form-row col-12">
|
||||
<ng-container *ngVar="(bundleName$ | async) as bundleName">
|
||||
<label for="bundleName">{{"item.bitstreams.upload.bundle-name" | translate}}</label>
|
||||
<input id="bundleName"
|
||||
[value]="bundleName ? bundleName : 'ORIGINAL'"
|
||||
type="text"
|
||||
class="form-control" />
|
||||
</ng-container>
|
||||
<ds-uploader [dropMsg]="'item.bitstreams.upload.drop-message' | translate"></ds-uploader>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,37 @@
|
||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
import { RemoteData } from '../../../core/data/remote-data';
|
||||
import { Item } from '../../../core/shared/item.model';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-upload-bitstream',
|
||||
templateUrl: './upload-bitstream.component.html',
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
/**
|
||||
* Page component for uploading a bitstream to an item
|
||||
*/
|
||||
export class UploadBitstreamComponent implements OnInit {
|
||||
|
||||
/**
|
||||
* The item to upload a bitstream to
|
||||
*/
|
||||
itemRD$: Observable<RemoteData<Item>>;
|
||||
|
||||
/**
|
||||
* The name of the bundle to add the bitstream to
|
||||
* Defaults to ORIGINAL
|
||||
*/
|
||||
bundleName$: Observable<string>;
|
||||
|
||||
constructor(private route: ActivatedRoute) {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.itemRD$ = this.route.data.pipe(map((data) => data.item));
|
||||
this.bundleName$ = this.route.queryParams.pipe(map((params) => params.bundleName));
|
||||
}
|
||||
|
||||
}
|
@@ -7,6 +7,7 @@ import { ItemPageResolver } from './item-page.resolver';
|
||||
import { URLCombiner } from '../core/url-combiner/url-combiner';
|
||||
import { getItemModulePath } from '../app-routing.module';
|
||||
import { AuthenticatedGuard } from '../core/auth/authenticated.guard';
|
||||
import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component';
|
||||
|
||||
export function getItemPageRoute(itemId: string) {
|
||||
return new URLCombiner(getItemModulePath(), itemId).toString();
|
||||
@@ -16,6 +17,7 @@ export function getItemEditPath(id: string) {
|
||||
}
|
||||
|
||||
const ITEM_EDIT_PATH = ':id/edit';
|
||||
const UPLOAD_BITSTREAM_PATH = ':id/bitstreams/new';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -40,6 +42,14 @@ const ITEM_EDIT_PATH = ':id/edit';
|
||||
loadChildren: './edit-item-page/edit-item-page.module#EditItemPageModule',
|
||||
canActivate: [AuthenticatedGuard]
|
||||
},
|
||||
{
|
||||
path: UPLOAD_BITSTREAM_PATH,
|
||||
component: UploadBitstreamComponent,
|
||||
resolve: {
|
||||
item: ItemPageResolver
|
||||
},
|
||||
canActivate: [AuthenticatedGuard]
|
||||
}
|
||||
])
|
||||
],
|
||||
providers: [
|
||||
|
@@ -26,6 +26,7 @@ import { MetadataRepresentationListComponent } from './simple/metadata-represent
|
||||
import { RelatedEntitiesSearchComponent } from './simple/related-entities/related-entities-search/related-entities-search.component';
|
||||
import { MetadataValuesComponent } from './field-components/metadata-values/metadata-values.component';
|
||||
import { MetadataFieldWrapperComponent } from './field-components/metadata-field-wrapper/metadata-field-wrapper.component';
|
||||
import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
@@ -53,7 +54,8 @@ import { MetadataFieldWrapperComponent } from './field-components/metadata-field
|
||||
ItemComponent,
|
||||
GenericItemPageFieldComponent,
|
||||
MetadataRepresentationListComponent,
|
||||
RelatedEntitiesSearchComponent
|
||||
RelatedEntitiesSearchComponent,
|
||||
UploadBitstreamComponent
|
||||
],
|
||||
exports: [
|
||||
ItemComponent,
|
||||
|
Reference in New Issue
Block a user