mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
61 lines
1.9 KiB
TypeScript
61 lines
1.9 KiB
TypeScript
import { Component, Input } from '@angular/core';
|
|
import { DynamicInputModel, DynamicTextAreaModel } from '@ng-dynamic-forms/core';
|
|
import { DynamicFormControlModel } from '@ng-dynamic-forms/core/src/model/dynamic-form-control.model';
|
|
import { Community } from '../../core/shared/community.model';
|
|
import { ResourceType } from '../../core/shared/resource-type';
|
|
import { ComColFormComponent } from '../../shared/comcol-forms/comcol-form/comcol-form.component';
|
|
|
|
/**
|
|
* Form used for creating and editing communities
|
|
*/
|
|
@Component({
|
|
selector: 'ds-community-form',
|
|
styleUrls: ['../../shared/comcol-forms/comcol-form/comcol-form.component.scss'],
|
|
templateUrl: '../../shared/comcol-forms/comcol-form/comcol-form.component.html'
|
|
})
|
|
export class CommunityFormComponent extends ComColFormComponent<Community> {
|
|
/**
|
|
* @type {Community} A new community when a community is being created, an existing Input community when a community is being edited
|
|
*/
|
|
@Input() dso: Community = new Community();
|
|
|
|
/**
|
|
* @type {Community.type} This is a community-type form
|
|
*/
|
|
protected type = Community.type;
|
|
|
|
/**
|
|
* The dynamic form fields used for creating/editing a community
|
|
* @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',
|
|
}),
|
|
];
|
|
}
|