@plasmicpkgs/plasmic-wordpress 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.ts +6 -18
- package/dist/index.esm.js +12 -91
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +10 -96
- package/dist/index.js.map +4 -4
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,21 @@
|
|
|
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';
|
|
3
5
|
import { default as React_2 } from 'react';
|
|
4
6
|
import { ReactNode } from 'react';
|
|
7
|
+
import { registerWordpress as registerAllCustomFunctions } from '@plasmicpkgs/wordpress';
|
|
5
8
|
import registerComponent from '@plasmicapp/host/registerComponent';
|
|
6
9
|
import registerGlobalContext from '@plasmicapp/host/registerGlobalContext';
|
|
7
10
|
|
|
8
|
-
|
|
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
|
-
}];
|
|
20
|
-
|
|
21
|
-
export declare function queryWordpress(wordpressUrl: string, type: "pages" | "posts", queryOperator?: QueryOperator, filterValue?: string, limit?: number): Promise<any>;
|
|
11
|
+
export { queryWordpress }
|
|
22
12
|
|
|
23
13
|
export declare function registerAll(loader?: {
|
|
24
14
|
registerComponent: typeof registerComponent;
|
|
25
15
|
registerGlobalContext: typeof registerGlobalContext;
|
|
26
16
|
}): void;
|
|
27
17
|
|
|
28
|
-
export
|
|
29
|
-
registerFunction: any;
|
|
30
|
-
}): void;
|
|
18
|
+
export { registerAllCustomFunctions }
|
|
31
19
|
|
|
32
20
|
export declare function WordpressFetcher({ queryOperator, filterValue, noAutoRepeat, limit, queryType, children, className, noLayout, }: WordpressFetcherProps): React_2.JSX.Element;
|
|
33
21
|
|
|
@@ -40,7 +28,7 @@ declare interface WordpressFetcherProps {
|
|
|
40
28
|
queryType?: "posts" | "pages";
|
|
41
29
|
noAutoRepeat?: boolean;
|
|
42
30
|
limit?: number;
|
|
43
|
-
queryOperator?:
|
|
31
|
+
queryOperator?: _QueryOperator;
|
|
44
32
|
filterValue?: string;
|
|
45
33
|
setControlContextData?: (data: {
|
|
46
34
|
posts?: {
|
package/dist/index.esm.js
CHANGED
|
@@ -30,96 +30,13 @@ import {
|
|
|
30
30
|
useSelector
|
|
31
31
|
} from "@plasmicapp/host";
|
|
32
32
|
import { usePlasmicQueryData } from "@plasmicapp/query";
|
|
33
|
+
import {
|
|
34
|
+
_ensure as ensure,
|
|
35
|
+
_queryOperators as queryOperators,
|
|
36
|
+
queryWordpress
|
|
37
|
+
} from "@plasmicpkgs/wordpress";
|
|
33
38
|
import get from "dlv";
|
|
34
39
|
import React, { useContext } from "react";
|
|
35
|
-
|
|
36
|
-
// src/custom-functions.ts
|
|
37
|
-
import registerFunction from "@plasmicapp/host/registerFunction";
|
|
38
|
-
|
|
39
|
-
// src/utils.ts
|
|
40
|
-
var queryOperators = [
|
|
41
|
-
{
|
|
42
|
-
value: "search",
|
|
43
|
-
label: "Search"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
value: "slug",
|
|
47
|
-
label: "Filter by Slug"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
value: "author",
|
|
51
|
-
label: "Filter by author"
|
|
52
|
-
}
|
|
53
|
-
];
|
|
54
|
-
function ensure(x, message) {
|
|
55
|
-
if (x === null || x === void 0) {
|
|
56
|
-
debugger;
|
|
57
|
-
throw new Error(message != null ? message : `Value must not be undefined or null`);
|
|
58
|
-
} else {
|
|
59
|
-
return x;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// src/custom-functions.ts
|
|
64
|
-
function queryWordpress(wordpressUrl, type, queryOperator, filterValue, limit) {
|
|
65
|
-
return __async(this, null, function* () {
|
|
66
|
-
const urlParams = new URLSearchParams();
|
|
67
|
-
if (queryOperator && filterValue) {
|
|
68
|
-
urlParams.append(queryOperator, filterValue);
|
|
69
|
-
}
|
|
70
|
-
if (limit) {
|
|
71
|
-
urlParams.append("per_page", limit.toString());
|
|
72
|
-
}
|
|
73
|
-
const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);
|
|
74
|
-
url.search = urlParams.toString();
|
|
75
|
-
const resp = yield fetch(url);
|
|
76
|
-
return yield resp.json();
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
var queryWordpressMeta = {
|
|
80
|
-
name: "queryWordpress",
|
|
81
|
-
displayName: "Query WordPress",
|
|
82
|
-
importPath: "@plasmicpkgs/plasmic-wordpress",
|
|
83
|
-
params: [
|
|
84
|
-
{
|
|
85
|
-
name: "wordpressUrl",
|
|
86
|
-
type: "string"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
name: "queryType",
|
|
90
|
-
type: "choice",
|
|
91
|
-
options: ["pages", "posts"]
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
name: "queryOperator",
|
|
95
|
-
type: "choice",
|
|
96
|
-
options: Object.values(queryOperators).map((item) => ({
|
|
97
|
-
label: item.label,
|
|
98
|
-
value: item.value
|
|
99
|
-
}))
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
name: "filterValue",
|
|
103
|
-
type: "string"
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
name: "limit",
|
|
107
|
-
type: "number"
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
};
|
|
111
|
-
function registerAllCustomFunctions(loader) {
|
|
112
|
-
function _registerFunction(fn, meta) {
|
|
113
|
-
if (loader) {
|
|
114
|
-
loader.registerFunction(fn, meta);
|
|
115
|
-
} else {
|
|
116
|
-
registerFunction(fn, meta);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
_registerFunction(queryWordpress, queryWordpressMeta);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
// src/wordpress.tsx
|
|
123
40
|
var modulePath = "@plasmicpkgs/plasmic-wordpress";
|
|
124
41
|
var CredentialsContext = React.createContext(void 0);
|
|
125
42
|
var WordpressProviderMeta = {
|
|
@@ -255,7 +172,7 @@ function WordpressFetcher({
|
|
|
255
172
|
if (!queryOperator && filterValue) {
|
|
256
173
|
return /* @__PURE__ */ React.createElement("div", null, "Please specify Query Operator");
|
|
257
174
|
}
|
|
258
|
-
if (hasFilter && data.length === 0) {
|
|
175
|
+
if (hasFilter && (data == null ? void 0 : data.length) === 0) {
|
|
259
176
|
return /* @__PURE__ */ React.createElement("div", null, "No published ", queryType, " found");
|
|
260
177
|
}
|
|
261
178
|
const currentName = `currentWordpress${queryType === "posts" ? "Post" : "Page"}`;
|
|
@@ -314,6 +231,10 @@ function WordpressField({ className, field }) {
|
|
|
314
231
|
}
|
|
315
232
|
|
|
316
233
|
// src/index.tsx
|
|
234
|
+
import {
|
|
235
|
+
queryWordpress as queryWordpress2,
|
|
236
|
+
registerWordpress
|
|
237
|
+
} from "@plasmicpkgs/wordpress";
|
|
317
238
|
function registerAll(loader) {
|
|
318
239
|
const _registerComponent = (Component, defaultMeta) => {
|
|
319
240
|
if (loader) {
|
|
@@ -337,8 +258,8 @@ export {
|
|
|
337
258
|
WordpressFieldMeta,
|
|
338
259
|
WordpressProvider,
|
|
339
260
|
WordpressProviderMeta,
|
|
340
|
-
queryWordpress,
|
|
261
|
+
queryWordpress2 as queryWordpress,
|
|
341
262
|
registerAll,
|
|
342
|
-
registerAllCustomFunctions
|
|
263
|
+
registerWordpress as registerAllCustomFunctions
|
|
343
264
|
};
|
|
344
265
|
//# 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\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 \"./custom-functions\";\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 get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\nimport { queryWordpress } from \"./custom-functions\";\nimport { ensure, QueryOperator, queryOperators } 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: 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", "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\nconst 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"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,uBAEA;AACP,OAAO,2BAA2B;;;ACHlC;AAAA,EAEE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,SAAS,2BAA2B;
|
|
6
|
-
"names": []
|
|
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;;;ACHlC;AAAA,EAEE;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AACP,SAAS,2BAA2B;AAEpC;AAAA,EACE,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB;AAAA,OACK;AACP,OAAO,SAAS;AAChB,OAAO,SAAoB,kBAAkB;AAE7C,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;;;ADrQA;AAAA,EACE,kBAAAA;AAAA,EACqB;AAAA,OAChB;AAEA,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": ["queryWordpress"]
|
|
7
7
|
}
|
package/dist/index.js
CHANGED
|
@@ -56,9 +56,9 @@ __export(src_exports, {
|
|
|
56
56
|
WordpressFieldMeta: () => WordpressFieldMeta,
|
|
57
57
|
WordpressProvider: () => WordpressProvider,
|
|
58
58
|
WordpressProviderMeta: () => WordpressProviderMeta,
|
|
59
|
-
queryWordpress: () => queryWordpress,
|
|
59
|
+
queryWordpress: () => import_wordpress3.queryWordpress,
|
|
60
60
|
registerAll: () => registerAll,
|
|
61
|
-
registerAllCustomFunctions: () =>
|
|
61
|
+
registerAllCustomFunctions: () => import_wordpress3.registerWordpress
|
|
62
62
|
});
|
|
63
63
|
module.exports = __toCommonJS(src_exports);
|
|
64
64
|
var import_registerComponent = __toESM(require("@plasmicapp/host/registerComponent"));
|
|
@@ -67,96 +67,9 @@ var import_registerGlobalContext = __toESM(require("@plasmicapp/host/registerGlo
|
|
|
67
67
|
// src/wordpress.tsx
|
|
68
68
|
var import_host = require("@plasmicapp/host");
|
|
69
69
|
var import_query = require("@plasmicapp/query");
|
|
70
|
+
var import_wordpress = require("@plasmicpkgs/wordpress");
|
|
70
71
|
var import_dlv = __toESM(require("dlv"));
|
|
71
72
|
var import_react = __toESM(require("react"));
|
|
72
|
-
|
|
73
|
-
// src/custom-functions.ts
|
|
74
|
-
var import_registerFunction = __toESM(require("@plasmicapp/host/registerFunction"));
|
|
75
|
-
|
|
76
|
-
// src/utils.ts
|
|
77
|
-
var queryOperators = [
|
|
78
|
-
{
|
|
79
|
-
value: "search",
|
|
80
|
-
label: "Search"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
value: "slug",
|
|
84
|
-
label: "Filter by Slug"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
value: "author",
|
|
88
|
-
label: "Filter by author"
|
|
89
|
-
}
|
|
90
|
-
];
|
|
91
|
-
function ensure(x, message) {
|
|
92
|
-
if (x === null || x === void 0) {
|
|
93
|
-
debugger;
|
|
94
|
-
throw new Error(message != null ? message : `Value must not be undefined or null`);
|
|
95
|
-
} else {
|
|
96
|
-
return x;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// src/custom-functions.ts
|
|
101
|
-
function queryWordpress(wordpressUrl, type, queryOperator, filterValue, limit) {
|
|
102
|
-
return __async(this, null, function* () {
|
|
103
|
-
const urlParams = new URLSearchParams();
|
|
104
|
-
if (queryOperator && filterValue) {
|
|
105
|
-
urlParams.append(queryOperator, filterValue);
|
|
106
|
-
}
|
|
107
|
-
if (limit) {
|
|
108
|
-
urlParams.append("per_page", limit.toString());
|
|
109
|
-
}
|
|
110
|
-
const url = new URL(`wp-json/wp/v2/${type}`, wordpressUrl);
|
|
111
|
-
url.search = urlParams.toString();
|
|
112
|
-
const resp = yield fetch(url);
|
|
113
|
-
return yield resp.json();
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
var queryWordpressMeta = {
|
|
117
|
-
name: "queryWordpress",
|
|
118
|
-
displayName: "Query WordPress",
|
|
119
|
-
importPath: "@plasmicpkgs/plasmic-wordpress",
|
|
120
|
-
params: [
|
|
121
|
-
{
|
|
122
|
-
name: "wordpressUrl",
|
|
123
|
-
type: "string"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
name: "queryType",
|
|
127
|
-
type: "choice",
|
|
128
|
-
options: ["pages", "posts"]
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
name: "queryOperator",
|
|
132
|
-
type: "choice",
|
|
133
|
-
options: Object.values(queryOperators).map((item) => ({
|
|
134
|
-
label: item.label,
|
|
135
|
-
value: item.value
|
|
136
|
-
}))
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
name: "filterValue",
|
|
140
|
-
type: "string"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
name: "limit",
|
|
144
|
-
type: "number"
|
|
145
|
-
}
|
|
146
|
-
]
|
|
147
|
-
};
|
|
148
|
-
function registerAllCustomFunctions(loader) {
|
|
149
|
-
function _registerFunction(fn, meta) {
|
|
150
|
-
if (loader) {
|
|
151
|
-
loader.registerFunction(fn, meta);
|
|
152
|
-
} else {
|
|
153
|
-
(0, import_registerFunction.default)(fn, meta);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
_registerFunction(queryWordpress, queryWordpressMeta);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// src/wordpress.tsx
|
|
160
73
|
var modulePath = "@plasmicpkgs/plasmic-wordpress";
|
|
161
74
|
var CredentialsContext = import_react.default.createContext(void 0);
|
|
162
75
|
var WordpressProviderMeta = {
|
|
@@ -217,7 +130,7 @@ var WordpressFetcherMeta = {
|
|
|
217
130
|
displayName: "Query Operator",
|
|
218
131
|
description: "Filter Parameter filter by",
|
|
219
132
|
options: () => {
|
|
220
|
-
return
|
|
133
|
+
return import_wordpress._queryOperators.map((item) => ({
|
|
221
134
|
label: item == null ? void 0 : item.label,
|
|
222
135
|
value: item == null ? void 0 : item.value
|
|
223
136
|
}));
|
|
@@ -259,7 +172,7 @@ function WordpressFetcher({
|
|
|
259
172
|
className,
|
|
260
173
|
noLayout
|
|
261
174
|
}) {
|
|
262
|
-
const { wordpressUrl } =
|
|
175
|
+
const { wordpressUrl } = (0, import_wordpress._ensure)(
|
|
263
176
|
(0, import_react.useContext)(CredentialsContext),
|
|
264
177
|
"WordpressFetcher must be used within a WordpressProvider"
|
|
265
178
|
);
|
|
@@ -273,9 +186,9 @@ function WordpressFetcher({
|
|
|
273
186
|
const { data } = (0, import_query.usePlasmicQueryData)(
|
|
274
187
|
queryType && wordpressUrl ? cacheKey : null,
|
|
275
188
|
() => __async(this, null, function* () {
|
|
276
|
-
return queryWordpress(
|
|
277
|
-
|
|
278
|
-
|
|
189
|
+
return (0, import_wordpress.queryWordpress)(
|
|
190
|
+
(0, import_wordpress._ensure)(wordpressUrl, "Wordpress URL must be specified"),
|
|
191
|
+
(0, import_wordpress._ensure)(queryType, "Query Type must be specified"),
|
|
279
192
|
queryOperator,
|
|
280
193
|
filterValue,
|
|
281
194
|
limit
|
|
@@ -292,7 +205,7 @@ function WordpressFetcher({
|
|
|
292
205
|
if (!queryOperator && filterValue) {
|
|
293
206
|
return /* @__PURE__ */ import_react.default.createElement("div", null, "Please specify Query Operator");
|
|
294
207
|
}
|
|
295
|
-
if (hasFilter && data.length === 0) {
|
|
208
|
+
if (hasFilter && (data == null ? void 0 : data.length) === 0) {
|
|
296
209
|
return /* @__PURE__ */ import_react.default.createElement("div", null, "No published ", queryType, " found");
|
|
297
210
|
}
|
|
298
211
|
const currentName = `currentWordpress${queryType === "posts" ? "Post" : "Page"}`;
|
|
@@ -351,6 +264,7 @@ function WordpressField({ className, field }) {
|
|
|
351
264
|
}
|
|
352
265
|
|
|
353
266
|
// src/index.tsx
|
|
267
|
+
var import_wordpress3 = require("@plasmicpkgs/wordpress");
|
|
354
268
|
function registerAll(loader) {
|
|
355
269
|
const _registerComponent = (Component, defaultMeta) => {
|
|
356
270
|
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\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 \"./custom-functions\";\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 get from \"dlv\";\nimport React, { ReactNode, useContext } from \"react\";\nimport { queryWordpress } from \"./custom-functions\";\nimport { ensure, QueryOperator, queryOperators } 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: 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", "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\nconst 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"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAEO;AACP,mCAAkC;;;ACHlC,kBAMO;AACP,mBAAoC;
|
|
6
|
-
"names": ["
|
|
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": "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",
|
|
6
|
+
"names": ["React", "queryOperators", "ensure", "get", "import_wordpress", "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.150",
|
|
4
4
|
"description": "Plasmic Wordpress components.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
}
|
|
45
45
|
],
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@plasmicapp/host": "1.0.
|
|
47
|
+
"@plasmicapp/host": "1.0.226",
|
|
48
48
|
"@plasmicapp/query": "0.1.80",
|
|
49
49
|
"@types/react": "^18.0.27",
|
|
50
50
|
"@types/react-dom": "^18.0.10",
|
|
@@ -53,8 +53,9 @@
|
|
|
53
53
|
"react-dom": "^18.2.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
+
"@plasmicpkgs/wordpress": "0.0.2",
|
|
56
57
|
"@types/dlv": "^1.1.2",
|
|
57
58
|
"dlv": "^1.1.3"
|
|
58
59
|
},
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "271df799332249e475d73cb1414b5174c32bb0b8"
|
|
60
61
|
}
|