@unbxd-ui/unbxd-react-components 0.2.120 → 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)([]),
|
|
@@ -128,7 +126,6 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
128
126
|
var pageNoRef = (0, _react.useRef)(getDefaultPageNo());
|
|
129
127
|
var searchRef = (0, _react.useRef)(searchQuery);
|
|
130
128
|
var apiCallRef = (0, _react.useRef)(false);
|
|
131
|
-
var abortController = (0, _react.useRef)(null);
|
|
132
129
|
var onDataLoaded = function onDataLoaded(response) {
|
|
133
130
|
apiCallRef.current = false;
|
|
134
131
|
var apiResponse = response;
|
|
@@ -158,16 +155,13 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
158
155
|
setTotal(total);
|
|
159
156
|
};
|
|
160
157
|
var makeAPICall = function makeAPICall() {
|
|
161
|
-
var _objectSpread2;
|
|
162
158
|
setIsApiLoading(true);
|
|
163
159
|
apiCallRef.current = true;
|
|
164
|
-
abortController.current = new AbortController();
|
|
165
160
|
setIsNextPageLoading(true);
|
|
166
161
|
var def = _dataLoader["default"].getRequestDef({
|
|
167
162
|
requestId: requestId,
|
|
168
|
-
params: _objectSpread(_objectSpread((
|
|
169
|
-
urlParams: getUrlParams()
|
|
170
|
-
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()
|
|
171
165
|
});
|
|
172
166
|
def.done(function (response) {
|
|
173
167
|
onDataLoaded(response);
|
|
@@ -181,17 +175,13 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
181
175
|
*/
|
|
182
176
|
var loadNextPage = function loadNextPage() {
|
|
183
177
|
pageNoRef.current = pageNoRef.current + 1;
|
|
184
|
-
|
|
185
|
-
abortController.current.abort();
|
|
186
|
-
}
|
|
178
|
+
_dataLoader["default"].abortPreviousCall(requestId);
|
|
187
179
|
return makeAPICall();
|
|
188
180
|
};
|
|
189
181
|
(0, _react.useEffect)(function () {
|
|
190
182
|
/* not the first call */
|
|
191
183
|
if (itemsResetCounter > 0) {
|
|
192
|
-
|
|
193
|
-
abortController.current.abort();
|
|
194
|
-
}
|
|
184
|
+
_dataLoader["default"].abortPreviousCall(requestId);
|
|
195
185
|
makeAPICall();
|
|
196
186
|
}
|
|
197
187
|
}, [itemsResetCounter]);
|
|
@@ -280,7 +270,6 @@ var ServerPaginatedDDList = function ServerPaginatedDDList(props) {
|
|
|
280
270
|
});
|
|
281
271
|
// }
|
|
282
272
|
};
|
|
283
|
-
|
|
284
273
|
ServerPaginatedDDList.propTypes = {
|
|
285
274
|
ddItemHeight: _propTypes["default"].number,
|
|
286
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,
|
|
@@ -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,
|
|
@@ -165,7 +164,7 @@ var Table = function Table(props, ref) {
|
|
|
165
164
|
ASCEnum = _REQUEST_KEYS$getRequ.sortASC,
|
|
166
165
|
DSCEnum = _REQUEST_KEYS$getRequ.sortDSC;
|
|
167
166
|
var extraParams = _utils["default"].omit(restProps, omitParams);
|
|
168
|
-
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));
|
|
169
168
|
var requests = [{
|
|
170
169
|
requestId: requestId,
|
|
171
170
|
params: requestParams,
|
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
|
});
|