mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-26 02:50:01 +00:00
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
![]() |
import WithEntityLists from '@datahub/lists/components/with-entity-lists';
|
||
|
// @ts-ignore: Ignore import of compiled template
|
||
|
import template from '../templates/components/list-count';
|
||
|
import { layout, classNames, className } from '@ember-decorators/component';
|
||
|
import { DataModelEntity } from '@datahub/data-models/constants/entity';
|
||
|
import { computed } from '@ember/object';
|
||
|
import { singularize } from 'ember-inflector';
|
||
|
import { alias } from '@ember/object/computed';
|
||
|
import { capitalize } from '@ember/string';
|
||
|
|
||
|
export const baseComponentClass = `entity-list-count`;
|
||
|
|
||
|
/**
|
||
|
* ListCount is a bug for displaying the number of items in a list
|
||
|
* The bug should be displayed when there are items in the list and hidden or dismissed otherwise
|
||
|
* @export
|
||
|
* @class ListCount
|
||
|
* @extends {WithEntityLists}
|
||
|
*/
|
||
|
@layout(template)
|
||
|
@classNames(baseComponentClass)
|
||
|
export default class ListCount extends WithEntityLists {
|
||
|
baseComponentClass = baseComponentClass;
|
||
|
|
||
|
/**
|
||
|
* The type of DataModel entity being rendered
|
||
|
*/
|
||
|
entityType?: DataModelEntity;
|
||
|
|
||
|
/**
|
||
|
* Reference to the entity class
|
||
|
* Required for entity list trampoline
|
||
|
*/
|
||
|
@alias('entityType')
|
||
|
entity?: DataModelEntity;
|
||
|
|
||
|
/**
|
||
|
* Display value for the current list item
|
||
|
* @readonly
|
||
|
*/
|
||
|
@computed('entityType')
|
||
|
get displayName(): string {
|
||
|
const { entityType } = this;
|
||
|
return entityType ? `${capitalize(singularize(entityType.displayName))} List` : '';
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* The number of items in the list
|
||
|
*/
|
||
|
@className(`${baseComponentClass}--display`, `${baseComponentClass}--dismiss`)
|
||
|
@alias('entityListTrampoline.list.length')
|
||
|
count?: number;
|
||
|
}
|