UNPKG

@aappddeevv/dynamics-client-ui

Version:

## What is it? A library to help you create great dynamics applications.

52 lines 1.65 kB
"use strict"; /** CrmTable renderers for different data types. */ Object.defineProperty(exports, "__esModule", { value: true }); const moment = require("moment"); const R = require("ramda"); exports.defaultDateTimeFormat = "MM/DD/YY h:mm:ss a"; function dateRenderer(props) { return { id: props.id ? props.id : props.property, property: props.property, header: { label: props.label }, props: { style: { minWidth: props.width ? props.width : 100 } }, cell: { formatters: [ (dt) => dt ? moment(dt).format(props.dateFormat ? props.dateFormat : exports.defaultDateTimeFormat) : "" ] } }; } exports.dateRenderer = dateRenderer; /** Default used with renderers produced internally by the factory. */ const defaultRendererProps = { width: 125 }; /** * Based on a string type, obtain a renderer. Props may contain additional hints * about which renderer to use. The returned object should be merged with other * properties before being used in CrmTable. If you merge, use a deep/smart merge * approach as Object.assign only does a toplevel merge. */ function columnFactory(dtype, props) { const fprops = R.deepMergeRight(defaultRendererProps, props); switch (dtype) { case "string": { return {}; } case "date": { return dateRenderer(fprops); } } throw new Error(`Unknown type ${dtype}`); } exports.columnFactory = columnFactory; //# sourceMappingURL=CrmTableRenderers.js.map