// External Modules import * as React from 'react'; // Types import {IAssetItem, ASSET_LIST_STYLE, IAssetCallback} from '../../interfaces'; import {superdeskApi} from '../../apis'; // UI import {PanelInfo, ListItemGroup} from '../../ui'; import {GridList} from '../../ui/grid/GridList'; import {AssetGridItem} from './assetGridItem'; import {AssetListItem} from './assetListItem'; interface IProps { assets: Array; listStyle: ASSET_LIST_STYLE; selectedItems?: Array; actions?: Array; selectedAssetIds: Array | undefined; onItemClicked(asset: IAssetItem): void; onItemDoubleClicked?(asset: IAssetItem): void; updateSelectedAssetIds(asset: IAssetItem): void; } export class AssetListPanel extends React.PureComponent { render() { const {gettext} = superdeskApi.localization; const {assertNever} = superdeskApi.helpers; if (this.props.assets.length === 0) { return ( ); } else if (this.props.listStyle === ASSET_LIST_STYLE.GRID) { return ( {this.props.assets.map((asset) => ( ))} ); } else if (this.props.listStyle === ASSET_LIST_STYLE.LIST) { return ( {this.props.assets.map((asset) => ( ))} ); } assertNever(this.props.listStyle); return null; } }