1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _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 |
|
9 | exports.handleArrayOfData = handleArrayOfData;
|
10 | exports.getComponentDataType = getComponentDataType;
|
11 | exports.getComponentContent = getComponentContent;
|
12 | exports.generateChildCellData = generateChildCellData;
|
13 |
|
14 | var _react = require('react');
|
15 |
|
16 | var _react2 = _interopRequireDefault(_react);
|
17 |
|
18 | var _ImageCell = require('./ImageCell');
|
19 |
|
20 | var _UrlCell = require('./UrlCell');
|
21 |
|
22 | var _TextCell = require('./TextCell');
|
23 |
|
24 | var _constants = require('./constants');
|
25 |
|
26 | var Constants = _interopRequireWildcard(_constants);
|
27 |
|
28 | var _CellExpander = require('./CellExpander');
|
29 |
|
30 | function _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 |
|
32 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
33 |
|
34 | function 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 |
|
71 | function 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 };
|
89 |
|
90 | if (Array.isArray(cellData.main)) {
|
91 | return handleArrayOfData(_extends({}, props, { cellCustomRenderer: cellCustomRenderer }));
|
92 | } else {
|
93 | return cellCustomRenderer(props);
|
94 | }
|
95 | }
|
96 |
|
97 | function 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 |
|
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 |
|
124 | function 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 |