@unbxd-ui/unbxd-react-components 0.2.119 → 0.2.121
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.
|
@@ -11,7 +11,7 @@ var _reactWindow = require("react-window");
|
|
|
11
11
|
var _reactWindowInfiniteLoader = _interopRequireDefault(require("react-window-infinite-loader"));
|
|
12
12
|
var _dataLoader = _interopRequireDefault(require("../../core/dataLoader"));
|
|
13
13
|
var _utils = _interopRequireDefault(require("../../core/utils"));
|
|
14
|
-
var _excluded = ["selectedItems", "selectItem", "idAttribute", "nameAttribute", "DropdownItem", "requestId", "requestParams", "responseFormatter", "pageNoKey", "perPageKey", "pageSize", "maxHeight", "searchAttribute", "searchQuery", "getUrlParams", "serverListClassName", "ddItemHeight", "minPageNo", "delay", "loadImmediately", "showClippedContentTitle", "
|
|
14
|
+
var _excluded = ["selectedItems", "selectItem", "idAttribute", "nameAttribute", "DropdownItem", "requestId", "requestParams", "responseFormatter", "pageNoKey", "perPageKey", "pageSize", "maxHeight", "searchAttribute", "searchQuery", "getUrlParams", "serverListClassName", "ddItemHeight", "minPageNo", "delay", "loadImmediately", "showClippedContentTitle", "LoaderComponent"];
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -93,8 +93,6 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
93
93
|
_props$loadImmediatel = props.loadImmediately,
|
|
94
94
|
loadImmediately = _props$loadImmediatel === void 0 ? true : _props$loadImmediatel,
|
|
95
95
|
showClippedContentTitle = props.showClippedContentTitle,
|
|
96
|
-
_props$abortPrevious = props.abortPrevious,
|
|
97
|
-
abortPrevious = _props$abortPrevious === void 0 ? false : _props$abortPrevious,
|
|
98
96
|
LoaderComponent = props.LoaderComponent,
|
|
99
97
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
100
98
|
var _useState = (0, _react.useState)([]),
|
|
@@ -117,6 +115,10 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
117
115
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
118
116
|
isNextPageLoading = _useState10[0],
|
|
119
117
|
setIsNextPageLoading = _useState10[1];
|
|
118
|
+
var _useState11 = (0, _react.useState)(false),
|
|
119
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
120
|
+
isApiLoading = _useState12[0],
|
|
121
|
+
setIsApiLoading = _useState12[1];
|
|
120
122
|
var debouncedFn = (0, _react.useRef)();
|
|
121
123
|
var getDefaultPageNo = function getDefaultPageNo() {
|
|
122
124
|
return minPageNo !== null && minPageNo !== void 0 ? minPageNo : 1;
|
|
@@ -124,7 +126,6 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
124
126
|
var pageNoRef = (0, _react.useRef)(getDefaultPageNo());
|
|
125
127
|
var searchRef = (0, _react.useRef)(searchQuery);
|
|
126
128
|
var apiCallRef = (0, _react.useRef)(false);
|
|
127
|
-
var abortController = (0, _react.useRef)(null);
|
|
128
129
|
var onDataLoaded = function onDataLoaded(response) {
|
|
129
130
|
apiCallRef.current = false;
|
|
130
131
|
var apiResponse = response;
|
|
@@ -154,18 +155,17 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
154
155
|
setTotal(total);
|
|
155
156
|
};
|
|
156
157
|
var makeAPICall = function makeAPICall() {
|
|
157
|
-
|
|
158
|
+
setIsApiLoading(true);
|
|
158
159
|
apiCallRef.current = true;
|
|
159
|
-
abortController.current = new AbortController();
|
|
160
160
|
setIsNextPageLoading(true);
|
|
161
161
|
var def = _dataLoader["default"].getRequestDef({
|
|
162
162
|
requestId: requestId,
|
|
163
|
-
params: _objectSpread(_objectSpread((
|
|
164
|
-
urlParams: getUrlParams()
|
|
165
|
-
signal: abortController.current.signal
|
|
163
|
+
params: _objectSpread(_objectSpread(_defineProperty(_defineProperty({}, pageNoKey, pageNoRef.current), perPageKey, pageSize), searchRef.current && _defineProperty({}, searchAttribute, searchRef.current)), requestParams),
|
|
164
|
+
urlParams: getUrlParams()
|
|
166
165
|
});
|
|
167
166
|
def.done(function (response) {
|
|
168
167
|
onDataLoaded(response);
|
|
168
|
+
setIsApiLoading(false);
|
|
169
169
|
});
|
|
170
170
|
return def;
|
|
171
171
|
};
|
|
@@ -175,17 +175,13 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
175
175
|
*/
|
|
176
176
|
var loadNextPage = function loadNextPage() {
|
|
177
177
|
pageNoRef.current = pageNoRef.current + 1;
|
|
178
|
-
|
|
179
|
-
abortController.current.abort();
|
|
180
|
-
}
|
|
178
|
+
_dataLoader["default"].abortPreviousCall(requestId);
|
|
181
179
|
return makeAPICall();
|
|
182
180
|
};
|
|
183
181
|
(0, _react.useEffect)(function () {
|
|
184
182
|
/* not the first call */
|
|
185
183
|
if (itemsResetCounter > 0) {
|
|
186
|
-
|
|
187
|
-
abortController.current.abort();
|
|
188
|
-
}
|
|
184
|
+
_dataLoader["default"].abortPreviousCall(requestId);
|
|
189
185
|
makeAPICall();
|
|
190
186
|
}
|
|
191
187
|
}, [itemsResetCounter]);
|
|
@@ -235,7 +231,7 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
235
231
|
showClippedContentTitle: showClippedContentTitle
|
|
236
232
|
}, restProps);
|
|
237
233
|
if (total === null) {
|
|
238
|
-
if (LoaderComponent) {
|
|
234
|
+
if (LoaderComponent && isApiLoading) {
|
|
239
235
|
return LoaderComponent;
|
|
240
236
|
}
|
|
241
237
|
return [];
|
|
@@ -274,7 +270,6 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
274
270
|
});
|
|
275
271
|
// }
|
|
276
272
|
};
|
|
277
|
-
|
|
278
273
|
ServerPaginatedDDList.propTypes = {
|
|
279
274
|
ddItemHeight: _propTypes["default"].number,
|
|
280
275
|
LoaderComponent: _propTypes["default"].any
|
|
@@ -137,7 +137,6 @@ var ExpandableTR = function ExpandableTR(props) {
|
|
|
137
137
|
ExpandableTR.propTypes = {
|
|
138
138
|
ExpandedRowComponent: _propTypes["default"].any.isRequired // TODO : check for a React Component
|
|
139
139
|
};
|
|
140
|
-
|
|
141
140
|
var TR = function TR(props) {
|
|
142
141
|
var rowIndex = props.rowIndex,
|
|
143
142
|
rowData = props.rowData,
|
|
@@ -188,7 +187,9 @@ var BaseTable = function BaseTable(props, ref) {
|
|
|
188
187
|
ExpandedRowComponent = props.ExpandedRowComponent,
|
|
189
188
|
noDataComponent = props.noDataComponent,
|
|
190
189
|
sortByConfig = props.sortByConfig,
|
|
191
|
-
resetPageNo = props.resetPageNo
|
|
190
|
+
resetPageNo = props.resetPageNo,
|
|
191
|
+
pageNo = props.pageNo,
|
|
192
|
+
tbodyClassName = props.tbodyClassName;
|
|
192
193
|
var _DEFAULT_CHECKBOX_CON = _objectSpread(_objectSpread({}, DEFAULT_CHECKBOX_CONFIG), checkboxConfig || {}),
|
|
193
194
|
showCheckbox = _DEFAULT_CHECKBOX_CON.enabled,
|
|
194
195
|
showInHeader = _DEFAULT_CHECKBOX_CON.showInHeader;
|
|
@@ -247,7 +248,12 @@ var BaseTable = function BaseTable(props, ref) {
|
|
|
247
248
|
};
|
|
248
249
|
});
|
|
249
250
|
if (records.length === 0) {
|
|
250
|
-
|
|
251
|
+
if (pageNo === 1) {
|
|
252
|
+
return noDataComponent;
|
|
253
|
+
} else {
|
|
254
|
+
var LoaderComponent = _utils["default"].getDefaultConfig("DefaultLoader") || "";
|
|
255
|
+
return /*#__PURE__*/_react["default"].createElement(LoaderComponent, null);
|
|
256
|
+
}
|
|
251
257
|
} else {
|
|
252
258
|
return /*#__PURE__*/_react["default"].createElement("table", {
|
|
253
259
|
className: "RCB-table ".concat(className)
|
|
@@ -289,7 +295,9 @@ var BaseTable = function BaseTable(props, ref) {
|
|
|
289
295
|
className: className,
|
|
290
296
|
key: key
|
|
291
297
|
}, thAttrs), label);
|
|
292
|
-
}))), /*#__PURE__*/_react["default"].createElement("tbody",
|
|
298
|
+
}))), /*#__PURE__*/_react["default"].createElement("tbody", {
|
|
299
|
+
className: tbodyClassName
|
|
300
|
+
}, records.map(function (rowData, index) {
|
|
293
301
|
return /*#__PURE__*/_react["default"].createElement(RowComponent, {
|
|
294
302
|
key: rowData[idAttribute],
|
|
295
303
|
isEven: _utils["default"].isEven(index),
|
|
@@ -10,7 +10,7 @@ var _BaseTable = _interopRequireDefault(require("./BaseTable"));
|
|
|
10
10
|
var _DataLoader = _interopRequireDefault(require("../DataLoader"));
|
|
11
11
|
var _PaginationComponent = _interopRequireDefault(require("./PaginationComponent"));
|
|
12
12
|
var _utils = _interopRequireDefault(require("../../core/utils"));
|
|
13
|
-
var _excluded = ["className", "wrapperClassName", "records", "columnConfigs", "idAttribute", "searchBy", "getRequestKeys", "showPaginateBar", "paginationPosition", "paginationType", "paginationBar", "requestId", "pageNoKey", "perPageKey", "pageSizeList", "isExpandableTable", "ExpandedRowComponent", "responseFormatter", "noDataComponent", "omitProps", "getUrlParams", "getRequestParams", "checkboxConfig"];
|
|
13
|
+
var _excluded = ["className", "wrapperClassName", "records", "columnConfigs", "idAttribute", "searchBy", "getRequestKeys", "showPaginateBar", "paginationPosition", "paginationType", "paginationBar", "requestId", "pageNoKey", "perPageKey", "pageSizeList", "isExpandableTable", "ExpandedRowComponent", "responseFormatter", "noDataComponent", "omitProps", "getUrlParams", "getRequestParams", "checkboxConfig", "tbodyClassName"];
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -99,7 +99,6 @@ var REQUEST_KEYS = exports.REQUEST_KEYS = {
|
|
|
99
99
|
sortDSC: "DSC"
|
|
100
100
|
};
|
|
101
101
|
var Table = function Table(props, ref) {
|
|
102
|
-
var _objectSpread2;
|
|
103
102
|
var className = props.className,
|
|
104
103
|
wrapperClassName = props.wrapperClassName,
|
|
105
104
|
records = props.records,
|
|
@@ -123,6 +122,7 @@ var Table = function Table(props, ref) {
|
|
|
123
122
|
getUrlParams = props.getUrlParams,
|
|
124
123
|
getRequestParams = props.getRequestParams,
|
|
125
124
|
checkboxConfig = props.checkboxConfig,
|
|
125
|
+
tbodyClassName = props.tbodyClassName,
|
|
126
126
|
restProps = _objectWithoutProperties(props, _excluded);
|
|
127
127
|
/* variables for server data */
|
|
128
128
|
var _useState = (0, _react.useState)([]),
|
|
@@ -164,7 +164,7 @@ var Table = function Table(props, ref) {
|
|
|
164
164
|
ASCEnum = _REQUEST_KEYS$getRequ.sortASC,
|
|
165
165
|
DSCEnum = _REQUEST_KEYS$getRequ.sortDSC;
|
|
166
166
|
var extraParams = _utils["default"].omit(restProps, omitParams);
|
|
167
|
-
var requestParams = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, getRequestParams()), extraParams), {}, (
|
|
167
|
+
var requestParams = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, getRequestParams()), extraParams), {}, _defineProperty(_defineProperty({}, pageNoKey, pageNo), perPageKey, perPageCount), searchQuery && _defineProperty({}, searchByKey, searchQuery)), sortBy && _defineProperty({}, sortByKey, sortBy)), sortOrder && _defineProperty({}, sortOrderKey, sortOrder === "DSC" ? DSCEnum : ASCEnum));
|
|
168
168
|
var requests = [{
|
|
169
169
|
requestId: requestId,
|
|
170
170
|
params: requestParams,
|
|
@@ -238,6 +238,8 @@ var Table = function Table(props, ref) {
|
|
|
238
238
|
checkboxConfig: checkboxConfig,
|
|
239
239
|
idAttribute: idAttribute,
|
|
240
240
|
noDataComponent: noDataComponent,
|
|
241
|
+
pageNo: pageNo,
|
|
242
|
+
tbodyClassName: tbodyClassName,
|
|
241
243
|
sortByConfig: sortByConfig,
|
|
242
244
|
onSort: onSort,
|
|
243
245
|
resetPageNo: resetPageNo,
|
package/core/dataLoader.js
CHANGED
|
@@ -34,6 +34,9 @@ var DataLoader = /*#__PURE__*/function () {
|
|
|
34
34
|
return x;
|
|
35
35
|
});
|
|
36
36
|
_defineProperty(this, "_middlewares", {});
|
|
37
|
+
_defineProperty(this, "apiCallRef", false);
|
|
38
|
+
_defineProperty(this, "abortController", null);
|
|
39
|
+
_defineProperty(this, "previousUrlData", {});
|
|
37
40
|
}
|
|
38
41
|
_createClass(DataLoader, [{
|
|
39
42
|
key: "setCommonHeaders",
|
|
@@ -99,29 +102,53 @@ var DataLoader = /*#__PURE__*/function () {
|
|
|
99
102
|
response = typeof commonParser === "function" ? commonParser(response, requestId, headers, status) : response;
|
|
100
103
|
return responseParser(response, requestId, headers, status);
|
|
101
104
|
}
|
|
105
|
+
}, {
|
|
106
|
+
key: "setPreviousUrlData",
|
|
107
|
+
value: function setPreviousUrlData(url, method) {
|
|
108
|
+
this.previousUrlData = {
|
|
109
|
+
url: url,
|
|
110
|
+
method: method
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "abortPreviousCall",
|
|
115
|
+
value: function abortPreviousCall(requestId) {
|
|
116
|
+
var requestConfig = this._requestsMap[requestId];
|
|
117
|
+
var url = requestConfig.url,
|
|
118
|
+
_requestConfig$method = requestConfig.method,
|
|
119
|
+
method = _requestConfig$method === void 0 ? "GET" : _requestConfig$method;
|
|
120
|
+
if (this.apiCallRef && this.abortController) {
|
|
121
|
+
if (this.previousUrlData.url === url && this.previousUrlData.method === method) {
|
|
122
|
+
this.abortController.abort();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
this.apiCallRef = true;
|
|
126
|
+
this.abortController = new AbortController();
|
|
127
|
+
}
|
|
102
128
|
}, {
|
|
103
129
|
key: "getRequestDef",
|
|
104
130
|
value: function getRequestDef(_ref) {
|
|
105
|
-
var _this
|
|
131
|
+
var _this$abortController,
|
|
132
|
+
_this = this;
|
|
106
133
|
var requestId = _ref.requestId,
|
|
107
134
|
_ref$urlParams = _ref.urlParams,
|
|
108
135
|
urlParams = _ref$urlParams === void 0 ? {} : _ref$urlParams,
|
|
109
136
|
_ref$params = _ref.params,
|
|
110
137
|
params = _ref$params === void 0 ? {} : _ref$params,
|
|
111
138
|
_ref$headers = _ref.headers,
|
|
112
|
-
headers = _ref$headers === void 0 ? {} : _ref$headers
|
|
113
|
-
signal = _ref.signal;
|
|
139
|
+
headers = _ref$headers === void 0 ? {} : _ref$headers;
|
|
114
140
|
var requestConfig = this._requestsMap[requestId];
|
|
115
141
|
var url = requestConfig.url,
|
|
116
|
-
_requestConfig$
|
|
117
|
-
method = _requestConfig$
|
|
142
|
+
_requestConfig$method2 = requestConfig.method,
|
|
143
|
+
method = _requestConfig$method2 === void 0 ? "GET" : _requestConfig$method2;
|
|
144
|
+
this.setPreviousUrlData(url, method);
|
|
118
145
|
var finalRequestParams = this.getRequestParams(requestId, params);
|
|
119
146
|
var requestUrl = typeof url === "function" ? url(urlParams) : url;
|
|
120
147
|
var reqMethod = method.toLowerCase();
|
|
121
148
|
var requestMetadata = {
|
|
122
149
|
method: reqMethod === "form_post" || reqMethod === "upload" ? "post" : method,
|
|
123
150
|
headers: _objectSpread(_objectSpread({}, this._commonHeaders), headers),
|
|
124
|
-
signal: signal
|
|
151
|
+
signal: (_this$abortController = this.abortController) === null || _this$abortController === void 0 ? void 0 : _this$abortController.signal
|
|
125
152
|
};
|
|
126
153
|
var requestHeaders = requestMetadata.headers;
|
|
127
154
|
for (var header in requestHeaders) {
|
|
@@ -144,6 +171,8 @@ var DataLoader = /*#__PURE__*/function () {
|
|
|
144
171
|
}
|
|
145
172
|
return new _bluebird.Promise(function (resolve, reject) {
|
|
146
173
|
return (0, _whatwgFetch.fetch)(requestUrl, requestMetadata).then(function (response) {
|
|
174
|
+
_this.apiCallRef = false;
|
|
175
|
+
_this.abortController = null;
|
|
147
176
|
var status = response.status,
|
|
148
177
|
statusText = response.statusText,
|
|
149
178
|
headers = response.headers;
|
|
@@ -170,9 +199,13 @@ var DataLoader = /*#__PURE__*/function () {
|
|
|
170
199
|
var headers = _ref2.headers,
|
|
171
200
|
json = _ref2.json,
|
|
172
201
|
status = _ref2.status;
|
|
202
|
+
_this.apiCallRef = false;
|
|
203
|
+
_this.abortController = null;
|
|
173
204
|
var parsedResponse = _this.parseResponseData(requestId, json, headers, status);
|
|
174
205
|
resolve(parsedResponse);
|
|
175
206
|
})["catch"](function (exception) {
|
|
207
|
+
_this.apiCallRef = false;
|
|
208
|
+
_this.abortController = null;
|
|
176
209
|
_this._exceptionHandler(exception);
|
|
177
210
|
reject(exception);
|
|
178
211
|
});
|