UNPKG

med-table

Version:
18 lines 3.3 kB
import { get } from 'lodash'; import { CellBuilder } from './CellBuilder'; import { STRING } from '../../constants/string'; const DEFAULT_VIEW_HANDLER = (data) => data; export class RowBuilder { constructor() { this.cellBuilder = new CellBuilder(); } createTableRow(config, row) { return config.map((item) => this.cellBuilder.createTextCell(this.getField(row, item))); } getField(data, config) { const { key, sortKey, defaultValue = STRING.HYPHEN, viewHandler = DEFAULT_VIEW_HANDLER } = config; const field = viewHandler(get(data, sortKey || key)); return field || defaultValue; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm93QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZC10YWJsZS9zcmMvbGliL3NlcnZpY2VzL1NoZWV0c0dlbmVyYXRvci9Sb3dCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJaEQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBTWpELE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ21CLGdCQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQVluRCxDQUFDO0lBVkMsY0FBYyxDQUFDLE1BQTZCLEVBQUUsR0FBaUI7UUFDN0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTyxRQUFRLENBQUksSUFBa0IsRUFBRSxNQUEyQjtRQUNqRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLEdBQUcsb0JBQW9CLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDbEcsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxLQUFLLElBQUksWUFBWSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDZWxsT2JqZWN0IH0gZnJvbSAneGxzeC1qcy1zdHlsZSc7XG5pbXBvcnQgeyBDZWxsQnVpbGRlciB9IGZyb20gJy4vQ2VsbEJ1aWxkZXInO1xuaW1wb3J0IHsgU1RSSU5HIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3N0cmluZyc7XG5cbmltcG9ydCB7IENlbGxEYXRhQ29uZmlnTG9jYWwgfSBmcm9tICcuLi8uLi90eXBlcy9DZWxsRGF0YUNvbmZpZ0xvY2FsJztcblxuY29uc3QgREVGQVVMVF9WSUVXX0hBTkRMRVIgPSAoZGF0YTogYW55KSA9PiBkYXRhO1xuXG5leHBvcnQgaW50ZXJmYWNlIElSb3dCdWlsZGVyIHtcbiAgY3JlYXRlVGFibGVSb3coY29uZmlnOiBDZWxsRGF0YUNvbmZpZ0xvY2FsW10sIHJvdzogUmVjb3JkPHN0cmluZywgYW55Pik6IENlbGxPYmplY3RbXVxufVxuXG5leHBvcnQgY2xhc3MgUm93QnVpbGRlcjxSb3dWYWx1ZVR5cGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIElSb3dCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZWxsQnVpbGRlciA9IG5ldyBDZWxsQnVpbGRlcigpO1xuXG4gIGNyZWF0ZVRhYmxlUm93KGNvbmZpZzogQ2VsbERhdGFDb25maWdMb2NhbFtdLCByb3c6IFJvd1ZhbHVlVHlwZSk6IENlbGxPYmplY3RbXSB7XG4gICAgcmV0dXJuIGNvbmZpZy5tYXAoKGl0ZW0pID0+XG4gICAgICB0aGlzLmNlbGxCdWlsZGVyLmNyZWF0ZVRleHRDZWxsKHRoaXMuZ2V0RmllbGQocm93LCBpdGVtKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZDxUPihkYXRhOiBSb3dWYWx1ZVR5cGUsIGNvbmZpZzogQ2VsbERhdGFDb25maWdMb2NhbCk6IFQge1xuICAgIGNvbnN0IHsga2V5LCBzb3J0S2V5LCBkZWZhdWx0VmFsdWUgPSBTVFJJTkcuSFlQSEVOLCB2aWV3SGFuZGxlciA9IERFRkFVTFRfVklFV19IQU5ETEVSIH0gPSBjb25maWc7XG4gICAgY29uc3QgZmllbGQgPSB2aWV3SGFuZGxlcihnZXQoZGF0YSwgc29ydEtleSB8fCBrZXkpKTtcbiAgICByZXR1cm4gZmllbGQgfHwgZGVmYXVsdFZhbHVlO1xuICB9XG59XG4iXX0=