@teleporthq/teleport-plugin-next-data-source 0.43.75 → 0.44.1
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/__tests__/_helpers/first-page-runtime.ts +184 -0
- package/__tests__/_helpers/pagination-widget-fixture.ts +154 -5
- package/__tests__/booking-item-transform.test.ts +120 -0
- package/__tests__/browser-row-policy.test.ts +210 -4
- package/__tests__/data-source-request-locale.test.ts +4 -3
- package/__tests__/fetchers.test.ts +7 -3
- package/__tests__/fixed-list-sort.test.ts +1 -1
- package/__tests__/infinite-scroll.test.ts +363 -9
- package/__tests__/list-sort-order.test.ts +61 -0
- package/__tests__/null-filter-where.test.ts +132 -0
- package/__tests__/page-data-visitor-read.test.ts +196 -0
- package/__tests__/pg-date-parser.test.ts +73 -0
- package/__tests__/plain-list-sort.test.ts +2 -2
- package/__tests__/plain-list-starting-sort.test.ts +323 -0
- package/__tests__/product-price-sort.ts +11 -6
- package/__tests__/range-control.test.ts +159 -0
- package/__tests__/refetch-loading-state.test.ts +158 -2
- package/__tests__/search-input-marker.test.ts +86 -0
- package/__tests__/search-url-sync.test.ts +34 -8
- package/__tests__/starting-sort-first-page.test.ts +285 -0
- package/__tests__/table-read-route-protected-tables.test.ts +33 -3
- package/dist/cjs/cache/ast.d.ts +2 -0
- package/dist/cjs/cache/ast.d.ts.map +1 -1
- package/dist/cjs/cache/ast.js +5 -2
- package/dist/cjs/cache/ast.js.map +1 -1
- package/dist/cjs/count-effect.d.ts +7 -1
- package/dist/cjs/count-effect.d.ts.map +1 -1
- package/dist/cjs/count-effect.js +15 -5
- package/dist/cjs/count-effect.js.map +1 -1
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +10 -2
- package/dist/cjs/data-source-fetchers.js.map +1 -1
- package/dist/cjs/fetchers/pg-client-import.d.ts +12 -0
- package/dist/cjs/fetchers/pg-client-import.d.ts.map +1 -0
- package/dist/cjs/fetchers/pg-client-import.js +15 -0
- package/dist/cjs/fetchers/pg-client-import.js.map +1 -0
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +3 -1
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/raw-query.d.ts.map +1 -1
- package/dist/cjs/fetchers/raw-query.js +2 -1
- package/dist/cjs/fetchers/raw-query.js.map +1 -1
- package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
- package/dist/cjs/fetchers/teleport.js +4 -2
- package/dist/cjs/fetchers/teleport.js.map +1 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.d.ts.map +1 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.js +5 -1
- package/dist/cjs/fetchers/utils/browser-row-policy.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +14 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infinite-scroll.d.ts +89 -4
- package/dist/cjs/infinite-scroll.d.ts.map +1 -1
- package/dist/cjs/infinite-scroll.js +243 -33
- package/dist/cjs/infinite-scroll.js.map +1 -1
- package/dist/cjs/list-sort-order.d.ts +14 -0
- package/dist/cjs/list-sort-order.d.ts.map +1 -0
- package/dist/cjs/list-sort-order.js +36 -0
- package/dist/cjs/list-sort-order.js.map +1 -0
- package/dist/cjs/loading-state.d.ts +23 -2
- package/dist/cjs/loading-state.d.ts.map +1 -1
- package/dist/cjs/loading-state.js +50 -15
- package/dist/cjs/loading-state.js.map +1 -1
- package/dist/cjs/pagination-controls.d.ts +22 -3
- package/dist/cjs/pagination-controls.d.ts.map +1 -1
- package/dist/cjs/pagination-controls.js +29 -3
- package/dist/cjs/pagination-controls.js.map +1 -1
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +336 -164
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/range-control.d.ts +45 -0
- package/dist/cjs/range-control.d.ts.map +1 -0
- package/dist/cjs/range-control.js +165 -0
- package/dist/cjs/range-control.js.map +1 -0
- package/dist/cjs/row-order.d.ts +3 -2
- package/dist/cjs/row-order.d.ts.map +1 -1
- package/dist/cjs/row-order.js +5 -4
- package/dist/cjs/row-order.js.map +1 -1
- package/dist/cjs/search-input.d.ts +42 -0
- package/dist/cjs/search-input.d.ts.map +1 -0
- package/dist/cjs/search-input.js +158 -0
- package/dist/cjs/search-input.js.map +1 -0
- package/dist/cjs/sort-utils.d.ts +53 -1
- package/dist/cjs/sort-utils.d.ts.map +1 -1
- package/dist/cjs/sort-utils.js +105 -13
- package/dist/cjs/sort-utils.js.map +1 -1
- package/dist/cjs/transformations/booking-item.d.ts +24 -0
- package/dist/cjs/transformations/booking-item.d.ts.map +1 -0
- package/dist/cjs/transformations/booking-item.js +27 -0
- package/dist/cjs/transformations/booking-item.js.map +1 -0
- package/dist/cjs/transformations/index.d.ts +4 -2
- package/dist/cjs/transformations/index.d.ts.map +1 -1
- package/dist/cjs/transformations/index.js +14 -5
- package/dist/cjs/transformations/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +3 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +48 -18
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/cache/ast.d.ts +2 -0
- package/dist/esm/cache/ast.d.ts.map +1 -1
- package/dist/esm/cache/ast.js +3 -1
- package/dist/esm/cache/ast.js.map +1 -1
- package/dist/esm/count-effect.d.ts +7 -1
- package/dist/esm/count-effect.d.ts.map +1 -1
- package/dist/esm/count-effect.js +15 -5
- package/dist/esm/count-effect.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +10 -2
- package/dist/esm/data-source-fetchers.js.map +1 -1
- package/dist/esm/fetchers/pg-client-import.d.ts +12 -0
- package/dist/esm/fetchers/pg-client-import.d.ts.map +1 -0
- package/dist/esm/fetchers/pg-client-import.js +12 -0
- package/dist/esm/fetchers/pg-client-import.js.map +1 -0
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +3 -1
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/raw-query.d.ts.map +1 -1
- package/dist/esm/fetchers/raw-query.js +2 -1
- package/dist/esm/fetchers/raw-query.js.map +1 -1
- package/dist/esm/fetchers/teleport.d.ts.map +1 -1
- package/dist/esm/fetchers/teleport.js +4 -2
- package/dist/esm/fetchers/teleport.js.map +1 -1
- package/dist/esm/fetchers/utils/browser-row-policy.d.ts.map +1 -1
- package/dist/esm/fetchers/utils/browser-row-policy.js +6 -2
- package/dist/esm/fetchers/utils/browser-row-policy.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infinite-scroll.d.ts +89 -4
- package/dist/esm/infinite-scroll.d.ts.map +1 -1
- package/dist/esm/infinite-scroll.js +237 -32
- package/dist/esm/infinite-scroll.js.map +1 -1
- package/dist/esm/list-sort-order.d.ts +14 -0
- package/dist/esm/list-sort-order.d.ts.map +1 -0
- package/dist/esm/list-sort-order.js +32 -0
- package/dist/esm/list-sort-order.js.map +1 -0
- package/dist/esm/loading-state.d.ts +23 -2
- package/dist/esm/loading-state.d.ts.map +1 -1
- package/dist/esm/loading-state.js +50 -15
- package/dist/esm/loading-state.js.map +1 -1
- package/dist/esm/pagination-controls.d.ts +22 -3
- package/dist/esm/pagination-controls.d.ts.map +1 -1
- package/dist/esm/pagination-controls.js +28 -2
- package/dist/esm/pagination-controls.js.map +1 -1
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +340 -168
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/range-control.d.ts +45 -0
- package/dist/esm/range-control.d.ts.map +1 -0
- package/dist/esm/range-control.js +137 -0
- package/dist/esm/range-control.js.map +1 -0
- package/dist/esm/row-order.d.ts +3 -2
- package/dist/esm/row-order.d.ts.map +1 -1
- package/dist/esm/row-order.js +5 -4
- package/dist/esm/row-order.js.map +1 -1
- package/dist/esm/search-input.d.ts +42 -0
- package/dist/esm/search-input.d.ts.map +1 -0
- package/dist/esm/search-input.js +129 -0
- package/dist/esm/search-input.js.map +1 -0
- package/dist/esm/sort-utils.d.ts +53 -1
- package/dist/esm/sort-utils.d.ts.map +1 -1
- package/dist/esm/sort-utils.js +100 -12
- package/dist/esm/sort-utils.js.map +1 -1
- package/dist/esm/transformations/booking-item.d.ts +24 -0
- package/dist/esm/transformations/booking-item.d.ts.map +1 -0
- package/dist/esm/transformations/booking-item.js +23 -0
- package/dist/esm/transformations/booking-item.js.map +1 -0
- package/dist/esm/transformations/index.d.ts +4 -2
- package/dist/esm/transformations/index.d.ts.map +1 -1
- package/dist/esm/transformations/index.js +14 -5
- package/dist/esm/transformations/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +3 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +49 -19
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/cache/ast.ts +4 -1
- package/src/count-effect.ts +31 -8
- package/src/data-source-fetchers.ts +33 -14
- package/src/fetchers/pg-client-import.ts +16 -0
- package/src/fetchers/postgresql.ts +15 -9
- package/src/fetchers/raw-query.ts +2 -1
- package/src/fetchers/teleport.ts +19 -10
- package/src/fetchers/utils/browser-row-policy.ts +79 -5
- package/src/index.ts +8 -2
- package/src/infinite-scroll.ts +420 -81
- package/src/list-sort-order.ts +34 -0
- package/src/loading-state.ts +85 -13
- package/src/pagination-controls.ts +26 -3
- package/src/pagination-plugin.ts +532 -218
- package/src/range-control.ts +207 -0
- package/src/row-order.ts +5 -4
- package/src/search-input.ts +190 -0
- package/src/sort-utils.ts +164 -21
- package/src/transformations/booking-item.ts +71 -0
- package/src/transformations/index.ts +25 -2
- package/src/utils.ts +55 -18
|
@@ -42,6 +42,8 @@ function getLoadingStateVars(index) {
|
|
|
42
42
|
inFlightRefVar: "ds_".concat(index, "_fetchesInFlight"),
|
|
43
43
|
fetchSeqRefVar: "ds_".concat(index, "_fetchSeq"),
|
|
44
44
|
latestDataRefVar: "ds_".concat(index, "_latestData"),
|
|
45
|
+
isAppendingVar: "ds_".concat(index, "_isAppending"),
|
|
46
|
+
setIsAppendingVar: "setDs_".concat(index, "_isAppending"),
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
49
|
exports.getLoadingStateVars = getLoadingStateVars;
|
|
@@ -50,14 +52,16 @@ exports.getLoadingStateVars = getLoadingStateVars;
|
|
|
50
52
|
* `const ds_N_fetchSeq = useRef(0)`
|
|
51
53
|
* `const ds_N_latestData = useRef(undefined)`
|
|
52
54
|
* `const [ds_N_isFetching, setDs_N_isFetching] = useState(false)`
|
|
55
|
+
* `const [ds_N_isAppending, setDs_N_isAppending] = useState(false)` (an appending list)
|
|
53
56
|
*
|
|
54
57
|
* All are stable across renders (ref objects and a `useState` setter), which
|
|
55
58
|
* is what lets the wrapped `fetchData` keep its empty `useCallback` dependency
|
|
56
59
|
* array — a changing `fetchData` identity would retrigger the provider's fetch
|
|
57
60
|
* effect on every render.
|
|
58
61
|
*/
|
|
59
|
-
function buildLoadingStateDeclarations(vars) {
|
|
60
|
-
|
|
62
|
+
function buildLoadingStateDeclarations(vars, appends) {
|
|
63
|
+
if (appends === void 0) { appends = false; }
|
|
64
|
+
var declarations = [
|
|
61
65
|
types.variableDeclaration('const', [
|
|
62
66
|
types.variableDeclarator(types.identifier(vars.inFlightRefVar), types.callExpression(types.identifier('useRef'), [types.numericLiteral(0)])),
|
|
63
67
|
]),
|
|
@@ -74,6 +78,15 @@ function buildLoadingStateDeclarations(vars) {
|
|
|
74
78
|
]), types.callExpression(types.identifier('useState'), [types.booleanLiteral(false)])),
|
|
75
79
|
]),
|
|
76
80
|
];
|
|
81
|
+
if (appends) {
|
|
82
|
+
declarations.push(types.variableDeclaration('const', [
|
|
83
|
+
types.variableDeclarator(types.arrayPattern([
|
|
84
|
+
types.identifier(vars.isAppendingVar),
|
|
85
|
+
types.identifier(vars.setIsAppendingVar),
|
|
86
|
+
]), types.callExpression(types.identifier('useState'), [types.booleanLiteral(false)])),
|
|
87
|
+
]));
|
|
88
|
+
}
|
|
89
|
+
return declarations;
|
|
77
90
|
}
|
|
78
91
|
exports.buildLoadingStateDeclarations = buildLoadingStateDeclarations;
|
|
79
92
|
/**
|
|
@@ -87,10 +100,15 @@ exports.buildLoadingStateDeclarations = buildLoadingStateDeclarations;
|
|
|
87
100
|
* - `fetchData` missing, not memoized, or not an expression-bodied promise
|
|
88
101
|
* chain — see `findMemoizedFetchDataArrow`.
|
|
89
102
|
* - already wired — keeps a second pass over the same AST idempotent.
|
|
103
|
+
*
|
|
104
|
+
* `appendingRequest` makes it an appending list's: the expression telling,
|
|
105
|
+
* inside `fetchData`, whether the request about to be made only adds a page to
|
|
106
|
+
* the rows on show (see `isAppendingVar`). The caller declares the state with
|
|
107
|
+
* `buildLoadingStateDeclarations(vars, true)`.
|
|
90
108
|
*/
|
|
91
109
|
function applyLoadingStateToDataProvider(
|
|
92
110
|
// tslint:disable-next-line:no-any
|
|
93
|
-
dataProvider, vars) {
|
|
111
|
+
dataProvider, vars, appendingRequest) {
|
|
94
112
|
var _a;
|
|
95
113
|
var attributes = (_a = dataProvider === null || dataProvider === void 0 ? void 0 : dataProvider.openingElement) === null || _a === void 0 ? void 0 : _a.attributes;
|
|
96
114
|
if (!Array.isArray(attributes)) {
|
|
@@ -108,17 +126,17 @@ dataProvider, vars) {
|
|
|
108
126
|
return false;
|
|
109
127
|
}
|
|
110
128
|
if (fetchArrow.body.type === 'CallExpression') {
|
|
111
|
-
fetchArrow.body = buildTrackedFetchBody(fetchArrow.body, vars);
|
|
129
|
+
fetchArrow.body = buildTrackedFetchBody(fetchArrow.body, vars, appendingRequest);
|
|
112
130
|
}
|
|
113
131
|
else if (fetchArrow.body.type === 'BlockStatement') {
|
|
114
|
-
if (!injectTrackingIntoCachedBody(fetchArrow.body, vars)) {
|
|
132
|
+
if (!injectTrackingIntoCachedBody(fetchArrow.body, vars, appendingRequest)) {
|
|
115
133
|
return false;
|
|
116
134
|
}
|
|
117
135
|
}
|
|
118
136
|
else {
|
|
119
137
|
return false;
|
|
120
138
|
}
|
|
121
|
-
setPersistDataDuringLoading(attributes, vars);
|
|
139
|
+
setPersistDataDuringLoading(attributes, vars, !!appendingRequest);
|
|
122
140
|
return true;
|
|
123
141
|
}
|
|
124
142
|
exports.applyLoadingStateToDataProvider = applyLoadingStateToDataProvider;
|
|
@@ -135,7 +153,7 @@ exports.applyLoadingStateToDataProvider = applyLoadingStateToDataProvider;
|
|
|
135
153
|
* Returns `false` when the body is not the shape this module knows how to wrap,
|
|
136
154
|
* so the caller emits no state declarations rather than half-wiring it.
|
|
137
155
|
*/
|
|
138
|
-
function injectTrackingIntoCachedBody(body, vars) {
|
|
156
|
+
function injectTrackingIntoCachedBody(body, vars, appendingRequest) {
|
|
139
157
|
var _a;
|
|
140
158
|
// Idempotent: a second pass over the same AST must not double-count.
|
|
141
159
|
if (containsIdentifier(body, vars.setIsFetchingVar)) {
|
|
@@ -145,7 +163,7 @@ function injectTrackingIntoCachedBody(body, vars) {
|
|
|
145
163
|
if (!networkChain) {
|
|
146
164
|
return false;
|
|
147
165
|
}
|
|
148
|
-
var tracked = buildTrackedFetchBody(networkChain.statement.argument, vars);
|
|
166
|
+
var tracked = buildTrackedFetchBody(networkChain.statement.argument, vars, appendingRequest);
|
|
149
167
|
(_a = body.body).splice.apply(_a, __spreadArray([networkChain.index, 1], tracked.body, false));
|
|
150
168
|
markCacheHitAsNewest(body, vars);
|
|
151
169
|
return true;
|
|
@@ -276,8 +294,11 @@ function findMemoizedFetchDataArrow(attribute) {
|
|
|
276
294
|
* `fetchExpression` is the `fetch(...).then(...).then(...)` chain the generator
|
|
277
295
|
* emitted, so `.finally` is always available on it — the caller only reaches
|
|
278
296
|
* here for a call-expression body.
|
|
297
|
+
*
|
|
298
|
+
* An appending list also records, as the flag goes up, whether this request
|
|
299
|
+
* only appends — `setDs_N_isAppending(<appendingRequest>)`, batched with it.
|
|
279
300
|
*/
|
|
280
|
-
function buildTrackedFetchBody(fetchExpression, vars) {
|
|
301
|
+
function buildTrackedFetchBody(fetchExpression, vars, appendingRequest) {
|
|
281
302
|
var inFlightCount = types.memberExpression(types.identifier(vars.inFlightRefVar), types.identifier('current'));
|
|
282
303
|
var settleHandler = types.arrowFunctionExpression([], types.blockStatement([
|
|
283
304
|
types.expressionStatement(types.assignmentExpression('-=', types.cloneNode(inFlightCount, true), types.numericLiteral(1))),
|
|
@@ -297,21 +318,35 @@ function buildTrackedFetchBody(fetchExpression, vars) {
|
|
|
297
318
|
types.returnStatement(types.identifier(TRACKED_ROWS_IDENTIFIER)),
|
|
298
319
|
]));
|
|
299
320
|
var guardedFetch = types.callExpression(types.memberExpression(fetchExpression, types.identifier('then')), [staleGuard]);
|
|
300
|
-
return types.blockStatement([
|
|
321
|
+
return types.blockStatement(__spreadArray(__spreadArray([
|
|
301
322
|
types.variableDeclaration('const', [
|
|
302
323
|
types.variableDeclarator(types.identifier(TRACKED_SEQ_IDENTIFIER), types.updateExpression('++', refCurrent(vars.fetchSeqRefVar), true)),
|
|
303
324
|
]),
|
|
304
|
-
types.expressionStatement(types.assignmentExpression('+=', types.cloneNode(inFlightCount, true), types.numericLiteral(1)))
|
|
325
|
+
types.expressionStatement(types.assignmentExpression('+=', types.cloneNode(inFlightCount, true), types.numericLiteral(1)))
|
|
326
|
+
], (appendingRequest
|
|
327
|
+
? [
|
|
328
|
+
types.expressionStatement(types.callExpression(types.identifier(vars.setIsAppendingVar), [
|
|
329
|
+
types.cloneNode(appendingRequest, true),
|
|
330
|
+
])),
|
|
331
|
+
]
|
|
332
|
+
: []), true), [
|
|
305
333
|
types.expressionStatement(types.callExpression(types.identifier(vars.setIsFetchingVar), [types.booleanLiteral(true)])),
|
|
306
334
|
types.returnStatement(types.callExpression(types.memberExpression(guardedFetch, types.identifier('finally')), [
|
|
307
335
|
settleHandler,
|
|
308
336
|
])),
|
|
309
|
-
]);
|
|
337
|
+
], false));
|
|
310
338
|
}
|
|
311
|
-
/**
|
|
339
|
+
/**
|
|
340
|
+
* `persistDataDuringLoading={!ds_N_isFetching}` — or, for an appending list,
|
|
341
|
+
* `{!ds_N_isFetching || ds_N_isAppending}` — replacing any existing value.
|
|
342
|
+
*/
|
|
343
|
+
function setPersistDataDuringLoading(
|
|
312
344
|
// tslint:disable-next-line:no-any
|
|
313
|
-
|
|
314
|
-
var
|
|
345
|
+
attributes, vars, appends) {
|
|
346
|
+
var notFetching = types.unaryExpression('!', types.identifier(vars.isFetchingVar), true);
|
|
347
|
+
var attribute = types.jsxAttribute(types.jsxIdentifier('persistDataDuringLoading'), types.jsxExpressionContainer(appends
|
|
348
|
+
? types.logicalExpression('||', notFetching, types.identifier(vars.isAppendingVar))
|
|
349
|
+
: notFetching));
|
|
315
350
|
var existingIndex = attributes.findIndex(
|
|
316
351
|
// tslint:disable-next-line:no-any
|
|
317
352
|
function (attr) { var _a; return (attr === null || attr === void 0 ? void 0 : attr.type) === 'JSXAttribute' && ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'persistDataDuringLoading'; });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-state.js","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAqC;AACrC,mCAAyD;
|
|
1
|
+
{"version":3,"file":"loading-state.js","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,27 @@ export declare const PAGINATION_CONTROL_ATTR = "data-tq-pagination-control";
|
|
|
15
15
|
* `'pages'` is the container the page-number buttons are repeated into and
|
|
16
16
|
* `'page'` the single template button inside it. `'ellipsis'` and `'sentinel'`
|
|
17
17
|
* are reserved for an authored gap marker / scroll sentinel; until a builder
|
|
18
|
-
* emits them both runtimes fall back to generating their own.
|
|
18
|
+
* emits them both runtimes fall back to generating their own. `'range'` is a
|
|
19
|
+
* TEXT element ("Showing 1–8 of 12") both runtimes fill with the live row
|
|
20
|
+
* range — see `range-control.ts`.
|
|
19
21
|
*/
|
|
20
|
-
export type PaginationControlKind = 'first' | 'previous' | 'pages' | 'page' | 'ellipsis' | 'next' | 'last' | 'load-more' | 'sentinel';
|
|
22
|
+
export type PaginationControlKind = 'first' | 'previous' | 'pages' | 'page' | 'ellipsis' | 'next' | 'last' | 'load-more' | 'sentinel' | 'range';
|
|
23
|
+
/**
|
|
24
|
+
* Which mapper a `range` control belongs to, when it does not sit inside that
|
|
25
|
+
* mapper's pagination container: the array mapper's editor node id, which the
|
|
26
|
+
* UIDL carries as `nodeId` on the `cms-list-repeater`. A template's footer
|
|
27
|
+
* ("Showing 1–8 of 12") is laid out by the author, not inside a widget, so the
|
|
28
|
+
* container-ownership rule the buttons use cannot reach it.
|
|
29
|
+
*
|
|
30
|
+
* ⛔ Both attribute names must stay identical to the editor's
|
|
31
|
+
* (`array-mapper-pagination-settings.ts`) and the canvas renderer's
|
|
32
|
+
* (`array-mapper-pagination.ts`) copies.
|
|
33
|
+
*/
|
|
34
|
+
export declare const PAGINATION_FOR_ATTR = "data-tq-pagination-for";
|
|
35
|
+
/** The words of a `range` control, with `{from}`, `{to}` and `{total}` placeholders. */
|
|
36
|
+
export declare const RANGE_TEMPLATE_ATTR = "data-tq-range-template";
|
|
37
|
+
/** What a `range` control reads when it carries no template. */
|
|
38
|
+
export declare const DEFAULT_RANGE_TEMPLATE = "{from}\u2013{to} of {total}";
|
|
21
39
|
export declare function readJSXAttributeString(node: any, attrName: string): string;
|
|
22
40
|
/**
|
|
23
41
|
* Depth-first search for one authored pagination control.
|
|
@@ -49,7 +67,8 @@ export declare function removeJSXAttribute(node: any, attrName: string): void;
|
|
|
49
67
|
*
|
|
50
68
|
* Children carrying NO marker are always kept: they are the author's own
|
|
51
69
|
* additions (a page counter, a spacer) and the generator has no business
|
|
52
|
-
* deciding whether they belong.
|
|
70
|
+
* deciding whether they belong. A `range` text is kept in every mode too: the
|
|
71
|
+
* row range is meaningful whether the list pages or appends.
|
|
53
72
|
*/
|
|
54
73
|
export declare function dropInactivePaginationControls(paginationNode: any, activeKinds: PaginationControlKind[]): void;
|
|
55
74
|
//# sourceMappingURL=pagination-controls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-controls.d.ts","sourceRoot":"","sources":["../../src/pagination-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,+BAA+B,CAAA;AAEnE
|
|
1
|
+
{"version":3,"file":"pagination-controls.d.ts","sourceRoot":"","sources":["../../src/pagination-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,+BAA+B,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,WAAW,GACX,UAAU,GACV,OAAO,CAAA;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAE3D,wFAAwF;AACxF,eAAO,MAAM,mBAAmB,2BAA2B,CAAA;AAE3D,gEAAgE;AAChE,eAAO,MAAM,sBAAsB,gCAA2B,CAAA;AAO9D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,qBAAqB,EAC3B,eAAe,CAAC,EAAE,MAAM,GACvB,GAAG,CA2BL;AAED,6GAA6G;AAC7G,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,GAAG,GAAG,EAAE,CAkBvF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAWtD;AAED,wEAAwE;AACxE,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,KAAK,CAAC,UAAU,GAC3B,IAAI,CAON;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,GAAG,EACnB,WAAW,EAAE,qBAAqB,EAAE,GACnC,IAAI,CAgBN"}
|
|
@@ -22,8 +22,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
25
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.dropInactivePaginationControls = exports.removeJSXAttribute = exports.setJSXExpressionAttribute = exports.convertControlToButton = exports.findAllPaginationControls = exports.findPaginationControl = exports.readJSXAttributeString = exports.PAGINATION_CONTROL_ATTR = void 0;
|
|
35
|
+
exports.dropInactivePaginationControls = exports.removeJSXAttribute = exports.setJSXExpressionAttribute = exports.convertControlToButton = exports.findAllPaginationControls = exports.findPaginationControl = exports.readJSXAttributeString = exports.DEFAULT_RANGE_TEMPLATE = exports.RANGE_TEMPLATE_ATTR = exports.PAGINATION_FOR_ATTR = exports.PAGINATION_CONTROL_ATTR = void 0;
|
|
27
36
|
var types = __importStar(require("@babel/types"));
|
|
28
37
|
/**
|
|
29
38
|
* How the generator recognises the pagination controls the builder authored.
|
|
@@ -37,6 +46,22 @@ var types = __importStar(require("@babel/types"));
|
|
|
37
46
|
* pagination-scroll runtime already identifies its own nodes.
|
|
38
47
|
*/
|
|
39
48
|
exports.PAGINATION_CONTROL_ATTR = 'data-tq-pagination-control';
|
|
49
|
+
/**
|
|
50
|
+
* Which mapper a `range` control belongs to, when it does not sit inside that
|
|
51
|
+
* mapper's pagination container: the array mapper's editor node id, which the
|
|
52
|
+
* UIDL carries as `nodeId` on the `cms-list-repeater`. A template's footer
|
|
53
|
+
* ("Showing 1–8 of 12") is laid out by the author, not inside a widget, so the
|
|
54
|
+
* container-ownership rule the buttons use cannot reach it.
|
|
55
|
+
*
|
|
56
|
+
* ⛔ Both attribute names must stay identical to the editor's
|
|
57
|
+
* (`array-mapper-pagination-settings.ts`) and the canvas renderer's
|
|
58
|
+
* (`array-mapper-pagination.ts`) copies.
|
|
59
|
+
*/
|
|
60
|
+
exports.PAGINATION_FOR_ATTR = 'data-tq-pagination-for';
|
|
61
|
+
/** The words of a `range` control, with `{from}`, `{to}` and `{total}` placeholders. */
|
|
62
|
+
exports.RANGE_TEMPLATE_ATTR = 'data-tq-range-template';
|
|
63
|
+
/** What a `range` control reads when it carries no template. */
|
|
64
|
+
exports.DEFAULT_RANGE_TEMPLATE = '{from}–{to} of {total}';
|
|
40
65
|
// tslint:disable:no-any
|
|
41
66
|
// Reads a JSX attribute's literal string value, covering both the plain
|
|
42
67
|
// `attr="value"` form and the `attr={'value'}` container the UIDL printer emits
|
|
@@ -136,10 +161,11 @@ exports.removeJSXAttribute = removeJSXAttribute;
|
|
|
136
161
|
*
|
|
137
162
|
* Children carrying NO marker are always kept: they are the author's own
|
|
138
163
|
* additions (a page counter, a spacer) and the generator has no business
|
|
139
|
-
* deciding whether they belong.
|
|
164
|
+
* deciding whether they belong. A `range` text is kept in every mode too: the
|
|
165
|
+
* row range is meaningful whether the list pages or appends.
|
|
140
166
|
*/
|
|
141
167
|
function dropInactivePaginationControls(paginationNode, activeKinds) {
|
|
142
|
-
var active = new Set(activeKinds);
|
|
168
|
+
var active = new Set(__spreadArray(__spreadArray([], activeKinds, true), ['range'], false));
|
|
143
169
|
var prune = function (node) {
|
|
144
170
|
if (!node || !Array.isArray(node.children)) {
|
|
145
171
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-controls.js","sourceRoot":"","sources":["../../src/pagination-controls.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pagination-controls.js","sourceRoot":"","sources":["../../src/pagination-controls.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAqC;AAErC;;;;;;;;;;GAUG;AACU,QAAA,uBAAuB,GAAG,4BAA4B,CAAA;AAsBnE;;;;;;;;;;GAUG;AACU,QAAA,mBAAmB,GAAG,wBAAwB,CAAA;AAE3D,wFAAwF;AAC3E,QAAA,mBAAmB,GAAG,wBAAwB,CAAA;AAE3D,gEAAgE;AACnD,QAAA,sBAAsB,GAAG,wBAAwB,CAAA;AAE9D,wBAAwB;AAExB,wEAAwE;AACxE,gFAAgF;AAChF,8BAA8B;AAC9B,SAAgB,sBAAsB,CAAC,IAAS,EAAE,QAAgB;;IAChE,IAAM,IAAI,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,0CAAE,UAAU,0CAAE,IAAI,CACjD,UAAC,SAAc,YAAK,OAAA,SAAS,CAAC,IAAI,KAAK,cAAc,IAAI,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAC3F,CAAA;IACD,OAAO,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,KAAK,MAAI,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,UAAU,0CAAE,KAAK,CAAA,IAAI,EAAE,CAAA;AACnE,CAAC;AALD,wDAKC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,IAAS,EACT,IAA2B,EAC3B,eAAwB;IAExB,IAAM,MAAM,GAAG,UAAC,IAAS,EAAE,OAAoC;QAC7D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,OAAO,IAAI,CAAA;SACZ;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,KAAoB,UAAa,EAAb,KAAA,IAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa,EAAE;gBAA9B,IAAM,KAAK,SAAA;gBACd,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBACpC,IAAI,KAAK,EAAE;oBACT,OAAO,KAAK,CAAA;iBACb;aACF;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IAED,IAAM,QAAQ,GAAG,MAAM,CACrB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,sBAAsB,CAAC,IAAI,EAAE,+BAAuB,CAAC,KAAK,IAAI,EAA9D,CAA8D,CACzE,CAAA;IACD,IAAI,QAAQ,IAAI,CAAC,eAAe,EAAE;QAChC,OAAO,QAAQ,CAAA;KAChB;IACD,OAAO,MAAM,CAAC,IAAI,EAAE,UAAC,IAAI,IAAK,OAAA,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAnE,CAAmE,CAAC,CAAA;AACpG,CAAC;AA/BD,sDA+BC;AAED,6GAA6G;AAC7G,SAAgB,yBAAyB,CAAC,IAAS,EAAE,IAA2B;IAC9E,IAAM,KAAK,GAAU,EAAE,CAAA;IACvB,IAAM,QAAQ,GAAG,UAAC,IAAS;QACzB,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,IACE,IAAI,CAAC,IAAI,KAAK,YAAY;YAC1B,sBAAsB,CAAC,IAAI,EAAE,+BAAuB,CAAC,KAAK,IAAI,EAC9D;YACA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACjB;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;SAChC;IACH,CAAC,CAAA;IACD,QAAQ,CAAC,IAAI,CAAC,CAAA;IACd,OAAO,KAAK,CAAA;AACd,CAAC;AAlBD,8DAkBC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,IAAS;IAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;IACxC,IAAI,IAAI,CAAC,cAAc,EAAE;QACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;KACzC;IACD,IAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,IAAS,YAAK,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,MAAM,CAAA,EAAA,CAAC,CAAA;IAC9F,IAAI,CAAC,OAAO,EAAE;QACZ,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CACjC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAC/E,CAAA;KACF;AACH,CAAC;AAXD,wDAWC;AAED,wEAAwE;AACxE,SAAgB,yBAAyB,CACvC,IAAS,EACT,QAAgB,EAChB,UAA4B;IAE5B,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CACpE,UAAC,IAAS,YAAK,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAC5C,CAAA;IACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CACjC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAC5F,CAAA;AACH,CAAC;AAXD,8DAWC;AAED,0CAA0C;AAC1C,SAAgB,kBAAkB,CAAC,IAAS,EAAE,QAAgB;IAC5D,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CACpE,UAAC,IAAS,YAAK,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAQ,CAAA,EAAA,CAC5C,CAAA;AACH,CAAC;AAJD,gDAIC;AAED;;;;;;;;;GASG;AACH,SAAgB,8BAA8B,CAC5C,cAAmB,EACnB,WAAoC;IAEpC,IAAM,MAAM,GAAG,IAAI,GAAG,iCAAa,WAAW,UAAE,OAAO,UAAE,CAAA;IACzD,IAAM,KAAK,GAAG,UAAC,IAAS;QACtB,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC1C,OAAM;SACP;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAU;YAC9C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,YAAY,EAAE;gBAChC,OAAO,IAAI,CAAA;aACZ;YACD,IAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,+BAAuB,CAAC,CAAA;YACrE,OAAO,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAA;IACD,KAAK,CAAC,cAAc,CAAC,CAAA;AACvB,CAAC;AAnBD,wEAmBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination-plugin.d.ts","sourceRoot":"","sources":["../../src/pagination-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"pagination-plugin.d.ts","sourceRoot":"","sources":["../../src/pagination-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAIvB,MAAM,4BAA4B,CAAA;AA6rCnC,eAAO,MAAM,qCAAqC,EAAE,sBAAsB,CAAC,EAAE,CA64B5E,CAAA"}
|