UNPKG

5.67 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 disableClickEvents = _ref.disableClickEvents;
45
46 var childrenCellData = generateChildCellData(cellData);
47
48 var properties = {
49 disableClickEvents: disableClickEvents,
50 columnDataType: columnDataType,
51 cellData: childrenCellData[0],
52 width: width,
53 key: key,
54 columnKey: columnKey,
55 mixedContentImage: mixedContentImage,
56 height: height,
57 rowIndex: rowIndex
58 };
59
60 if (childrenCellData.length === 1) {
61 return cellCustomRenderer(properties);
62 } else {
63 return _react2.default.createElement(
64 _CellExpander.CellExpander,
65 { firstElement: cellCustomRenderer(properties), totalRows: properties.height, rowIndex: properties.rowIndex },
66 childrenCellData.map(function (cellData, key) {
67 return cellCustomRenderer(_extends({}, properties, { cellData: cellData, key: key }));
68 })
69 );
70 }
71}
72
73function getComponentDataType(_ref2) {
74 var columnDataType = _ref2.columnDataType,
75 cellData = _ref2.cellData,
76 width = _ref2.width,
77 height = _ref2.height,
78 key = _ref2.key,
79 columnKey = _ref2.columnKey,
80 mixedContentImage = _ref2.mixedContentImage,
81 _ref2$cellCustomRende = _ref2.cellCustomRenderer,
82 cellCustomRenderer = _ref2$cellCustomRende === undefined ? getComponentContent : _ref2$cellCustomRende,
83 cellStyles = _ref2.cellStyles,
84 disableClickEvents = _ref2.disableClickEvents,
85 rowIndex = _ref2.rowIndex;
86
87 if (!columnDataType) {
88 return null;
89 }
90
91 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);
92
93 if (Array.isArray(cellData.main)) {
94 return handleArrayOfData(_extends({}, props, { cellCustomRenderer: cellCustomRenderer }));
95 } else {
96 return cellCustomRenderer(props);
97 }
98}
99
100function getComponentContent(_ref3) {
101 var columnDataType = _ref3.columnDataType,
102 cellData = _ref3.cellData,
103 width = _ref3.width,
104 key = _ref3.key,
105 columnKey = _ref3.columnKey,
106 mixedContentImage = _ref3.mixedContentImage,
107 _ref3$disableClickEve = _ref3.disableClickEvents,
108 disableClickEvents = _ref3$disableClickEve === undefined ? false : _ref3$disableClickEve;
109 // eslint-disable-line react/no-multi-comp
110 switch (columnDataType) {
111 case Constants.ColumnTypes.URL:
112 return _react2.default.createElement(_UrlCell.UrlCell, { cellData: cellData, width: width, key: key, columnKey: columnKey, disabled: disableClickEvents });
113
114 case Constants.ColumnTypes.IMAGE:
115 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, disabled: disableClickEvents, columnKey: columnKey, mixedContentImage: mixedContentImage });
116
117 case Constants.ColumnTypes.AUTO:
118 if (cellData.main && cellData.main.src) {
119 return _react2.default.createElement(_ImageCell.ImageCell, { cellData: cellData, width: width, key: key, disabled: disableClickEvents, columnKey: columnKey, mixedContentImage: mixedContentImage });
120 } else {
121 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey });
122 }
123
124 default:
125 return _react2.default.createElement(_TextCell.TextCell, { cellData: cellData, width: width, key: key, columnKey: columnKey, disabled: disableClickEvents });
126 }
127}
128
129function generateChildCellData(cellData) {
130 if (!cellData || !cellData.main) {
131 return null;
132 }
133
134 var results = [];
135
136 cellData.main.forEach(function (value, i) {
137 var obj = {};
138
139 Object.keys(cellData).forEach(function (property) {
140
141 if (Array.isArray(cellData[property])) {
142 obj[property] = cellData[property][i];
143 } else {
144 obj[property] = cellData[property];
145 }
146 });
147
148 results.push(obj);
149 });
150
151 return results;
152}
\No newline at end of file