@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
|
@@ -5,15 +5,30 @@ import * as types from '@babel/types';
|
|
|
5
5
|
* The accumulation lives inside the generated `fetchData` closure rather than
|
|
6
6
|
* around the provider. `DataProvider` renders whatever `fetchData` resolves
|
|
7
7
|
* with, so returning "every page fetched so far, in order" is enough to make it
|
|
8
|
-
* append — no change to the runtime component library, and
|
|
8
|
+
* append — no change to the runtime component library, and
|
|
9
9
|
* `persistDataDuringLoading` keeps the rows already on screen while the next
|
|
10
|
-
* page is in flight
|
|
10
|
+
* page is in flight (`buildAppendingRequestCheck`: the loading slot replaces
|
|
11
|
+
* them only for a list loading afresh).
|
|
11
12
|
*
|
|
12
13
|
* A `useRef` holds the pages rather than a state, because writing accumulated
|
|
13
14
|
* rows into state from inside `fetchData` would re-render the provider mid-fetch
|
|
14
15
|
* and re-enter it. The ref is keyed by a SIGNATURE of every fetch param except
|
|
15
16
|
* the page, so a filter, sort or search change starts a fresh list instead of
|
|
16
17
|
* interleaving rows from two different queries.
|
|
18
|
+
*
|
|
19
|
+
* `fetchData` records the query and the page the list stands on BEFORE it
|
|
20
|
+
* requests them (`latest`), and only the answer to that request changes the
|
|
21
|
+
* list. A filter, sort or search change made past page 1 fires the old page
|
|
22
|
+
* under the new query first, then page 1 once the page is reset: kept, the
|
|
23
|
+
* stray page sat in the list, the page counter said 1, and the next "Load
|
|
24
|
+
* more" fetched a page already on show. `DataProvider` also renders whichever
|
|
25
|
+
* answer arrives LAST, so a late answer to an earlier query must not replace
|
|
26
|
+
* the list either.
|
|
27
|
+
*
|
|
28
|
+
* On a page, the list starts from the rows `getStaticProps` already fetched
|
|
29
|
+
* (`buildFirstPageDeclaration`, `buildFirstPageSeedEffect`): the server HTML
|
|
30
|
+
* carries them instead of the loading state, the accumulator holds them as
|
|
31
|
+
* page 1, and the browser's first request is page 2.
|
|
17
32
|
*/
|
|
18
33
|
export interface InfiniteScrollVars {
|
|
19
34
|
accumRefVar: string;
|
|
@@ -21,6 +36,7 @@ export interface InfiniteScrollVars {
|
|
|
21
36
|
setHasMoreFlagVar: string;
|
|
22
37
|
hasMoreVar: string;
|
|
23
38
|
sentinelRefVar: string;
|
|
39
|
+
firstPageVar: string;
|
|
24
40
|
}
|
|
25
41
|
export declare const getInfiniteScrollVars: (index: number) => InfiniteScrollVars;
|
|
26
42
|
/**
|
|
@@ -37,11 +53,75 @@ export declare const getInfiniteScrollVars: (index: number) => InfiniteScrollVar
|
|
|
37
53
|
* being made at all; it is `0` while unknown, hence the explicit escape.
|
|
38
54
|
*/
|
|
39
55
|
export declare const buildInfiniteScrollDeclarations: (vars: InfiniteScrollVars, maxPagesVar: string, currentPageExpr: types.Expression, includeSentinel: boolean) => types.Statement[];
|
|
56
|
+
/**
|
|
57
|
+
* What `fetchData` runs before its request: the query and the page the list
|
|
58
|
+
* now stands on.
|
|
59
|
+
*
|
|
60
|
+
* ds_0_accumRef.current.latest = { sig: JSON.stringify({ ...params, page: 0 }), page: Number(params.page) || 1 }
|
|
61
|
+
*/
|
|
62
|
+
export declare const buildAccumulatingRequestMark: (vars: InfiniteScrollVars) => types.Statement;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the request `fetchData` is about to make only adds a page to the rows
|
|
65
|
+
* on show: a page past the first, of the query the accumulator holds. Read
|
|
66
|
+
* after `buildAccumulatingRequestMark` has recorded that request.
|
|
67
|
+
*
|
|
68
|
+
* ds_0_accumRef.current.latest.page > 1 && ds_0_accumRef.current.latest.sig === ds_0_accumRef.current.sig
|
|
69
|
+
*
|
|
70
|
+
* A filter, sort or search change is no append even past page 1 — the page it
|
|
71
|
+
* fires before the reset belongs to another query — and neither is a list's
|
|
72
|
+
* first page: both load the list afresh, behind its loading slot.
|
|
73
|
+
*/
|
|
74
|
+
export declare const buildAppendingRequestCheck: (vars: InfiniteScrollVars) => types.Expression;
|
|
75
|
+
/**
|
|
76
|
+
* The rows inside a server payload: the payload itself, or what sits at
|
|
77
|
+
* `itemsPath` in one that wraps them. `<rows>?.length > 0` is how the caller
|
|
78
|
+
* asks whether the server found any.
|
|
79
|
+
*/
|
|
80
|
+
export declare const buildServerRowsExpression: (payload: types.Expression, itemsPath?: string[]) => types.Expression;
|
|
81
|
+
/**
|
|
82
|
+
* The first page the list starts from, when its page already fetched it:
|
|
83
|
+
*
|
|
84
|
+
* const ds_0_firstPage = useMemo(() => <starts> ? props?.items_ds_0 : undefined, [<instance deps>])
|
|
85
|
+
*
|
|
86
|
+
* Handed to `DataProvider` as `initialData`, so the server HTML holds the rows
|
|
87
|
+
* rather than the loading state, and the provider skips its own fetch of page 1.
|
|
88
|
+
*
|
|
89
|
+
* ⛔ Frozen for the provider's lifetime. `DataProvider` copies `initialData`
|
|
90
|
+
* into what it shows every time the value changes, so a value that moved with
|
|
91
|
+
* the page — the paged lists' `page === 1 ? … : undefined`, fine for them since
|
|
92
|
+
* they remount per page — would wipe the appended rows on the first scroll.
|
|
93
|
+
* `instanceDeps` are what remounts the provider (its `key`): nothing for a list
|
|
94
|
+
* without search, the applied query for one with search.
|
|
95
|
+
*/
|
|
96
|
+
export declare const buildFirstPageDeclaration: (vars: InfiniteScrollVars, startsFromServerRows: types.Expression, serverPayload: types.Expression, instanceDeps: types.Expression[]) => types.Statement;
|
|
97
|
+
/**
|
|
98
|
+
* Makes the server rows page 1 of the accumulator whenever the provider is
|
|
99
|
+
* handed them instead of fetching:
|
|
100
|
+
*
|
|
101
|
+
* useEffect(() => {
|
|
102
|
+
* if (ds_0_firstPage === undefined) return
|
|
103
|
+
* const rows = ds_0_firstPage || []
|
|
104
|
+
* const sig = JSON.stringify({ ...ds_0_params, page: 0 })
|
|
105
|
+
* ds_0_accumRef.current = { sig, pages: { 1: rows }, latest: { sig, page: 1 } }
|
|
106
|
+
* setDs_0_hasMoreFlag(rows.length >= 20)
|
|
107
|
+
* }, [ds_0_firstPage])
|
|
108
|
+
*
|
|
109
|
+
* Without it the accumulator never sees page 1 (the provider skipped that
|
|
110
|
+
* fetch), and the answer to page 2 would REPLACE the rows on screen with page 2
|
|
111
|
+
* alone. The signature is the one `fetchData` computes for the same params, so
|
|
112
|
+
* the next page appends to these rows while a filter, sort or search change
|
|
113
|
+
* still starts a fresh list; `latest` keeps an answer still in flight from an
|
|
114
|
+
* earlier query from changing anything. A short first page is the last one, as
|
|
115
|
+
* it would be had it been fetched.
|
|
116
|
+
*/
|
|
117
|
+
export declare const buildFirstPageSeedEffect: (vars: InfiniteScrollVars, paramsVar: string, perPage: number, itemsPath?: string[]) => types.Statement;
|
|
40
118
|
/**
|
|
41
119
|
* The `.then(...)` tail that accumulates a page and reports whether more exist.
|
|
42
120
|
*
|
|
43
121
|
* Returned as the resolved value of `fetchData`, so `DataProvider` stores the
|
|
44
|
-
* whole accumulated list as its data
|
|
122
|
+
* whole accumulated list as its data: the pages of the query on show, first
|
|
123
|
+
* to the page it stands on. An answer to anything but the latest request
|
|
124
|
+
* (`buildAccumulatingRequestMark`) is not kept, and gets the list as it is.
|
|
45
125
|
*
|
|
46
126
|
* `itemsPath` is where the rows sit inside a payload that wraps them
|
|
47
127
|
* (`{ items: [...], total }`): the rows are read there and the accumulated list
|
|
@@ -66,6 +146,11 @@ export declare const buildSentinelObserverEffect: (vars: InfiniteScrollVars, max
|
|
|
66
146
|
* An invisible one-pixel row after the list. It is generated rather than
|
|
67
147
|
* authored because it is not a control — there is nothing to style or click,
|
|
68
148
|
* only a position in the document for the observer to watch.
|
|
149
|
+
*
|
|
150
|
+
* It takes the element its parent may hold: a table section holds rows, a
|
|
151
|
+
* list holds items, a paragraph holds phrasing. A `<div>` among a table's
|
|
152
|
+
* rows is moved out of the table by the parser, so the server's markup and
|
|
153
|
+
* the client's tree differ and React's hydration fails on every such list.
|
|
69
154
|
*/
|
|
70
|
-
export declare const buildSentinelElement: (vars: InfiniteScrollVars) => types.JSXElement;
|
|
155
|
+
export declare const buildSentinelElement: (vars: InfiniteScrollVars, parentTag?: string | null) => types.JSXElement;
|
|
71
156
|
//# sourceMappingURL=infinite-scroll.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinite-scroll.d.ts","sourceRoot":"","sources":["../../src/infinite-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC
|
|
1
|
+
{"version":3,"file":"infinite-scroll.d.ts","sourceRoot":"","sources":["../../src/infinite-scroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,qBAAqB,UAAW,MAAM,KAAG,kBAOpD,CAAA;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,SACpC,kBAAkB,eACX,MAAM,mBACF,MAAM,UAAU,mBAChB,OAAO,KACvB,MAAM,SAAS,EAuDjB,CAAA;AA+ED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,SAAU,kBAAkB,KAAG,MAAM,SAU3E,CAAA;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,SAAU,kBAAkB,KAAG,MAAM,UAe3E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,YAC3B,MAAM,UAAU,cACb,MAAM,EAAE,KACnB,MAAM,UAA4E,CAAA;AAErF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB,SAC9B,kBAAkB,wBACF,MAAM,UAAU,iBACvB,MAAM,UAAU,gBACjB,MAAM,UAAU,EAAE,KAC/B,MAAM,SAgBL,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,SAC7B,kBAAkB,aACb,MAAM,WACR,MAAM,cACH,MAAM,EAAE,KACnB,MAAM,SAmEN,CAAA;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,SACrC,kBAAkB,WACf,MAAM,cACH,MAAM,EAAE,KACnB,MAAM,uBA+KR,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,SAChC,kBAAkB,eACX,MAAM,6BACQ,MAAM,MAAM,SAAS,KAC/C,MAAM,mBAoGN,CAAA;AAmDH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,SACzB,kBAAkB,cACb,MAAM,GAAG,IAAI,KACvB,MAAM,UAmCR,CAAA"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
+
if (ar || !(i in from)) {
|
|
4
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
+
ar[i] = from[i];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
+
};
|
|
1
10
|
import * as types from '@babel/types';
|
|
2
11
|
export var getInfiniteScrollVars = function (index) { return ({
|
|
3
12
|
accumRefVar: "ds_".concat(index, "_accumRef"),
|
|
@@ -5,6 +14,7 @@ export var getInfiniteScrollVars = function (index) { return ({
|
|
|
5
14
|
setHasMoreFlagVar: "setDs_".concat(index, "_hasMoreFlag"),
|
|
6
15
|
hasMoreVar: "ds_".concat(index, "_hasMore"),
|
|
7
16
|
sentinelRefVar: "ds_".concat(index, "_sentinelRef"),
|
|
17
|
+
firstPageVar: "ds_".concat(index, "_firstPage"),
|
|
8
18
|
}); };
|
|
9
19
|
/**
|
|
10
20
|
* The three declarations behind an appending list:
|
|
@@ -26,6 +36,7 @@ export var buildInfiniteScrollDeclarations = function (vars, maxPagesVar, curren
|
|
|
26
36
|
types.objectExpression([
|
|
27
37
|
types.objectProperty(types.identifier('sig'), types.stringLiteral('')),
|
|
28
38
|
types.objectProperty(types.identifier('pages'), types.objectExpression([])),
|
|
39
|
+
types.objectProperty(types.identifier('latest'), types.nullLiteral()),
|
|
29
40
|
]),
|
|
30
41
|
])),
|
|
31
42
|
]),
|
|
@@ -84,11 +95,137 @@ var writeAtPath = function (node, path, value) {
|
|
|
84
95
|
types.objectProperty(types.isValidIdentifier(segment) ? types.identifier(segment) : types.stringLiteral(segment), child),
|
|
85
96
|
]);
|
|
86
97
|
};
|
|
98
|
+
/** `JSON.stringify({ ...params, page: 0 })`: everything that identifies the query but the page. */
|
|
99
|
+
var buildQuerySignature = function (paramsVar) {
|
|
100
|
+
if (paramsVar === void 0) { paramsVar = 'params'; }
|
|
101
|
+
return types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
102
|
+
types.objectExpression([
|
|
103
|
+
types.spreadElement(types.identifier(paramsVar)),
|
|
104
|
+
types.objectProperty(types.identifier('page'), types.numericLiteral(0)),
|
|
105
|
+
]),
|
|
106
|
+
]);
|
|
107
|
+
};
|
|
108
|
+
/** `Number(params.page) || 1` */
|
|
109
|
+
var buildRequestedPage = function () {
|
|
110
|
+
return types.logicalExpression('||', types.callExpression(types.identifier('Number'), [
|
|
111
|
+
types.memberExpression(types.identifier('params'), types.identifier('page')),
|
|
112
|
+
]), types.numericLiteral(1));
|
|
113
|
+
};
|
|
114
|
+
var accumCurrentOf = function (vars) {
|
|
115
|
+
return types.memberExpression(types.identifier(vars.accumRefVar), types.identifier('current'));
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* What `fetchData` runs before its request: the query and the page the list
|
|
119
|
+
* now stands on.
|
|
120
|
+
*
|
|
121
|
+
* ds_0_accumRef.current.latest = { sig: JSON.stringify({ ...params, page: 0 }), page: Number(params.page) || 1 }
|
|
122
|
+
*/
|
|
123
|
+
export var buildAccumulatingRequestMark = function (vars) {
|
|
124
|
+
return types.expressionStatement(types.assignmentExpression('=', types.memberExpression(accumCurrentOf(vars), types.identifier('latest')), types.objectExpression([
|
|
125
|
+
types.objectProperty(types.identifier('sig'), buildQuerySignature()),
|
|
126
|
+
types.objectProperty(types.identifier('page'), buildRequestedPage()),
|
|
127
|
+
])));
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Whether the request `fetchData` is about to make only adds a page to the rows
|
|
131
|
+
* on show: a page past the first, of the query the accumulator holds. Read
|
|
132
|
+
* after `buildAccumulatingRequestMark` has recorded that request.
|
|
133
|
+
*
|
|
134
|
+
* ds_0_accumRef.current.latest.page > 1 && ds_0_accumRef.current.latest.sig === ds_0_accumRef.current.sig
|
|
135
|
+
*
|
|
136
|
+
* A filter, sort or search change is no append even past page 1 — the page it
|
|
137
|
+
* fires before the reset belongs to another query — and neither is a list's
|
|
138
|
+
* first page: both load the list afresh, behind its loading slot.
|
|
139
|
+
*/
|
|
140
|
+
export var buildAppendingRequestCheck = function (vars) {
|
|
141
|
+
var latestOf = function (key) {
|
|
142
|
+
return types.memberExpression(types.memberExpression(accumCurrentOf(vars), types.identifier('latest')), types.identifier(key));
|
|
143
|
+
};
|
|
144
|
+
return types.logicalExpression('&&', types.binaryExpression('>', latestOf('page'), types.numericLiteral(1)), types.binaryExpression('===', latestOf('sig'), types.memberExpression(accumCurrentOf(vars), types.identifier('sig'))));
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* The rows inside a server payload: the payload itself, or what sits at
|
|
148
|
+
* `itemsPath` in one that wraps them. `<rows>?.length > 0` is how the caller
|
|
149
|
+
* asks whether the server found any.
|
|
150
|
+
*/
|
|
151
|
+
export var buildServerRowsExpression = function (payload, itemsPath) { return ((itemsPath === null || itemsPath === void 0 ? void 0 : itemsPath.length) ? readAtPath(payload, itemsPath) : payload); };
|
|
152
|
+
/**
|
|
153
|
+
* The first page the list starts from, when its page already fetched it:
|
|
154
|
+
*
|
|
155
|
+
* const ds_0_firstPage = useMemo(() => <starts> ? props?.items_ds_0 : undefined, [<instance deps>])
|
|
156
|
+
*
|
|
157
|
+
* Handed to `DataProvider` as `initialData`, so the server HTML holds the rows
|
|
158
|
+
* rather than the loading state, and the provider skips its own fetch of page 1.
|
|
159
|
+
*
|
|
160
|
+
* ⛔ Frozen for the provider's lifetime. `DataProvider` copies `initialData`
|
|
161
|
+
* into what it shows every time the value changes, so a value that moved with
|
|
162
|
+
* the page — the paged lists' `page === 1 ? … : undefined`, fine for them since
|
|
163
|
+
* they remount per page — would wipe the appended rows on the first scroll.
|
|
164
|
+
* `instanceDeps` are what remounts the provider (its `key`): nothing for a list
|
|
165
|
+
* without search, the applied query for one with search.
|
|
166
|
+
*/
|
|
167
|
+
export var buildFirstPageDeclaration = function (vars, startsFromServerRows, serverPayload, instanceDeps) {
|
|
168
|
+
return types.variableDeclaration('const', [
|
|
169
|
+
types.variableDeclarator(types.identifier(vars.firstPageVar), types.callExpression(types.identifier('useMemo'), [
|
|
170
|
+
types.arrowFunctionExpression([], types.conditionalExpression(startsFromServerRows, serverPayload, types.identifier('undefined'))),
|
|
171
|
+
types.arrayExpression(instanceDeps),
|
|
172
|
+
])),
|
|
173
|
+
]);
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Makes the server rows page 1 of the accumulator whenever the provider is
|
|
177
|
+
* handed them instead of fetching:
|
|
178
|
+
*
|
|
179
|
+
* useEffect(() => {
|
|
180
|
+
* if (ds_0_firstPage === undefined) return
|
|
181
|
+
* const rows = ds_0_firstPage || []
|
|
182
|
+
* const sig = JSON.stringify({ ...ds_0_params, page: 0 })
|
|
183
|
+
* ds_0_accumRef.current = { sig, pages: { 1: rows }, latest: { sig, page: 1 } }
|
|
184
|
+
* setDs_0_hasMoreFlag(rows.length >= 20)
|
|
185
|
+
* }, [ds_0_firstPage])
|
|
186
|
+
*
|
|
187
|
+
* Without it the accumulator never sees page 1 (the provider skipped that
|
|
188
|
+
* fetch), and the answer to page 2 would REPLACE the rows on screen with page 2
|
|
189
|
+
* alone. The signature is the one `fetchData` computes for the same params, so
|
|
190
|
+
* the next page appends to these rows while a filter, sort or search change
|
|
191
|
+
* still starts a fresh list; `latest` keeps an answer still in flight from an
|
|
192
|
+
* earlier query from changing anything. A short first page is the last one, as
|
|
193
|
+
* it would be had it been fetched.
|
|
194
|
+
*/
|
|
195
|
+
export var buildFirstPageSeedEffect = function (vars, paramsVar, perPage, itemsPath) {
|
|
196
|
+
return types.expressionStatement(types.callExpression(types.identifier('useEffect'), [
|
|
197
|
+
types.arrowFunctionExpression([], types.blockStatement([
|
|
198
|
+
types.ifStatement(types.binaryExpression('===', types.identifier(vars.firstPageVar), types.identifier('undefined')), types.returnStatement()),
|
|
199
|
+
types.variableDeclaration('const', [
|
|
200
|
+
types.variableDeclarator(types.identifier('rows'), types.logicalExpression('||', buildServerRowsExpression(types.identifier(vars.firstPageVar), itemsPath), types.arrayExpression([]))),
|
|
201
|
+
]),
|
|
202
|
+
types.variableDeclaration('const', [
|
|
203
|
+
types.variableDeclarator(types.identifier('sig'), buildQuerySignature(paramsVar)),
|
|
204
|
+
]),
|
|
205
|
+
types.expressionStatement(types.assignmentExpression('=', accumCurrentOf(vars), types.objectExpression([
|
|
206
|
+
types.objectProperty(types.identifier('sig'), types.identifier('sig'), false, true),
|
|
207
|
+
types.objectProperty(types.identifier('pages'), types.objectExpression([
|
|
208
|
+
types.objectProperty(types.numericLiteral(1), types.identifier('rows')),
|
|
209
|
+
])),
|
|
210
|
+
types.objectProperty(types.identifier('latest'), types.objectExpression([
|
|
211
|
+
types.objectProperty(types.identifier('sig'), types.identifier('sig'), false, true),
|
|
212
|
+
types.objectProperty(types.identifier('page'), types.numericLiteral(1)),
|
|
213
|
+
])),
|
|
214
|
+
]))),
|
|
215
|
+
types.expressionStatement(types.callExpression(types.identifier(vars.setHasMoreFlagVar), [
|
|
216
|
+
types.binaryExpression('>=', types.memberExpression(types.identifier('rows'), types.identifier('length')), types.numericLiteral(perPage)),
|
|
217
|
+
])),
|
|
218
|
+
])),
|
|
219
|
+
types.arrayExpression([types.identifier(vars.firstPageVar)]),
|
|
220
|
+
]));
|
|
221
|
+
};
|
|
87
222
|
/**
|
|
88
223
|
* The `.then(...)` tail that accumulates a page and reports whether more exist.
|
|
89
224
|
*
|
|
90
225
|
* Returned as the resolved value of `fetchData`, so `DataProvider` stores the
|
|
91
|
-
* whole accumulated list as its data
|
|
226
|
+
* whole accumulated list as its data: the pages of the query on show, first
|
|
227
|
+
* to the page it stands on. An answer to anything but the latest request
|
|
228
|
+
* (`buildAccumulatingRequestMark`) is not kept, and gets the list as it is.
|
|
92
229
|
*
|
|
93
230
|
* `itemsPath` is where the rows sit inside a payload that wraps them
|
|
94
231
|
* (`{ items: [...], total }`): the rows are read there and the accumulated list
|
|
@@ -97,17 +234,22 @@ var writeAtPath = function (node, path, value) {
|
|
|
97
234
|
* first page and rendered nothing.
|
|
98
235
|
*/
|
|
99
236
|
export var buildAccumulatingResponseHandler = function (vars, perPage, itemsPath) {
|
|
100
|
-
var accumCurrent = function () {
|
|
101
|
-
return types.memberExpression(types.identifier(vars.accumRefVar), types.identifier('current'));
|
|
102
|
-
};
|
|
237
|
+
var accumCurrent = function () { return accumCurrentOf(vars); };
|
|
103
238
|
var accumPages = function () {
|
|
104
239
|
return types.memberExpression(accumCurrent(), types.identifier('pages'));
|
|
105
240
|
};
|
|
241
|
+
var latestOf = function (key) {
|
|
242
|
+
return types.memberExpression(types.identifier('latest'), types.identifier(key));
|
|
243
|
+
};
|
|
106
244
|
var payload = function () {
|
|
107
245
|
return types.optionalMemberExpression(types.identifier('response'), types.identifier('data'), false, true);
|
|
108
246
|
};
|
|
109
247
|
var rowsPath = (itemsPath === null || itemsPath === void 0 ? void 0 : itemsPath.length) ? itemsPath : undefined;
|
|
110
|
-
|
|
248
|
+
// Every page held up to `last`, flattened in page order — a numeric sort, so
|
|
249
|
+
// page 10 does not land between 1 and 2.
|
|
250
|
+
var accumulatedRows = types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.identifier('Object'), types.identifier('keys')), [accumPages()]), types.identifier('map')), [types.identifier('Number')]), types.identifier('filter')), [
|
|
251
|
+
types.arrowFunctionExpression([types.identifier('p')], types.binaryExpression('<=', types.identifier('p'), types.identifier('last'))),
|
|
252
|
+
]), types.identifier('sort')), [
|
|
111
253
|
types.arrowFunctionExpression([types.identifier('a'), types.identifier('b')], types.binaryExpression('-', types.identifier('a'), types.identifier('b'))),
|
|
112
254
|
]), types.identifier('reduce')), [
|
|
113
255
|
types.arrowFunctionExpression([types.identifier('acc'), types.identifier('p')], types.callExpression(types.memberExpression(types.identifier('acc'), types.identifier('concat')), [types.memberExpression(accumPages(), types.identifier('p'), true)])),
|
|
@@ -118,35 +260,42 @@ export var buildAccumulatingResponseHandler = function (vars, perPage, itemsPath
|
|
|
118
260
|
types.variableDeclarator(types.identifier('rows'), types.logicalExpression('||', rowsPath ? readAtPath(payload(), rowsPath) : payload(), types.arrayExpression([]))),
|
|
119
261
|
]),
|
|
120
262
|
types.variableDeclaration('const', [
|
|
121
|
-
types.variableDeclarator(types.identifier('page'),
|
|
122
|
-
types.memberExpression(types.identifier('params'), types.identifier('page')),
|
|
123
|
-
]), types.numericLiteral(1))),
|
|
263
|
+
types.variableDeclarator(types.identifier('page'), buildRequestedPage()),
|
|
124
264
|
]),
|
|
125
265
|
// Everything that identifies the QUERY, with the page zeroed out: two
|
|
126
266
|
// fetches that differ only by page belong to the same accumulated list.
|
|
127
267
|
types.variableDeclaration('const', [
|
|
128
|
-
types.variableDeclarator(types.identifier('sig'),
|
|
129
|
-
types.objectExpression([
|
|
130
|
-
types.spreadElement(types.identifier('params')),
|
|
131
|
-
types.objectProperty(types.identifier('page'), types.numericLiteral(0)),
|
|
132
|
-
]),
|
|
133
|
-
])),
|
|
268
|
+
types.variableDeclarator(types.identifier('sig'), buildQuerySignature()),
|
|
134
269
|
]),
|
|
135
|
-
|
|
136
|
-
|
|
270
|
+
// The request the list stands on now, recorded when it was made.
|
|
271
|
+
types.variableDeclaration('const', [
|
|
272
|
+
types.variableDeclarator(types.identifier('latest'), types.logicalExpression('||', types.memberExpression(accumCurrent(), types.identifier('latest')), types.objectExpression([
|
|
137
273
|
types.objectProperty(types.identifier('sig'), types.identifier('sig'), false, true),
|
|
138
|
-
types.objectProperty(types.identifier('
|
|
274
|
+
types.objectProperty(types.identifier('page'), types.identifier('page'), false, true),
|
|
139
275
|
]))),
|
|
276
|
+
]),
|
|
277
|
+
// Only its answer is kept: an earlier query's, or a page past the one a
|
|
278
|
+
// filter / sort / search change restarted the list at, changes nothing.
|
|
279
|
+
types.ifStatement(types.logicalExpression('&&', types.binaryExpression('===', types.identifier('sig'), latestOf('sig')), types.binaryExpression('<=', types.identifier('page'), latestOf('page'))), types.blockStatement([
|
|
280
|
+
types.ifStatement(types.binaryExpression('!==', types.memberExpression(accumCurrent(), types.identifier('sig')), types.identifier('sig')), types.blockStatement([
|
|
281
|
+
types.expressionStatement(types.assignmentExpression('=', types.memberExpression(accumCurrent(), types.identifier('sig')), types.identifier('sig'))),
|
|
282
|
+
types.expressionStatement(types.assignmentExpression('=', accumPages(), types.objectExpression([]))),
|
|
283
|
+
])),
|
|
284
|
+
types.expressionStatement(types.assignmentExpression('=', types.memberExpression(accumPages(), types.identifier('page'), true), types.identifier('rows'))),
|
|
285
|
+
// A page that came back short is the last one. This is the only
|
|
286
|
+
// end-of-data signal a data source that cannot count ever gives.
|
|
287
|
+
types.ifStatement(types.binaryExpression('===', types.identifier('page'), latestOf('page')), types.blockStatement([
|
|
288
|
+
types.expressionStatement(types.callExpression(types.identifier(vars.setHasMoreFlagVar), [
|
|
289
|
+
types.binaryExpression('>=', types.memberExpression(types.identifier('rows'), types.identifier('length')), types.numericLiteral(perPage)),
|
|
290
|
+
])),
|
|
291
|
+
])),
|
|
140
292
|
])),
|
|
141
|
-
|
|
142
|
-
//
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
// Every page held so far, flattened in page order — a numeric sort, so
|
|
148
|
-
// page 10 does not land between 1 and 2. This is what DataProvider stores
|
|
149
|
-
// as its data, and so what the list renders.
|
|
293
|
+
// The pages of the query on show, up to the page the list stands on; all
|
|
294
|
+
// of them while the latest query has not answered yet.
|
|
295
|
+
types.variableDeclaration('const', [
|
|
296
|
+
types.variableDeclarator(types.identifier('last'), types.conditionalExpression(types.binaryExpression('===', types.memberExpression(accumCurrent(), types.identifier('sig')), latestOf('sig')), latestOf('page'), types.identifier('Infinity'))),
|
|
297
|
+
]),
|
|
298
|
+
// This is what DataProvider stores as its data, and so what the list renders.
|
|
150
299
|
types.returnStatement(rowsPath ? writeAtPath(payload(), rowsPath, accumulatedRows) : accumulatedRows),
|
|
151
300
|
]));
|
|
152
301
|
};
|
|
@@ -189,20 +338,76 @@ export var buildSentinelObserverEffect = function (vars, maxPagesVar, buildAdvan
|
|
|
189
338
|
types.arrayExpression([types.identifier(vars.hasMoreVar), types.identifier(maxPagesVar)]),
|
|
190
339
|
]));
|
|
191
340
|
};
|
|
341
|
+
var styleAttribute = function (entries) {
|
|
342
|
+
return types.jsxAttribute(types.jsxIdentifier('style'), types.jsxExpressionContainer(types.objectExpression(Object.entries(entries).map(function (_a) {
|
|
343
|
+
var key = _a[0], value = _a[1];
|
|
344
|
+
return types.objectProperty(types.identifier(key), typeof value === 'number' ? types.numericLiteral(value) : types.stringLiteral(value));
|
|
345
|
+
}))));
|
|
346
|
+
};
|
|
347
|
+
var sentinelTag = function (tag, attributes, children) {
|
|
348
|
+
if (children === void 0) { children = []; }
|
|
349
|
+
return types.jsxElement(types.jsxOpeningElement(types.jsxIdentifier(tag), attributes, children.length === 0), children.length === 0 ? null : types.jsxClosingElement(types.jsxIdentifier(tag)), children, children.length === 0);
|
|
350
|
+
};
|
|
351
|
+
/** Parents whose content is phrasing only: a `<div>` in one closes it in the parser. */
|
|
352
|
+
var PHRASING_PARENTS = new Set([
|
|
353
|
+
'p',
|
|
354
|
+
'span',
|
|
355
|
+
'a',
|
|
356
|
+
'button',
|
|
357
|
+
'label',
|
|
358
|
+
'legend',
|
|
359
|
+
'caption',
|
|
360
|
+
'h1',
|
|
361
|
+
'h2',
|
|
362
|
+
'h3',
|
|
363
|
+
'h4',
|
|
364
|
+
'h5',
|
|
365
|
+
'h6',
|
|
366
|
+
'strong',
|
|
367
|
+
'em',
|
|
368
|
+
'b',
|
|
369
|
+
'i',
|
|
370
|
+
'small',
|
|
371
|
+
]);
|
|
192
372
|
/**
|
|
193
373
|
* `<div ref={ds_N_sentinelRef} aria-hidden="true" style={{ height: '1px' }} />`
|
|
194
374
|
*
|
|
195
375
|
* An invisible one-pixel row after the list. It is generated rather than
|
|
196
376
|
* authored because it is not a control — there is nothing to style or click,
|
|
197
377
|
* only a position in the document for the observer to watch.
|
|
378
|
+
*
|
|
379
|
+
* It takes the element its parent may hold: a table section holds rows, a
|
|
380
|
+
* list holds items, a paragraph holds phrasing. A `<div>` among a table's
|
|
381
|
+
* rows is moved out of the table by the parser, so the server's markup and
|
|
382
|
+
* the client's tree differ and React's hydration fails on every such list.
|
|
198
383
|
*/
|
|
199
|
-
export var buildSentinelElement = function (vars) {
|
|
200
|
-
|
|
384
|
+
export var buildSentinelElement = function (vars, parentTag) {
|
|
385
|
+
if (parentTag === void 0) { parentTag = null; }
|
|
386
|
+
var observed = [
|
|
201
387
|
types.jsxAttribute(types.jsxIdentifier('ref'), types.jsxExpressionContainer(types.identifier(vars.sentinelRefVar))),
|
|
202
388
|
types.jsxAttribute(types.jsxIdentifier('aria-hidden'), types.stringLiteral('true')),
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
389
|
+
];
|
|
390
|
+
var emptyCell = function () { return sentinelTag('td', [styleAttribute({ padding: 0, border: 0 })]); };
|
|
391
|
+
switch (parentTag) {
|
|
392
|
+
case 'tbody':
|
|
393
|
+
case 'thead':
|
|
394
|
+
case 'tfoot':
|
|
395
|
+
return sentinelTag('tr', __spreadArray(__spreadArray([], observed, true), [styleAttribute({ height: '1px' })], false), [emptyCell()]);
|
|
396
|
+
case 'table':
|
|
397
|
+
return sentinelTag('tbody', __spreadArray(__spreadArray([], observed, true), [styleAttribute({ height: '1px' })], false), [sentinelTag('tr', [], [emptyCell()])]);
|
|
398
|
+
case 'tr':
|
|
399
|
+
return sentinelTag('td', __spreadArray(__spreadArray([], observed, true), [styleAttribute({ height: '1px', padding: 0 })], false));
|
|
400
|
+
case 'ul':
|
|
401
|
+
case 'ol':
|
|
402
|
+
case 'menu':
|
|
403
|
+
return sentinelTag('li', __spreadArray(__spreadArray([], observed, true), [styleAttribute({ height: '1px', listStyle: 'none' })], false));
|
|
404
|
+
default:
|
|
405
|
+
if (parentTag && PHRASING_PARENTS.has(parentTag)) {
|
|
406
|
+
return sentinelTag('span', __spreadArray(__spreadArray([], observed, true), [
|
|
407
|
+
styleAttribute({ display: 'block', height: '1px' }),
|
|
408
|
+
], false));
|
|
409
|
+
}
|
|
410
|
+
return sentinelTag('div', __spreadArray(__spreadArray([], observed, true), [styleAttribute({ height: '1px' })], false));
|
|
411
|
+
}
|
|
207
412
|
};
|
|
208
413
|
//# sourceMappingURL=infinite-scroll.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinite-scroll.js","sourceRoot":"","sources":["../../src/infinite-scroll.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infinite-scroll.js","sourceRoot":"","sources":["../../src/infinite-scroll.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a table is one of those listing tables, so its rows are told apart
|
|
3
|
+
* by `id` even when the project saved no columns for it (see `row-order.ts`).
|
|
4
|
+
*/
|
|
5
|
+
export declare const isListingTableWithId: (tableName: string) => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Appended to every sorted column: a row without a value comes after the
|
|
8
|
+
* rows with one, whichever the direction. PostgreSQL puts NULLs FIRST in a
|
|
9
|
+
* descending order, so "longest read first" opened on the posts without a
|
|
10
|
+
* reading time. Only on the ORDER BY a fetcher tries first — its plain-column
|
|
11
|
+
* fallback leaves it out, for a database that rejects the clause.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SORT_NULLS_LAST_SQL = " NULLS LAST";
|
|
14
|
+
//# sourceMappingURL=list-sort-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-sort-order.d.ts","sourceRoot":"","sources":["../../src/list-sort-order.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,oBAAoB,cAAe,MAAM,KAAG,OAClB,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { PRODUCTS_TABLE_NAME } from './product-price-sort';
|
|
2
|
+
/**
|
|
3
|
+
* How a generated list route orders the rows a visitor's sort leaves tied or
|
|
4
|
+
* empty, in the SQL fetchers that serve the platform's listing pages
|
|
5
|
+
* (`teleport.ts`, `postgresql.ts`).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The platform tables whose listing pages offer visitors a sort — the
|
|
9
|
+
* products page, the blog listing, the booking page — each with an `id` from
|
|
10
|
+
* its first migration.
|
|
11
|
+
*/
|
|
12
|
+
var LISTING_TABLES_WITH_ID = new Set([
|
|
13
|
+
PRODUCTS_TABLE_NAME,
|
|
14
|
+
'teleport_blog_posts',
|
|
15
|
+
'teleport_booking_items',
|
|
16
|
+
]);
|
|
17
|
+
/**
|
|
18
|
+
* Whether a table is one of those listing tables, so its rows are told apart
|
|
19
|
+
* by `id` even when the project saved no columns for it (see `row-order.ts`).
|
|
20
|
+
*/
|
|
21
|
+
export var isListingTableWithId = function (tableName) {
|
|
22
|
+
return LISTING_TABLES_WITH_ID.has(tableName);
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Appended to every sorted column: a row without a value comes after the
|
|
26
|
+
* rows with one, whichever the direction. PostgreSQL puts NULLs FIRST in a
|
|
27
|
+
* descending order, so "longest read first" opened on the posts without a
|
|
28
|
+
* reading time. Only on the ORDER BY a fetcher tries first — its plain-column
|
|
29
|
+
* fallback leaves it out, for a database that rejects the clause.
|
|
30
|
+
*/
|
|
31
|
+
export var SORT_NULLS_LAST_SQL = ' NULLS LAST';
|
|
32
|
+
//# sourceMappingURL=list-sort-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-sort-order.js","sourceRoot":"","sources":["../../src/list-sort-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AAEH;;;;GAIG;AACH,IAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IAC1D,mBAAmB;IACnB,qBAAqB;IACrB,wBAAwB;CACzB,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAAC,SAAiB;IACpD,OAAA,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC;AAArC,CAAqC,CAAA;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,aAAa,CAAA"}
|