mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00

# Conflicts: # src/app/+collection-page/collection-form/collection-form.component.ts # src/app/+community-page/community-form/community-form.component.ts # src/app/shared/comcol-forms/comcol-form/comcol-form.component.ts
90 lines
3.0 KiB
TypeScript
90 lines
3.0 KiB
TypeScript
import { Component, Input } from '@angular/core';
|
|
import {
|
|
DynamicFormControlModel,
|
|
DynamicFormService,
|
|
DynamicInputModel,
|
|
DynamicTextAreaModel
|
|
} from '@ng-dynamic-forms/core';
|
|
import { Collection } from '../../core/shared/collection.model';
|
|
import { ComColFormComponent } from '../../shared/comcol-forms/comcol-form/comcol-form.component';
|
|
import { Location } from '@angular/common';
|
|
import { TranslateService } from '@ngx-translate/core';
|
|
import { NotificationsService } from '../../shared/notifications/notifications.service';
|
|
import { CommunityDataService } from '../../core/data/community-data.service';
|
|
import { AuthService } from '../../core/auth/auth.service';
|
|
import { RequestService } from '../../core/data/request.service';
|
|
import { ObjectCacheService } from '../../core/cache/object-cache.service';
|
|
|
|
/**
|
|
* Form used for creating and editing collections
|
|
*/
|
|
@Component({
|
|
selector: 'ds-collection-form',
|
|
styleUrls: ['../../shared/comcol-forms/comcol-form/comcol-form.component.scss'],
|
|
templateUrl: '../../shared/comcol-forms/comcol-form/comcol-form.component.html'
|
|
})
|
|
export class CollectionFormComponent extends ComColFormComponent<Collection> {
|
|
/**
|
|
* @type {Collection} A new collection when a collection is being created, an existing Input collection when a collection is being edited
|
|
*/
|
|
@Input() dso: Collection = new Collection();
|
|
|
|
/**
|
|
* @type {Collection.type} This is a collection-type form
|
|
*/
|
|
type = Collection.type;
|
|
|
|
/**
|
|
* The dynamic form fields used for creating/editing a collection
|
|
* @type {(DynamicInputModel | DynamicTextAreaModel)[]}
|
|
*/
|
|
formModel: DynamicFormControlModel[] = [
|
|
new DynamicInputModel({
|
|
id: 'title',
|
|
name: 'dc.title',
|
|
required: true,
|
|
validators: {
|
|
required: null
|
|
},
|
|
errorMessages: {
|
|
required: 'Please enter a name for this title'
|
|
},
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'description',
|
|
name: 'dc.description',
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'abstract',
|
|
name: 'dc.description.abstract',
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'rights',
|
|
name: 'dc.rights',
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'tableofcontents',
|
|
name: 'dc.description.tableofcontents',
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'license',
|
|
name: 'dc.rights.license',
|
|
}),
|
|
new DynamicTextAreaModel({
|
|
id: 'provenance',
|
|
name: 'dc.description.provenance',
|
|
}),
|
|
];
|
|
|
|
public constructor(protected location: Location,
|
|
protected formService: DynamicFormService,
|
|
protected translate: TranslateService,
|
|
protected notificationsService: NotificationsService,
|
|
protected authService: AuthService,
|
|
protected dsoService: CommunityDataService,
|
|
protected requestService: RequestService,
|
|
protected objectCache: ObjectCacheService) {
|
|
super(location, formService, translate, notificationsService, authService, requestService, objectCache);
|
|
}
|
|
}
|