UNPKG

5.55 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
9exports.handleArrayOfData = handleArrayOfData;
10exports.getComponentDataType = getComponentDataType;
11exports.getComponentContent = getComponentContent;
12exports.generateChildCellData = generateChildCellData;
13
14var _react = require('react');
15
16var _react2 = _interopRequireDefault(_react);
17
18var _ImageCell = require('./ImageCell');
19
20var _UrlCell = require('./UrlCell');
21
22var _TextCell = require('./TextCell');
23
24var _constants = require('./constants');
25
26var Constants = _interopRequireWildcard(_constants);
27
28var _CellExpander = require('./CellExpander');
29
30function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
31
32function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
34function handleArrayOfData(_ref) {
35 var columnDataType = _ref.columnDataType,
36 cellData = _ref.cellData,
37 width = _ref.width,
38 height = _ref.height,
39 key = _ref.key,
40 columnKey = _ref.columnKey,
41 rowIndex = _ref.rowIndex,
42 mixedContentImage = _ref.mixedContentImage,
43 cellCustomRenderer = _ref.cellCustomRenderer;
44
45 var childrenCellData = generateChildCellData(cellData);
46
47 var properties = {
48 columnDataType: columnDataType,
49 cellData: childrenCellData[0],
50 width: width,
51 key: key,
52 columnKey: columnKey,
53 mixedContentImage: mixedContentImage,
54 height: height,
55 rowIndex: rowIndex
56 };
57
58 if (childrenCellData.length === 1) {
59 return cellCustomRenderer(properties);
60 } else {
61 return _react2.default.createElement(
62 _CellExpander.CellExpander,
63 { firstElement: cellCustomRenderer(properties), totalRows: properties.height, rowIndex: properties.rowIndex },
64 childrenCellData.map(function (cellData, key) {
65 return cellCustomRenderer(_extends({}, properties, { cellData: cellData, key: key }));
66 })
67 );
68 }
69}
70
71function getComponentDataType(_ref2) {
72 var columnDataType = _ref2.columnDataType,
73 cellData = _ref2.cellData,
74 width = _ref2.width,
75 height = _ref2.height,
76 key = _ref2.key,
77 columnKey = _ref2.columnKey,
78 mixedContentImage = _ref2.mixedContentImage,
79 _ref2$cellCustomRende = _ref2.cellCustomRenderer,
80 cellCustomRenderer = _ref2$cellCustomRende === undefined ? getComponentContent : _ref2$cellCustomRende,
81 cellStyles = _ref2.cellStyles,
82 disableClickEvents = _ref2.disableClickEvents,
83 rowIndex = _ref2.rowIndex;
84
85 if (!columnDataType) {
86 return null;
87 }
88
89 var props = { cellStyles: cellStyles, columnDataType: columnDataType, cellData: cellData, key: key, columnKey: columnKey, mixedContentImage: mixedContentImage, width: width, height: height, rowIndex: rowIndex, disableClickEvents: disableClickEvents }; // console.log('%cLogging-----props.height in cellutils- ==', 'color: blue; font-size:16px;', props.rowIndex);
90
91 if (Array.isArray(cellData.main)) {
92 return handleArrayOfData(_extends({}, props, { cellCustomRenderer: cellCustomRenderer }));
93 } else {
94 return cellCustomRenderer(props);
95 }
96}
97
98function getComponentContent(_ref3) {
99 var columnDataType = _ref3.columnDataType,
100 cellData = _ref3.cellData,
101 width = _ref3.width,
102 key = _ref3.key,
103 columnKey = _ref3.columnKey,
104 mixedContentImage = _ref3.mixedContentImage,
105 _ref3$disableClickEve = _ref3.disableClickEvents,
106 disableClickEvents = _ref3$disableClickEve === undefined ? false : _ref3$disableClickEve;
107 // eslint-disable-line react/no-multi-comp
108 switch (columnDataType) {
109 case Constants.ColumnTypes.URL:
110 return _react2.default.createElement(_UrlCell.UrlCell, { cellData: cellData, width: width, key: key, columnKey: columnKey, disabled: disableClickEvents });
111
112 case Constants.ColumnTypes.IMAGE:
113 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, disabled: disableClickEvents, columnKey: columnKey, mixedContentImage: mixedContentImage });
114
115 case Constants.ColumnTypes.AUTO:
116 if (cellData.main && cellData.main.src) {
117 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, disabled: disableClickEvents, columnKey: columnKey, mixedContentImage: mixedContentImage });
118 } else {
119 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
120 }
121
122 default:
123 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
124 }
125}
126
127function generateChildCellData(cellData) {
128 if (!cellData || !cellData.main) {
129 return null;
130 }
131
132 var results = [];
133
134 cellData.main.forEach(function (value, i) {
135 var obj = {};
136
137 Object.keys(cellData).forEach(function (property) {
138
139 if (Array.isArray(cellData[property])) {
140 obj[property] = cellData[property][i];
141 } else {
142 obj[property] = cellData[property];
143 }
144 });
145
146 results.push(obj);
147 });
148
149 return results;
150}
\No newline at end of file