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

63 lines
1.6 KiB
TypeScript

import Component from '@glimmer/component';
import { IDynamicComponent } from '@datahub/shared/types/dynamic-component';
const baseStylingClassname = 'dynamic-header';
/**
* Interface showcasing the type of arguments that are supplied to this component
*/
export interface IDynamicComponentsHeaderArgs {
options: {
// Styling class provided by consuming component
classname?: string;
// List of core content components
contentComponents: Array<IDynamicComponent>;
// Title text of the header
title?: string;
};
}
/**
* The purpose of the dynamic header component is to be able to render headers in our generic
* rendering logic, for example, when using render props.
*
* @example
* In render props:
* {
* name: 'dynamic-components/header'
* options: {
* classname: 'charmander',
* title: 'firePokemon',
* contentComponents: [
* {
* name: 'dynamic-components/tooltip',
* options : {
* triggerOn: 'pokeBall',
* contentComponents: [
* {
* name: 'dynamic-components/wiki=link'
* options: { .......}
* }
* ]
* }
* ]
* }
* }
*
*/
export default class DynamicComponentsHeader extends Component<IDynamicComponentsHeaderArgs> {
baseStylingClassname = baseStylingClassname;
/**
* Returns a dynamic text component used for the title of the header
*/
get dynamicTextComponent(): IDynamicComponent {
return {
name: 'dynamic-components/text',
options: {
text: this.args.options.title || ''
}
};
}
}