@plasmicpkgs/plasmic-contentful 0.0.148 → 0.0.150
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/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +60 -10
- package/dist/index.mjs +60 -10
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -18,6 +18,7 @@ interface ContentfulFetcherProps {
|
|
|
18
18
|
limit?: number;
|
|
19
19
|
include?: number;
|
|
20
20
|
order?: string;
|
|
21
|
+
reverseOrder?: boolean;
|
|
21
22
|
filterField?: string;
|
|
22
23
|
searchParameter?: string;
|
|
23
24
|
filterValue?: string | number;
|
|
@@ -33,7 +34,7 @@ interface ContentfulFetcherProps {
|
|
|
33
34
|
}) => void;
|
|
34
35
|
}
|
|
35
36
|
declare const ContentfulFetcherMeta: ComponentMeta<ContentfulFetcherProps>;
|
|
36
|
-
declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
|
|
37
|
+
declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, order, reverseOrder, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
|
|
37
38
|
interface ContentfulFieldProps {
|
|
38
39
|
className?: string;
|
|
39
40
|
objectPath?: (string | number)[];
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ interface ContentfulFetcherProps {
|
|
|
18
18
|
limit?: number;
|
|
19
19
|
include?: number;
|
|
20
20
|
order?: string;
|
|
21
|
+
reverseOrder?: boolean;
|
|
21
22
|
filterField?: string;
|
|
22
23
|
searchParameter?: string;
|
|
23
24
|
filterValue?: string | number;
|
|
@@ -33,7 +34,7 @@ interface ContentfulFetcherProps {
|
|
|
33
34
|
}) => void;
|
|
34
35
|
}
|
|
35
36
|
declare const ContentfulFetcherMeta: ComponentMeta<ContentfulFetcherProps>;
|
|
36
|
-
declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
|
|
37
|
+
declare function ContentfulFetcher({ filterField, filterValue, searchParameter, noAutoRepeat, contentType, children, className, order, reverseOrder, limit, include, noLayout, setControlContextData, }: ContentfulFetcherProps): React.JSX.Element;
|
|
37
38
|
interface ContentfulFieldProps {
|
|
38
39
|
className?: string;
|
|
39
40
|
objectPath?: (string | number)[];
|
package/dist/index.js
CHANGED
|
@@ -169,7 +169,7 @@ var ContentfulFetcherMeta = {
|
|
|
169
169
|
var _a;
|
|
170
170
|
return (_a = ctx == null ? void 0 : ctx.fields) != null ? _a : [];
|
|
171
171
|
},
|
|
172
|
-
hidden: (props
|
|
172
|
+
hidden: (props) => !props.contentType
|
|
173
173
|
},
|
|
174
174
|
searchParameter: {
|
|
175
175
|
type: "choice",
|
|
@@ -179,13 +179,34 @@ var ContentfulFetcherMeta = {
|
|
|
179
179
|
var _a;
|
|
180
180
|
return (_a = ctx == null ? void 0 : ctx.queryOptions) != null ? _a : [];
|
|
181
181
|
},
|
|
182
|
-
hidden: (props
|
|
182
|
+
hidden: (props) => !props.filterField
|
|
183
183
|
},
|
|
184
184
|
filterValue: {
|
|
185
185
|
type: "string",
|
|
186
186
|
displayName: "Filter value",
|
|
187
187
|
description: "Value to filter by, should be of filter field type.",
|
|
188
|
-
hidden: (props
|
|
188
|
+
hidden: (props) => !props.searchParameter
|
|
189
|
+
},
|
|
190
|
+
order: {
|
|
191
|
+
type: "choice",
|
|
192
|
+
displayName: "Order",
|
|
193
|
+
description: "Field that the entries should be ordered by.",
|
|
194
|
+
options: (props, ctx) => {
|
|
195
|
+
var _a;
|
|
196
|
+
return [
|
|
197
|
+
...(_a = ctx == null ? void 0 : ctx.fields) != null ? _a : [],
|
|
198
|
+
"sys.createdAt",
|
|
199
|
+
"sys.updatedAt"
|
|
200
|
+
];
|
|
201
|
+
},
|
|
202
|
+
hidden: (props) => !props.contentType
|
|
203
|
+
},
|
|
204
|
+
reverseOrder: {
|
|
205
|
+
type: "boolean",
|
|
206
|
+
displayName: "Reverse order",
|
|
207
|
+
description: "Reverse the order of the entries.",
|
|
208
|
+
defaultValue: false,
|
|
209
|
+
hidden: (props) => !props.order
|
|
189
210
|
},
|
|
190
211
|
limit: {
|
|
191
212
|
type: "number",
|
|
@@ -222,6 +243,8 @@ function ContentfulFetcher({
|
|
|
222
243
|
contentType,
|
|
223
244
|
children,
|
|
224
245
|
className,
|
|
246
|
+
order,
|
|
247
|
+
reverseOrder,
|
|
225
248
|
limit,
|
|
226
249
|
include,
|
|
227
250
|
noLayout,
|
|
@@ -234,6 +257,8 @@ function ContentfulFetcher({
|
|
|
234
257
|
);
|
|
235
258
|
const cacheKey = JSON.stringify({
|
|
236
259
|
include,
|
|
260
|
+
order,
|
|
261
|
+
reverseOrder,
|
|
237
262
|
limit,
|
|
238
263
|
filterField,
|
|
239
264
|
filterValue,
|
|
@@ -253,28 +278,53 @@ function ContentfulFetcher({
|
|
|
253
278
|
setControlContextData == null ? void 0 : setControlContextData({
|
|
254
279
|
types: (_a = contentTypes == null ? void 0 : contentTypes.items) != null ? _a : []
|
|
255
280
|
});
|
|
281
|
+
function setOrderField(searchParams) {
|
|
282
|
+
if (order) {
|
|
283
|
+
searchParams.set(
|
|
284
|
+
"order",
|
|
285
|
+
`${reverseOrder ? "-" : ""}${order.startsWith("sys.") ? order : `fields.${order}`}`
|
|
286
|
+
);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
256
289
|
const { data: entriesData } = (0, import_query.usePlasmicQueryData)(
|
|
257
290
|
contentType ? `${cacheKey}/${contentType}/entriesData` : null,
|
|
258
291
|
async () => {
|
|
259
|
-
|
|
292
|
+
const path = `/spaces/${creds.space}/environments/${creds.environment}/entries`;
|
|
293
|
+
const searchParams = new URLSearchParams();
|
|
294
|
+
searchParams.set("access_token", creds.accessToken);
|
|
295
|
+
searchParams.set("content_type", contentType);
|
|
260
296
|
if (limit) {
|
|
261
|
-
|
|
297
|
+
searchParams.set("limit", limit.toString());
|
|
262
298
|
}
|
|
299
|
+
setOrderField(searchParams);
|
|
263
300
|
if (include) {
|
|
264
|
-
|
|
301
|
+
searchParams.set("include", include.toString());
|
|
265
302
|
}
|
|
266
|
-
const resp = await fetch(`${baseUrl}${
|
|
303
|
+
const resp = await fetch(`${baseUrl}${path}?${searchParams.toString()}`);
|
|
267
304
|
return resp.json();
|
|
268
305
|
}
|
|
269
306
|
);
|
|
270
307
|
const { data: filteredData } = (0, import_query.usePlasmicQueryData)(
|
|
271
308
|
contentType && filterField && filterValue ? `${cacheKey}/${contentType}/filteredData` : null,
|
|
272
309
|
async () => {
|
|
273
|
-
|
|
310
|
+
const path = `/spaces/${creds.space}/environments/${creds.environment}/entries`;
|
|
311
|
+
const searchParams = new URLSearchParams();
|
|
312
|
+
searchParams.set("access_token", creds.accessToken);
|
|
313
|
+
searchParams.set("content_type", contentType);
|
|
314
|
+
if (limit) {
|
|
315
|
+
searchParams.set("limit", limit.toString());
|
|
316
|
+
}
|
|
317
|
+
setOrderField(searchParams);
|
|
274
318
|
if (include) {
|
|
275
|
-
|
|
319
|
+
searchParams.set("include", include.toString());
|
|
320
|
+
}
|
|
321
|
+
if (filterField && searchParameter && filterValue) {
|
|
322
|
+
searchParams.set(
|
|
323
|
+
`fields.${filterField}${searchParameter}`,
|
|
324
|
+
filterValue.toString()
|
|
325
|
+
);
|
|
276
326
|
}
|
|
277
|
-
const resp = await fetch(`${baseUrl}${
|
|
327
|
+
const resp = await fetch(`${baseUrl}${path}?${searchParams.toString()}`);
|
|
278
328
|
return resp.json();
|
|
279
329
|
}
|
|
280
330
|
);
|
package/dist/index.mjs
CHANGED
|
@@ -132,7 +132,7 @@ var ContentfulFetcherMeta = {
|
|
|
132
132
|
var _a;
|
|
133
133
|
return (_a = ctx == null ? void 0 : ctx.fields) != null ? _a : [];
|
|
134
134
|
},
|
|
135
|
-
hidden: (props
|
|
135
|
+
hidden: (props) => !props.contentType
|
|
136
136
|
},
|
|
137
137
|
searchParameter: {
|
|
138
138
|
type: "choice",
|
|
@@ -142,13 +142,34 @@ var ContentfulFetcherMeta = {
|
|
|
142
142
|
var _a;
|
|
143
143
|
return (_a = ctx == null ? void 0 : ctx.queryOptions) != null ? _a : [];
|
|
144
144
|
},
|
|
145
|
-
hidden: (props
|
|
145
|
+
hidden: (props) => !props.filterField
|
|
146
146
|
},
|
|
147
147
|
filterValue: {
|
|
148
148
|
type: "string",
|
|
149
149
|
displayName: "Filter value",
|
|
150
150
|
description: "Value to filter by, should be of filter field type.",
|
|
151
|
-
hidden: (props
|
|
151
|
+
hidden: (props) => !props.searchParameter
|
|
152
|
+
},
|
|
153
|
+
order: {
|
|
154
|
+
type: "choice",
|
|
155
|
+
displayName: "Order",
|
|
156
|
+
description: "Field that the entries should be ordered by.",
|
|
157
|
+
options: (props, ctx) => {
|
|
158
|
+
var _a;
|
|
159
|
+
return [
|
|
160
|
+
...(_a = ctx == null ? void 0 : ctx.fields) != null ? _a : [],
|
|
161
|
+
"sys.createdAt",
|
|
162
|
+
"sys.updatedAt"
|
|
163
|
+
];
|
|
164
|
+
},
|
|
165
|
+
hidden: (props) => !props.contentType
|
|
166
|
+
},
|
|
167
|
+
reverseOrder: {
|
|
168
|
+
type: "boolean",
|
|
169
|
+
displayName: "Reverse order",
|
|
170
|
+
description: "Reverse the order of the entries.",
|
|
171
|
+
defaultValue: false,
|
|
172
|
+
hidden: (props) => !props.order
|
|
152
173
|
},
|
|
153
174
|
limit: {
|
|
154
175
|
type: "number",
|
|
@@ -185,6 +206,8 @@ function ContentfulFetcher({
|
|
|
185
206
|
contentType,
|
|
186
207
|
children,
|
|
187
208
|
className,
|
|
209
|
+
order,
|
|
210
|
+
reverseOrder,
|
|
188
211
|
limit,
|
|
189
212
|
include,
|
|
190
213
|
noLayout,
|
|
@@ -197,6 +220,8 @@ function ContentfulFetcher({
|
|
|
197
220
|
);
|
|
198
221
|
const cacheKey = JSON.stringify({
|
|
199
222
|
include,
|
|
223
|
+
order,
|
|
224
|
+
reverseOrder,
|
|
200
225
|
limit,
|
|
201
226
|
filterField,
|
|
202
227
|
filterValue,
|
|
@@ -216,28 +241,53 @@ function ContentfulFetcher({
|
|
|
216
241
|
setControlContextData == null ? void 0 : setControlContextData({
|
|
217
242
|
types: (_a = contentTypes == null ? void 0 : contentTypes.items) != null ? _a : []
|
|
218
243
|
});
|
|
244
|
+
function setOrderField(searchParams) {
|
|
245
|
+
if (order) {
|
|
246
|
+
searchParams.set(
|
|
247
|
+
"order",
|
|
248
|
+
`${reverseOrder ? "-" : ""}${order.startsWith("sys.") ? order : `fields.${order}`}`
|
|
249
|
+
);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
219
252
|
const { data: entriesData } = usePlasmicQueryData(
|
|
220
253
|
contentType ? `${cacheKey}/${contentType}/entriesData` : null,
|
|
221
254
|
async () => {
|
|
222
|
-
|
|
255
|
+
const path = `/spaces/${creds.space}/environments/${creds.environment}/entries`;
|
|
256
|
+
const searchParams = new URLSearchParams();
|
|
257
|
+
searchParams.set("access_token", creds.accessToken);
|
|
258
|
+
searchParams.set("content_type", contentType);
|
|
223
259
|
if (limit) {
|
|
224
|
-
|
|
260
|
+
searchParams.set("limit", limit.toString());
|
|
225
261
|
}
|
|
262
|
+
setOrderField(searchParams);
|
|
226
263
|
if (include) {
|
|
227
|
-
|
|
264
|
+
searchParams.set("include", include.toString());
|
|
228
265
|
}
|
|
229
|
-
const resp = await fetch(`${baseUrl}${
|
|
266
|
+
const resp = await fetch(`${baseUrl}${path}?${searchParams.toString()}`);
|
|
230
267
|
return resp.json();
|
|
231
268
|
}
|
|
232
269
|
);
|
|
233
270
|
const { data: filteredData } = usePlasmicQueryData(
|
|
234
271
|
contentType && filterField && filterValue ? `${cacheKey}/${contentType}/filteredData` : null,
|
|
235
272
|
async () => {
|
|
236
|
-
|
|
273
|
+
const path = `/spaces/${creds.space}/environments/${creds.environment}/entries`;
|
|
274
|
+
const searchParams = new URLSearchParams();
|
|
275
|
+
searchParams.set("access_token", creds.accessToken);
|
|
276
|
+
searchParams.set("content_type", contentType);
|
|
277
|
+
if (limit) {
|
|
278
|
+
searchParams.set("limit", limit.toString());
|
|
279
|
+
}
|
|
280
|
+
setOrderField(searchParams);
|
|
237
281
|
if (include) {
|
|
238
|
-
|
|
282
|
+
searchParams.set("include", include.toString());
|
|
283
|
+
}
|
|
284
|
+
if (filterField && searchParameter && filterValue) {
|
|
285
|
+
searchParams.set(
|
|
286
|
+
`fields.${filterField}${searchParameter}`,
|
|
287
|
+
filterValue.toString()
|
|
288
|
+
);
|
|
239
289
|
}
|
|
240
|
-
const resp = await fetch(`${baseUrl}${
|
|
290
|
+
const resp = await fetch(`${baseUrl}${path}?${searchParams.toString()}`);
|
|
241
291
|
return resp.json();
|
|
242
292
|
}
|
|
243
293
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-contentful",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.150",
|
|
4
4
|
"description": "Plasmic Contentful components.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
],
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@plasmicapp/host": "1.0.
|
|
35
|
+
"@plasmicapp/host": "1.0.208",
|
|
36
36
|
"@plasmicapp/query": "0.1.79",
|
|
37
37
|
"@size-limit/preset-small-lib": "^7.0.8",
|
|
38
38
|
"@types/dlv": "^1.1.2",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"change-case": "^4.1.2",
|
|
53
53
|
"dlv": "^1.1.3"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "879304149b902b453a47fe674997fcad01ae4af8"
|
|
56
56
|
}
|