takeUntil(this.unsubscribeNotifier)
)
.subscribe((queryParams) => {
+ this.updateDisplayCustomFields()
if (queryParams.has('view')) {
// loading a saved view on /documents
this.loadViewConfig(parseInt(queryParams.get('view')))
)
)
})
+
+ it('should not filter out custom fields if settings not initialized', () => {
+ const customFields = ['custom_field_1', 'custom_field_2']
+ documentListViewService.displayFields = customFields as any
+ settingsService.displayFieldsInitialized = false
+ expect(documentListViewService.displayFields).toEqual(customFields)
+ jest.spyOn(settingsService, 'allDisplayFields', 'get').mockReturnValue([
+ { id: DisplayField.ADDED, name: 'Added' },
+ { id: DisplayField.TITLE, name: 'Title' },
+ { id: 'custom_field_1', name: 'Custom Field 1' },
+ ] as any)
+ settingsService.displayFieldsInitialized = true
+ expect(documentListViewService.displayFields).toEqual(['custom_field_1'])
+ })
})
if (!this.activeListViewState.displayFields) {
fields = fields.filter((f) => f !== DisplayField.ADDED)
}
- return fields.filter(
- (field) =>
- this.settings.allDisplayFields.find((f) => f.id === field) !== undefined
- )
+ return this.settings.displayFieldsInitialized
+ ? fields.filter(
+ (field) =>
+ this.settings.allDisplayFields.find((f) => f.id === field) !==
+ undefined
+ )
+ : fields
}
set displayFields(fields: DisplayField[]) {
public get allDisplayFields(): Array<{ id: DisplayField; name: string }> {
return this._allDisplayFields
}
+ public displayFieldsInitialized: boolean = false
constructor(
rendererFactory: RendererFactory2,
}
})
)
+ this.displayFieldsInitialized = true
})
+ } else {
+ this.displayFieldsInitialized = true
}
}