Skip to content

Commit

Permalink
fix: errors with mergin resource options
Browse files Browse the repository at this point in the history
  • Loading branch information
wojtek-krysiak committed Aug 7, 2020
1 parent 72514b3 commit 65be2a6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 5 deletions.
1 change: 1 addition & 0 deletions example-app/src/companies/company.admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const passwordFeature = require('../features/password/password.feature')

/** @type {AdminBro.ResourceOptions} */
const options = {
listProperties: ['companyName', 'email', 'address'],
properties: {
profilePhotoLocation: {
isVisible: false,
Expand Down
13 changes: 8 additions & 5 deletions src/backend/utils/build-feature.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/* eslint-disable no-nested-ternary */
import uniq from 'lodash/uniq'
import merge from 'lodash/merge'
import { FeatureType } from '../../admin-bro-options.interface'
import { ResourceOptions } from '../decorators/resource-options.interface'
import Action, { ActionResponse } from '../actions/action.interface'
Expand Down Expand Up @@ -59,15 +60,17 @@ const mergeResourceOptions = (

['listProperties', 'showProperties', 'editProperties', 'filterProperties'].forEach((propName) => {
if (newOptions[propName]) {
options[propName] = uniq([...(oldOptions[propName] || []), newOptions[propName]])
const mergedOptions = [
...(oldOptions && oldOptions[propName] ? oldOptions[propName] : []),
...(newOptions && newOptions[propName] ? newOptions[propName] : []),
]

options[propName] = uniq(mergedOptions)
}
})

if (oldOptions.properties || newOptions.properties) {
options.properties = {
...oldOptions.properties,
...newOptions.properties,
}
options.properties = merge({}, oldOptions.properties, newOptions.properties)
}

if (oldOptions.actions || newOptions.actions) {
Expand Down

0 comments on commit 65be2a6

Please sign in to comment.