med-table
Version:
Wrapper over table of primeng library for Ministry of Health
18 lines • 3.3 kB
JavaScript
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=