import { state } from '../../core/state'; import { sortAssets, formatInline } from '../../core/utils'; import { ASSET_SCHEMA } from '../../core/schema'; import { createListView } from './ListFactory'; export function renderGiftList(container: HTMLElement) { createListView(container, { title: '선물', dataSource: () => sortAssets(state.masterData.equipment?.filter((a: any) => a.category === '선물') || []), searchKeys: ['PRODUCT_NAME', 'MODEL_NAME', 'ASSET_TYPE'], filterOptions: { keywordLabel: `통합 검색 (${ASSET_SCHEMA.PRODUCT_NAME.ui})`, showCorp: true, showDept: true, showType: true }, onRowClick: () => alert('상세 정보 준비 중입니다.'), columns: [ { header: '자산명', sortKey: ASSET_SCHEMA.PRODUCT_NAME.key, render: a => formatInline(a[ASSET_SCHEMA.PRODUCT_NAME.key] || a[ASSET_SCHEMA.MODEL_NAME.key] || '-') }, { header: ASSET_SCHEMA.ASSET_TYPE.ui, sortKey: ASSET_SCHEMA.ASSET_TYPE.key, align: 'center', width: '10%', render: a => a[ASSET_SCHEMA.ASSET_TYPE.key] || '-' }, { header: '구매연월', sortKey: ASSET_SCHEMA.PURCHASE_DATE.key, align: 'center', render: a => a[ASSET_SCHEMA.PURCHASE_DATE.key] || '' }, { header: ASSET_SCHEMA.EXPIRED_DATE.ui, sortKey: ASSET_SCHEMA.EXPIRED_DATE.key, align: 'center', render: a => a[ASSET_SCHEMA.EXPIRED_DATE.key] || '' }, { header: ASSET_SCHEMA.ASSET_COUNT.ui, sortKey: ASSET_SCHEMA.ASSET_COUNT.key, align: 'center', render: a => a[ASSET_SCHEMA.ASSET_COUNT.key] || '1' }, { header: ASSET_SCHEMA.MEMO.ui, sortKey: ASSET_SCHEMA.MEMO.key, className: 'col-memo', render: a => formatInline(a[ASSET_SCHEMA.MEMO.key] || '-') } ] }); }