@dnb/eufemia 9.16.2 → 9.16.3
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/CHANGELOG.md +10 -0
- package/cjs/components/input-masked/InputMaskedHooks.js +3 -2
- package/cjs/components/input-masked/InputMaskedUtils.js +2 -2
- package/cjs/components/pagination/Pagination.d.ts +6 -0
- package/cjs/components/pagination/Pagination.js +2 -0
- package/cjs/components/pagination/PaginationBar.js +1 -1
- package/cjs/components/pagination/PaginationInfinity.js +152 -89
- package/cjs/components/pagination/PaginationProvider.js +65 -68
- package/cjs/components/tabs/style/_tabs.scss +5 -1
- package/cjs/components/tabs/style/dnb-tabs.css +4 -1
- package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
- package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
- package/cjs/shared/component-helper.js +3 -1
- package/cjs/shared/helpers.js +23 -12
- package/cjs/style/dnb-ui-components.css +4 -1
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
- package/cjs/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +37 -34
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
- package/components/input-masked/InputMaskedHooks.js +3 -2
- package/components/input-masked/InputMaskedUtils.js +3 -3
- package/components/pagination/Pagination.d.ts +6 -0
- package/components/pagination/Pagination.js +2 -0
- package/components/pagination/PaginationBar.js +1 -1
- package/components/pagination/PaginationInfinity.js +137 -67
- package/components/pagination/PaginationProvider.js +64 -68
- package/components/tabs/style/_tabs.scss +5 -1
- package/components/tabs/style/dnb-tabs.css +4 -1
- package/components/tabs/style/dnb-tabs.min.css +1 -1
- package/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
- package/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
- package/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
- package/es/components/input-masked/InputMaskedHooks.js +3 -2
- package/es/components/input-masked/InputMaskedUtils.js +3 -3
- package/es/components/pagination/Pagination.d.ts +6 -0
- package/es/components/pagination/Pagination.js +2 -0
- package/es/components/pagination/PaginationBar.js +1 -1
- package/es/components/pagination/PaginationInfinity.js +110 -37
- package/es/components/pagination/PaginationProvider.js +57 -61
- package/es/components/tabs/style/_tabs.scss +5 -1
- package/es/components/tabs/style/dnb-tabs.css +4 -1
- package/es/components/tabs/style/dnb-tabs.min.css +1 -1
- package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
- package/es/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
- package/es/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
- package/es/shared/component-helper.js +1 -0
- package/es/shared/helpers.js +18 -11
- package/es/style/dnb-ui-components.css +4 -1
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
- package/es/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
- package/es/style/themes/theme-ui/dnb-theme-ui.css +37 -34
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
- package/esm/components/input-masked/InputMaskedHooks.js +3 -2
- package/esm/components/input-masked/InputMaskedUtils.js +3 -3
- package/esm/components/pagination/Pagination.d.ts +6 -0
- package/esm/components/pagination/Pagination.js +2 -0
- package/esm/components/pagination/PaginationBar.js +1 -1
- package/esm/components/pagination/PaginationInfinity.js +137 -67
- package/esm/components/pagination/PaginationProvider.js +64 -68
- package/esm/components/tabs/style/_tabs.scss +5 -1
- package/esm/components/tabs/style/dnb-tabs.css +4 -1
- package/esm/components/tabs/style/dnb-tabs.min.css +1 -1
- package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.css +37 -34
- package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.min.css +1 -1
- package/esm/components/tabs/style/themes/dnb-tabs-theme-ui.scss +12 -9
- package/esm/dnb-ui-components.min.mjs +3 -3
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +1 -1
- package/esm/dnb-ui-lib.min.mjs +3 -3
- package/esm/dnb-ui-web-components.min.mjs +3 -3
- package/esm/shared/component-helper.js +1 -0
- package/esm/shared/helpers.js +18 -11
- package/esm/style/dnb-ui-components.css +4 -1
- package/esm/style/dnb-ui-components.min.css +1 -1
- package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
- package/esm/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
- package/esm/style/themes/theme-ui/dnb-theme-ui.css +37 -34
- package/esm/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
- package/package.json +2 -2
- package/shared/component-helper.js +1 -0
- package/shared/helpers.js +18 -11
- package/style/dnb-ui-components.css +4 -1
- package/style/dnb-ui-components.min.css +1 -1
- package/style/themes/theme-open-banking/dnb-theme-open-banking.css +37 -34
- package/style/themes/theme-open-banking/dnb-theme-open-banking.min.css +1 -1
- package/style/themes/theme-ui/dnb-theme-ui.css +37 -34
- package/style/themes/theme-ui/dnb-theme-ui.min.css +1 -1
- package/umd/dnb-ui-components.min.js +4 -4
- package/umd/dnb-ui-elements.min.js +3 -3
- package/umd/dnb-ui-extensions.min.js +1 -1
- package/umd/dnb-ui-lib.min.js +1 -1
- package/umd/dnb-ui-web-components.min.js +3 -3
|
@@ -7,7 +7,6 @@ import "core-js/modules/es.object.get-own-property-descriptors.js";
|
|
|
7
7
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
8
8
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
9
9
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
10
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
11
10
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
12
11
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
13
12
|
import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
|
|
@@ -35,7 +34,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
35
34
|
import React from 'react';
|
|
36
35
|
import PropTypes from 'prop-types';
|
|
37
36
|
import ReactDOM from 'react-dom';
|
|
38
|
-
import { warn, isTrue, dispatchCustomElementEvent } from '../../shared/component-helper';
|
|
37
|
+
import { warn, isTrue, dispatchCustomElementEvent, getPreviousSibling } from '../../shared/component-helper';
|
|
39
38
|
import Context from '../../shared/Context';
|
|
40
39
|
import Button from '../button/Button';
|
|
41
40
|
import { preparePageElement, isTrElement, PaginationIndicator } from './PaginationHelpers';
|
|
@@ -58,15 +57,20 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
58
57
|
startupPage = _this$context$paginat.startupPage,
|
|
59
58
|
startup_count = _this$context$paginat.startup_count;
|
|
60
59
|
var startupCount = parseFloat(startup_count);
|
|
60
|
+
var newPageNo, skipObserver, callStartupEvent, preventWaitForDelay;
|
|
61
61
|
|
|
62
|
-
for (var i = 0
|
|
62
|
+
for (var i = 0; i < startupCount; ++i) {
|
|
63
63
|
newPageNo = startupPage + i;
|
|
64
|
+
skipObserver = newPageNo < startupCount;
|
|
65
|
+
callStartupEvent = i === 0;
|
|
66
|
+
preventWaitForDelay = i <= startupCount - 1;
|
|
64
67
|
|
|
65
68
|
_this.getNewContent(newPageNo, {
|
|
66
69
|
position: 'after',
|
|
67
|
-
skipObserver:
|
|
70
|
+
skipObserver: skipObserver
|
|
68
71
|
}, {
|
|
69
|
-
|
|
72
|
+
callStartupEvent: callStartupEvent,
|
|
73
|
+
preventWaitForDelay: preventWaitForDelay
|
|
70
74
|
});
|
|
71
75
|
}
|
|
72
76
|
});
|
|
@@ -75,8 +79,10 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
75
79
|
var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
76
80
|
|
|
77
81
|
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
78
|
-
_ref$
|
|
79
|
-
|
|
82
|
+
_ref$callStartupEvent = _ref.callStartupEvent,
|
|
83
|
+
callStartupEvent = _ref$callStartupEvent === void 0 ? false : _ref$callStartupEvent,
|
|
84
|
+
_ref$preventWaitForDe = _ref.preventWaitForDelay,
|
|
85
|
+
preventWaitForDelay = _ref$preventWaitForDe === void 0 ? false : _ref$preventWaitForDe;
|
|
80
86
|
|
|
81
87
|
var _this$context$paginat2 = _this.context.pagination,
|
|
82
88
|
pageCount = _this$context$paginat2.pageCount,
|
|
@@ -97,8 +103,9 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
97
103
|
var items = _this.context.pagination.prefillItems(newPageNo, props);
|
|
98
104
|
|
|
99
105
|
_this.context.pagination.setItems(items, function () {
|
|
100
|
-
|
|
101
|
-
|
|
106
|
+
_this.callEventHandler(newPageNo, {
|
|
107
|
+
callStartupEvent: callStartupEvent,
|
|
108
|
+
preventWaitForDelay: preventWaitForDelay
|
|
102
109
|
});
|
|
103
110
|
});
|
|
104
111
|
});
|
|
@@ -121,61 +128,80 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
121
128
|
}
|
|
122
129
|
}, {
|
|
123
130
|
key: "waitForReachedTime",
|
|
124
|
-
value: function waitForReachedTime(fn) {
|
|
131
|
+
value: function waitForReachedTime(fn, params) {
|
|
125
132
|
this.callbackBuffer = this.callbackBuffer || [];
|
|
126
|
-
|
|
127
|
-
for (var _len = arguments.length, props = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
128
|
-
props[_key - 1] = arguments[_key];
|
|
129
|
-
}
|
|
130
|
-
|
|
131
133
|
this.callbackBuffer.push({
|
|
132
134
|
fn: fn,
|
|
133
|
-
|
|
135
|
+
params: params
|
|
136
|
+
});
|
|
137
|
+
this.callBuffer({
|
|
138
|
+
minTime: params.preventWaitForDelay ? -1 : this.context.pagination.minTime
|
|
134
139
|
});
|
|
135
|
-
this.callBuffer();
|
|
136
140
|
}
|
|
137
141
|
}, {
|
|
138
142
|
key: "callBuffer",
|
|
139
143
|
value: function callBuffer() {
|
|
140
144
|
var _this2 = this;
|
|
141
145
|
|
|
142
|
-
var
|
|
146
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
147
|
+
_ref2$minTime = _ref2.minTime,
|
|
148
|
+
minTime = _ref2$minTime === void 0 ? this.context.pagination.minTime : _ref2$minTime;
|
|
149
|
+
|
|
150
|
+
if (this.callbackBuffer.length === 0) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
|
|
143
154
|
var diff = this._lastCall > 0 ? new Date().getTime() - this._lastCall : 0;
|
|
144
155
|
var waitTime = diff < minTime ? minTime : 0;
|
|
145
|
-
|
|
146
|
-
|
|
156
|
+
|
|
157
|
+
var nextTick = function nextTick() {
|
|
147
158
|
if (_this2.callbackBuffer.length > 0) {
|
|
148
159
|
_this2._lastCall = new Date().getTime();
|
|
149
160
|
|
|
150
161
|
var _this2$callbackBuffer = _this2.callbackBuffer.shift(),
|
|
151
162
|
fn = _this2$callbackBuffer.fn,
|
|
152
|
-
|
|
163
|
+
params = _this2$callbackBuffer.params;
|
|
153
164
|
|
|
154
|
-
fn
|
|
165
|
+
fn(params);
|
|
155
166
|
|
|
156
|
-
_this2.callBuffer(
|
|
167
|
+
_this2.callBuffer({
|
|
168
|
+
minTime: params.preventWaitForDelay ? -1 : minTime
|
|
169
|
+
});
|
|
157
170
|
}
|
|
158
|
-
}
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
if (minTime > 0) {
|
|
174
|
+
clearTimeout(this._bufferTimeout);
|
|
175
|
+
this._bufferTimeout = setTimeout(nextTick, waitTime);
|
|
176
|
+
} else {
|
|
177
|
+
nextTick();
|
|
178
|
+
}
|
|
159
179
|
}
|
|
160
180
|
}, {
|
|
161
181
|
key: "callEventHandler",
|
|
162
182
|
value: function callEventHandler(pageNumber) {
|
|
163
183
|
var _this3 = this;
|
|
164
184
|
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
185
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
186
|
+
_ref3$callStartupEven = _ref3.callStartupEvent,
|
|
187
|
+
callStartupEvent = _ref3$callStartupEven === void 0 ? false : _ref3$callStartupEven,
|
|
188
|
+
_ref3$preventWaitForD = _ref3.preventWaitForDelay,
|
|
189
|
+
preventWaitForDelay = _ref3$preventWaitForD === void 0 ? false : _ref3$preventWaitForD,
|
|
190
|
+
_ref3$callOnEnd = _ref3.callOnEnd,
|
|
191
|
+
callOnEnd = _ref3$callOnEnd === void 0 ? false : _ref3$callOnEnd,
|
|
192
|
+
_ref3$onDispatch = _ref3.onDispatch,
|
|
193
|
+
onDispatch = _ref3$onDispatch === void 0 ? null : _ref3$onDispatch;
|
|
194
|
+
|
|
195
|
+
this.waitForReachedTime(function (_ref4) {
|
|
196
|
+
var pageNumber = _ref4.pageNumber,
|
|
197
|
+
callStartupEvent = _ref4.callStartupEvent;
|
|
176
198
|
var context = _this3.context.pagination;
|
|
177
199
|
|
|
178
200
|
var createEvent = function createEvent(eventName) {
|
|
201
|
+
if (isNaN(pageNumber)) {
|
|
202
|
+
pageNumber = 1;
|
|
203
|
+
}
|
|
204
|
+
|
|
179
205
|
var ret = dispatchCustomElementEvent(context, eventName, _objectSpread({
|
|
180
206
|
page: pageNumber,
|
|
181
207
|
pageNo: pageNumber,
|
|
@@ -194,7 +220,7 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
194
220
|
if (callOnEnd) {
|
|
195
221
|
createEvent('on_end');
|
|
196
222
|
} else {
|
|
197
|
-
if (
|
|
223
|
+
if (callStartupEvent) {
|
|
198
224
|
createEvent('on_startup');
|
|
199
225
|
} else {
|
|
200
226
|
createEvent('on_change');
|
|
@@ -204,7 +230,8 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
204
230
|
}
|
|
205
231
|
}, {
|
|
206
232
|
pageNumber: pageNumber,
|
|
207
|
-
|
|
233
|
+
callStartupEvent: callStartupEvent,
|
|
234
|
+
preventWaitForDelay: preventWaitForDelay
|
|
208
235
|
});
|
|
209
236
|
}
|
|
210
237
|
}, {
|
|
@@ -216,35 +243,55 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
216
243
|
var _this$context$paginat3 = this.context.pagination,
|
|
217
244
|
lowerPage = _this$context$paginat3.lowerPage,
|
|
218
245
|
upperPage = _this$context$paginat3.upperPage,
|
|
246
|
+
currentPage = _this$context$paginat3.currentPage,
|
|
219
247
|
pageCount = _this$context$paginat3.pageCount,
|
|
220
248
|
hasEndedInfinity = _this$context$paginat3.hasEndedInfinity,
|
|
221
249
|
parallelLoadCount = _this$context$paginat3.parallelLoadCount,
|
|
250
|
+
debug = _this$context$paginat3.debug,
|
|
251
|
+
current_page = _this$context$paginat3.current_page,
|
|
222
252
|
fallback_element = _this$context$paginat3.fallback_element,
|
|
223
253
|
marker_element = _this$context$paginat3.marker_element,
|
|
224
254
|
indicator_element = _this$context$paginat3.indicator_element;
|
|
225
255
|
|
|
256
|
+
if (debug) {
|
|
257
|
+
console.info('PaginationInfinity.render', {
|
|
258
|
+
current_page: current_page,
|
|
259
|
+
lowerPage: lowerPage,
|
|
260
|
+
upperPage: upperPage,
|
|
261
|
+
currentPage: currentPage,
|
|
262
|
+
pageCount: pageCount
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
|
|
226
266
|
var Marker = function Marker() {
|
|
227
267
|
return React.createElement(InteractionMarker, {
|
|
268
|
+
debug: debug,
|
|
228
269
|
pageNumber: upperPage,
|
|
229
270
|
markerElement: marker_element || fallback_element,
|
|
230
271
|
onVisible: function onVisible(pageNumber) {
|
|
231
|
-
|
|
232
|
-
|
|
272
|
+
if (debug) {
|
|
273
|
+
console.info('PaginationInfinity.onVisible', {
|
|
274
|
+
pageNumber: pageNumber
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
var newPageNo;
|
|
279
|
+
|
|
280
|
+
var _loop = function _loop(i) {
|
|
281
|
+
newPageNo = pageNumber + 1 + i;
|
|
233
282
|
|
|
234
283
|
_this4.context.pagination.onPageUpdate(function () {
|
|
235
284
|
_this4.context.pagination.setState({
|
|
236
|
-
upperPage:
|
|
285
|
+
upperPage: newPageNo,
|
|
237
286
|
skipObserver: i + 1 < parallelLoadCount
|
|
238
287
|
});
|
|
239
288
|
});
|
|
240
289
|
|
|
241
|
-
_this4.callEventHandler(
|
|
242
|
-
|
|
243
|
-
newPageNo = _newPageNo;
|
|
290
|
+
_this4.callEventHandler(newPageNo);
|
|
244
291
|
};
|
|
245
292
|
|
|
246
|
-
for (var i = 0
|
|
247
|
-
_loop(i
|
|
293
|
+
for (var i = 0; i < parallelLoadCount; ++i) {
|
|
294
|
+
_loop(i);
|
|
248
295
|
}
|
|
249
296
|
}
|
|
250
297
|
});
|
|
@@ -271,7 +318,7 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
271
318
|
});
|
|
272
319
|
};
|
|
273
320
|
|
|
274
|
-
return React.createElement(React.Fragment, null, lowerPage > 1 && React.createElement(LoadButton, null), children, !hasEndedInfinity && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(Marker, null), !hasEndedInfinity && !this.hideIndicator && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(PaginationIndicator, {
|
|
321
|
+
return React.createElement(React.Fragment, null, parseFloat(current_page) > 0 && lowerPage > 1 && React.createElement(LoadButton, null), children, !hasEndedInfinity && parseFloat(current_page) > 0 && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(Marker, null), !hasEndedInfinity && !this.hideIndicator && (typeof pageCount === 'undefined' || upperPage < pageCount) && React.createElement(PaginationIndicator, {
|
|
275
322
|
indicator_element: indicator_element || fallback_element
|
|
276
323
|
}));
|
|
277
324
|
}
|
|
@@ -292,40 +339,43 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
292
339
|
marker_element = _this$context$paginat4.marker_element,
|
|
293
340
|
indicator_element = _this$context$paginat4.indicator_element;
|
|
294
341
|
|
|
295
|
-
if (this.context.pagination.useMarkerOnly) {
|
|
296
|
-
return this.handleInfinityMarker();
|
|
297
|
-
}
|
|
298
|
-
|
|
299
342
|
if (!(items && items.length > 0)) {
|
|
300
343
|
clearTimeout(this._startupTimeout);
|
|
301
344
|
this._startupTimeout = setTimeout(this.startup, 1);
|
|
302
345
|
return null;
|
|
303
346
|
}
|
|
304
347
|
|
|
348
|
+
if (this.context.pagination.useMarkerOnly) {
|
|
349
|
+
return this.handleInfinityMarker();
|
|
350
|
+
}
|
|
351
|
+
|
|
305
352
|
var Element = preparePageElement(page_element || React.Fragment);
|
|
306
|
-
return items.map(function (
|
|
307
|
-
var pageNumber =
|
|
308
|
-
hasContent =
|
|
309
|
-
content =
|
|
310
|
-
ref =
|
|
311
|
-
skipObserver =
|
|
312
|
-
ScrollElement =
|
|
353
|
+
return items.map(function (_ref5, idx) {
|
|
354
|
+
var pageNumber = _ref5.pageNumber,
|
|
355
|
+
hasContent = _ref5.hasContent,
|
|
356
|
+
content = _ref5.content,
|
|
357
|
+
ref = _ref5.ref,
|
|
358
|
+
skipObserver = _ref5.skipObserver,
|
|
359
|
+
ScrollElement = _ref5.ScrollElement;
|
|
313
360
|
var isLastItem = idx === items.length - 1;
|
|
314
361
|
var Elem = hasContent && ScrollElement || Element;
|
|
315
362
|
var marker = hasContent && !_this5.useLoadButton && !skipObserver && !hasEndedInfinity && (typeof pageCount === 'undefined' || pageNumber <= pageCount) && React.createElement(InteractionMarker, {
|
|
316
363
|
pageNumber: pageNumber,
|
|
317
364
|
markerElement: marker_element || fallback_element,
|
|
318
365
|
onVisible: function onVisible(pageNumber) {
|
|
319
|
-
|
|
320
|
-
|
|
366
|
+
var newPageNo;
|
|
367
|
+
|
|
368
|
+
for (var i = 0; i < parallelLoadCount; ++i) {
|
|
369
|
+
newPageNo = pageNumber + 1 + i;
|
|
321
370
|
|
|
322
|
-
_this5.getNewContent(
|
|
371
|
+
_this5.getNewContent(newPageNo, {
|
|
323
372
|
position: 'after',
|
|
324
373
|
skipObserver: i + 1 < parallelLoadCount
|
|
325
374
|
});
|
|
326
375
|
}
|
|
327
376
|
}
|
|
328
377
|
});
|
|
378
|
+
var showIndicator = (parallelLoadCount > 1 && idx > 0 ? isLastItem : true) && !hasContent && !_this5.hideIndicator;
|
|
329
379
|
return React.createElement(Elem, {
|
|
330
380
|
key: pageNumber,
|
|
331
381
|
ref: ref
|
|
@@ -339,7 +389,7 @@ var InfinityScroller = function (_React$PureComponent) {
|
|
|
339
389
|
event: event
|
|
340
390
|
});
|
|
341
391
|
}
|
|
342
|
-
}), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker,
|
|
392
|
+
}), placeMakerBeforeContent && marker, content, !placeMakerBeforeContent && marker, showIndicator && React.createElement(PaginationIndicator, {
|
|
343
393
|
indicator_element: indicator_element || fallback_element
|
|
344
394
|
}), hasContent && _this5.useLoadButton && isLastItem && (typeof pageCount === 'undefined' || pageNumber < pageCount) && React.createElement(InfinityLoadButton, {
|
|
345
395
|
element: fallback_element,
|
|
@@ -439,15 +489,33 @@ var InteractionMarker = function (_React$PureComponent2) {
|
|
|
439
489
|
this._isMounted = true;
|
|
440
490
|
(_this$intersectionObs = this.intersectionObserver) === null || _this$intersectionObs === void 0 ? void 0 : _this$intersectionObs.observe(this._ref.current);
|
|
441
491
|
}
|
|
492
|
+
|
|
493
|
+
if (this.props.debug) {
|
|
494
|
+
var height = this.getContentHeight();
|
|
495
|
+
console.info('PaginationInfinity.getContentHeight', height);
|
|
496
|
+
}
|
|
442
497
|
}
|
|
443
498
|
}, {
|
|
444
499
|
key: "componentWillUnmount",
|
|
445
500
|
value: function componentWillUnmount() {
|
|
446
|
-
var _this$intersectionObs2;
|
|
447
|
-
|
|
448
501
|
this._isMounted = false;
|
|
449
|
-
|
|
450
|
-
(
|
|
502
|
+
|
|
503
|
+
if (this.intersectionObserver) {
|
|
504
|
+
clearTimeout(this._readyTimeout);
|
|
505
|
+
this.intersectionObserver.disconnect();
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}, {
|
|
509
|
+
key: "getContentHeight",
|
|
510
|
+
value: function getContentHeight() {
|
|
511
|
+
var height = 0;
|
|
512
|
+
|
|
513
|
+
try {
|
|
514
|
+
var sibling = getPreviousSibling('dnb-table', this._ref.current);
|
|
515
|
+
height = parseFloat(window.getComputedStyle(sibling.querySelector('tbody')).height);
|
|
516
|
+
} catch (e) {}
|
|
517
|
+
|
|
518
|
+
return height;
|
|
451
519
|
}
|
|
452
520
|
}, {
|
|
453
521
|
key: "render",
|
|
@@ -473,10 +541,12 @@ var InteractionMarker = function (_React$PureComponent2) {
|
|
|
473
541
|
}(React.PureComponent);
|
|
474
542
|
|
|
475
543
|
_defineProperty(InteractionMarker, "defaultProps", {
|
|
544
|
+
debug: null,
|
|
476
545
|
markerElement: null
|
|
477
546
|
});
|
|
478
547
|
|
|
479
548
|
process.env.NODE_ENV !== "production" ? InteractionMarker.propTypes = {
|
|
549
|
+
debug: PropTypes.bool,
|
|
480
550
|
pageNumber: PropTypes.number.isRequired,
|
|
481
551
|
onVisible: PropTypes.func.isRequired,
|
|
482
552
|
markerElement: PropTypes.oneOfType([PropTypes.object, PropTypes.node, PropTypes.func, PropTypes.string])
|
|
@@ -491,8 +561,8 @@ export var InfinityLoadButton = function (_React$PureComponent3) {
|
|
|
491
561
|
|
|
492
562
|
_classCallCheck(this, InfinityLoadButton);
|
|
493
563
|
|
|
494
|
-
for (var
|
|
495
|
-
args[
|
|
564
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
565
|
+
args[_key] = arguments[_key];
|
|
496
566
|
}
|
|
497
567
|
|
|
498
568
|
_this7 = _super3.call.apply(_super3, [this].concat(args));
|
|
@@ -20,6 +20,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
20
20
|
import "core-js/modules/es.parse-float.js";
|
|
21
21
|
import "core-js/modules/es.array.find.js";
|
|
22
22
|
import "core-js/modules/es.object.to-string.js";
|
|
23
|
+
import "core-js/modules/es.array.find-index.js";
|
|
23
24
|
import "core-js/modules/es.array.concat.js";
|
|
24
25
|
import "core-js/modules/web.dom-collections.for-each.js";
|
|
25
26
|
|
|
@@ -54,7 +55,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
54
55
|
newContent = [newContent, content];
|
|
55
56
|
}
|
|
56
57
|
|
|
57
|
-
var pageNumber = parseFloat(newContent[0]);
|
|
58
|
+
var pageNumber = parseFloat(newContent[0]) || 1;
|
|
58
59
|
newContent = newContent[1];
|
|
59
60
|
|
|
60
61
|
if (typeof newContent === 'function') {
|
|
@@ -73,8 +74,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
73
74
|
|
|
74
75
|
if (!itemToPrepare) {
|
|
75
76
|
items = _this.prefillItems(pageNumber, {
|
|
76
|
-
position: position
|
|
77
|
-
skipObserver: true
|
|
77
|
+
position: position
|
|
78
78
|
});
|
|
79
79
|
itemToPrepare = items.find(function (_ref2) {
|
|
80
80
|
var p = _ref2.pageNumber;
|
|
@@ -90,8 +90,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
90
90
|
|
|
91
91
|
_this.setState({
|
|
92
92
|
items: _toConsumableArray(items || _this.state.items),
|
|
93
|
-
currentPage: pageNumber
|
|
94
|
-
_listenForPropChanges: false
|
|
93
|
+
currentPage: pageNumber
|
|
95
94
|
}, _this.callOnPageUpdate);
|
|
96
95
|
}
|
|
97
96
|
});
|
|
@@ -100,8 +99,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
100
99
|
clearTimeout(_this.resetContentTimeout);
|
|
101
100
|
_this.resetContentTimeout = setTimeout(function () {
|
|
102
101
|
_this.setState({
|
|
103
|
-
items: []
|
|
104
|
-
_listenForPropChanges: false
|
|
102
|
+
items: []
|
|
105
103
|
});
|
|
106
104
|
}, 10);
|
|
107
105
|
});
|
|
@@ -109,39 +107,29 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
109
107
|
_defineProperty(_assertThisInitialized(_this), "resetInfinity", function () {
|
|
110
108
|
var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.state.startupPage;
|
|
111
109
|
var lowerPage = pageNumber;
|
|
112
|
-
var upperPage = pageNumber;
|
|
110
|
+
var upperPage = pageNumber + parseFloat(_this.props.startup_count) - 1;
|
|
113
111
|
var currentPage = pageNumber;
|
|
114
|
-
_this._hasEndedInfinity = true;
|
|
115
112
|
|
|
116
113
|
_this.setState({
|
|
114
|
+
items: [],
|
|
117
115
|
hasEndedInfinity: true,
|
|
118
116
|
lowerPage: lowerPage,
|
|
119
117
|
upperPage: upperPage,
|
|
120
|
-
currentPage: currentPage
|
|
121
|
-
_listenForPropChanges: false
|
|
118
|
+
currentPage: currentPage
|
|
122
119
|
});
|
|
123
120
|
|
|
124
|
-
|
|
125
|
-
_this.resetInfinityTimeout = setTimeout(function () {
|
|
126
|
-
_this.startInfinity();
|
|
127
|
-
}, _this.state.minTime);
|
|
121
|
+
_this.startInfinity();
|
|
128
122
|
});
|
|
129
123
|
|
|
130
124
|
_defineProperty(_assertThisInitialized(_this), "startInfinity", function () {
|
|
131
|
-
_this._hasEndedInfinity = false;
|
|
132
|
-
|
|
133
125
|
_this.setState({
|
|
134
|
-
hasEndedInfinity: false
|
|
135
|
-
_listenForPropChanges: false
|
|
126
|
+
hasEndedInfinity: false
|
|
136
127
|
});
|
|
137
128
|
});
|
|
138
129
|
|
|
139
130
|
_defineProperty(_assertThisInitialized(_this), "endInfinity", function () {
|
|
140
|
-
_this._hasEndedInfinity = true;
|
|
141
|
-
|
|
142
131
|
_this.setState({
|
|
143
|
-
hasEndedInfinity: true
|
|
144
|
-
_listenForPropChanges: false
|
|
132
|
+
hasEndedInfinity: true
|
|
145
133
|
}, function () {
|
|
146
134
|
var pageNumber = _this.state.currentPage + 1;
|
|
147
135
|
dispatchCustomElementEvent(_assertThisInitialized(_this), 'on_end', _objectSpread({
|
|
@@ -154,8 +142,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
154
142
|
|
|
155
143
|
_defineProperty(_assertThisInitialized(_this), "setItems", function (items, cb) {
|
|
156
144
|
_this.setState({
|
|
157
|
-
items: items
|
|
158
|
-
_listenForPropChanges: false
|
|
145
|
+
items: items
|
|
159
146
|
}, cb);
|
|
160
147
|
});
|
|
161
148
|
|
|
@@ -164,6 +151,19 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
164
151
|
var items = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _this.state.items;
|
|
165
152
|
var position = props.position || (pageNumber < _this.state.currentPage ? 'before' : 'after');
|
|
166
153
|
|
|
154
|
+
if (isNaN(pageNumber)) {
|
|
155
|
+
pageNumber = 1;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var exists = items.findIndex(function (_ref3) {
|
|
159
|
+
var p = _ref3.pageNumber;
|
|
160
|
+
return p === pageNumber;
|
|
161
|
+
}) > -1;
|
|
162
|
+
|
|
163
|
+
if (exists) {
|
|
164
|
+
return items;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
167
|
var obj = _objectSpread({
|
|
168
168
|
pageNumber: pageNumber,
|
|
169
169
|
position: position,
|
|
@@ -180,9 +180,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
180
180
|
});
|
|
181
181
|
|
|
182
182
|
_defineProperty(_assertThisInitialized(_this), "setStateHandler", function (state, cb) {
|
|
183
|
-
_this.setState(_objectSpread(
|
|
184
|
-
_listenForPropChanges: false
|
|
185
|
-
}), cb);
|
|
183
|
+
_this.setState(_objectSpread({}, state), cb);
|
|
186
184
|
});
|
|
187
185
|
|
|
188
186
|
_defineProperty(_assertThisInitialized(_this), "callOnPageUpdate", function () {
|
|
@@ -221,13 +219,12 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
221
219
|
|
|
222
220
|
_this.state = {
|
|
223
221
|
items: [],
|
|
224
|
-
isLoading: false
|
|
225
|
-
_listenForPropChanges: true
|
|
222
|
+
isLoading: false
|
|
226
223
|
};
|
|
227
224
|
|
|
228
225
|
if (_props.rerender) {
|
|
229
|
-
_this.rerender = function (
|
|
230
|
-
var store =
|
|
226
|
+
_this.rerender = function (_ref4) {
|
|
227
|
+
var store = _ref4.current;
|
|
231
228
|
|
|
232
229
|
if (store && store.pageNumber > 0) {
|
|
233
230
|
clearTimeout(_this.rerenderTimeout);
|
|
@@ -287,9 +284,9 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
287
284
|
}
|
|
288
285
|
}, {
|
|
289
286
|
key: "componentDidUpdate",
|
|
290
|
-
value: function componentDidUpdate(
|
|
291
|
-
var current =
|
|
292
|
-
content =
|
|
287
|
+
value: function componentDidUpdate(_ref5) {
|
|
288
|
+
var current = _ref5.current_page,
|
|
289
|
+
content = _ref5.internalContent;
|
|
293
290
|
var _this$props2 = this.props,
|
|
294
291
|
internalContent = _this$props2.internalContent,
|
|
295
292
|
current_page = _this$props2.current_page;
|
|
@@ -326,8 +323,7 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
326
323
|
setItems: this.setItems,
|
|
327
324
|
prefillItems: this.prefillItems,
|
|
328
325
|
setState: this.setStateHandler,
|
|
329
|
-
onPageUpdate: this.onPageUpdate
|
|
330
|
-
_hasEndedInfinity: this._hasEndedInfinity
|
|
326
|
+
onPageUpdate: this.onPageUpdate
|
|
331
327
|
}, this.props), this.state)
|
|
332
328
|
})
|
|
333
329
|
}, children);
|
|
@@ -335,48 +331,48 @@ var PaginationProvider = function (_React$PureComponent) {
|
|
|
335
331
|
}], [{
|
|
336
332
|
key: "getDerivedStateFromProps",
|
|
337
333
|
value: function getDerivedStateFromProps(props, state) {
|
|
338
|
-
if (
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
}
|
|
334
|
+
if (props.page_count !== null) {
|
|
335
|
+
state.pageCount = parseFloat(props.page_count) || 1;
|
|
336
|
+
}
|
|
342
337
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
338
|
+
if (props.current_page !== null && typeof state.currentPage === 'undefined') {
|
|
339
|
+
state.currentPage = parseFloat(props.current_page) || 1;
|
|
340
|
+
}
|
|
346
341
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
342
|
+
if (typeof state.startupPage !== 'number') {
|
|
343
|
+
state.startupPage = parseFloat(props.startup_page) || parseFloat(props.current_page) || state.currentPage;
|
|
344
|
+
}
|
|
350
345
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
346
|
+
state.parallelLoadCount = parseFloat(props.parallel_load_count) || 1;
|
|
347
|
+
state.minTime = parseFloat(props.min_wait_time) || 0;
|
|
348
|
+
state.placeMakerBeforeContent = isTrue(props.place_maker_before_content);
|
|
354
349
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
}
|
|
350
|
+
if (props.useMarkerOnly && props.reset_pagination_handler !== null && isTrue(props.reset_pagination_handler)) {
|
|
351
|
+
state.lowerPage = undefined;
|
|
352
|
+
state.upperPage = undefined;
|
|
353
|
+
}
|
|
360
354
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
355
|
+
if (props.useMarkerOnly) {
|
|
356
|
+
if (typeof state.lowerPage === 'undefined' && parseFloat(props.current_page) > 0) {
|
|
357
|
+
state.lowerPage = state.startupPage;
|
|
365
358
|
}
|
|
366
359
|
|
|
367
|
-
if (
|
|
368
|
-
state.
|
|
369
|
-
state.pageCount = parseFloat(props.page_count) || 1;
|
|
360
|
+
if (typeof state.upperPage === 'undefined') {
|
|
361
|
+
state.upperPage = state.startupPage + parseFloat(props.startup_count) - 1;
|
|
370
362
|
}
|
|
363
|
+
}
|
|
371
364
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
365
|
+
if (props.reset_content_handler !== null && isTrue(props.reset_content_handler)) {
|
|
366
|
+
state.items = [];
|
|
367
|
+
state.pageCount = parseFloat(props.page_count) || 1;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (typeof props.items === 'string' && props.items[0] === '[') {
|
|
371
|
+
state.items = JSON.parse(props.items);
|
|
372
|
+
} else if (Array.isArray(props.items)) {
|
|
373
|
+
state.items = props.items;
|
|
377
374
|
}
|
|
378
375
|
|
|
379
|
-
state._listenForPropChanges = true;
|
|
380
376
|
return state;
|
|
381
377
|
}
|
|
382
378
|
}]);
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
-webkit-user-select: none; // Safari / Touch fix
|
|
140
140
|
|
|
141
141
|
margin: 0;
|
|
142
|
-
padding: 0
|
|
142
|
+
padding: 0 0.125rem; /* 1/16*4 */
|
|
143
143
|
|
|
144
144
|
background-color: transparent;
|
|
145
145
|
border-bottom: 1px solid transparent;
|
|
@@ -167,6 +167,10 @@
|
|
|
167
167
|
|
|
168
168
|
@include dummySpacing();
|
|
169
169
|
|
|
170
|
+
& .dnb-dummy {
|
|
171
|
+
margin-top: 0.25rem;
|
|
172
|
+
}
|
|
173
|
+
|
|
170
174
|
&::after {
|
|
171
175
|
content: '';
|
|
172
176
|
position: absolute;
|