@unbxd-ui/unbxd-react-components 0.2.145 → 0.2.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/components/Accordian/Accordian.js +1 -2
- package/components/Accordian/Accordian.stories.js +140 -117
- package/components/Button/Button.stories.js +167 -61
- package/components/Button/DropdownButton.js +1 -2
- package/components/Button/index.js +1 -2
- package/components/DataLoader/DataLoader.js +1 -2
- package/components/DataLoader/DataLoader.stories.js +239 -53
- package/components/Form/Checkbox.js +5 -4
- package/components/Form/DragDropFileUploader.js +1 -2
- package/components/Form/Dropdown.js +1 -2
- package/components/Form/FileUploader.js +1 -2
- package/components/Form/Form.js +1 -2
- package/components/Form/Input.js +1 -2
- package/components/Form/RadioList.js +1 -2
- package/components/Form/RangeSlider.js +1 -2
- package/components/Form/SearchableDropdown.js +563 -0
- package/components/Form/ServerPaginatedDDList.js +17 -11
- package/components/Form/Textarea.js +1 -2
- package/components/Form/Toggle.js +1 -2
- package/components/Form/formCore.css +1 -1
- package/components/Form/formTheme.css +1 -1
- package/components/Form/index.js +7 -0
- package/components/Form/stories/Checkbox.stories.js +138 -39
- package/components/Form/stories/Dropdown.stories.js +322 -91
- package/components/Form/stories/FileUploader.stories.js +177 -18
- package/components/Form/stories/Input.stories.js +115 -0
- package/components/Form/stories/RangeSlider.stories.js +161 -63
- package/components/Form/stories/SearchableDropdown.stories.js +189 -0
- package/components/Form/stories/ServerPaginatedDropdown.stories.js +365 -0
- package/components/Form/stories/Textarea.stories.js +112 -33
- package/components/Form/stories/Toggle.stories.js +192 -13
- package/components/Form/variables.css +0 -0
- package/components/InlineModal/InlineModal.js +1 -2
- package/components/InlineModal/InlineModal.stories.js +239 -45
- package/components/InlineModal/index.js +1 -2
- package/components/InlineModal/inlineModalCore.css +1 -1
- package/components/List/List.stories.js +238 -0
- package/components/Modal/Modal.js +1 -2
- package/components/Modal/Modal.stories.js +256 -37
- package/components/Modal/modalCore.css +1 -1
- package/components/NotificationComponent/NotificationComponent.js +1 -2
- package/components/NotificationComponent/NotificationComponent.stories.js +170 -18
- package/components/PageLoader/PageLoader.js +84 -0
- package/components/PageLoader/PageLoader.stories.js +276 -0
- package/components/PageLoader/index.js +9 -0
- package/components/PageLoader/pageLoaderCore.css +1 -0
- package/components/ProgressBar/ProgressBar.css +0 -0
- package/components/ProgressBar/ProgressBar.stories.js +202 -9
- package/components/ProgressBar/progressBarCore.css +1 -1
- package/components/Table/BaseTable.js +84 -354
- package/components/Table/Table.js +6 -359
- package/components/Table/Table.stories.js +2109 -150
- package/components/Table/TableChild.js +383 -0
- package/components/Table/TableConstants.js +15 -0
- package/components/Table/hooks/usePrevious.js +14 -0
- package/components/Table/index.js +13 -0
- package/components/Table/tableCore.css +1 -1
- package/components/TableOld/BaseTable.js +373 -0
- package/components/TableOld/PaginationComponent.js +86 -0
- package/components/TableOld/TableOld.js +367 -0
- package/components/TableOld/index.js +15 -0
- package/components/TabsComponent/TabsComponent.js +1 -2
- package/components/TabsComponent/TabsComponent.stories.js +290 -52
- package/components/ToastNotification/ToastNotificationWrapper.js +212 -0
- package/components/ToastNotification/ToastNotificationWrapper.stories.js +554 -0
- package/components/ToastNotification/index.js +40 -0
- package/components/ToastNotification/toastNotificationCore.css +1 -0
- package/components/Tooltip/Tooltip.js +221 -83
- package/components/Tooltip/Tooltip.stories.js +379 -14
- package/components/Tooltip/tooltipCore.css +1 -1
- package/components/Tooltip/tooltipTheme.css +1 -1
- package/components/core.css +2 -3
- package/components/core.scss +17 -0
- package/components/index.js +58 -2
- package/components/theme.css +2 -3
- package/core/dataLoader.js +5 -2
- package/index.js +54 -0
- package/package.json +31 -20
- package/components/Button/DropdownButton.stories.js +0 -49
- package/components/Form/stories/DragDropFileUploader.stories.js +0 -25
- package/components/Form/stories/FormDefault.stories.js +0 -115
- package/components/Form/stories/RadioList.stories.js +0 -53
- package/components/Form/stories/TextInput.stories.js +0 -76
- package/components/Form/stories/form.stories.js +0 -233
- package/components/List/list.stories.js +0 -35
- package/core/dataLoader.stories.js +0 -119
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _utils = _interopRequireDefault(require("../../core/utils"));
|
|
11
|
+
var _Checkbox = _interopRequireDefault(require("../Form/Checkbox"));
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
14
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
15
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
17
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
18
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
21
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
22
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
23
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
24
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
25
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
26
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
27
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
28
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
29
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
30
|
+
var DEFAULT_CHECKBOX_CONFIG = {
|
|
31
|
+
enabled: false,
|
|
32
|
+
showInHeader: true
|
|
33
|
+
};
|
|
34
|
+
var DefaultNoDataComponent = function DefaultNoDataComponent() {
|
|
35
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
36
|
+
className: "RCB-no-data"
|
|
37
|
+
}, "No data found");
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/* eslint-disable react/prop-types */
|
|
41
|
+
|
|
42
|
+
var getTDValue = function getTDValue(_ref) {
|
|
43
|
+
var columnValue = _ref.columnValue,
|
|
44
|
+
_ref$rowData = _ref.rowData,
|
|
45
|
+
rowData = _ref$rowData === void 0 ? {} : _ref$rowData,
|
|
46
|
+
_ref$columnConfig = _ref.columnConfig,
|
|
47
|
+
columnConfig = _ref$columnConfig === void 0 ? {} : _ref$columnConfig,
|
|
48
|
+
_ref$tdProps = _ref.tdProps,
|
|
49
|
+
tdProps = _ref$tdProps === void 0 ? {} : _ref$tdProps;
|
|
50
|
+
var key = columnConfig.key,
|
|
51
|
+
valueFormatter = columnConfig.valueFormatter,
|
|
52
|
+
ColumnComponent = columnConfig.ColumnComponent,
|
|
53
|
+
_columnConfig$compone = columnConfig.componentProps,
|
|
54
|
+
componentProps = _columnConfig$compone === void 0 ? {} : _columnConfig$compone;
|
|
55
|
+
var tdValue = columnValue;
|
|
56
|
+
if (typeof valueFormatter === "function") {
|
|
57
|
+
tdValue = valueFormatter({
|
|
58
|
+
value: columnValue,
|
|
59
|
+
record: rowData
|
|
60
|
+
});
|
|
61
|
+
} else if (ColumnComponent) {
|
|
62
|
+
tdValue = /*#__PURE__*/_react["default"].createElement(ColumnComponent, _extends({
|
|
63
|
+
record: rowData
|
|
64
|
+
}, componentProps));
|
|
65
|
+
}
|
|
66
|
+
return /*#__PURE__*/_react["default"].createElement("td", _extends({
|
|
67
|
+
key: key
|
|
68
|
+
}, tdProps), tdValue);
|
|
69
|
+
};
|
|
70
|
+
var ExpandableTR = function ExpandableTR(props) {
|
|
71
|
+
var rowIndex = props.rowIndex,
|
|
72
|
+
rowData = props.rowData,
|
|
73
|
+
columnConfigs = props.columnConfigs,
|
|
74
|
+
isEven = props.isEven,
|
|
75
|
+
ExpandedRowComponent = props.ExpandedRowComponent,
|
|
76
|
+
showCheckbox = props.showCheckbox,
|
|
77
|
+
checkboxChangeCounter = props.checkboxChangeCounter,
|
|
78
|
+
checkboxValue = props.checkboxValue,
|
|
79
|
+
onSelectionChange = props.onSelectionChange;
|
|
80
|
+
var _useState = (0, _react.useState)(checkboxValue || false),
|
|
81
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
82
|
+
selected = _useState2[0],
|
|
83
|
+
setSelected = _useState2[1];
|
|
84
|
+
var _useState3 = (0, _react.useState)(false),
|
|
85
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
86
|
+
isExpanded = _useState4[0],
|
|
87
|
+
setIsExpanded = _useState4[1];
|
|
88
|
+
var onChange = function onChange(value) {
|
|
89
|
+
setSelected(value);
|
|
90
|
+
onSelectionChange(rowData, value);
|
|
91
|
+
};
|
|
92
|
+
(0, _react.useEffect)(function () {
|
|
93
|
+
setSelected(checkboxValue);
|
|
94
|
+
}, [checkboxChangeCounter, checkboxValue]);
|
|
95
|
+
var toggleExpanded = function toggleExpanded() {
|
|
96
|
+
setIsExpanded(!isExpanded);
|
|
97
|
+
};
|
|
98
|
+
var className = "RCB-tr RCB-parent-row " + (isEven ? "RCB-even-tr" : "RCB-odd-tr");
|
|
99
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("tr", {
|
|
100
|
+
className: className
|
|
101
|
+
}, getTDValue({
|
|
102
|
+
columnValue: "",
|
|
103
|
+
columnConfig: {
|
|
104
|
+
key: "expandIcon"
|
|
105
|
+
},
|
|
106
|
+
tdProps: {
|
|
107
|
+
onClick: toggleExpanded,
|
|
108
|
+
className: isExpanded ? "expand-open" : "expand-close"
|
|
109
|
+
}
|
|
110
|
+
}), showCheckbox && /*#__PURE__*/_react["default"].createElement("td", {
|
|
111
|
+
key: "checkbox-colum-".concat(rowIndex)
|
|
112
|
+
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
113
|
+
name: "checkbox".concat(rowIndex),
|
|
114
|
+
type: "checkbox",
|
|
115
|
+
className: "table-checkbox",
|
|
116
|
+
onChange: onChange,
|
|
117
|
+
value: selected
|
|
118
|
+
})), columnConfigs.map(function (configObj) {
|
|
119
|
+
var key = configObj.key;
|
|
120
|
+
return getTDValue({
|
|
121
|
+
columnValue: rowData[key],
|
|
122
|
+
rowData: rowData,
|
|
123
|
+
columnConfig: configObj,
|
|
124
|
+
tdProps: {
|
|
125
|
+
onClick: toggleExpanded
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
})), isExpanded && /*#__PURE__*/_react["default"].createElement("tr", {
|
|
129
|
+
className: "RCB-expanded-row"
|
|
130
|
+
}, /*#__PURE__*/_react["default"].createElement("td", {
|
|
131
|
+
colSpan: columnConfigs.length + 1
|
|
132
|
+
}, /*#__PURE__*/_react["default"].createElement(ExpandedRowComponent, {
|
|
133
|
+
parentRecord: rowData
|
|
134
|
+
}))));
|
|
135
|
+
};
|
|
136
|
+
ExpandableTR.propTypes = {
|
|
137
|
+
ExpandedRowComponent: _propTypes["default"].any.isRequired // TODO : check for a React Component
|
|
138
|
+
};
|
|
139
|
+
var TR = function TR(props) {
|
|
140
|
+
var rowIndex = props.rowIndex,
|
|
141
|
+
rowData = props.rowData,
|
|
142
|
+
columnConfigs = props.columnConfigs,
|
|
143
|
+
isEven = props.isEven,
|
|
144
|
+
showCheckbox = props.showCheckbox,
|
|
145
|
+
checkboxChangeCounter = props.checkboxChangeCounter,
|
|
146
|
+
checkboxValue = props.checkboxValue,
|
|
147
|
+
onSelectionChange = props.onSelectionChange;
|
|
148
|
+
var _useState5 = (0, _react.useState)(checkboxValue || false),
|
|
149
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
150
|
+
selected = _useState6[0],
|
|
151
|
+
setSelected = _useState6[1];
|
|
152
|
+
var className = "RCB-tr " + (isEven ? "RCB-even-tr" : "RCB-odd-tr");
|
|
153
|
+
var onChange = function onChange(value) {
|
|
154
|
+
setSelected(value);
|
|
155
|
+
onSelectionChange(rowData, value);
|
|
156
|
+
};
|
|
157
|
+
(0, _react.useEffect)(function () {
|
|
158
|
+
setSelected(checkboxValue);
|
|
159
|
+
}, [checkboxChangeCounter, checkboxValue]);
|
|
160
|
+
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
161
|
+
className: className
|
|
162
|
+
}, showCheckbox && /*#__PURE__*/_react["default"].createElement("td", {
|
|
163
|
+
key: "checkbox-colum-".concat(rowIndex)
|
|
164
|
+
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
165
|
+
name: "checkbox".concat(rowIndex),
|
|
166
|
+
type: "checkbox",
|
|
167
|
+
className: "table-checkbox",
|
|
168
|
+
onChange: onChange,
|
|
169
|
+
value: selected
|
|
170
|
+
})), columnConfigs.map(function (configObj) {
|
|
171
|
+
var key = configObj.key;
|
|
172
|
+
return getTDValue({
|
|
173
|
+
columnValue: rowData[key],
|
|
174
|
+
rowData: rowData,
|
|
175
|
+
columnConfig: configObj
|
|
176
|
+
});
|
|
177
|
+
}));
|
|
178
|
+
};
|
|
179
|
+
var BaseTable = function BaseTable(props, ref) {
|
|
180
|
+
var className = props.className,
|
|
181
|
+
records = props.records,
|
|
182
|
+
columnConfigs = props.columnConfigs,
|
|
183
|
+
idAttribute = props.idAttribute,
|
|
184
|
+
checkboxConfig = props.checkboxConfig,
|
|
185
|
+
isExpandableTable = props.isExpandableTable,
|
|
186
|
+
ExpandedRowComponent = props.ExpandedRowComponent,
|
|
187
|
+
noDataComponent = props.noDataComponent,
|
|
188
|
+
sortByConfig = props.sortByConfig,
|
|
189
|
+
resetPageNo = props.resetPageNo,
|
|
190
|
+
pageNo = props.pageNo,
|
|
191
|
+
tbodyClassName = props.tbodyClassName,
|
|
192
|
+
refreshFeature = props.refreshFeature,
|
|
193
|
+
onRefreshTableData = props.onRefreshTableData,
|
|
194
|
+
isTableRefreshing = props.isTableRefreshing,
|
|
195
|
+
refreshIconClass = props.refreshIconClass,
|
|
196
|
+
spinnerIconClass = props.spinnerIconClass,
|
|
197
|
+
onRefreshCB = props.onRefreshCB;
|
|
198
|
+
var _DEFAULT_CHECKBOX_CON = _objectSpread(_objectSpread({}, DEFAULT_CHECKBOX_CONFIG), checkboxConfig || {}),
|
|
199
|
+
showCheckbox = _DEFAULT_CHECKBOX_CON.enabled,
|
|
200
|
+
showInHeader = _DEFAULT_CHECKBOX_CON.showInHeader;
|
|
201
|
+
var sortBy = sortByConfig.sortBy,
|
|
202
|
+
sortOrder = sortByConfig.sortOrder;
|
|
203
|
+
var _useState7 = (0, _react.useState)(false),
|
|
204
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
205
|
+
checkboxValue = _useState8[0],
|
|
206
|
+
setCheckboxValue = _useState8[1];
|
|
207
|
+
var _useState9 = (0, _react.useState)(0),
|
|
208
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
209
|
+
checkboxChangeCounter = _useState0[0],
|
|
210
|
+
setChangeCounter = _useState0[1];
|
|
211
|
+
var _useState1 = (0, _react.useState)([]),
|
|
212
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
213
|
+
selected = _useState10[0],
|
|
214
|
+
setSelected = _useState10[1];
|
|
215
|
+
var RowComponent = isExpandableTable ? ExpandableTR : TR;
|
|
216
|
+
var onSelectionChange = function onSelectionChange(record, checked) {
|
|
217
|
+
if (checked) {
|
|
218
|
+
/* add to selected array */
|
|
219
|
+
setSelected([].concat(_toConsumableArray(selected), [record]));
|
|
220
|
+
} else {
|
|
221
|
+
/* remove from selected array */
|
|
222
|
+
var newSelected = selected.filter(function (obj) {
|
|
223
|
+
return obj[idAttribute] !== record[idAttribute];
|
|
224
|
+
});
|
|
225
|
+
setSelected(newSelected);
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
var getSelectedRows = function getSelectedRows() {
|
|
229
|
+
return selected;
|
|
230
|
+
};
|
|
231
|
+
var refreshTableData = function refreshTableData() {
|
|
232
|
+
if (onRefreshCB) onRefreshCB();
|
|
233
|
+
onRefreshTableData();
|
|
234
|
+
};
|
|
235
|
+
var updateCheckboxValue = function updateCheckboxValue(newValue) {
|
|
236
|
+
setCheckboxValue(newValue);
|
|
237
|
+
setChangeCounter(checkboxChangeCounter + 1);
|
|
238
|
+
};
|
|
239
|
+
var resetSelected = function resetSelected() {
|
|
240
|
+
updateCheckboxValue(false);
|
|
241
|
+
setSelected([]);
|
|
242
|
+
};
|
|
243
|
+
var toggleSelectAll = function toggleSelectAll() {
|
|
244
|
+
var checked = !checkboxValue;
|
|
245
|
+
updateCheckboxValue(checked);
|
|
246
|
+
if (checked) {
|
|
247
|
+
setSelected(records);
|
|
248
|
+
} else {
|
|
249
|
+
setSelected([]);
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
253
|
+
return {
|
|
254
|
+
getSelectedRows: getSelectedRows,
|
|
255
|
+
resetSelected: resetSelected,
|
|
256
|
+
resetPageNo: resetPageNo
|
|
257
|
+
};
|
|
258
|
+
});
|
|
259
|
+
if (records.length === 0) {
|
|
260
|
+
if (pageNo === 1) {
|
|
261
|
+
return noDataComponent;
|
|
262
|
+
} else {
|
|
263
|
+
var LoaderComponent = _utils["default"].getDefaultConfig("DefaultLoader") || "";
|
|
264
|
+
return /*#__PURE__*/_react["default"].createElement(LoaderComponent, null);
|
|
265
|
+
}
|
|
266
|
+
} else {
|
|
267
|
+
return /*#__PURE__*/_react["default"].createElement("table", {
|
|
268
|
+
className: "RCB-table ".concat(className)
|
|
269
|
+
}, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, isExpandableTable && /*#__PURE__*/_react["default"].createElement("th", {
|
|
270
|
+
key: "expandIcon",
|
|
271
|
+
className: "RCB-th RCB-expand-column"
|
|
272
|
+
}), showCheckbox && (showInHeader ? /*#__PURE__*/_react["default"].createElement("th", {
|
|
273
|
+
key: "headerCheckbox"
|
|
274
|
+
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
275
|
+
name: "headerCheckbox",
|
|
276
|
+
type: "checkbox",
|
|
277
|
+
className: "table-checkbox",
|
|
278
|
+
value: checkboxValue,
|
|
279
|
+
onChange: toggleSelectAll
|
|
280
|
+
})) : /*#__PURE__*/_react["default"].createElement("th", null)), columnConfigs.map(function (columnObj) {
|
|
281
|
+
var key = columnObj.key,
|
|
282
|
+
label = columnObj.label,
|
|
283
|
+
sortable = columnObj.sortable,
|
|
284
|
+
headerClassName = columnObj.headerClassName;
|
|
285
|
+
var className = "RCB-th";
|
|
286
|
+
var thAttrs = {};
|
|
287
|
+
if (sortable) {
|
|
288
|
+
className += " RCB-th-sortable";
|
|
289
|
+
if (sortBy === key) {
|
|
290
|
+
className += " RCB-th-".concat(sortOrder.toLowerCase());
|
|
291
|
+
} else {
|
|
292
|
+
className += " RCB-th-sort";
|
|
293
|
+
}
|
|
294
|
+
thAttrs = {
|
|
295
|
+
onClick: function onClick() {
|
|
296
|
+
props.onSort(columnObj);
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
if (headerClassName) {
|
|
301
|
+
className += " ".concat(headerClassName);
|
|
302
|
+
}
|
|
303
|
+
return /*#__PURE__*/_react["default"].createElement("th", _extends({
|
|
304
|
+
className: className,
|
|
305
|
+
key: key
|
|
306
|
+
}, thAttrs), label);
|
|
307
|
+
}), refreshFeature && /*#__PURE__*/_react["default"].createElement("th", null, !isTableRefreshing && /*#__PURE__*/_react["default"].createElement("span", {
|
|
308
|
+
onClick: refreshTableData,
|
|
309
|
+
className: refreshIconClass
|
|
310
|
+
}), isTableRefreshing && /*#__PURE__*/_react["default"].createElement("span", {
|
|
311
|
+
className: spinnerIconClass
|
|
312
|
+
})))), /*#__PURE__*/_react["default"].createElement("tbody", {
|
|
313
|
+
className: tbodyClassName
|
|
314
|
+
}, records.map(function (rowData, index) {
|
|
315
|
+
return /*#__PURE__*/_react["default"].createElement(RowComponent, {
|
|
316
|
+
key: rowData[idAttribute],
|
|
317
|
+
isEven: _utils["default"].isEven(index),
|
|
318
|
+
rowIndex: index,
|
|
319
|
+
rowData: rowData,
|
|
320
|
+
columnConfigs: columnConfigs,
|
|
321
|
+
ExpandedRowComponent: ExpandedRowComponent,
|
|
322
|
+
showCheckbox: showCheckbox,
|
|
323
|
+
checkboxValue: checkboxValue,
|
|
324
|
+
checkboxChangeCounter: checkboxChangeCounter,
|
|
325
|
+
onSelectionChange: onSelectionChange
|
|
326
|
+
});
|
|
327
|
+
})));
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
BaseTable = /*#__PURE__*/(0, _react.forwardRef)(BaseTable);
|
|
331
|
+
|
|
332
|
+
/* eslint-enable react/prop-types */
|
|
333
|
+
|
|
334
|
+
BaseTable.propTypes = {
|
|
335
|
+
/** Pass any additional classNames to Table component */
|
|
336
|
+
className: _propTypes["default"].string,
|
|
337
|
+
/** Array containing table row data */
|
|
338
|
+
records: function records(props, propName) {
|
|
339
|
+
if (props["paginationType"] == "CLIENT") {
|
|
340
|
+
if (!props[propName]) {
|
|
341
|
+
return new Error("Please provide the table records for paginationType 'CLIENT'!");
|
|
342
|
+
}
|
|
343
|
+
if (Object.prototype.toString.call(props[propName]) !== "[object Array]") {
|
|
344
|
+
return new Error("'records' must be an array");
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
/** Array containing the table columns config */
|
|
349
|
+
columnConfigs: _propTypes["default"].array.isRequired,
|
|
350
|
+
/** ID attribute key to use when rendering the dropdown items */
|
|
351
|
+
idAttribute: _propTypes["default"].string,
|
|
352
|
+
/* Config to display checkbox in the first column of the table
|
|
353
|
+
* {
|
|
354
|
+
enabled: false, // turn this on to display checkbox in first column of the table
|
|
355
|
+
showInHeader: true // turn this off to not display the checkbox in the table header
|
|
356
|
+
}
|
|
357
|
+
*/
|
|
358
|
+
checkboxConfig: _propTypes["default"].object,
|
|
359
|
+
/** set to "true" if table rows are expandable */
|
|
360
|
+
isExpandableTable: _propTypes["default"].bool,
|
|
361
|
+
/** Component to be rendered on expanding a row */
|
|
362
|
+
ExpandedRowComponent: _propTypes["default"].oneOfType([_propTypes["default"].instanceOf(Element), _propTypes["default"].func]),
|
|
363
|
+
/** Component to be rendered if the table has no data */
|
|
364
|
+
noDataComponent: _propTypes["default"].any
|
|
365
|
+
};
|
|
366
|
+
BaseTable.defaultProps = {
|
|
367
|
+
className: "",
|
|
368
|
+
records: [],
|
|
369
|
+
idAttribute: "id",
|
|
370
|
+
isExpandableTable: false,
|
|
371
|
+
noDataComponent: /*#__PURE__*/_react["default"].createElement(DefaultNoDataComponent, null)
|
|
372
|
+
};
|
|
373
|
+
var _default = exports["default"] = BaseTable;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
var _Dropdown = _interopRequireDefault(require("../Form/Dropdown"));
|
|
10
|
+
var _utils = _interopRequireDefault(require("../../core/utils"));
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
16
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
17
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
18
|
+
var PaginationComponent = function PaginationComponent(props) {
|
|
19
|
+
var pageSizeList = props.pageSizeList,
|
|
20
|
+
pageConfig = props.pageConfig,
|
|
21
|
+
onPageConfigChanged = props.onPageConfigChanged;
|
|
22
|
+
var perPageCount = pageConfig.perPageCount,
|
|
23
|
+
pageNo = pageConfig.pageNo,
|
|
24
|
+
total = pageConfig.total;
|
|
25
|
+
var SelectionSummary = function SelectionSummary() {
|
|
26
|
+
var pagIndex = _utils["default"].getPagIndex(pageConfig);
|
|
27
|
+
var start = pagIndex.start,
|
|
28
|
+
end = pagIndex.end;
|
|
29
|
+
var startVal = start + 1;
|
|
30
|
+
var endVal = total < end ? total : end;
|
|
31
|
+
var summaryString = "".concat(startVal, "-").concat(endVal);
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
33
|
+
className: "RCB-select-summary"
|
|
34
|
+
}, summaryString, /*#__PURE__*/_react["default"].createElement("span", {
|
|
35
|
+
className: "RCB-select-arrow"
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
var onPerPageChanged = function onPerPageChanged(perPageObj) {
|
|
39
|
+
var perPage = +perPageObj.id;
|
|
40
|
+
onPageConfigChanged(_objectSpread(_objectSpread({}, pageConfig), {}, {
|
|
41
|
+
pageNo: 1,
|
|
42
|
+
perPageCount: perPage
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
var changePage = function changePage(moveUnit, event) {
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
onPageConfigChanged(_objectSpread(_objectSpread({}, pageConfig), {}, {
|
|
48
|
+
pageNo: pageNo + moveUnit
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
var isLeftNavDisbaled = pageNo <= 1;
|
|
52
|
+
var isRightNavDisbaled = pageNo >= Math.ceil(total / +perPageCount);
|
|
53
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
54
|
+
className: "RCB-paginate-wrapper"
|
|
55
|
+
}, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
|
|
56
|
+
name: "perPageCount",
|
|
57
|
+
showLabel: false,
|
|
58
|
+
className: "RCB-per-page-count",
|
|
59
|
+
options: pageSizeList,
|
|
60
|
+
onChange: onPerPageChanged,
|
|
61
|
+
SelectionSummary: SelectionSummary
|
|
62
|
+
}), "of ".concat(total), /*#__PURE__*/_react["default"].createElement("div", {
|
|
63
|
+
className: "RCB-paginate-nav"
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
65
|
+
href: "javacsript:void(0)",
|
|
66
|
+
className: "RCB-page-nav ".concat(isLeftNavDisbaled ? "disabled" : ""),
|
|
67
|
+
onClick: function onClick(event) {
|
|
68
|
+
return changePage(-1, event);
|
|
69
|
+
}
|
|
70
|
+
}, "<"), /*#__PURE__*/_react["default"].createElement("a", {
|
|
71
|
+
href: "javacsript:void(0)",
|
|
72
|
+
className: "RCB-page-nav ".concat(isRightNavDisbaled ? "disabled" : ""),
|
|
73
|
+
onClick: function onClick(event) {
|
|
74
|
+
return changePage(1, event);
|
|
75
|
+
}
|
|
76
|
+
}, ">")));
|
|
77
|
+
};
|
|
78
|
+
PaginationComponent.propTypes = {
|
|
79
|
+
pageSizeList: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
80
|
+
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
81
|
+
name: _propTypes["default"].string
|
|
82
|
+
})),
|
|
83
|
+
pageConfig: _propTypes["default"].object,
|
|
84
|
+
onPageConfigChanged: _propTypes["default"].func.isRequired
|
|
85
|
+
};
|
|
86
|
+
var _default = exports["default"] = PaginationComponent;
|