Skip to content

Commit cdacb85

Browse files
[UXP-123][UXP-124] provided the box object to rendered type models
1 parent 066115c commit cdacb85

42 files changed

Lines changed: 329 additions & 57 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/advanced-attachment/advanced-attachment.component.spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
AuthorizationDataService
1818
} from '../../../../../../../core/data/feature-authorization/authorization-data.service';
1919
import { RouterTestingModule } from '@angular/router/testing';
20-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
20+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
2121
import { FieldRenderingType } from '../metadata-box.decorator';
2222
import { FileSizePipe } from '../../../../../../../shared/utils/file-size-pipe';
2323

@@ -137,6 +137,16 @@ describe('AdvancedAttachmentComponent', () => {
137137
isAuthorized: jasmine.createSpy('isAuthorized')
138138
});
139139

140+
const boxProviderMock: CrisLayoutBox = Object.assign(new CrisLayoutBox(), {
141+
'id': 1,
142+
'shortname': 'researchoutput',
143+
'header': 'Research Output',
144+
'entityType': 'Person',
145+
'collapsed': false,
146+
'security': 0,
147+
'boxType': 'researchoutput',
148+
});
149+
140150
const getDefaultTestBedConf = () => {
141151
return {
142152
imports: [TranslateModule.forRoot({
@@ -152,6 +162,7 @@ describe('AdvancedAttachmentComponent', () => {
152162
{ provide: 'fieldProvider', useValue: mockField },
153163
{ provide: 'itemProvider', useValue: testItem },
154164
{ provide: 'renderingSubTypeProvider', useValue: '' },
165+
{ provide: 'boxProvider', useValue: boxProviderMock },
155166
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
156167
{ provide: AuthorizationDataService, useValue: mockAuthorizedService },
157168
],

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/advanced-attachment/advanced-attachment.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { TranslateService } from '@ngx-translate/core';
44
import { FieldRenderingType, MetadataBoxFieldRendering } from '../metadata-box.decorator';
55
import { BitstreamDataService } from '../../../../../../../core/data/bitstream-data.service';
66
import { Item } from '../../../../../../../core/shared/item.model';
7-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
7+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
88
import { AttachmentComponent } from '../attachment/attachment.component';
99
import { environment } from '../../../../../../../../environments/environment';
1010
import { FindListOptions } from '../../../../../../../core/data/find-list-options.model';
@@ -41,10 +41,11 @@ export class AdvancedAttachmentComponent extends AttachmentComponent implements
4141
@Inject('fieldProvider') public fieldProvider: LayoutField,
4242
@Inject('itemProvider') public itemProvider: Item,
4343
@Inject('renderingSubTypeProvider') public renderingSubTypeProvider: string,
44+
@Inject('boxProvider') public boxProvider: CrisLayoutBox,
4445
protected bitstreamDataService: BitstreamDataService,
4546
protected translateService: TranslateService
4647
) {
47-
super(fieldProvider, itemProvider, renderingSubTypeProvider, bitstreamDataService, translateService);
48+
super(fieldProvider, itemProvider, renderingSubTypeProvider, boxProvider, bitstreamDataService, translateService);
4849
}
4950

5051
getBitstreamsByItem(options?: FindListOptions): Observable<PaginatedList<Bitstream>> {

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/advanced-attachment/bitstream-attachment/bitstream-attachment.component.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ describe('BitstreamAttachmentComponent', () => {
1818
{provide: 'fieldProvider', useValue: {}},
1919
{provide: 'itemProvider', useValue: {}},
2020
{provide: 'renderingSubTypeProvider', useValue: ''},
21+
{provide: 'boxProvider', useValue: {}},
2122
{provide: BitstreamDataService, useValue: {}},
2223
{provide: TranslateService, useValue: {}},
2324
],

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/advanced-attachment/bitstream-attachment/bitstream-attachment.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { Bitstream } from '../../../../../../../../core/shared/bitstream.model';
33
import { environment } from '../../../../../../../../../environments/environment';
44
import { AdvancedAttachmentElementType } from '../../../../../../../../../config/advanced-attachment-rendering.config';
55
import { BitstreamRenderingModelComponent } from '../../bitstream-rendering-model';
6-
import { LayoutField } from '../../../../../../../../core/layout/models/box.model';
6+
import { CrisLayoutBox, LayoutField } from '../../../../../../../../core/layout/models/box.model';
77
import { Item } from '../../../../../../../../core/shared/item.model';
88
import { BitstreamDataService } from '../../../../../../../../core/data/bitstream-data.service';
99
import { TranslateService } from '@ngx-translate/core';
@@ -41,12 +41,13 @@ export class BitstreamAttachmentComponent extends BitstreamRenderingModelCompone
4141
@Inject('fieldProvider') public fieldProvider: LayoutField,
4242
@Inject('itemProvider') public itemProvider: Item,
4343
@Inject('renderingSubTypeProvider') public renderingSubTypeProvider: string,
44+
@Inject('boxProvider') public boxProvider: CrisLayoutBox,
4445
protected readonly bitstreamDataService: BitstreamDataService,
4546
protected readonly translateService: TranslateService,
4647
protected readonly router: Router,
4748
protected readonly route: ActivatedRoute,
4849
) {
49-
super(fieldProvider, itemProvider, renderingSubTypeProvider, bitstreamDataService, translateService);
50+
super(fieldProvider, itemProvider, renderingSubTypeProvider, boxProvider, bitstreamDataService, translateService);
5051
}
5152

5253
ngOnInit() {

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/attachment/attachment.component.spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
AuthorizationDataService
1818
} from '../../../../../../../core/data/feature-authorization/authorization-data.service';
1919
import { RouterTestingModule } from '@angular/router/testing';
20-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
20+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
2121
import { FieldRenderingType } from '../metadata-box.decorator';
2222
import { FileSizePipe } from '../../../../../../../shared/utils/file-size-pipe';
2323

@@ -134,6 +134,16 @@ describe('AttachmentComponent', () => {
134134
findByItem: jasmine.createSpy('findByItem'),
135135
});
136136

137+
const boxProviderMock: CrisLayoutBox = Object.assign(new CrisLayoutBox(), {
138+
'id': 1,
139+
'shortname': 'researchoutput',
140+
'header': 'Research Output',
141+
'entityType': 'Person',
142+
'collapsed': false,
143+
'security': 0,
144+
'boxType': 'researchoutput',
145+
});
146+
137147
const mockAuthorizedService = jasmine.createSpyObj('AuthorizationDataService', {
138148
isAuthorized: jasmine.createSpy('isAuthorized')
139149
});
@@ -152,6 +162,7 @@ describe('AttachmentComponent', () => {
152162
{ provide: 'fieldProvider', useValue: mockField },
153163
{ provide: 'itemProvider', useValue: testItem },
154164
{ provide: 'renderingSubTypeProvider', useValue: '' },
165+
{ provide: 'boxProvider', useValue: boxProviderMock },
155166
{ provide: BitstreamDataService, useValue: mockBitstreamDataService },
156167
{ provide: AuthorizationDataService, useValue: mockAuthorizedService },
157168
],

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/attachment/attachment.component.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { FieldRenderingType, MetadataBoxFieldRendering } from '../metadata-box.d
88
import { BitstreamDataService } from '../../../../../../../core/data/bitstream-data.service';
99
import { Bitstream } from '../../../../../../../core/shared/bitstream.model';
1010
import { Item } from '../../../../../../../core/shared/item.model';
11-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
11+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
1212
import { environment } from '../../../../../../../../environments/environment';
1313
import { FindListOptions } from '../../../../../../../core/data/find-list-options.model';
1414
import { PaginatedList } from '../../../../../../../core/data/paginated-list.model';
@@ -49,10 +49,11 @@ export class AttachmentComponent extends BitstreamAttachmentRenderingModelCompon
4949
@Inject('fieldProvider') public fieldProvider: LayoutField,
5050
@Inject('itemProvider') public itemProvider: Item,
5151
@Inject('renderingSubTypeProvider') public renderingSubTypeProvider: string,
52+
@Inject('boxProvider') public boxProvider: CrisLayoutBox,
5253
protected bitstreamDataService: BitstreamDataService,
5354
protected translateService: TranslateService
5455
) {
55-
super(fieldProvider, itemProvider, renderingSubTypeProvider, bitstreamDataService, translateService);
56+
super(fieldProvider, itemProvider, renderingSubTypeProvider, boxProvider, bitstreamDataService, translateService);
5657
}
5758

5859
/**

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/attachment/bitstream-attachment-rendering.model.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { getFirstCompletedRemoteData } from '../../../../../../../core/shared/op
77
import { map } from 'rxjs/operators';
88
import { RemoteData } from '../../../../../../../core/data/remote-data';
99
import { Component, Inject } from '@angular/core';
10-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
10+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
1111
import { Item } from '../../../../../../../core/shared/item.model';
1212
import { BitstreamDataService } from '../../../../../../../core/data/bitstream-data.service';
1313
import { TranslateService } from '@ngx-translate/core';
@@ -26,10 +26,11 @@ export abstract class BitstreamAttachmentRenderingModelComponent extends Bitstre
2626
@Inject('fieldProvider') fieldProvider: LayoutField,
2727
@Inject('itemProvider') itemProvider: Item,
2828
@Inject('renderingSubTypeProvider') renderingSubTypeProvider: string,
29+
@Inject('boxProvider') public boxProvider: CrisLayoutBox,
2930
bitstreamDataService: BitstreamDataService,
3031
translateService: TranslateService
3132
) {
32-
super(fieldProvider, itemProvider, renderingSubTypeProvider, bitstreamDataService, translateService);
33+
super(fieldProvider, itemProvider, renderingSubTypeProvider, boxProvider, bitstreamDataService, translateService);
3334
}
3435

3536
getBitstreamsByItem(options?: FindListOptions): Observable<PaginatedList<Bitstream>> {

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/bitstream-rendering-model.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { hasValue, isNotEmpty } from '../../../../../../shared/empty.util';
1010
import { getFirstCompletedRemoteData } from '../../../../../../core/shared/operators';
1111
import { BitstreamDataService, MetadataFilter } from '../../../../../../core/data/bitstream-data.service';
1212
import { Item } from '../../../../../../core/shared/item.model';
13-
import { LayoutField } from '../../../../../../core/layout/models/box.model';
13+
import { CrisLayoutBox, LayoutField } from '../../../../../../core/layout/models/box.model';
1414
import { RenderingTypeStructuredModelComponent } from './rendering-type-structured.model';
1515
import { buildPaginatedList, PaginatedList } from '../../../../../../core/data/paginated-list.model';
1616
import { RemoteData } from '../../../../../../core/data/remote-data';
@@ -35,10 +35,11 @@ export abstract class BitstreamRenderingModelComponent extends RenderingTypeStru
3535
@Inject('fieldProvider') public fieldProvider: LayoutField,
3636
@Inject('itemProvider') public itemProvider: Item,
3737
@Inject('renderingSubTypeProvider') public renderingSubTypeProvider: string,
38+
@Inject('boxProvider') public boxProvider: CrisLayoutBox,
3839
protected bitstreamDataService: BitstreamDataService,
3940
protected translateService: TranslateService
4041
) {
41-
super(fieldProvider, itemProvider, renderingSubTypeProvider, translateService);
42+
super(fieldProvider, itemProvider, renderingSubTypeProvider, boxProvider, translateService);
4243
}
4344

4445
/**

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/browse/browse.component.spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { BrowseComponent } from './browse.component';
88
import { Item } from '../../../../../../../core/shared/item.model';
99
import { TranslateLoaderMock } from '../../../../../../../shared/mocks/translate-loader.mock';
1010
import { DsDatePipe } from '../../../../../../pipes/ds-date.pipe';
11-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
11+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
1212
import { MetadataValue } from '../../../../../../../core/shared/metadata.models';
1313

1414
describe('BrowseComponent', () => {
@@ -46,6 +46,16 @@ describe('BrowseComponent', () => {
4646
'valuesInline': true
4747
};
4848

49+
const boxProviderMock: CrisLayoutBox = Object.assign(new CrisLayoutBox(), {
50+
'id': 1,
51+
'shortname': 'researchoutput',
52+
'header': 'Research Output',
53+
'entityType': 'Person',
54+
'collapsed': false,
55+
'security': 0,
56+
'boxType': 'researchoutput',
57+
});
58+
4959
beforeEach(waitForAsync(() => {
5060
TestBed.configureTestingModule({
5161
imports: [TranslateModule.forRoot({
@@ -59,6 +69,7 @@ describe('BrowseComponent', () => {
5969
{ provide: 'itemProvider', useValue: testItem },
6070
{ provide: 'metadataValueProvider', useValue: metadataValue },
6171
{ provide: 'renderingSubTypeProvider', useValue: '' },
72+
{ provide: 'boxProvider', useValue: boxProviderMock }
6273
],
6374
declarations: [BrowseComponent, DsDatePipe]
6475
})

src/app/cris-layout/cris-layout-matrix/cris-layout-box-container/boxes/metadata/rendering-types/crisref/crisref.component.spec.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
77
import { CrisrefComponent } from './crisref.component';
88
import { Item } from '../../../../../../../core/shared/item.model';
99
import { TranslateLoaderMock } from '../../../../../../../shared/mocks/translate-loader.mock';
10-
import { LayoutField } from '../../../../../../../core/layout/models/box.model';
10+
import { CrisLayoutBox, LayoutField } from '../../../../../../../core/layout/models/box.model';
1111
import { MetadataValue } from '../../../../../../../core/shared/metadata.models';
1212
import { FieldRenderingType } from '../metadata-box.decorator';
1313
import { of } from 'rxjs';
@@ -82,6 +82,16 @@ describe('CrisrefComponent', () => {
8282
'valuesInline': true
8383
};
8484

85+
const boxProviderMock: CrisLayoutBox = Object.assign(new CrisLayoutBox(), {
86+
'id': 1,
87+
'shortname': 'researchoutput',
88+
'header': 'Research Output',
89+
'entityType': 'Person',
90+
'collapsed': false,
91+
'security': 0,
92+
'boxType': 'researchoutput',
93+
});
94+
8595
beforeEach(waitForAsync(() => {
8696
TestBed.configureTestingModule({
8797
imports: [TranslateModule.forRoot({
@@ -95,6 +105,7 @@ describe('CrisrefComponent', () => {
95105
{ provide: 'itemProvider', useValue: testItem },
96106
{ provide: 'metadataValueProvider', useValue: metadataValue },
97107
{ provide: 'renderingSubTypeProvider', useValue: '' },
108+
{ provide: 'boxProvider', useValue: boxProviderMock },
98109
{ provide: ItemDataService, useValue: itemService },
99110
],
100111
declarations: [CrisrefComponent, MetadataLinkViewComponent]

0 commit comments

Comments
 (0)