UNPKG

med-table

Version:
36 lines 4.84 kB
import { get } from 'lodash'; import { STRING } from '../constants/string'; import { FILTER_TYPES } from '../types/filterTypes'; const DEFAULT_HANDLER = (data) => data; export class TableCell { constructor() { this._item = {}; this._config = { key: '', label: '' }; } get fieldData() { return this.getValue(this._item, this._config.key); } get previewData() { const { viewHandler = DEFAULT_HANDLER, key, sortKey } = this._config; const value = this.getValue(this._item, sortKey || key); return value ? viewHandler(value) : this.defaultValue; } get defaultValue() { const { defaultValue, filterType } = this._config; if (defaultValue !== undefined) return defaultValue; if (filterType === FILTER_TYPES.CHECKBOX) return 0; return STRING.HYPHEN; } getValue(data, key) { return get(data, key) || ''; } setItem(data) { this._item = data; } setConfig(config) { this._config = config; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVDZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkLXRhYmxlL3NyYy9saWIvc2VydmljZXMvVGFibGVDZWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdwRCxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0FBVTVDLE1BQU0sT0FBTyxTQUFTO0lBQXRCO1FBQ1UsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixZQUFPLEdBQXdCLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUErQjlELENBQUM7SUE3QkMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsTUFBTSxFQUFFLFdBQVcsR0FBRyxlQUFlLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDckUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztRQUN4RCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLFlBQVk7UUFDdEIsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRWxELElBQUksWUFBWSxLQUFLLFNBQVM7WUFBRSxPQUFPLFlBQVksQ0FBQztRQUNwRCxJQUFJLFVBQVUsS0FBSyxZQUFZLENBQUMsUUFBUTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXlCLEVBQUUsR0FBVztRQUM3QyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBTztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBMkI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFNUUklORyB9IGZyb20gJy4uL2NvbnN0YW50cy9zdHJpbmcnO1xuaW1wb3J0IHsgRklMVEVSX1RZUEVTIH0gZnJvbSAnLi4vdHlwZXMvZmlsdGVyVHlwZXMnO1xuaW1wb3J0IHsgQ2VsbERhdGFDb25maWdMb2NhbCB9IGZyb20gJy4uL3R5cGVzL0NlbGxEYXRhQ29uZmlnTG9jYWwnO1xuXG5jb25zdCBERUZBVUxUX0hBTkRMRVIgPSAoZGF0YTogYW55KSA9PiBkYXRhO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZUNlbGw8VD4ge1xuICBmaWVsZERhdGE6IHN0cmluZ1xuICBwcmV2aWV3RGF0YTogc3RyaW5nXG4gIGdldFZhbHVlKGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4sIGtleTogc3RyaW5nKTogYW55XG4gIHNldEl0ZW0oZGF0YTogVCk6IHZvaWRcbiAgc2V0Q29uZmlnKGNvbmZpZzogQ2VsbERhdGFDb25maWdMb2NhbCk6IHZvaWRcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj4gaW1wbGVtZW50cyBJVGFibGVDZWxsPFQ+IHtcbiAgcHJpdmF0ZSBfaXRlbTogVCB8IHt9ID0ge307XG4gIHByaXZhdGUgX2NvbmZpZzogQ2VsbERhdGFDb25maWdMb2NhbCA9IHtrZXk6ICcnLCBsYWJlbDogJyd9O1xuXG4gIGdldCBmaWVsZERhdGEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSh0aGlzLl9pdGVtLCB0aGlzLl9jb25maWcua2V5KTtcbiAgfVxuXG4gIGdldCBwcmV2aWV3RGF0YSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgdmlld0hhbmRsZXIgPSBERUZBVUxUX0hBTkRMRVIsIGtleSwgc29ydEtleSB9ID0gdGhpcy5fY29uZmlnO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZSh0aGlzLl9pdGVtLCBzb3J0S2V5IHx8IGtleSk7XG4gICAgcmV0dXJuIHZhbHVlID8gdmlld0hhbmRsZXIodmFsdWUpIDogdGhpcy5kZWZhdWx0VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldCBkZWZhdWx0VmFsdWUoKTogYW55IHtcbiAgICBjb25zdCB7IGRlZmF1bHRWYWx1ZSwgZmlsdGVyVHlwZSB9ID0gdGhpcy5fY29uZmlnO1xuXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIGlmIChmaWx0ZXJUeXBlID09PSBGSUxURVJfVFlQRVMuQ0hFQ0tCT1gpIHJldHVybiAwO1xuICAgIHJldHVybiBTVFJJTkcuSFlQSEVOO1xuICB9XG5cbiAgZ2V0VmFsdWUoZGF0YTogUmVjb3JkPHN0cmluZywgYW55Piwga2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBnZXQoZGF0YSwga2V5KSB8fCAnJztcbiAgfVxuXG4gIHNldEl0ZW0oZGF0YTogVCk6IHZvaWQge1xuICAgIHRoaXMuX2l0ZW0gPSBkYXRhO1xuICB9XG5cbiAgc2V0Q29uZmlnKGNvbmZpZzogQ2VsbERhdGFDb25maWdMb2NhbCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgfVxufVxuIl19