@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
package/dist/cjs/sort-utils.js
CHANGED
|
@@ -32,9 +32,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
32
32
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.appendSortsParam = exports.extractDynamicSort = exports.readFixedSort = void 0;
|
|
35
|
+
exports.appendSortsParam = exports.buildSortAtStartGuard = exports.buildStartingSortsValue = exports.readRepeaterSort = exports.readSortStateDefaults = exports.extractDynamicSort = exports.readFixedSort = void 0;
|
|
36
36
|
var types = __importStar(require("@babel/types"));
|
|
37
37
|
var teleport_plugin_common_1 = require("@teleporthq/teleport-plugin-common");
|
|
38
|
+
var teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
38
39
|
var SKIP_IDENTIFIERS = new Set([
|
|
39
40
|
'undefined',
|
|
40
41
|
'NaN',
|
|
@@ -44,20 +45,21 @@ var SKIP_IDENTIFIERS = new Set([
|
|
|
44
45
|
'document',
|
|
45
46
|
'console',
|
|
46
47
|
]);
|
|
47
|
-
var collectIdentifiers = function (node, acc) {
|
|
48
|
+
var collectIdentifiers = function (node, acc, skip) {
|
|
49
|
+
if (skip === void 0) { skip = SKIP_IDENTIFIERS; }
|
|
48
50
|
if (!node || typeof node !== 'object') {
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
53
|
if (node.type === 'Identifier') {
|
|
52
|
-
if (!
|
|
54
|
+
if (!skip.has(node.name)) {
|
|
53
55
|
acc.add(node.name);
|
|
54
56
|
}
|
|
55
57
|
return;
|
|
56
58
|
}
|
|
57
59
|
if (node.type === 'MemberExpression') {
|
|
58
|
-
collectIdentifiers(node.object, acc);
|
|
60
|
+
collectIdentifiers(node.object, acc, skip);
|
|
59
61
|
if (node.computed) {
|
|
60
|
-
collectIdentifiers(node.property, acc);
|
|
62
|
+
collectIdentifiers(node.property, acc, skip);
|
|
61
63
|
}
|
|
62
64
|
return;
|
|
63
65
|
}
|
|
@@ -67,10 +69,10 @@ var collectIdentifiers = function (node, acc) {
|
|
|
67
69
|
// tslint:disable-next-line:no-any
|
|
68
70
|
var child = node[key];
|
|
69
71
|
if (Array.isArray(child)) {
|
|
70
|
-
child.forEach(function (c) { return collectIdentifiers(c, acc); });
|
|
72
|
+
child.forEach(function (c) { return collectIdentifiers(c, acc, skip); });
|
|
71
73
|
}
|
|
72
74
|
else if (child && typeof child === 'object' && typeof child.type === 'string') {
|
|
73
|
-
collectIdentifiers(child, acc);
|
|
75
|
+
collectIdentifiers(child, acc, skip);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
};
|
|
@@ -121,17 +123,107 @@ var extractDynamicSort = function (sort, sortDirection) {
|
|
|
121
123
|
};
|
|
122
124
|
};
|
|
123
125
|
exports.extractDynamicSort = extractDynamicSort;
|
|
124
|
-
//
|
|
125
|
-
var
|
|
126
|
-
return types.
|
|
126
|
+
// `JSON.stringify([{ field: <fieldExpr>, order: <orderExpr> }])`
|
|
127
|
+
var buildDynamicSortsValue = function (dynamicSort) {
|
|
128
|
+
return types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
127
129
|
types.arrayExpression([
|
|
128
130
|
types.objectExpression([
|
|
129
|
-
types.objectProperty(types.identifier('field'), types.cloneNode(dynamicSort.field)),
|
|
130
|
-
types.objectProperty(types.identifier('order'), types.cloneNode(dynamicSort.order)),
|
|
131
|
+
types.objectProperty(types.identifier('field'), types.cloneNode(dynamicSort.field, true)),
|
|
132
|
+
types.objectProperty(types.identifier('order'), types.cloneNode(dynamicSort.order, true)),
|
|
131
133
|
]),
|
|
132
134
|
]),
|
|
133
|
-
])
|
|
135
|
+
]);
|
|
136
|
+
};
|
|
137
|
+
// Build the AST for `sorts: JSON.stringify([{ field: <fieldExpr>, order: <orderExpr> }])`
|
|
138
|
+
var buildDynamicSortsProperty = function (dynamicSort) {
|
|
139
|
+
return types.objectProperty(types.identifier('sorts'), buildDynamicSortsValue(dynamicSort));
|
|
140
|
+
};
|
|
141
|
+
// Names a sort expression may read besides its states: they mean the same on
|
|
142
|
+
// the server and in the browser.
|
|
143
|
+
var CONSTANT_IDENTIFIERS = new Set(['undefined', 'NaN', 'Infinity']);
|
|
144
|
+
var isStartingValue = function (value) {
|
|
145
|
+
return typeof value === 'string' ||
|
|
146
|
+
typeof value === 'boolean' ||
|
|
147
|
+
(typeof value === 'number' && Number.isFinite(value));
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* The states a state-bound sort reads, at their defaults: the sort a visitor
|
|
151
|
+
* starts with, which the build can fetch the first page by.
|
|
152
|
+
*
|
|
153
|
+
* Only when every name the column and the direction read is a state of this
|
|
154
|
+
* component starting at a fixed value. Anything else they read — a prop, the
|
|
155
|
+
* router, `window` — or a state the page seeds from its data leaves the build
|
|
156
|
+
* unable to know the starting sort: `undefined`, and the list fetches its first
|
|
157
|
+
* page in the browser. An empty list is a sort that reads nothing.
|
|
158
|
+
*/
|
|
159
|
+
var readSortStateDefaults = function (dynamicSort, stateDefinitions) {
|
|
160
|
+
var read = new Set();
|
|
161
|
+
collectIdentifiers(dynamicSort.field, read, CONSTANT_IDENTIFIERS);
|
|
162
|
+
collectIdentifiers(dynamicSort.order, read, CONSTANT_IDENTIFIERS);
|
|
163
|
+
// A state's binding is its sanitised name, as the component declares it.
|
|
164
|
+
var stateByBinding = new Map();
|
|
165
|
+
Object.entries(stateDefinitions !== null && stateDefinitions !== void 0 ? stateDefinitions : {}).forEach(function (_a) {
|
|
166
|
+
var key = _a[0], definition = _a[1];
|
|
167
|
+
stateByBinding.set(teleport_shared_1.JSIdentifiers.createSafeJSIdentifier(key), definition);
|
|
168
|
+
});
|
|
169
|
+
var defaults = [];
|
|
170
|
+
for (var _i = 0, _a = Array.from(read); _i < _a.length; _i++) {
|
|
171
|
+
var binding = _a[_i];
|
|
172
|
+
var definition = stateByBinding.get(binding);
|
|
173
|
+
if (!definition ||
|
|
174
|
+
definition.dataSourceBinding ||
|
|
175
|
+
definition.query ||
|
|
176
|
+
!isStartingValue(definition.defaultValue)) {
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
defaults.push({ binding: binding, value: definition.defaultValue });
|
|
180
|
+
}
|
|
181
|
+
return defaults;
|
|
182
|
+
};
|
|
183
|
+
exports.readSortStateDefaults = readSortStateDefaults;
|
|
184
|
+
var readRepeaterSort = function (sort, sortDirection, stateDefinitions) {
|
|
185
|
+
if (!sort) {
|
|
186
|
+
return {};
|
|
187
|
+
}
|
|
188
|
+
var fixed = (0, exports.readFixedSort)(sort, sortDirection);
|
|
189
|
+
if (fixed) {
|
|
190
|
+
return { fixed: fixed };
|
|
191
|
+
}
|
|
192
|
+
var dynamic = (0, exports.extractDynamicSort)(sort, sortDirection);
|
|
193
|
+
return dynamic ? { dynamic: dynamic, starting: (0, exports.readSortStateDefaults)(dynamic, stateDefinitions) } : {};
|
|
194
|
+
};
|
|
195
|
+
exports.readRepeaterSort = readRepeaterSort;
|
|
196
|
+
/**
|
|
197
|
+
* The `sorts` param of the build-time fetch: the browser's own expression,
|
|
198
|
+
* evaluated with every state it reads at its default —
|
|
199
|
+
*
|
|
200
|
+
* ((sortBy) => JSON.stringify([{ field: sortBy.split("-")?.[0] || '', order: … }]))("name-asc")
|
|
201
|
+
*
|
|
202
|
+
* — so it is the very string the browser sends while the sort is untouched, and
|
|
203
|
+
* the data source orders the first page exactly as it orders every later one
|
|
204
|
+
* (the same columns, empty values last, the row's id breaking ties).
|
|
205
|
+
*/
|
|
206
|
+
var buildStartingSortsValue = function (dynamicSort, defaults) {
|
|
207
|
+
var sorts = buildDynamicSortsValue(dynamicSort);
|
|
208
|
+
if (defaults.length === 0) {
|
|
209
|
+
return sorts;
|
|
210
|
+
}
|
|
211
|
+
return types.callExpression(types.arrowFunctionExpression(defaults.map(function (state) { return types.identifier(state.binding); }), sorts), defaults.map(function (state) { return types.valueToNode(state.value); }));
|
|
212
|
+
};
|
|
213
|
+
exports.buildStartingSortsValue = buildStartingSortsValue;
|
|
214
|
+
/**
|
|
215
|
+
* `sortBy === "name-asc"`: the sort is still the one the visitor starts with,
|
|
216
|
+
* so the rows fetched at build time are its first page. `null` for a sort that
|
|
217
|
+
* reads nothing, which never moves.
|
|
218
|
+
*/
|
|
219
|
+
var buildSortAtStartGuard = function (defaults) {
|
|
220
|
+
return defaults
|
|
221
|
+
.map(function (state) {
|
|
222
|
+
return types.binaryExpression('===', types.identifier(state.binding), types.valueToNode(state.value));
|
|
223
|
+
})
|
|
224
|
+
.reduce(function (all, guard) { return (all ? types.logicalExpression('&&', all, guard) : guard); }, null);
|
|
134
225
|
};
|
|
226
|
+
exports.buildSortAtStartGuard = buildSortAtStartGuard;
|
|
135
227
|
// Build the AST for the legacy static sorts array form.
|
|
136
228
|
// tslint:disable-next-line:no-any
|
|
137
229
|
var buildLegacySortsProperty = function (sorts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-utils.js","sourceRoot":"","sources":["../../src/sort-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAqC;AACrC,6EAA6D;
|
|
1
|
+
{"version":3,"file":"sort-utils.js","sourceRoot":"","sources":["../../src/sort-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { UIDLEcommerceCategory } from '@teleporthq/teleport-types';
|
|
2
|
+
export interface BookingItemTransformOptions {
|
|
3
|
+
/** The booking items' category taxonomy — see `bookingSettings.categories`. */
|
|
4
|
+
categories?: UIDLEcommerceCategory[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Generates JavaScript code for the `teleport_booking_items` row
|
|
8
|
+
* transformation — the things a Bookings site lets people book.
|
|
9
|
+
*
|
|
10
|
+
* The row is kept whole (every column, snake_case: the booking pages bind
|
|
11
|
+
* them as stored) and its translatable texts — `name`, `description` (rich
|
|
12
|
+
* text) and `location` — are the page's language when the row has them there
|
|
13
|
+
* (`es_name`, …), the main language otherwise. Its `category` is the name its
|
|
14
|
+
* first category has in the page's language, read off the taxonomy baked in
|
|
15
|
+
* here (the row's stored main name while none of its ids is a category). That
|
|
16
|
+
* is all a booking page needs to show an item in the visitor's language; the
|
|
17
|
+
* booking statements localise what they read on their own.
|
|
18
|
+
*
|
|
19
|
+
* MUST mirror `localizeBookingItem` in the editor
|
|
20
|
+
* (teleport-gui features/bookings/utils/localize-booking-item.ts), which is
|
|
21
|
+
* what the canvas renders from.
|
|
22
|
+
*/
|
|
23
|
+
export declare const generateBookingItemTransformationCode: (options?: BookingItemTransformOptions) => string;
|
|
24
|
+
//# sourceMappingURL=booking-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booking-item.d.ts","sourceRoot":"","sources":["../../../src/transformations/booking-item.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAGvE,MAAM,WAAW,2BAA2B;IAC1C,+EAA+E;IAC/E,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAA;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qCAAqC,aACvC,2BAA2B,KACnC,MA2CF,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateBookingItemTransformationCode = void 0;
|
|
4
|
+
var category_taxonomy_1 = require("./category-taxonomy");
|
|
5
|
+
/**
|
|
6
|
+
* Generates JavaScript code for the `teleport_booking_items` row
|
|
7
|
+
* transformation — the things a Bookings site lets people book.
|
|
8
|
+
*
|
|
9
|
+
* The row is kept whole (every column, snake_case: the booking pages bind
|
|
10
|
+
* them as stored) and its translatable texts — `name`, `description` (rich
|
|
11
|
+
* text) and `location` — are the page's language when the row has them there
|
|
12
|
+
* (`es_name`, …), the main language otherwise. Its `category` is the name its
|
|
13
|
+
* first category has in the page's language, read off the taxonomy baked in
|
|
14
|
+
* here (the row's stored main name while none of its ids is a category). That
|
|
15
|
+
* is all a booking page needs to show an item in the visitor's language; the
|
|
16
|
+
* booking statements localise what they read on their own.
|
|
17
|
+
*
|
|
18
|
+
* MUST mirror `localizeBookingItem` in the editor
|
|
19
|
+
* (teleport-gui features/bookings/utils/localize-booking-item.ts), which is
|
|
20
|
+
* what the canvas renders from.
|
|
21
|
+
*/
|
|
22
|
+
var generateBookingItemTransformationCode = function (options) {
|
|
23
|
+
if (options === void 0) { options = {}; }
|
|
24
|
+
return "\n// ============================================================\n// Booking Item Transformation\n// ============================================================\n\nvar BOOKING_ITEM_TRANSLATABLE_COLUMNS = ['name', 'description', 'location']\n".concat((0, category_taxonomy_1.generateCategoryTaxonomyCode)('BOOKING_CATEGORIES_BY_ID', options.categories), "\n\nfunction buildBookingItem(record, options) {\n if (!record || typeof record !== 'object') return record\n options = options || {}\n var currentLang = options.currentLanguage || null\n var mainLang = options.mainLanguage || null\n\n var out = {}\n for (var key in record) {\n if (Object.prototype.hasOwnProperty.call(record, key)) out[key] = record[key]\n }\n for (var i = 0; i < BOOKING_ITEM_TRANSLATABLE_COLUMNS.length; i++) {\n var column = BOOKING_ITEM_TRANSLATABLE_COLUMNS[i]\n var value = resolveI18nField(record, column, column, currentLang, mainLang)\n out[column] = value === null || value === undefined ? record[column] : value\n }\n if ('category' in record || 'category_ids' in record) {\n var stored = typeof record.category === 'string' ? record.category : ''\n var assigned = resolveAssignedCategories(\n record.category_ids,\n BOOKING_CATEGORIES_BY_ID,\n currentLang,\n mainLang,\n stored\n )\n out.category = assigned.length > 0 ? assigned[0].name : stored\n }\n return out\n}\n\nfunction transformBookingItems(records, options) {\n if (!Array.isArray(records)) return []\n return records.map(function(record) { return buildBookingItem(record, options) })\n}\n");
|
|
25
|
+
};
|
|
26
|
+
exports.generateBookingItemTransformationCode = generateBookingItemTransformationCode;
|
|
27
|
+
//# sourceMappingURL=booking-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booking-item.js","sourceRoot":"","sources":["../../../src/transformations/booking-item.ts"],"names":[],"mappings":";;;AACA,yDAAkE;AAOlE;;;;;;;;;;;;;;;;GAgBG;AACI,IAAM,qCAAqC,GAAG,UACnD,OAAyC;IAAzC,wBAAA,EAAA,YAAyC;IAEzC,OAAO,6PAMP,IAAA,gDAA4B,EAAC,0BAA0B,EAAE,OAAO,CAAC,UAAU,CAAC,guCAmC7E,CAAA;AACD,CAAC,CAAA;AA7CY,QAAA,qCAAqC,yCA6CjD"}
|
|
@@ -26,6 +26,8 @@ export interface EntityTransformOptions extends EcommerceProductTransformOptions
|
|
|
26
26
|
contentSettings?: Partial<Record<ContentTables.ContentPresetKey, ContentPresetTransformSettings>>;
|
|
27
27
|
/** Blog post-category taxonomy — see `blogSettings.categories`. */
|
|
28
28
|
blogCategories?: UIDLEcommerceCategory[];
|
|
29
|
+
/** The booking items' category taxonomy — see `bookingSettings.categories`. */
|
|
30
|
+
bookingCategories?: UIDLEcommerceCategory[];
|
|
29
31
|
/** Post content headings get ids and `#` links — see `blogSettings.headingAnchors`. */
|
|
30
32
|
blogHeadingAnchors?: boolean;
|
|
31
33
|
/**
|
|
@@ -54,7 +56,7 @@ export interface EntityTransformOptions extends EcommerceProductTransformOptions
|
|
|
54
56
|
* `blog*` fields — those fields. Empty for a table no preset owns.
|
|
55
57
|
*/
|
|
56
58
|
export declare const contentSettingsFor: (options: Pick<EntityTransformOptions, 'contentSettings' | 'blogCategories' | 'blogHeadingAnchors' | 'blogComments'>, tableName: string) => ContentPresetTransformSettings;
|
|
57
|
-
export declare const buildProductTransformOptions: (options: Pick<GeneratorOptions, 'ecommerceSettings' | 'invoiceSettings' | 'blogSettings' | 'helpCenterSettings' | 'auth'> & LocalizedProjectOptions & {
|
|
59
|
+
export declare const buildProductTransformOptions: (options: Pick<GeneratorOptions, 'ecommerceSettings' | 'invoiceSettings' | 'blogSettings' | 'bookingSettings' | 'helpCenterSettings' | 'auth'> & LocalizedProjectOptions & {
|
|
58
60
|
/**
|
|
59
61
|
* The SAME project authentication under the name a `ProjectUIDL` gives
|
|
60
62
|
* it — the project plugins call this with the UIDL itself, where the
|
|
@@ -66,7 +68,7 @@ export declare const buildProductTransformOptions: (options: Pick<GeneratorOptio
|
|
|
66
68
|
*/
|
|
67
69
|
authentication?: UIDLAuthentication;
|
|
68
70
|
}) => EntityTransformOptions;
|
|
69
|
-
export type TransformationType = 'blog-post' | 'ecommerce-product' | 'custom-page' | null;
|
|
71
|
+
export type TransformationType = 'blog-post' | 'ecommerce-product' | 'custom-page' | 'booking-item' | null;
|
|
70
72
|
/**
|
|
71
73
|
* Detects which transformation type to apply based on the table name.
|
|
72
74
|
* Returns null if no transformation is needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transformations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAA8B,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transformations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,aAAa,EAA8B,MAAM,6BAA6B,CAAA;AAKvF,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAA;AAEhC,YAAY,EAAE,gCAAgC,EAAE,CAAA;AAEhD;;;;;GAKG;AACH,oFAAoF;AACpF,MAAM,WAAW,8BAA8B;IAC7C,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACpC,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAA;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gCAAgC;IAC9E;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC,CAAA;IACjG,mEAAmE;IACnE,cAAc,CAAC,EAAE,qBAAqB,EAAE,CAAA;IACxC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAC3C,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAqCD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YACpB,KACP,sBAAsB,EACtB,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,cAAc,CAC7E,aACU,MAAM,KAChB,8BAiBF,CAAA;AAED,eAAO,MAAM,4BAA4B,YAC9B,KACP,gBAAgB,EACd,mBAAmB,GACnB,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,oBAAoB,GACpB,MAAM,CACT,GACC,uBAAuB,GAAG;IACxB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAA;CACpC,KACF,sBAeD,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,IAAI,CAAA;AAeR;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,cAAe,MAAM,KAAG,kBAkB5D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,cACrB,MAAM,YACR,sBAAsB,KAC9B,MAkCF,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc,YAAY,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,cAAe,MAAM,KAAG,MAAM,GAAG,IAKnE,CAAA;AA+DD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,cACvB,MAAM,YACR,KAAK,sBAAsB,EAAE,cAAc,GAAG,cAAc,GAAG,iBAAiB,CAAC,KACzF,MAqKF,CAAA"}
|
|
@@ -16,6 +16,7 @@ var teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
|
16
16
|
var shared_utils_1 = require("./shared-utils");
|
|
17
17
|
var blog_post_1 = require("./blog-post");
|
|
18
18
|
var custom_page_1 = require("./custom-page");
|
|
19
|
+
var booking_item_1 = require("./booking-item");
|
|
19
20
|
var ecommerce_product_1 = require("./ecommerce-product");
|
|
20
21
|
var request_locale_1 = require("../request-locale");
|
|
21
22
|
var content_localization_1 = require("../content-localization");
|
|
@@ -69,7 +70,7 @@ var contentSettingsFor = function (options, tableName) {
|
|
|
69
70
|
};
|
|
70
71
|
exports.contentSettingsFor = contentSettingsFor;
|
|
71
72
|
var buildProductTransformOptions = function (options) {
|
|
72
|
-
var _a, _b, _c, _d, _e;
|
|
73
|
+
var _a, _b, _c, _d, _e, _f;
|
|
73
74
|
return ({
|
|
74
75
|
categories: (_a = options.ecommerceSettings) === null || _a === void 0 ? void 0 : _a.categories,
|
|
75
76
|
contentSettings: {
|
|
@@ -77,11 +78,12 @@ var buildProductTransformOptions = function (options) {
|
|
|
77
78
|
help: contentPresetTransformSettings(options.helpCenterSettings),
|
|
78
79
|
},
|
|
79
80
|
blogCategories: (_b = options.blogSettings) === null || _b === void 0 ? void 0 : _b.categories,
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
bookingCategories: (_c = options.bookingSettings) === null || _c === void 0 ? void 0 : _c.categories,
|
|
82
|
+
blogHeadingAnchors: ((_d = options.blogSettings) === null || _d === void 0 ? void 0 : _d.headingAnchors) === true,
|
|
83
|
+
blogComments: ((_e = options.blogSettings) === null || _e === void 0 ? void 0 : _e.comments) === true,
|
|
82
84
|
storefrontTaxRate: teleport_shared_1.StorefrontTax.resolveStorefrontTaxRate(options.invoiceSettings),
|
|
83
85
|
allowBackorders: resolveAllowBackorders(options.ecommerceSettings),
|
|
84
|
-
productPages: (
|
|
86
|
+
productPages: (_f = options.ecommerceSettings) === null || _f === void 0 ? void 0 : _f.productPages,
|
|
85
87
|
localization: (0, content_localization_1.resolveContentLocalization)(options),
|
|
86
88
|
trustedReaderRoles: teleport_shared_1.TableAccess.resolveTrustedReaderRoles(options.auth || options.authentication),
|
|
87
89
|
});
|
|
@@ -125,6 +127,9 @@ var detectTransformationType = function (tableName) {
|
|
|
125
127
|
if (bare === 'teleport_pages') {
|
|
126
128
|
return 'custom-page';
|
|
127
129
|
}
|
|
130
|
+
if (bare === 'teleport_booking_items') {
|
|
131
|
+
return 'booking-item';
|
|
132
|
+
}
|
|
128
133
|
return null;
|
|
129
134
|
};
|
|
130
135
|
exports.detectTransformationType = detectTransformationType;
|
|
@@ -157,6 +162,8 @@ var getTransformationCode = function (tableName, options) {
|
|
|
157
162
|
return shared + (0, ecommerce_product_1.generateEcommerceProductTransformationCode)(options);
|
|
158
163
|
case 'custom-page':
|
|
159
164
|
return shared + (0, custom_page_1.generateCustomPageTransformationCode)();
|
|
165
|
+
case 'booking-item':
|
|
166
|
+
return (shared + (0, booking_item_1.generateBookingItemTransformationCode)({ categories: options.bookingCategories }));
|
|
160
167
|
default:
|
|
161
168
|
return '';
|
|
162
169
|
}
|
|
@@ -234,7 +241,9 @@ var getTransformWrapperCode = function (tableName, options) {
|
|
|
234
241
|
? 'transformBlogPosts'
|
|
235
242
|
: type === 'custom-page'
|
|
236
243
|
? 'transformCustomPages'
|
|
237
|
-
: '
|
|
244
|
+
: type === 'booking-item'
|
|
245
|
+
? 'transformBookingItems'
|
|
246
|
+
: 'transformEcommerceProducts';
|
|
238
247
|
// Products additionally get their purchasable variant combinations attached in
|
|
239
248
|
// ONE batched query (keyed by product id). Blog posts have no such enrichment.
|
|
240
249
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transformations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,+DAAuF;AACvF,+CAAiE;AACjE,yCAAgE;AAChE,6CAAoE;AACpE,yDAG4B;AAC5B,oDAAwD;AACxD,gEAIgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transformations/index.ts"],"names":[],"mappings":"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"}
|