UNPKG

@aappddeevv/dynamics-client-ui

Version:

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

39 lines 1.59 kB
"use strict"; /** Helpers for working with components, layout, etc. */ Object.defineProperty(exports, "__esModule", { value: true }); const R = require("ramda"); /** * Columns have hierarchical structure. * columns: [ index: number(optional), * props: { className, style: {}}, // apply to headers and cells * cells: { props: { className, style: { } } // only for cells * ] */ /** Combine content in column definitions. */ exports.processColumns = (columns) => { if (!columns) return []; return columns.map((c, idx) => { const style = Object.assign({}, R.path(["props", "style"], c) || {}, R.path(["cells", "props", "style"], c) || {}); const className = Object.assign({}, R.path(["props", "className"], c) || {}, R.path(["cells", "props", "className"], c) || {}); return { column: c.index || idx, style, className }; }); }; // columns: [ index: number(optional), props: { style: {}}, cells: { props: { styles: {} } }] exports.getColumnStyles = (columns) => { return exports.processColumns(columns).reduce((out, s) => { out[s.column] = s.style; return out; }, {}); }; /** Combine classNames info for each column. */ exports.getClassNames = (columns) => { return exports.processColumns(columns).reduce((out, s) => { out[s.column] = s.className; return out; }, {}); }; exports.ToolColumn = { props: { className: ["toolColumn"], style: { width: "auto" } } }; exports.addToolColumn = (columns) => columns.push(exports.ToolColumn); //# sourceMappingURL=Helpers.js.map