datahub/datahub-web/@datahub/shared/addon/helpers/entity/get-field-attribute-props.ts
Charlie Tran 843a6c5bbb
feat(frontend): update datahub-web client UI code (#1806)
* Releases updated version of datahub-web client UI code

* Fix typo in yarn lock

* Change yarn lock to match yarn registry directories

* Previous commit missed some paths

* Even more changes to yarnlock missing in previous commit

* Include codegen file for typings

* Add files to get parity for datahub-web and current OS datahub-midtier

* Add in typo fix from previous commit - change to proper license

* Implement proper OS fix for person entity picture url

* Workarounds for open source DH issues

* Fixes institutional memory api and removes unopensourced tabs for datasets

* Fixes search dataset deprecation and user search issue as a result of changes

* Remove internal only options in the avatar menu
2020-08-26 15:44:50 -07:00

26 lines
1.1 KiB
TypeScript

import { helper } from '@ember/component/helper';
import { DataModelEntityInstance } from '@datahub/data-models/constants/entity/index';
import { ISearchEntityRenderProps } from '@datahub/data-models/types/search/search-entity-render-prop';
/**
* Sometimes we want to access directly a certain field's attributes from an entity's render props,
* but we only have the field name to go off of. Rather than trying weird template logic or
* individual container logic, this helper makes it easy to get the object for further query
* @param dataEntity - the data model entity instace that we are working with
* @param fieldName - the key (corresponds to fieldName is renderProps.attributes) to find the props for
*/
export function entityGetFieldAttributeProps([dataEntity, fieldName]: [
DataModelEntityInstance,
string
]): ISearchEntityRenderProps | null {
const renderProps = dataEntity.staticInstance.renderProps;
const { search } = renderProps;
if (!search) {
return null;
}
return search.attributes.findBy('fieldName', fieldName) || null;
}
export default helper(entityGetFieldAttributeProps);