"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/app/collection-page/collection-form/collection-form.component.ts" between
dspace-angular-dspace-7.0.tar.gz and dspace-angular-dspace-7.1.tar.gz

About: dspace-angular is the Angular-based frontend of DSpace, a digital repository system to capture, store, index, preserve and redistribute an organization’s research material in digital formats.

collection-form.component.ts  (dspace-angular-dspace-7.0):collection-form.component.ts  (dspace-angular-dspace-7.1)
import { Component, Input } from '@angular/core'; import { Component, Input, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';
import { import {
DynamicFormControlModel, DynamicFormControlModel,
DynamicFormOptionConfig,
DynamicFormService, DynamicFormService,
DynamicInputModel, DynamicSelectModel
DynamicTextAreaModel
} from '@ng-dynamic-forms/core'; } from '@ng-dynamic-forms/core';
import { Collection } from '../../core/shared/collection.model'; import { Collection } from '../../core/shared/collection.model';
import { ComColFormComponent } from '../../shared/comcol-forms/comcol-form/comco l-form.component'; import { ComColFormComponent } from '../../shared/comcol-forms/comcol-form/comco l-form.component';
import { TranslateService } from '@ngx-translate/core';
import { NotificationsService } from '../../shared/notifications/notifications.s ervice'; import { NotificationsService } from '../../shared/notifications/notifications.s ervice';
import { CommunityDataService } from '../../core/data/community-data.service'; import { CommunityDataService } from '../../core/data/community-data.service';
import { AuthService } from '../../core/auth/auth.service'; import { AuthService } from '../../core/auth/auth.service';
import { RequestService } from '../../core/data/request.service'; import { RequestService } from '../../core/data/request.service';
import { ObjectCacheService } from '../../core/cache/object-cache.service'; import { ObjectCacheService } from '../../core/cache/object-cache.service';
import { EntityTypeService } from '../../core/data/entity-type.service';
import { ItemType } from '../../core/shared/item-relationships/item-type.model';
import { MetadataValue } from '../../core/shared/metadata.models';
import { getFirstSucceededRemoteListPayload } from '../../core/shared/operators'
;
import { collectionFormEntityTypeSelectionConfig, collectionFormModels, } from '
./collection-form.models';
import { NONE_ENTITY_TYPE } from '../../core/shared/item-relationships/item-type
.resource-type';
/** /**
* Form used for creating and editing collections * Form used for creating and editing collections
*/ */
@Component({ @Component({
selector: 'ds-collection-form', selector: 'ds-collection-form',
styleUrls: ['../../shared/comcol-forms/comcol-form/comcol-form.component.scss' ], styleUrls: ['../../shared/comcol-forms/comcol-form/comcol-form.component.scss' ],
templateUrl: '../../shared/comcol-forms/comcol-form/comcol-form.component.html ' templateUrl: '../../shared/comcol-forms/comcol-form/comcol-form.component.html '
}) })
export class CollectionFormComponent extends ComColFormComponent<Collection> { export class CollectionFormComponent extends ComColFormComponent<Collection> imp lements OnInit {
/** /**
* @type {Collection} A new collection when a collection is being created, an existing Input collection when a collection is being edited * @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(); @Input() dso: Collection = new Collection();
/** /**
* @type {Collection.type} This is a collection-type form * @type {Collection.type} This is a collection-type form
*/ */
type = Collection.type; type = Collection.type;
/** /**
* The dynamic form field used for entity type selection
* @type {DynamicSelectModel<string>}
*/
entityTypeSelection: DynamicSelectModel<string> = new DynamicSelectModel(colle
ctionFormEntityTypeSelectionConfig);
/**
* The dynamic form fields used for creating/editing a collection * The dynamic form fields used for creating/editing a collection
* @type {(DynamicInputModel | DynamicTextAreaModel)[]} * @type {DynamicFormControlModel[]}
*/ */
formModel: DynamicFormControlModel[] = [ 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 formService: DynamicFormService, public constructor(protected formService: DynamicFormService,
protected translate: TranslateService, protected translate: TranslateService,
protected notificationsService: NotificationsService, protected notificationsService: NotificationsService,
protected authService: AuthService, protected authService: AuthService,
protected dsoService: CommunityDataService, protected dsoService: CommunityDataService,
protected requestService: RequestService, protected requestService: RequestService,
protected objectCache: ObjectCacheService) { protected objectCache: ObjectCacheService,
protected entityTypeService: EntityTypeService) {
super(formService, translate, notificationsService, authService, requestServ ice, objectCache); super(formService, translate, notificationsService, authService, requestServ ice, objectCache);
} }
ngOnInit() {
let currentRelationshipValue: MetadataValue[];
if (this.dso && this.dso.metadata) {
currentRelationshipValue = this.dso.metadata['dspace.entity.type'];
}
const entities$: Observable<ItemType[]> = this.entityTypeService.findAll({ e
lementsPerPage: 100, currentPage: 1 }).pipe(
getFirstSucceededRemoteListPayload()
);
// retrieve all entity types to populate the dropdowns selection
entities$.subscribe((entityTypes: ItemType[]) => {
entityTypes
.filter((type: ItemType) => type.label !== NONE_ENTITY_TYPE)
.forEach((type: ItemType, index: number) => {
this.entityTypeSelection.add({
disabled: false,
label: type.label,
value: type.label
} as DynamicFormOptionConfig<string>);
if (currentRelationshipValue && currentRelationshipValue.length > 0 &&
currentRelationshipValue[0].value === type.label) {
this.entityTypeSelection.select(index);
this.entityTypeSelection.disabled = true;
}
});
this.formModel = [...collectionFormModels, this.entityTypeSelection];
super.ngOnInit();
});
}
} }
 End of changes. 12 change blocks. 
44 lines changed or deleted 65 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)