UNPKG

5.21 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 rowIndex = _ref2.rowIndex;
83
84 if (!columnDataType) {
85 return null;
86 }
87
88 var props = { cellStyles: cellStyles, columnDataType: columnDataType, cellData: cellData, key: key, columnKey: columnKey, mixedContentImage: mixedContentImage, width: width, height: height, rowIndex: rowIndex }; // console.log('%cLogging-----props.height in cellutils- ==', 'color: blue; font-size:16px;', props.rowIndex);
89
90 if (Array.isArray(cellData.main)) {
91 return handleArrayOfData(_extends({}, props, { cellCustomRenderer: cellCustomRenderer }));
92 } else {
93 return cellCustomRenderer(props);
94 }
95}
96
97function getComponentContent(_ref3) {
98 var columnDataType = _ref3.columnDataType,
99 cellData = _ref3.cellData,
100 width = _ref3.width,
101 key = _ref3.key,
102 columnKey = _ref3.columnKey,
103 mixedContentImage = _ref3.mixedContentImage;
104 // eslint-disable-line react/no-multi-comp
105 switch (columnDataType) {
106 case Constants.ColumnTypes.URL:
107 return _react2.default.createElement(_UrlCell.UrlCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
108
109 case Constants.ColumnTypes.IMAGE:
110 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, columnKey: columnKey, mixedContentImage: mixedContentImage });
111
112 case Constants.ColumnTypes.AUTO:
113 if (cellData.main && cellData.main.src) {
114 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, columnKey: columnKey, mixedContentImage: mixedContentImage });
115 } else {
116 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
117 }
118
119 default:
120 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
121 }
122}
123
124function generateChildCellData(cellData) {
125 if (!cellData || !cellData.main) {
126 return null;
127 }
128
129 var results = [];
130
131 cellData.main.forEach(function (value, i) {
132 var obj = {};
133
134 Object.keys(cellData).forEach(function (property) {
135
136 if (Array.isArray(cellData[property])) {
137 obj[property] = cellData[property][i];
138 } else {
139 obj[property] = cellData[property];
140 }
141 });
142
143 results.push(obj);
144 });
145
146 return results;
147}
\No newline at end of file