mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-11 10:46:52 +00:00

* 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
43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
// @ts-ignore: Ignore import of compiled template
|
|
import template from '../../../templates/components/entity-page/entity-page-content/nacho-table';
|
|
import { layout, tagName } from '@ember-decorators/component';
|
|
import { INachoTableComponent } from '@datahub/data-models/types/entity/rendering/page-components';
|
|
import { assertComponentPropertyNotUndefined } from '@datahub/utils/decorators/assert';
|
|
import BasePageComponent from '@datahub/shared/components/entity-page/base-page-component';
|
|
import { DataModelEntityInstance } from '@datahub/data-models/constants/entity/index';
|
|
import { KeyNamesWithValueType } from '@datahub/utils/types/base';
|
|
|
|
/**
|
|
* Nacho table wrapper for generic entity page
|
|
*
|
|
* @export
|
|
* @class EntityPageContentNachoTable
|
|
* @template E entity to render
|
|
*/
|
|
|
|
@tagName('')
|
|
@layout(template)
|
|
export default class EntityPageContentNachoTable<E> extends BasePageComponent {
|
|
/**
|
|
* See interface INachoTableComponent
|
|
*/
|
|
@assertComponentPropertyNotUndefined
|
|
options!: INachoTableComponent<E>['options'];
|
|
|
|
/**
|
|
* Will get the data to render within the table.
|
|
* If no propertyName specified, then entity will be used
|
|
*
|
|
* @readonly
|
|
*/
|
|
get data(): Array<unknown> | undefined {
|
|
const { entity, options } = this;
|
|
const { propertyName } = options;
|
|
const propertyNameWithType = propertyName as KeyNamesWithValueType<DataModelEntityInstance, Array<unknown>>;
|
|
if (propertyNameWithType) {
|
|
return entity[propertyNameWithType];
|
|
}
|
|
return [entity];
|
|
}
|
|
}
|