@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", "abortPrevious", "LoaderComponent"];
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
- var _objectSpread2;
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((_objectSpread2 = {}, _defineProperty(_objectSpread2, pageNoKey, pageNoRef.current), _defineProperty(_objectSpread2, perPageKey, pageSize), _objectSpread2), searchRef.current && _defineProperty({}, searchAttribute, searchRef.current)), requestParams),
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
- if (abortPrevious && apiCallRef.current) {
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
- if (abortPrevious && apiCallRef.current) {
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
- return noDataComponent;
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", null, records.map(function (rowData, index) {
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), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, pageNoKey, pageNo), _defineProperty(_objectSpread2, perPageKey, perPageCount), _objectSpread2), searchQuery && _defineProperty({}, searchByKey, searchQuery)), sortBy && _defineProperty({}, sortByKey, sortBy)), sortOrder && _defineProperty({}, sortOrderKey, sortOrder === "DSC" ? DSCEnum : ASCEnum));
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,
@@ -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 = 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$method = requestConfig.method,
117
- method = _requestConfig$method === void 0 ? "GET" : _requestConfig$method;
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
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unbxd-ui/unbxd-react-components",
3
- "version": "0.2.119",
3
+ "version": "0.2.121",
4
4
  "description": "React components library",
5
5
  "keywords": [
6
6
  "react components",