@plasmicpkgs/plasmic-wordpress 0.0.150 → 0.0.151
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.ts +16 -6
- package/dist/index.esm.js +88 -11
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +93 -9
- package/dist/index.js.map +4 -4
- package/package.json +2 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { ComponentMeta } from '@plasmicapp/host';
|
|
2
2
|
import { GlobalContextMeta } from '@plasmicapp/host';
|
|
3
|
-
import type { _QueryOperator } from '@plasmicpkgs/wordpress';
|
|
4
|
-
import { queryWordpress } from '@plasmicpkgs/wordpress';
|
|
5
3
|
import { default as React_2 } from 'react';
|
|
6
4
|
import { ReactNode } from 'react';
|
|
7
|
-
import { registerWordpress as registerAllCustomFunctions } from '@plasmicpkgs/wordpress';
|
|
8
5
|
import registerComponent from '@plasmicapp/host/registerComponent';
|
|
9
6
|
import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
|
|
10
7
|
|
|
11
|
-
|
|
8
|
+
declare type QueryOperator = (typeof queryOperators)[number]["value"];
|
|
9
|
+
|
|
10
|
+
declare const queryOperators: readonly [{
|
|
11
|
+
readonly value: "search";
|
|
12
|
+
readonly label: "Search";
|
|
13
|
+
}, {
|
|
14
|
+
readonly value: "slug";
|
|
15
|
+
readonly label: "Filter by Slug";
|
|
16
|
+
}, {
|
|
17
|
+
readonly value: "author";
|
|
18
|
+
readonly label: "Filter by author";
|
|
19
|
+
}];
|
|
12
20
|
|
|
13
21
|
export declare function registerAll(loader?: {
|
|
14
22
|
registerComponent: typeof registerComponent;
|
|
15
23
|
registerGlobalContext: typeof registerGlobalContext;
|
|
16
24
|
}): void;
|
|
17
25
|
|
|
18
|
-
export
|
|
26
|
+
export declare function registerWordpress(loader?: {
|
|
27
|
+
registerFunction: any;
|
|
28
|
+
}): void;
|
|
19
29
|
|
|
20
30
|
export declare function WordpressFetcher({ queryOperator, filterValue, noAutoRepeat, limit, queryType, children, className, noLayout, }: WordpressFetcherProps): React_2.JSX.Element;
|
|
21
31
|
|
|
@@ -28,7 +38,7 @@ declare interface WordpressFetcherProps {
|
|
|
28
38
|
queryType?: "posts" | "pages";
|
|
29
39
|
noAutoRepeat?: boolean;
|
|
30
40
|
limit?: number;
|
|
31
|
-
queryOperator?:
|
|
41
|
+
queryOperator?: QueryOperator;
|
|
32
42
|
filterValue?: string;
|
|
33
43
|
setControlContextData?: (data: {
|
|
34
44
|
posts?: {
|
package/dist/index.esm.js
CHANGED
|
@@ -21,8 +21,85 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21
21
|
|
|
22
22
|
// src/index.tsx
|
|
23
23
|
import registerComponent from "@plasmicapp/host/registerComponent";
|
|
24
|
+
import registerFunction2 from "@plasmicapp/host/registerFunction";
|
|
24
25
|
import registerGlobalContext from "@plasmicapp/host/registerGlobalContext";
|
|
25
26
|
|
|
27
|
+
// src/query-wordpress.ts
|
|
28
|
+
import registerFunction from "@plasmicapp/host/registerFunction";
|
|
29
|
+
|
|
30
|
+
// src/utils.ts
|
|
31
|
+
var queryOperators = [
|
|
32
|
+
{
|
|
33
|
+
value: "search",
|
|
34
|
+
label: "Search"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
value: "slug",
|
|
38
|
+
label: "Filter by Slug"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
value: "author",
|
|
42
|
+
label: "Filter by author"
|
|
43
|
+
}
|
|
44
|
+
];
|
|
45
|
+
function ensure(x, message) {
|
|
46
|
+
if (x === null || x === void 0) {
|
|
47
|
+
debugger;
|
|
48
|
+
throw new Error(message != null ? message : `Value must not be undefined or null`);
|
|
49
|
+
} else {
|
|
50
|
+
return x;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// src/query-wordpress.ts
|
|
55
|
+
function queryWordpress(wordpressUrl, type, queryOperator, filterValue, limit) {
|
|
56
|
+
return __async(this, null, function* () {
|
|
57
|
+
const urlParams = new URLSearchParams();
|
|
58
|
+
if (queryOperator && filterValue) {
|
|
59
|
+
urlParams.append(queryOperator, filterValue);
|
|
60
|
+
}
|
|
61
|
+
if (limit) {
|
|
62
|
+
urlParams.append("per_page", limit.toString());
|
|
63
|
+
}
|
|
64
|
+
const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);
|
|
65
|
+
url.search = urlParams.toString();
|
|
66
|
+
const resp = yield fetch(url);
|
|
67
|
+
return yield resp.json();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
var queryWordpressMeta = {
|
|
71
|
+
name: "queryWordpress",
|
|
72
|
+
displayName: "Query WordPress",
|
|
73
|
+
importPath: "@plasmicpkgs/plasmic-wordpress",
|
|
74
|
+
params: [
|
|
75
|
+
{
|
|
76
|
+
name: "wordpressUrl",
|
|
77
|
+
type: "string"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "queryType",
|
|
81
|
+
type: "choice",
|
|
82
|
+
options: ["pages", "posts"]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "queryOperator",
|
|
86
|
+
type: "choice",
|
|
87
|
+
options: Object.values(queryOperators).map((item) => ({
|
|
88
|
+
label: item.label,
|
|
89
|
+
value: item.value
|
|
90
|
+
}))
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "filterValue",
|
|
94
|
+
type: "string"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "limit",
|
|
98
|
+
type: "number"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
};
|
|
102
|
+
|
|
26
103
|
// src/wordpress.tsx
|
|
27
104
|
import {
|
|
28
105
|
DataProvider,
|
|
@@ -30,11 +107,6 @@ import {
|
|
|
30
107
|
useSelector
|
|
31
108
|
} from "@plasmicapp/host";
|
|
32
109
|
import { usePlasmicQueryData } from "@plasmicapp/query";
|
|
33
|
-
import {
|
|
34
|
-
_ensure as ensure,
|
|
35
|
-
_queryOperators as queryOperators,
|
|
36
|
-
queryWordpress
|
|
37
|
-
} from "@plasmicpkgs/wordpress";
|
|
38
110
|
import get from "dlv";
|
|
39
111
|
import React, { useContext } from "react";
|
|
40
112
|
var modulePath = "@plasmicpkgs/plasmic-wordpress";
|
|
@@ -231,10 +303,16 @@ function WordpressField({ className, field }) {
|
|
|
231
303
|
}
|
|
232
304
|
|
|
233
305
|
// src/index.tsx
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
306
|
+
function registerWordpress(loader) {
|
|
307
|
+
function _registerFunction(fn, meta) {
|
|
308
|
+
if (loader) {
|
|
309
|
+
loader.registerFunction(fn, meta);
|
|
310
|
+
} else {
|
|
311
|
+
registerFunction2(fn, meta);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
_registerFunction(queryWordpress, queryWordpressMeta);
|
|
315
|
+
}
|
|
238
316
|
function registerAll(loader) {
|
|
239
317
|
const _registerComponent = (Component, defaultMeta) => {
|
|
240
318
|
if (loader) {
|
|
@@ -258,8 +336,7 @@ export {
|
|
|
258
336
|
WordpressFieldMeta,
|
|
259
337
|
WordpressProvider,
|
|
260
338
|
WordpressProviderMeta,
|
|
261
|
-
queryWordpress2 as queryWordpress,
|
|
262
339
|
registerAll,
|
|
263
|
-
registerWordpress
|
|
340
|
+
registerWordpress
|
|
264
341
|
};
|
|
265
342
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.tsx", "../src/wordpress.tsx"],
|
|
4
|
-
"sourcesContent": ["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\n\n// Re-export from @plasmicpkgs/wordpress for backwards compatibility\nexport {\n queryWordpress,\n registerWordpress as registerAllCustomFunctions,\n} from \"@plasmicpkgs/wordpress\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n", "import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport type { _QueryOperator as QueryOperator } from \"@plasmicpkgs/wordpress\";\nimport {\n _ensure as ensure,\n _queryOperators as queryOperators,\n queryWordpress,\n} from \"@plasmicpkgs/wordpress\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress\";\n\ninterface WordpressProviderProps {\n wordpressUrl?: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> =\n {\n name: \"WordpressProvider\",\n displayName: \"Wordpress Provider\",\n description: \"The endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n wordpressUrl: {\n type: \"string\",\n displayName: \"Wordpress URL\",\n description: \"URL of your Wordpress \",\n defaultValue: \"https://techcrunch.com/\",\n },\n },\n };\n\nexport function WordpressProvider({\n wordpressUrl,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ wordpressUrl }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n queryType?: \"posts\" | \"pages\";\n noAutoRepeat?: boolean;\n limit?: number;\n queryOperator?: QueryOperator;\n filterValue?: string;\n setControlContextData?: (data: {\n posts?: { value: string; label: string }[];\n pages?: { value: string; label: string }[];\n }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridRowGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"WordpressField\",\n },\n },\n },\n queryType: {\n type: \"choice\",\n options: [\"posts\", \"pages\"],\n },\n queryOperator: {\n type: \"choice\",\n displayName: \"Query Operator\",\n description: \"Filter Parameter filter by\",\n options: () => {\n return queryOperators.map((item: any) => ({\n label: item?.label,\n value: item?.value,\n }));\n },\n hidden: (props) => !props.queryType,\n },\n\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter\",\n hidden: (props) => !props.queryOperator,\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Limit\",\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description:\n \"Do not automatically repeat children for every posts or pages.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, Wordpress Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nexport function WordpressFetcher({\n queryOperator,\n filterValue,\n noAutoRepeat,\n limit,\n queryType,\n children,\n className,\n noLayout,\n}: WordpressFetcherProps) {\n const { wordpressUrl } = ensure(\n useContext(CredentialsContext),\n \"WordpressFetcher must be used within a WordpressProvider\"\n );\n const cacheKey = JSON.stringify({\n queryOperator,\n filterValue,\n limit,\n queryType,\n wordpressUrl,\n });\n\n const { data } = usePlasmicQueryData<any | null>(\n queryType && wordpressUrl ? cacheKey : null,\n async () => {\n return queryWordpress(\n ensure(wordpressUrl, \"Wordpress URL must be specified\"),\n ensure(queryType, \"Query Type must be specified\"),\n queryOperator,\n filterValue,\n limit\n );\n }\n );\n\n const hasFilter = queryOperator && filterValue;\n\n if (!queryType) {\n return <div>Please specify query type</div>;\n }\n\n if (queryOperator && !filterValue) {\n return <div>Please specify Filter Value</div>;\n }\n if (!queryOperator && filterValue) {\n return <div>Please specify Query Operator</div>;\n }\n if (hasFilter && data?.length === 0) {\n return <div>No published {queryType} found</div>;\n }\n\n const currentName = `currentWordpress${\n queryType === \"posts\" ? \"Post\" : \"Page\"\n }`;\n const renderedData = noAutoRepeat\n ? children\n : data?.map((item: any, i: number) => (\n <DataProvider key={item.id} name={currentName} data={item}>\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n\n const response = data;\n return (\n <DataProvider data={response} name=\"wordpressItems\">\n {noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n )}\n </DataProvider>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n field?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\n importPath: modulePath,\n props: {\n field: {\n type: \"choice\",\n options: [\n \"title\",\n \"slug\",\n \"content\",\n \"excerpt\",\n \"date\",\n \"modified\",\n \"link\",\n \"status\",\n ],\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n },\n};\nexport function WordpressField({ className, field }: WordpressFieldProps) {\n const currentPost = useSelector(\"currentWordpressPost\");\n const currentPage = useSelector(\"currentWordpressPage\");\n\n const item = currentPost || currentPage;\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n if (!field) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n const data = get(item, field as string);\n\n if (typeof data === \"object\" && \"rendered\" in data) {\n return (\n <div\n className={className}\n style={{ whiteSpace: \"normal\" }}\n dangerouslySetInnerHTML={{ __html: data.rendered }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}> {data} </div>;\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,uBAEA;AACP,OAAO,2BAA2B;;;
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../src/index.tsx", "../src/query-wordpress.ts", "../src/utils.ts", "../src/wordpress.tsx"],
|
|
4
|
+
"sourcesContent": ["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerFunction, {\n CustomFunctionMeta,\n} from \"@plasmicapp/host/registerFunction\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { queryWordpress, queryWordpressMeta } from \"./query-wordpress\";\nimport {\n WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\n\nexport function registerWordpress(loader?: { registerFunction: any }) {\n function _registerFunction<T extends (...args: any[]) => any>(\n fn: T,\n meta: CustomFunctionMeta<T>\n ) {\n if (loader) {\n loader.registerFunction(fn, meta);\n } else {\n registerFunction(fn, meta);\n }\n }\n\n _registerFunction(queryWordpress, queryWordpressMeta);\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n", "import registerFunction, {\n CustomFunctionMeta,\n} from \"@plasmicapp/host/registerFunction\";\n\nimport { QueryOperator, queryOperators } from \"./utils\";\n\nexport async function queryWordpress(\n wordpressUrl: string,\n type: \"pages\" | \"posts\",\n queryOperator?: QueryOperator,\n filterValue?: string,\n limit?: number\n): Promise<any> {\n const urlParams = new URLSearchParams();\n if (queryOperator && filterValue) {\n urlParams.append(queryOperator, filterValue);\n }\n if (limit) {\n urlParams.append(\"per_page\", limit.toString());\n }\n const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);\n url.search = urlParams.toString();\n\n const resp = await fetch(url);\n return await resp.json();\n}\n\nexport const queryWordpressMeta: CustomFunctionMeta<typeof queryWordpress> = {\n name: \"queryWordpress\",\n displayName: \"Query WordPress\",\n importPath: \"@plasmicpkgs/plasmic-wordpress\",\n params: [\n {\n name: \"wordpressUrl\",\n type: \"string\",\n },\n {\n name: \"queryType\",\n type: \"choice\",\n options: [\"pages\", \"posts\"],\n },\n {\n name: \"queryOperator\",\n type: \"choice\",\n options: Object.values(queryOperators).map((item) => ({\n label: item.label,\n value: item.value,\n })),\n },\n {\n name: \"filterValue\",\n type: \"string\",\n },\n {\n name: \"limit\",\n type: \"number\",\n },\n ],\n};\n\nexport function registerAllCustomFunctions(loader?: { registerFunction: any }) {\n function _registerFunction<T extends (...args: any[]) => any>(\n fn: T,\n meta: CustomFunctionMeta<T>\n ) {\n if (loader) {\n loader.registerFunction(fn, meta);\n } else {\n registerFunction(fn, meta);\n }\n }\n\n _registerFunction(queryWordpress, queryWordpressMeta);\n}\n", "export const queryOperators = [\n {\n value: \"search\",\n label: \"Search\",\n },\n {\n value: \"slug\",\n label: \"Filter by Slug\",\n },\n {\n value: \"author\",\n label: \"Filter by author\",\n },\n] as const;\n\nexport type QueryOperator = (typeof queryOperators)[number][\"value\"];\n\nexport function ensure<T>(x: T | null | undefined, message?: string): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(message ?? `Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n", "import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\nimport { queryWordpress } from \"./query-wordpress\";\nimport { ensure, queryOperators, type QueryOperator } from \"./utils\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress\";\n\ninterface WordpressProviderProps {\n wordpressUrl?: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> =\n {\n name: \"WordpressProvider\",\n displayName: \"Wordpress Provider\",\n description: \"The endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n wordpressUrl: {\n type: \"string\",\n displayName: \"Wordpress URL\",\n description: \"URL of your Wordpress \",\n defaultValue: \"https://techcrunch.com/\",\n },\n },\n };\n\nexport function WordpressProvider({\n wordpressUrl,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ wordpressUrl }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n queryType?: \"posts\" | \"pages\";\n noAutoRepeat?: boolean;\n limit?: number;\n queryOperator?: QueryOperator;\n filterValue?: string;\n setControlContextData?: (data: {\n posts?: { value: string; label: string }[];\n pages?: { value: string; label: string }[];\n }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridRowGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"WordpressField\",\n },\n },\n },\n queryType: {\n type: \"choice\",\n options: [\"posts\", \"pages\"],\n },\n queryOperator: {\n type: \"choice\",\n displayName: \"Query Operator\",\n description: \"Filter Parameter filter by\",\n options: () => {\n return queryOperators.map((item: any) => ({\n label: item?.label,\n value: item?.value,\n }));\n },\n hidden: (props) => !props.queryType,\n },\n\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter\",\n hidden: (props) => !props.queryOperator,\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Limit\",\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description:\n \"Do not automatically repeat children for every posts or pages.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, Wordpress Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nexport function WordpressFetcher({\n queryOperator,\n filterValue,\n noAutoRepeat,\n limit,\n queryType,\n children,\n className,\n noLayout,\n}: WordpressFetcherProps) {\n const { wordpressUrl } = ensure(\n useContext(CredentialsContext),\n \"WordpressFetcher must be used within a WordpressProvider\"\n );\n const cacheKey = JSON.stringify({\n queryOperator,\n filterValue,\n limit,\n queryType,\n wordpressUrl,\n });\n\n const { data } = usePlasmicQueryData<any | null>(\n queryType && wordpressUrl ? cacheKey : null,\n async () => {\n return queryWordpress(\n ensure(wordpressUrl, \"Wordpress URL must be specified\"),\n ensure(queryType, \"Query Type must be specified\"),\n queryOperator,\n filterValue,\n limit\n );\n }\n );\n\n const hasFilter = queryOperator && filterValue;\n\n if (!queryType) {\n return <div>Please specify query type</div>;\n }\n\n if (queryOperator && !filterValue) {\n return <div>Please specify Filter Value</div>;\n }\n if (!queryOperator && filterValue) {\n return <div>Please specify Query Operator</div>;\n }\n if (hasFilter && data?.length === 0) {\n return <div>No published {queryType} found</div>;\n }\n\n const currentName = `currentWordpress${\n queryType === \"posts\" ? \"Post\" : \"Page\"\n }`;\n const renderedData = noAutoRepeat\n ? children\n : data?.map((item: any, i: number) => (\n <DataProvider key={item.id} name={currentName} data={item}>\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n\n const response = data;\n return (\n <DataProvider data={response} name=\"wordpressItems\">\n {noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n )}\n </DataProvider>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n field?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\n importPath: modulePath,\n props: {\n field: {\n type: \"choice\",\n options: [\n \"title\",\n \"slug\",\n \"content\",\n \"excerpt\",\n \"date\",\n \"modified\",\n \"link\",\n \"status\",\n ],\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n },\n};\nexport function WordpressField({ className, field }: WordpressFieldProps) {\n const currentPost = useSelector(\"currentWordpressPost\");\n const currentPage = useSelector(\"currentWordpressPage\");\n\n const item = currentPost || currentPage;\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n if (!field) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n const data = get(item, field as string);\n\n if (typeof data === \"object\" && \"rendered\" in data) {\n return (\n <div\n className={className}\n style={{ whiteSpace: \"normal\" }}\n dangerouslySetInnerHTML={{ __html: data.rendered }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}> {data} </div>;\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,uBAEA;AACP,OAAOA,uBAEA;AACP,OAAO,2BAA2B;;;ACNlC,OAAO,sBAEA;;;ACFA,IAAM,iBAAiB;AAAA,EAC5B;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAIO,SAAS,OAAU,GAAyB,SAAqB;AACtE,MAAI,MAAM,QAAQ,MAAM,QAAW;AACjC;AACA,UAAM,IAAI,MAAM,4BAAW,qCAAqC;AAAA,EAClE,OAAO;AACL,WAAO;AAAA,EACT;AACF;;;ADlBA,SAAsB,eACpB,cACA,MACA,eACA,aACA,OACc;AAAA;AACd,UAAM,YAAY,IAAI,gBAAgB;AACtC,QAAI,iBAAiB,aAAa;AAChC,gBAAU,OAAO,eAAe,WAAW;AAAA,IAC7C;AACA,QAAI,OAAO;AACT,gBAAU,OAAO,YAAY,MAAM,SAAS,CAAC;AAAA,IAC/C;AACA,UAAM,MAAM,IAAI,IAAI,iBAAiB,QAAQ,YAAY;AACzD,QAAI,SAAS,UAAU,SAAS;AAEhC,UAAM,OAAO,MAAM,MAAM,GAAG;AAC5B,WAAO,MAAM,KAAK,KAAK;AAAA,EACzB;AAAA;AAEO,IAAM,qBAAgE;AAAA,EAC3E,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS,CAAC,SAAS,OAAO;AAAA,IAC5B;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS,OAAO,OAAO,cAAc,EAAE,IAAI,CAAC,UAAU;AAAA,QACpD,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,MACd,EAAE;AAAA,IACJ;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AACF;;;AE1DA;AAAA,EAEE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,SAAS,2BAA2B;AACpC,OAAO,SAAS;AAChB,OAAO,SAAoB,kBAAkB;AAI7C,IAAM,aAAa;AAMnB,IAAM,qBAAqB,MAAM,cAE/B,MAAS;AAEJ,IAAM,wBACX;AAAA,EACE,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,EACF;AACF;AAEK,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAoD;AAClD,SACE,oCAAC,mBAAmB,UAAnB,EAA4B,OAAO,EAAE,aAAa,KAChD,QACH;AAEJ;AAiBO,IAAM,uBAA6D;AAAA,EACxE,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,aACE;AAAA,EACF,eAAe;AAAA,IACb,SAAS;AAAA,IACT,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,SAAS;AAAA,QACX;AAAA,QACA,UAAU;AAAA,UACR,MAAM;AAAA,UACN,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,CAAC,SAAS,OAAO;AAAA,IAC5B;AAAA,IACA,eAAe;AAAA,MACb,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aAAa;AAAA,MACb,SAAS,MAAM;AACb,eAAO,eAAe,IAAI,CAAC,UAAe;AAAA,UACxC,OAAO,6BAAM;AAAA,UACb,OAAO,6BAAM;AAAA,QACf,EAAE;AAAA,MACJ;AAAA,MACA,QAAQ,CAAC,UAAU,CAAC,MAAM;AAAA,IAC5B;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aAAa;AAAA,MACb,QAAQ,CAAC,UAAU,CAAC,MAAM;AAAA,IAC5B;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aACE;AAAA,MACF,cAAc;AAAA,IAChB;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aACE;AAAA,MACF,cAAc;AAAA,IAChB;AAAA,EACF;AACF;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0B;AACxB,QAAM,EAAE,aAAa,IAAI;AAAA,IACvB,WAAW,kBAAkB;AAAA,IAC7B;AAAA,EACF;AACA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,EAAE,KAAK,IAAI;AAAA,IACf,aAAa,eAAe,WAAW;AAAA,IACvC,MAAY;AACV,aAAO;AAAA,QACL,OAAO,cAAc,iCAAiC;AAAA,QACtD,OAAO,WAAW,8BAA8B;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,YAAY,iBAAiB;AAEnC,MAAI,CAAC,WAAW;AACd,WAAO,oCAAC,aAAI,2BAAyB;AAAA,EACvC;AAEA,MAAI,iBAAiB,CAAC,aAAa;AACjC,WAAO,oCAAC,aAAI,6BAA2B;AAAA,EACzC;AACA,MAAI,CAAC,iBAAiB,aAAa;AACjC,WAAO,oCAAC,aAAI,+BAA6B;AAAA,EAC3C;AACA,MAAI,cAAa,6BAAM,YAAW,GAAG;AACnC,WAAO,oCAAC,aAAI,iBAAc,WAAU,QAAM;AAAA,EAC5C;AAEA,QAAM,cAAc,mBAClB,cAAc,UAAU,SAAS;AAEnC,QAAM,eAAe,eACjB,WACA,6BAAM,IAAI,CAAC,MAAW,MACpB,oCAAC,gBAAa,KAAK,KAAK,IAAI,MAAM,aAAa,MAAM,QAClD,gBAAgB,GAAG,QAAQ,CAC9B;AAGN,QAAM,WAAW;AACjB,SACE,oCAAC,gBAAa,MAAM,UAAU,MAAK,oBAChC,WACC,0DAAE,KAAE,cAAa,GAAC,IAElB,oCAAC,SAAI,aAAsB,KAAE,cAAa,GAAC,CAE/C;AAEJ;AAOO,IAAM,qBAAyD;AAAA,EACpE,MAAM;AAAA,EACN,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,IACf;AAAA,EACF;AACF;AACO,SAAS,eAAe,EAAE,WAAW,MAAM,GAAwB;AACxE,QAAM,cAAc,YAAY,sBAAsB;AACtD,QAAM,cAAc,YAAY,sBAAsB;AAEtD,QAAM,OAAO,eAAe;AAE5B,MAAI,CAAC,MAAM;AACT,WAAO,oCAAC,aAAI,wDAAsD;AAAA,EACpE;AAEA,MAAI,CAAC,OAAO;AACV,WAAO,oCAAC,aAAI,gDAA8C;AAAA,EAC5D;AAEA,QAAM,OAAO,IAAI,MAAM,KAAe;AAEtC,MAAI,OAAO,SAAS,YAAY,cAAc,MAAM;AAClD,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,EAAE,YAAY,SAAS;AAAA,QAC9B,yBAAyB,EAAE,QAAQ,KAAK,SAAS;AAAA;AAAA,IACnD;AAAA,EAEJ,WAAW,CAAC,QAAQ,OAAO,SAAS,UAAU;AAC5C,WAAO,oCAAC,SAAI,aAAsB,+BAA6B;AAAA,EACjE,OAAO;AACL,WAAO,oCAAC,SAAI,aAAsB,KAAE,MAAK,GAAC;AAAA,EAC5C;AACF;;;AH9PO,SAAS,kBAAkB,QAAoC;AACpE,WAAS,kBACP,IACA,MACA;AACA,QAAI,QAAQ;AACV,aAAO,iBAAiB,IAAI,IAAI;AAAA,IAClC,OAAO;AACL,MAAAC,kBAAiB,IAAI,IAAI;AAAA,IAC3B;AAAA,EACF;AAEA,oBAAkB,gBAAgB,kBAAkB;AACtD;AAEO,SAAS,YAAY,QAGzB;AACD,QAAM,qBAAqB,CACzB,WACA,gBACG;AACH,QAAI,QAAQ;AACV,aAAO,kBAAkB,WAAW,WAAW;AAAA,IACjD,OAAO;AACL,wBAAkB,WAAW,WAAW;AAAA,IAC1C;AAAA,EACF;AAEA,MAAI,QAAQ;AACV,WAAO,sBAAsB,mBAAmB,qBAAqB;AAAA,EACvE,OAAO;AACL,0BAAsB,mBAAmB,qBAAqB;AAAA,EAChE;AAEA,qBAAmB,kBAAkB,oBAAoB;AACzD,qBAAmB,gBAAgB,kBAAkB;AACvD;",
|
|
6
|
+
"names": ["registerFunction", "registerFunction"]
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -56,18 +56,93 @@ __export(src_exports, {
|
|
|
56
56
|
WordpressFieldMeta: () => WordpressFieldMeta,
|
|
57
57
|
WordpressProvider: () => WordpressProvider,
|
|
58
58
|
WordpressProviderMeta: () => WordpressProviderMeta,
|
|
59
|
-
queryWordpress: () => import_wordpress3.queryWordpress,
|
|
60
59
|
registerAll: () => registerAll,
|
|
61
|
-
|
|
60
|
+
registerWordpress: () => registerWordpress
|
|
62
61
|
});
|
|
63
62
|
module.exports = __toCommonJS(src_exports);
|
|
64
63
|
var import_registerComponent = __toESM(require("@plasmicapp/host/registerComponent"));
|
|
64
|
+
var import_registerFunction2 = __toESM(require("@plasmicapp/host/registerFunction"));
|
|
65
65
|
var import_registerGlobalContext = __toESM(require("@plasmicapp/host/registerGlobalContext"));
|
|
66
66
|
|
|
67
|
+
// src/query-wordpress.ts
|
|
68
|
+
var import_registerFunction = __toESM(require("@plasmicapp/host/registerFunction"));
|
|
69
|
+
|
|
70
|
+
// src/utils.ts
|
|
71
|
+
var queryOperators = [
|
|
72
|
+
{
|
|
73
|
+
value: "search",
|
|
74
|
+
label: "Search"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
value: "slug",
|
|
78
|
+
label: "Filter by Slug"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
value: "author",
|
|
82
|
+
label: "Filter by author"
|
|
83
|
+
}
|
|
84
|
+
];
|
|
85
|
+
function ensure(x, message) {
|
|
86
|
+
if (x === null || x === void 0) {
|
|
87
|
+
debugger;
|
|
88
|
+
throw new Error(message != null ? message : `Value must not be undefined or null`);
|
|
89
|
+
} else {
|
|
90
|
+
return x;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// src/query-wordpress.ts
|
|
95
|
+
function queryWordpress(wordpressUrl, type, queryOperator, filterValue, limit) {
|
|
96
|
+
return __async(this, null, function* () {
|
|
97
|
+
const urlParams = new URLSearchParams();
|
|
98
|
+
if (queryOperator && filterValue) {
|
|
99
|
+
urlParams.append(queryOperator, filterValue);
|
|
100
|
+
}
|
|
101
|
+
if (limit) {
|
|
102
|
+
urlParams.append("per_page", limit.toString());
|
|
103
|
+
}
|
|
104
|
+
const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);
|
|
105
|
+
url.search = urlParams.toString();
|
|
106
|
+
const resp = yield fetch(url);
|
|
107
|
+
return yield resp.json();
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
var queryWordpressMeta = {
|
|
111
|
+
name: "queryWordpress",
|
|
112
|
+
displayName: "Query WordPress",
|
|
113
|
+
importPath: "@plasmicpkgs/plasmic-wordpress",
|
|
114
|
+
params: [
|
|
115
|
+
{
|
|
116
|
+
name: "wordpressUrl",
|
|
117
|
+
type: "string"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
name: "queryType",
|
|
121
|
+
type: "choice",
|
|
122
|
+
options: ["pages", "posts"]
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "queryOperator",
|
|
126
|
+
type: "choice",
|
|
127
|
+
options: Object.values(queryOperators).map((item) => ({
|
|
128
|
+
label: item.label,
|
|
129
|
+
value: item.value
|
|
130
|
+
}))
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "filterValue",
|
|
134
|
+
type: "string"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: "limit",
|
|
138
|
+
type: "number"
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
};
|
|
142
|
+
|
|
67
143
|
// src/wordpress.tsx
|
|
68
144
|
var import_host = require("@plasmicapp/host");
|
|
69
145
|
var import_query = require("@plasmicapp/query");
|
|
70
|
-
var import_wordpress = require("@plasmicpkgs/wordpress");
|
|
71
146
|
var import_dlv = __toESM(require("dlv"));
|
|
72
147
|
var import_react = __toESM(require("react"));
|
|
73
148
|
var modulePath = "@plasmicpkgs/plasmic-wordpress";
|
|
@@ -130,7 +205,7 @@ var WordpressFetcherMeta = {
|
|
|
130
205
|
displayName: "Query Operator",
|
|
131
206
|
description: "Filter Parameter filter by",
|
|
132
207
|
options: () => {
|
|
133
|
-
return
|
|
208
|
+
return queryOperators.map((item) => ({
|
|
134
209
|
label: item == null ? void 0 : item.label,
|
|
135
210
|
value: item == null ? void 0 : item.value
|
|
136
211
|
}));
|
|
@@ -172,7 +247,7 @@ function WordpressFetcher({
|
|
|
172
247
|
className,
|
|
173
248
|
noLayout
|
|
174
249
|
}) {
|
|
175
|
-
const { wordpressUrl } = (
|
|
250
|
+
const { wordpressUrl } = ensure(
|
|
176
251
|
(0, import_react.useContext)(CredentialsContext),
|
|
177
252
|
"WordpressFetcher must be used within a WordpressProvider"
|
|
178
253
|
);
|
|
@@ -186,9 +261,9 @@ function WordpressFetcher({
|
|
|
186
261
|
const { data } = (0, import_query.usePlasmicQueryData)(
|
|
187
262
|
queryType && wordpressUrl ? cacheKey : null,
|
|
188
263
|
() => __async(this, null, function* () {
|
|
189
|
-
return
|
|
190
|
-
(
|
|
191
|
-
(
|
|
264
|
+
return queryWordpress(
|
|
265
|
+
ensure(wordpressUrl, "Wordpress URL must be specified"),
|
|
266
|
+
ensure(queryType, "Query Type must be specified"),
|
|
192
267
|
queryOperator,
|
|
193
268
|
filterValue,
|
|
194
269
|
limit
|
|
@@ -264,7 +339,16 @@ function WordpressField({ className, field }) {
|
|
|
264
339
|
}
|
|
265
340
|
|
|
266
341
|
// src/index.tsx
|
|
267
|
-
|
|
342
|
+
function registerWordpress(loader) {
|
|
343
|
+
function _registerFunction(fn, meta) {
|
|
344
|
+
if (loader) {
|
|
345
|
+
loader.registerFunction(fn, meta);
|
|
346
|
+
} else {
|
|
347
|
+
(0, import_registerFunction2.default)(fn, meta);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
_registerFunction(queryWordpress, queryWordpressMeta);
|
|
351
|
+
}
|
|
268
352
|
function registerAll(loader) {
|
|
269
353
|
const _registerComponent = (Component, defaultMeta) => {
|
|
270
354
|
if (loader) {
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/index.tsx", "../src/wordpress.tsx"],
|
|
4
|
-
"sourcesContent": ["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport {\n WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\n\n// Re-export from @plasmicpkgs/wordpress for backwards compatibility\nexport {\n queryWordpress,\n registerWordpress as registerAllCustomFunctions,\n} from \"@plasmicpkgs/wordpress\";\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n", "import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport type { _QueryOperator as QueryOperator } from \"@plasmicpkgs/wordpress\";\nimport {\n _ensure as ensure,\n _queryOperators as queryOperators,\n queryWordpress,\n} from \"@plasmicpkgs/wordpress\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress\";\n\ninterface WordpressProviderProps {\n wordpressUrl?: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> =\n {\n name: \"WordpressProvider\",\n displayName: \"Wordpress Provider\",\n description: \"The endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n wordpressUrl: {\n type: \"string\",\n displayName: \"Wordpress URL\",\n description: \"URL of your Wordpress \",\n defaultValue: \"https://techcrunch.com/\",\n },\n },\n };\n\nexport function WordpressProvider({\n wordpressUrl,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ wordpressUrl }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n queryType?: \"posts\" | \"pages\";\n noAutoRepeat?: boolean;\n limit?: number;\n queryOperator?: QueryOperator;\n filterValue?: string;\n setControlContextData?: (data: {\n posts?: { value: string; label: string }[];\n pages?: { value: string; label: string }[];\n }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridRowGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"WordpressField\",\n },\n },\n },\n queryType: {\n type: \"choice\",\n options: [\"posts\", \"pages\"],\n },\n queryOperator: {\n type: \"choice\",\n displayName: \"Query Operator\",\n description: \"Filter Parameter filter by\",\n options: () => {\n return queryOperators.map((item: any) => ({\n label: item?.label,\n value: item?.value,\n }));\n },\n hidden: (props) => !props.queryType,\n },\n\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter\",\n hidden: (props) => !props.queryOperator,\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Limit\",\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description:\n \"Do not automatically repeat children for every posts or pages.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, Wordpress Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nexport function WordpressFetcher({\n queryOperator,\n filterValue,\n noAutoRepeat,\n limit,\n queryType,\n children,\n className,\n noLayout,\n}: WordpressFetcherProps) {\n const { wordpressUrl } = ensure(\n useContext(CredentialsContext),\n \"WordpressFetcher must be used within a WordpressProvider\"\n );\n const cacheKey = JSON.stringify({\n queryOperator,\n filterValue,\n limit,\n queryType,\n wordpressUrl,\n });\n\n const { data } = usePlasmicQueryData<any | null>(\n queryType && wordpressUrl ? cacheKey : null,\n async () => {\n return queryWordpress(\n ensure(wordpressUrl, \"Wordpress URL must be specified\"),\n ensure(queryType, \"Query Type must be specified\"),\n queryOperator,\n filterValue,\n limit\n );\n }\n );\n\n const hasFilter = queryOperator && filterValue;\n\n if (!queryType) {\n return <div>Please specify query type</div>;\n }\n\n if (queryOperator && !filterValue) {\n return <div>Please specify Filter Value</div>;\n }\n if (!queryOperator && filterValue) {\n return <div>Please specify Query Operator</div>;\n }\n if (hasFilter && data?.length === 0) {\n return <div>No published {queryType} found</div>;\n }\n\n const currentName = `currentWordpress${\n queryType === \"posts\" ? \"Post\" : \"Page\"\n }`;\n const renderedData = noAutoRepeat\n ? children\n : data?.map((item: any, i: number) => (\n <DataProvider key={item.id} name={currentName} data={item}>\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n\n const response = data;\n return (\n <DataProvider data={response} name=\"wordpressItems\">\n {noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n )}\n </DataProvider>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n field?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\n importPath: modulePath,\n props: {\n field: {\n type: \"choice\",\n options: [\n \"title\",\n \"slug\",\n \"content\",\n \"excerpt\",\n \"date\",\n \"modified\",\n \"link\",\n \"status\",\n ],\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n },\n};\nexport function WordpressField({ className, field }: WordpressFieldProps) {\n const currentPost = useSelector(\"currentWordpressPost\");\n const currentPage = useSelector(\"currentWordpressPage\");\n\n const item = currentPost || currentPage;\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n if (!field) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n const data = get(item, field as string);\n\n if (typeof data === \"object\" && \"rendered\" in data) {\n return (\n <div\n className={className}\n style={{ whiteSpace: \"normal\" }}\n dangerouslySetInnerHTML={{ __html: data.rendered }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}> {data} </div>;\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../src/index.tsx", "../src/query-wordpress.ts", "../src/utils.ts", "../src/wordpress.tsx"],
|
|
4
|
+
"sourcesContent": ["import registerComponent, {\n ComponentMeta,\n} from \"@plasmicapp/host/registerComponent\";\nimport registerFunction, {\n CustomFunctionMeta,\n} from \"@plasmicapp/host/registerFunction\";\nimport registerGlobalContext from \"@plasmicapp/host/registerGlobalContext\";\nimport { queryWordpress, queryWordpressMeta } from \"./query-wordpress\";\nimport {\n WordpressFetcher,\n WordpressFetcherMeta,\n WordpressField,\n WordpressFieldMeta,\n WordpressProvider,\n WordpressProviderMeta,\n} from \"./wordpress\";\n\nexport function registerWordpress(loader?: { registerFunction: any }) {\n function _registerFunction<T extends (...args: any[]) => any>(\n fn: T,\n meta: CustomFunctionMeta<T>\n ) {\n if (loader) {\n loader.registerFunction(fn, meta);\n } else {\n registerFunction(fn, meta);\n }\n }\n\n _registerFunction(queryWordpress, queryWordpressMeta);\n}\n\nexport function registerAll(loader?: {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n}) {\n const _registerComponent = <T extends React.ComponentType<any>>(\n Component: T,\n defaultMeta: ComponentMeta<React.ComponentProps<T>>\n ) => {\n if (loader) {\n loader.registerComponent(Component, defaultMeta);\n } else {\n registerComponent(Component, defaultMeta);\n }\n };\n\n if (loader) {\n loader.registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n } else {\n registerGlobalContext(WordpressProvider, WordpressProviderMeta);\n }\n\n _registerComponent(WordpressFetcher, WordpressFetcherMeta);\n _registerComponent(WordpressField, WordpressFieldMeta);\n}\n\nexport * from \"./wordpress\";\n", "import registerFunction, {\n CustomFunctionMeta,\n} from \"@plasmicapp/host/registerFunction\";\n\nimport { QueryOperator, queryOperators } from \"./utils\";\n\nexport async function queryWordpress(\n wordpressUrl: string,\n type: \"pages\" | \"posts\",\n queryOperator?: QueryOperator,\n filterValue?: string,\n limit?: number\n): Promise<any> {\n const urlParams = new URLSearchParams();\n if (queryOperator && filterValue) {\n urlParams.append(queryOperator, filterValue);\n }\n if (limit) {\n urlParams.append(\"per_page\", limit.toString());\n }\n const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);\n url.search = urlParams.toString();\n\n const resp = await fetch(url);\n return await resp.json();\n}\n\nexport const queryWordpressMeta: CustomFunctionMeta<typeof queryWordpress> = {\n name: \"queryWordpress\",\n displayName: \"Query WordPress\",\n importPath: \"@plasmicpkgs/plasmic-wordpress\",\n params: [\n {\n name: \"wordpressUrl\",\n type: \"string\",\n },\n {\n name: \"queryType\",\n type: \"choice\",\n options: [\"pages\", \"posts\"],\n },\n {\n name: \"queryOperator\",\n type: \"choice\",\n options: Object.values(queryOperators).map((item) => ({\n label: item.label,\n value: item.value,\n })),\n },\n {\n name: \"filterValue\",\n type: \"string\",\n },\n {\n name: \"limit\",\n type: \"number\",\n },\n ],\n};\n\nexport function registerAllCustomFunctions(loader?: { registerFunction: any }) {\n function _registerFunction<T extends (...args: any[]) => any>(\n fn: T,\n meta: CustomFunctionMeta<T>\n ) {\n if (loader) {\n loader.registerFunction(fn, meta);\n } else {\n registerFunction(fn, meta);\n }\n }\n\n _registerFunction(queryWordpress, queryWordpressMeta);\n}\n", "export const queryOperators = [\n {\n value: \"search\",\n label: \"Search\",\n },\n {\n value: \"slug\",\n label: \"Filter by Slug\",\n },\n {\n value: \"author\",\n label: \"Filter by author\",\n },\n] as const;\n\nexport type QueryOperator = (typeof queryOperators)[number][\"value\"];\n\nexport function ensure<T>(x: T | null | undefined, message?: string): T {\n if (x === null || x === undefined) {\n debugger;\n throw new Error(message ?? `Value must not be undefined or null`);\n } else {\n return x;\n }\n}\n", "import {\n ComponentMeta,\n DataProvider,\n GlobalContextMeta,\n repeatedElement,\n useSelector,\n} from \"@plasmicapp/host\";\nimport { usePlasmicQueryData } from \"@plasmicapp/query\";\nimport get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\nimport { queryWordpress } from \"./query-wordpress\";\nimport { ensure, queryOperators, type QueryOperator } from \"./utils\";\n\nconst modulePath = \"@plasmicpkgs/plasmic-wordpress\";\n\ninterface WordpressProviderProps {\n wordpressUrl?: string;\n}\n\nconst CredentialsContext = React.createContext<\n WordpressProviderProps | undefined\n>(undefined);\n\nexport const WordpressProviderMeta: GlobalContextMeta<WordpressProviderProps> =\n {\n name: \"WordpressProvider\",\n displayName: \"Wordpress Provider\",\n description: \"The endpoint of your Wordpress\",\n importName: \"WordpressProvider\",\n importPath: modulePath,\n props: {\n wordpressUrl: {\n type: \"string\",\n displayName: \"Wordpress URL\",\n description: \"URL of your Wordpress \",\n defaultValue: \"https://techcrunch.com/\",\n },\n },\n };\n\nexport function WordpressProvider({\n wordpressUrl,\n children,\n}: React.PropsWithChildren<WordpressProviderProps>) {\n return (\n <CredentialsContext.Provider value={{ wordpressUrl }}>\n {children}\n </CredentialsContext.Provider>\n );\n}\n\ninterface WordpressFetcherProps {\n children?: ReactNode;\n className?: string;\n noLayout?: boolean;\n queryType?: \"posts\" | \"pages\";\n noAutoRepeat?: boolean;\n limit?: number;\n queryOperator?: QueryOperator;\n filterValue?: string;\n setControlContextData?: (data: {\n posts?: { value: string; label: string }[];\n pages?: { value: string; label: string }[];\n }) => void;\n}\n\nexport const WordpressFetcherMeta: ComponentMeta<WordpressFetcherProps> = {\n name: \"WordpressFetcher\",\n displayName: \"Wordpress Fetcher\",\n importName: \"WordpressFetcher\",\n importPath: modulePath,\n providesData: true,\n description:\n \"Fetches Wordpress data and repeats content of children once for every row fetched. \",\n defaultStyles: {\n display: \"grid\",\n gridTemplateColumns: \"1fr\",\n gridRowGap: \"8px\",\n padding: \"8px\",\n maxWidth: \"100%\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: \"8px\",\n },\n children: {\n type: \"component\",\n name: \"WordpressField\",\n },\n },\n },\n queryType: {\n type: \"choice\",\n options: [\"posts\", \"pages\"],\n },\n queryOperator: {\n type: \"choice\",\n displayName: \"Query Operator\",\n description: \"Filter Parameter filter by\",\n options: () => {\n return queryOperators.map((item: any) => ({\n label: item?.label,\n value: item?.value,\n }));\n },\n hidden: (props) => !props.queryType,\n },\n\n filterValue: {\n type: \"string\",\n displayName: \"Filter value\",\n description: \"Value to filter\",\n hidden: (props) => !props.queryOperator,\n },\n limit: {\n type: \"number\",\n displayName: \"Limit\",\n description: \"Limit\",\n },\n noAutoRepeat: {\n type: \"boolean\",\n displayName: \"No auto-repeat\",\n description:\n \"Do not automatically repeat children for every posts or pages.\",\n defaultValue: false,\n },\n noLayout: {\n type: \"boolean\",\n displayName: \"No layout\",\n description:\n \"When set, Wordpress Fetcher will not layout its children; instead, the layout set on its parent element will be used. Useful if you want to set flex gap or control container tag type.\",\n defaultValue: false,\n },\n },\n};\n\nexport function WordpressFetcher({\n queryOperator,\n filterValue,\n noAutoRepeat,\n limit,\n queryType,\n children,\n className,\n noLayout,\n}: WordpressFetcherProps) {\n const { wordpressUrl } = ensure(\n useContext(CredentialsContext),\n \"WordpressFetcher must be used within a WordpressProvider\"\n );\n const cacheKey = JSON.stringify({\n queryOperator,\n filterValue,\n limit,\n queryType,\n wordpressUrl,\n });\n\n const { data } = usePlasmicQueryData<any | null>(\n queryType && wordpressUrl ? cacheKey : null,\n async () => {\n return queryWordpress(\n ensure(wordpressUrl, \"Wordpress URL must be specified\"),\n ensure(queryType, \"Query Type must be specified\"),\n queryOperator,\n filterValue,\n limit\n );\n }\n );\n\n const hasFilter = queryOperator && filterValue;\n\n if (!queryType) {\n return <div>Please specify query type</div>;\n }\n\n if (queryOperator && !filterValue) {\n return <div>Please specify Filter Value</div>;\n }\n if (!queryOperator && filterValue) {\n return <div>Please specify Query Operator</div>;\n }\n if (hasFilter && data?.length === 0) {\n return <div>No published {queryType} found</div>;\n }\n\n const currentName = `currentWordpress${\n queryType === \"posts\" ? \"Post\" : \"Page\"\n }`;\n const renderedData = noAutoRepeat\n ? children\n : data?.map((item: any, i: number) => (\n <DataProvider key={item.id} name={currentName} data={item}>\n {repeatedElement(i, children)}\n </DataProvider>\n ));\n\n const response = data;\n return (\n <DataProvider data={response} name=\"wordpressItems\">\n {noLayout ? (\n <> {renderedData} </>\n ) : (\n <div className={className}> {renderedData} </div>\n )}\n </DataProvider>\n );\n}\n\ninterface WordpressFieldProps {\n className?: string;\n field?: string;\n setControlContextData?: (data: { data: any }) => void;\n}\nexport const WordpressFieldMeta: ComponentMeta<WordpressFieldProps> = {\n name: \"WordpressField\",\n displayName: \"Wordpress Field\",\n importName: \"WordpressField\",\n importPath: modulePath,\n props: {\n field: {\n type: \"choice\",\n options: [\n \"title\",\n \"slug\",\n \"content\",\n \"excerpt\",\n \"date\",\n \"modified\",\n \"link\",\n \"status\",\n ],\n displayName: \"Field\",\n description: \"Field to be displayed.\",\n },\n },\n};\nexport function WordpressField({ className, field }: WordpressFieldProps) {\n const currentPost = useSelector(\"currentWordpressPost\");\n const currentPage = useSelector(\"currentWordpressPage\");\n\n const item = currentPost || currentPage;\n\n if (!item) {\n return <div>WordpressField must be used within a WordpressFetcher </div>;\n }\n\n if (!field) {\n return <div>Please specify a valid path or select a field.</div>;\n }\n\n const data = get(item, field as string);\n\n if (typeof data === \"object\" && \"rendered\" in data) {\n return (\n <div\n className={className}\n style={{ whiteSpace: \"normal\" }}\n dangerouslySetInnerHTML={{ __html: data.rendered }}\n />\n );\n } else if (!data || typeof data === \"object\") {\n return <div className={className}>Please specify a valid field.</div>;\n } else {\n return <div className={className}> {data} </div>;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_registerFunction", "React", "get", "registerFunction", "registerComponent", "registerGlobalContext"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/plasmic-wordpress",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.151",
|
|
4
4
|
"description": "Plasmic Wordpress components.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -53,9 +53,8 @@
|
|
|
53
53
|
"react-dom": "^18.2.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@plasmicpkgs/wordpress": "0.0.2",
|
|
57
56
|
"@types/dlv": "^1.1.2",
|
|
58
57
|
"dlv": "^1.1.3"
|
|
59
58
|
},
|
|
60
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "f808cf77600a4c6eccd86f08d1da26299b796eb4"
|
|
61
60
|
}
|