qureal-editor 1.0.45 → 1.0.46
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.es.js +9 -3
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -102,7 +102,9 @@ function QurealiFrame(_ref) {
|
|
|
102
102
|
style = _ref$style === undefined ? {} : _ref$style,
|
|
103
103
|
_ref$is_local = _ref.is_local,
|
|
104
104
|
is_local = _ref$is_local === undefined ? false : _ref$is_local,
|
|
105
|
-
_ref$section_list = _ref.section_list
|
|
105
|
+
_ref$section_list = _ref.section_list,
|
|
106
|
+
_ref$onIFrameLoad = _ref.onIFrameLoad,
|
|
107
|
+
onIFrameLoad = _ref$onIFrameLoad === undefined ? function () {} : _ref$onIFrameLoad;
|
|
106
108
|
|
|
107
109
|
var iframeRef = useRef(null);
|
|
108
110
|
|
|
@@ -145,7 +147,8 @@ function QurealiFrame(_ref) {
|
|
|
145
147
|
outline: "none",
|
|
146
148
|
border: "1px solid #777"
|
|
147
149
|
}, style),
|
|
148
|
-
allow: "web-share"
|
|
150
|
+
allow: "web-share",
|
|
151
|
+
onLoad: onIFrameLoad
|
|
149
152
|
})
|
|
150
153
|
);
|
|
151
154
|
}
|
|
@@ -340,7 +343,10 @@ function QurealViewer(_ref) {
|
|
|
340
343
|
creation_type: creation_type,
|
|
341
344
|
style: style,
|
|
342
345
|
is_local: is_local,
|
|
343
|
-
section_list: section_list
|
|
346
|
+
section_list: section_list,
|
|
347
|
+
onIFrameLoad: function onIFrameLoad() {
|
|
348
|
+
return onInit({ success: true });
|
|
349
|
+
}
|
|
344
350
|
});
|
|
345
351
|
}
|
|
346
352
|
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/QurealiFrame.js","../src/utils.js","../src/QurealViewer.js","../src/use-action.js","../src/QurealCollection.js"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\n// import { useIframeMessenger } from \"./useIFrameMessanger\";\n\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {}, is_local = false, section_list = [] }) {\n const iframeRef = useRef(null);\n\n // useIframeMessenger(iframeRef, {\n // message_type: \"SET_SECTION_LIST\",\n // data: {\n // section_list: section_list\n // }\n // });\n\n let prefix = \"ts\";\n if (creation_type === \"document\") {\n if (type === \"creation\") {\n prefix = \"d\";\n } else {\n prefix = \"td\";\n }\n } else {\n if (type === \"creation\") {\n prefix = \"embed\";\n }\n }\n\n const base_url = is_local ? \"http://localhost:3201\" : \"https://show.qureal.com\";\n\n\n\n\n return (\n <Fragment>\n <iframe\n ref={iframeRef}\n id=\"qureal_iframe\"\n title=\"Qureal\"\n // src={`http://localhost:3201/embed/${creation_slug}`}\n // src={type === \"creation\" ? `https://show.qureal.com/embed/${slug}?${preview ? \"preview&\" : \"\"}${query}` : `https://show.qureal.com/ts/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n // src={`https://show.qureal.com/${type === \"creation\" ? \"embed\" : \"ts\"}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n src={`${base_url}/${prefix}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n </Fragment>\n );\n}\n\n// export default QurealiFrame;\nexport default React.memo(QurealiFrame, () => true)\n","export async function share(data) {\n try {\n if (navigator.share && navigator.canShare(data)) {\n await navigator.share(data);\n } else {\n console.error(\"Can't share\");\n alert(\"Share only available for mobile devices\")\n }\n } catch (err) {\n console.error(err);\n }\n}","import React, { Fragment, useEffect, useRef } from \"react\";\nimport QurealiFrame from \"./QurealiFrame\";\nimport { share } from \"./utils\";\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\nfunction QurealViewer({\n slug = \"qi_sample\",\n preview = false,\n prefill = {},\n type = \"creation\", // creation or template \n creation_type = \"singlepage\",\n onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n section_list = [],\n is_local = false\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"OPEN_CREATION\",\n data: {\n slug: slug,\n preview: preview,\n prefill: prefill,\n ictx: {\n organization: organization,\n person: person\n }\n }\n })\n }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_SECTION_LIST\",\n data: {\n section_list: section_list\n }\n })\n }, [section_list])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit({\n success: true,\n data: ev.data.data\n });\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n return (\n <QurealiFrame\n slug={slug}\n preview={preview}\n query={`${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}`}\n type={type}\n creation_type={creation_type}\n style={style}\n is_local={is_local}\n section_list={section_list}\n />\n );\n}\n\n// export default QurealiFrame;\nexport default QurealViewer\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n\n return buildQuery(\"\", obj);\n}","import { useState } from \"react\"\n\nfunction useQurealActions() {\n const [actionRef, setActionRef] = useState({});\n\n function download() {\n setActionRef({\n type: \"DOWNLOAD\",\n data: {}\n })\n }\n\n\n function share() {\n setActionRef({\n type: \"SHARE\",\n data: {}\n })\n }\n\n function setPreset() {\n\n }\n\n return { actionRef, download, share }\n}\n\nexport default useQurealActions;","import React, { useEffect } from \"react\";\nimport { share } from \"./utils\";\n\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\n\nfunction QurealCollection({\n collection_id = \"934ffe42-1d0a-4fa0-ad23-60b066c0b9ab\",\n preview = false,\n prefill = {},\n // onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n // useEffect(() => {\n // sendToIFrame({\n // message_type: \"OPEN_CREATION\",\n // data: {\n // slug: slug,\n // preview: preview,\n // prefill: prefill,\n // ictx: {\n // organization: organization,\n // person: person\n // }\n // }\n // })\n // }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit(ev.data.data);\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n\n const query_string = `${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}${preview ? \"&preview\" : \"\"}`\n\n\n return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}?${query_string}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n}\n\nexport default QurealCollection;\n\n\n// function queryfy(obj) {\n// const buildQueryInternal = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// // return buildQuery(prefixedKey, value);\n// return `${prefixedKey}=${JSON.stringify(value)}`\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// const buildQuery = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// return buildQueryInternal(prefixedKey, value);\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// return buildQuery(\"\", obj);\n// }\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n return buildQuery(\"\", obj);\n}"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","is_local","section_list","iframeRef","useRef","prefix","base_url","React","memo","data","navigator","share","canShare","error","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","event_type","addEventListener","window","removeEventListener","queryfy","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id","query_string"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/QurealiFrame.js","../src/utils.js","../src/QurealViewer.js","../src/use-action.js","../src/QurealCollection.js"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\n// import { useIframeMessenger } from \"./useIFrameMessanger\";\n\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {}, is_local = false, section_list = [], onIFrameLoad = () => { } }) {\n const iframeRef = useRef(null);\n\n // useIframeMessenger(iframeRef, {\n // message_type: \"SET_SECTION_LIST\",\n // data: {\n // section_list: section_list\n // }\n // });\n\n let prefix = \"ts\";\n if (creation_type === \"document\") {\n if (type === \"creation\") {\n prefix = \"d\";\n } else {\n prefix = \"td\";\n }\n } else {\n if (type === \"creation\") {\n prefix = \"embed\";\n }\n }\n\n const base_url = is_local ? \"http://localhost:3201\" : \"https://show.qureal.com\";\n\n\n\n\n return (\n <Fragment>\n <iframe\n ref={iframeRef}\n id=\"qureal_iframe\"\n title=\"Qureal\"\n // src={`http://localhost:3201/embed/${creation_slug}`}\n // src={type === \"creation\" ? `https://show.qureal.com/embed/${slug}?${preview ? \"preview&\" : \"\"}${query}` : `https://show.qureal.com/ts/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n // src={`https://show.qureal.com/${type === \"creation\" ? \"embed\" : \"ts\"}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n src={`${base_url}/${prefix}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n onLoad={onIFrameLoad}\n />\n </Fragment>\n );\n}\n\n// export default QurealiFrame;\nexport default React.memo(QurealiFrame, () => true)\n","export async function share(data) {\n try {\n if (navigator.share && navigator.canShare(data)) {\n await navigator.share(data);\n } else {\n console.error(\"Can't share\");\n alert(\"Share only available for mobile devices\")\n }\n } catch (err) {\n console.error(err);\n }\n}","import React, { Fragment, useEffect, useRef } from \"react\";\nimport QurealiFrame from \"./QurealiFrame\";\nimport { share } from \"./utils\";\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\nfunction QurealViewer({\n slug = \"qi_sample\",\n preview = false,\n prefill = {},\n type = \"creation\", // creation or template \n creation_type = \"singlepage\",\n onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n section_list = [],\n is_local = false\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"OPEN_CREATION\",\n data: {\n slug: slug,\n preview: preview,\n prefill: prefill,\n ictx: {\n organization: organization,\n person: person\n }\n }\n })\n }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_SECTION_LIST\",\n data: {\n section_list: section_list\n }\n })\n }, [section_list])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit({\n success: true,\n data: ev.data.data\n });\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n return (\n <QurealiFrame\n slug={slug}\n preview={preview}\n query={`${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}`}\n type={type}\n creation_type={creation_type}\n style={style}\n is_local={is_local}\n section_list={section_list}\n onIFrameLoad={() => onInit({ success: true })}\n />\n );\n}\n\n// export default QurealiFrame;\nexport default QurealViewer\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n\n return buildQuery(\"\", obj);\n}","import { useState } from \"react\"\n\nfunction useQurealActions() {\n const [actionRef, setActionRef] = useState({});\n\n function download() {\n setActionRef({\n type: \"DOWNLOAD\",\n data: {}\n })\n }\n\n\n function share() {\n setActionRef({\n type: \"SHARE\",\n data: {}\n })\n }\n\n function setPreset() {\n\n }\n\n return { actionRef, download, share }\n}\n\nexport default useQurealActions;","import React, { useEffect } from \"react\";\nimport { share } from \"./utils\";\n\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\n\nfunction QurealCollection({\n collection_id = \"934ffe42-1d0a-4fa0-ad23-60b066c0b9ab\",\n preview = false,\n prefill = {},\n // onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n // useEffect(() => {\n // sendToIFrame({\n // message_type: \"OPEN_CREATION\",\n // data: {\n // slug: slug,\n // preview: preview,\n // prefill: prefill,\n // ictx: {\n // organization: organization,\n // person: person\n // }\n // }\n // })\n // }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit(ev.data.data);\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n\n const query_string = `${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}${preview ? \"&preview\" : \"\"}`\n\n\n return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}?${query_string}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n}\n\nexport default QurealCollection;\n\n\n// function queryfy(obj) {\n// const buildQueryInternal = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// // return buildQuery(prefixedKey, value);\n// return `${prefixedKey}=${JSON.stringify(value)}`\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// const buildQuery = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// return buildQueryInternal(prefixedKey, value);\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// return buildQuery(\"\", obj);\n// }\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n return buildQuery(\"\", obj);\n}"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","is_local","section_list","onIFrameLoad","iframeRef","useRef","prefix","base_url","React","memo","data","navigator","share","canShare","error","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","event_type","addEventListener","window","removeEventListener","queryfy","success","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id","query_string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;AAGA,SAASA,YAAT,OAA4K;QAApJC,IAAoJ,QAApJA,IAAoJ;QAA9IC,OAA8I,QAA9IA,OAA8I;QAArIC,KAAqI,QAArIA,KAAqI;yBAA9HC,IAA8H;QAA9HA,IAA8H,6BAAvH,UAAuH;kCAA3GC,aAA2G;QAA3GA,aAA2G,sCAA3F,YAA2F;0BAA7EC,KAA6E;QAA7EA,KAA6E,8BAArE,EAAqE;6BAAjEC,QAAiE;QAAjEA,QAAiE,iCAAtD,KAAsD;iCAA/CC,YAA+C;QAA/CA,yBAAmBC,YAA4B;QAA5BA,YAA4B,qCAAb,YAAM,EAAO;;QAClKC,YAAYC,OAAO,IAAP,CAAlB;;;;;;;;;QASIC,SAAS,IAAb;QACIP,kBAAkB,UAAtB,EAAkC;YAC1BD,SAAS,UAAb,EAAyB;qBACZ,GAAT;SADJ,MAEO;qBACM,IAAT;;KAJR,MAMO;YACCA,SAAS,UAAb,EAAyB;qBACZ,OAAT;;;;QAIFS,WAAWN,WAAW,uBAAX,GAAqC,yBAAtD;;WAMI;gBAAA;;;iBAEaG,SADT;gBAEO,eAFP;mBAGU;;;;cAIN,KAAQG,QAAR,SAAoBD,MAApB,SAA8BX,IAA9B,UAAsCC,UAAU,UAAV,GAAuB,EAA7D,IAAkEC,KAPtE;;uBASe,MADX;wBAEY,OAFZ;yBAGa,MAHb;wBAIY;eACLG,KALP,CARJ;mBAeU,WAfV;oBAgBYG;;KAlBpB;;;;AAyBJ,qBAAeK,MAAMC,IAAN,CAAWf,YAAX,EAAyB;WAAM,IAAN;CAAzB,CAAf;;;sECzDO,iBAAqBgB,IAArB;;;;;;;8BAEKC,UAAUC,KAAV,IAAmBD,UAAUE,QAAV,CAAmBH,IAAnB,CAFxB;;;;;;+BAGWC,UAAUC,KAAV,CAAgBF,IAAhB,CAHX;;;;;;;gCAKaI,KAAR,CAAc,aAAd;8BACM,yCAAN;;;;;;;;;;gCAGIA,KAAR;;;;;;;;KATR;;oBAAsBF,KAAtB;;;;;ACMA,SAASG,YAAT,OAiBG;yBAhBCpB,IAgBD;QAhBCA,IAgBD,6BAhBQ,WAgBR;4BAfCC,OAeD;QAfCA,OAeD,gCAfW,KAeX;4BAdCoB,OAcD;QAdCA,OAcD,gCAdW,EAcX;yBAbClB,IAaD;QAbCA,IAaD,6BAbQ,UAaR;kCAZCC,aAYD;QAZCA,aAYD,sCAZiB,YAYjB;iCAXCkB,YAWD;QAXCA,YAWD,qCAXgB,YAAM,EAWtB;0BAVCjB,KAUD;QAVCA,KAUD,8BAVS,EAUT;8BATCkB,SASD;QATCA,SASD,kCATa,EASb;iCARCC,YAQD;QARCA,YAQD,qCARgB,IAQhB;2BAPCC,MAOD;QAPCA,MAOD,+BAPU,IAOV;+BANCC,UAMD;QANCA,UAMD,mCANc,IAMd;wBALCC,GAKD;QALCA,GAKD,4BALO,KAKP;2BAJCC,MAID;QAJCA,MAID,+BAJU,YAAM,EAIhB;mCAHCC,cAGD;QAHCA,cAGD,uCAHkB,YAAM,EAGxB;iCAFCtB,YAED;QAFCA,YAED,qCAFgB,EAEhB;6BADCD,QACD;QADCA,QACD,iCADY,KACZ;;;QAEOwB,eAAe,SAAfA,YAAe,CAACC,GAAD,EAAS;gBAClBC,GAAR,CAAY,wBAAZ;YACMC,iBAAiBC,SAASC,cAAT,CAAwB,eAAxB,CAAvB;;YAEMC,gBAAgBH,iBAAiBA,eAAeI,aAAhC,GAAgD,IAAtE;YACID,aAAJ,EAAmB;0BACDE,WAAd,CAA0BP,GAA1B,EAA+B,GAA/B;oBACQC,GAAR,CAAY,qBAAZ;;KAPR;;cAWU,YAAM;qBACC;0BACK,eADL;kBAEH;sBACIhC,IADJ;yBAEOC,OAFP;yBAGOoB,OAHP;sBAII;kCACYG,YADZ;4BAEMC;;;SARpB;KADJ,EAaG,CAACzB,IAAD,EAAOC,OAAP,CAbH;;cAeU,YAAM;qBACC;0BACK,SADL;kBAEH;yBACOoB;;SAHjB;KADJ,EAOG,CAACA,OAAD,CAPH;;cAUU,YAAM;qBACC;0BACK,kBADL;kBAEH;8BACYd;;SAHtB;KADJ,EAOG,CAACA,YAAD,CAPH;;cASU,YAAM;YACR,CAAC,UAAD,EAAa,OAAb,EAAsBgC,QAAtB,CAA+BhB,UAAUpB,IAAzC,CAAJ,EAAoD;yBACnC;8BACKoB,UAAUpB,IADf;sBAEHoB,UAAUR,IAAV,IAAkB;aAF5B;;KAFR,EAOG,CAACQ,SAAD,CAPH;;cASU,YAAM;qBACC;0BACK,UADL;kBAEH;8BACYC,YADZ;wBAEMC;;SAJhB;KADJ,EAQG,CAACD,YAAD,EAAeC,MAAf,CARH;;cAUU,YAAM;YACNe,UAAU,SAAVA,OAAU,CAACC,EAAD,EAAQ;;oBAEZA,GAAG1B,IAAH,CAAQ2B,UAAhB;qBACS,QAAL;2BACW;iCACM,IADN;8BAEGD,GAAG1B,IAAH,CAAQA;qBAFlB;;qBAKC,eAAL;mCACmB0B,GAAG1B,IAAH,CAAQA,IAAvB;;qBAEC,aAAL;iCACiB0B,GAAG1B,IAAH,CAAQA,IAArB;;qBAEC,OAAL;0BACU0B,GAAG1B,IAAH,CAAQA,IAAd;;;4BAGQiB,GAAR,CAAY,qBAAZ;4BACQA,GAAR,CAAYS,GAAG1B,IAAf;;;SApBZ;;eAyBO4B,gBAAP,CAAwB,SAAxB,EAAmCH,OAAnC;eACO;mBAAMI,OAAOC,mBAAP,CAA2B,SAA3B,EAAsCL,OAAtC,CAAN;SAAP;KA3BJ,EA4BG,EA5BH;;WA+BI,oBAACzC,cAAD;cACUC,IADV;iBAEaC,OAFb;oBAGc6C,QAAQzB,OAAR,CAAV,IAA6BG,qCAAmCA,YAAnC,GAAoD,EAAjF,KAAsFC,yBAAuBA,MAAvB,GAAkC,EAAxH,KAA6HC,iCAA+BA,UAA/B,GAA8C,EAA3K,KAAgLC,MAAM,SAAN,GAAkB,EAAlM,CAHJ;cAIUxB,IAJV;uBAKmBC,aALnB;eAMWC,KANX;kBAOcC,QAPd;sBAQkBC,YARlB;sBASkB;mBAAMqB,OAAO,EAAEmB,SAAS,IAAX,EAAP,CAAN;;MAVtB;;;AAmBJ,SAASD,OAAT,CAAiBE,GAAjB,EAAsB;QACZC,aAAa,SAAbA,UAAa,CAACtC,MAAD,EAASqC,GAAT,EAAiB;eACzBE,OAAOC,IAAP,CAAYH,GAAZ,EACFI,GADE,CACE,eAAO;gBACFC,QAAQL,IAAIM,GAAJ,CAAd;gBACMC,cAAc5C,SAAYA,MAAZ,SAAsB2C,GAAtB,GAA8BA,GAAlD;gBACI,QAAOD,KAAP,yCAAOA,KAAP,OAAiB,QAAjB,IAA6BA,UAAU,IAA3C,EAAiD;uBACtCJ,WAAWM,WAAX,EAAwBF,KAAxB,CAAP;aADJ,MAEO;uBACOE,WAAV,SAAyBF,KAAzB;;SAPL,EAUFG,IAVE,CAUG,GAVH,CAAP;KADJ;;WAcOP,WAAW,EAAX,EAAeD,GAAf,CAAP;;;ACvJJ,SAASS,gBAAT,GAA4B;oBACUC,SAAS,EAAT,CADV;;QACjBnC,SADiB;QACNoC,YADM;;aAGfC,QAAT,GAAoB;qBACH;kBACH,UADG;kBAEH;SAFV;;;aAOK3C,KAAT,GAAiB;qBACA;kBACH,OADG;kBAEH;SAFV;;;WAUG,EAAEM,oBAAF,EAAaqC,kBAAb,EAAuB3C,YAAvB,EAAP;;;ACjBJ,SAAS4C,gBAAT,OAaG;kCAZCC,aAYD;QAZCA,aAYD,sCAZiB,sCAYjB;4BAXC7D,OAWD;QAXCA,OAWD,gCAXW,KAWX;4BAVCoB,OAUD;QAVCA,OAUD,gCAVW,EAUX;0BARChB,KAQD;QARCA,KAQD,8BARS,EAQT;8BAPCkB,SAOD;QAPCA,SAOD,kCAPa,EAOb;iCANCC,YAMD;QANCA,YAMD,qCANgB,IAMhB;2BALCC,MAKD;QALCA,MAKD,+BALU,IAKV;+BAJCC,UAID;QAJCA,UAID,mCAJc,IAId;wBAHCC,GAGD;QAHCA,GAGD,4BAHO,KAGP;2BAFCC,MAED;QAFCA,MAED,+BAFU,YAAM,EAEhB;mCADCC,cACD;QADCA,cACD,uCADkB,YAAM,EACxB;;;QAEOC,eAAe,SAAfA,YAAe,CAACC,GAAD,EAAS;gBAClBC,GAAR,CAAY,wBAAZ;YACMC,iBAAiBC,SAASC,cAAT,CAAwB,eAAxB,CAAvB;YACMC,gBAAgBH,iBAAiBA,eAAeI,aAAhC,GAAgD,IAAtE;YACID,aAAJ,EAAmB;0BACDE,WAAd,CAA0BP,GAA1B,EAA+B,GAA/B;oBACQC,GAAR,CAAY,qBAAZ;;KANR;;;;;;;;;;;;;;;;;cAyBU,YAAM;qBACC;0BACK,SADL;kBAEH;yBACOX;;SAHjB;KADJ,EAOG,CAACA,OAAD,CAPH;;cASU,YAAM;YACR,CAAC,UAAD,EAAa,OAAb,EAAsBkB,QAAtB,CAA+BhB,UAAUpB,IAAzC,CAAJ,EAAoD;yBACnC;8BACKoB,UAAUpB,IADf;sBAEHoB,UAAUR,IAAV,IAAkB;aAF5B;;KAFR,EAOG,CAACQ,SAAD,CAPH;;cASU,YAAM;qBACC;0BACK,UADL;kBAEH;8BACYC,YADZ;wBAEMC;;SAJhB;KADJ,EAQG,CAACD,YAAD,EAAeC,MAAf,CARH;;cAUU,YAAM;YACNe,UAAU,SAAVA,OAAU,CAACC,EAAD,EAAQ;;oBAEZA,GAAG1B,IAAH,CAAQ2B,UAAhB;qBACS,QAAL;2BACWD,GAAG1B,IAAH,CAAQA,IAAf;;qBAEC,eAAL;mCACmB0B,GAAG1B,IAAH,CAAQA,IAAvB;;qBAEC,aAAL;iCACiB0B,GAAG1B,IAAH,CAAQA,IAArB;;qBAEC,OAAL;0BACU0B,GAAG1B,IAAH,CAAQA,IAAd;;;4BAGQiB,GAAR,CAAY,qBAAZ;4BACQA,GAAR,CAAYS,GAAG1B,IAAf;;;SAjBZ;;eAsBO4B,gBAAP,CAAwB,SAAxB,EAAmCH,OAAnC;eACO;mBAAMI,OAAOC,mBAAP,CAA2B,SAA3B,EAAsCL,OAAtC,CAAN;SAAP;KAxBJ,EAyBG,EAzBH;;QA4BMuB,oBAAkBjB,UAAQzB,OAAR,CAAlB,IAAqCG,qCAAmCA,YAAnC,GAAoD,EAAzF,KAA8FC,yBAAuBA,MAAvB,GAAkC,EAAhI,KAAqIC,iCAA+BA,UAA/B,GAA8C,EAAnL,KAAwLC,MAAM,SAAN,GAAkB,EAA1M,KAA+M1B,UAAU,UAAV,GAAuB,EAAtO,CAAN;;WAGO;YACA,eADA;eAEG,QAFH;oDAGuC6D,aAA1C,SAA2DC,YAHxD;;mBAKQ,MADX;oBAEY,OAFZ;qBAGa,MAHb;oBAIY;WACL1D,KALP,CAJG;eAWG;MAXV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDJ,SAASyC,SAAT,CAAiBE,GAAjB,EAAsB;QACZC,aAAa,SAAbA,UAAa,CAACtC,MAAD,EAASqC,GAAT,EAAiB;eACzBE,OAAOC,IAAP,CAAYH,GAAZ,EACFI,GADE,CACE,eAAO;gBACFC,QAAQL,IAAIM,GAAJ,CAAd;gBACMC,cAAc5C,SAAYA,MAAZ,SAAsB2C,GAAtB,GAA8BA,GAAlD;gBACI,QAAOD,KAAP,yCAAOA,KAAP,OAAiB,QAAjB,IAA6BA,UAAU,IAA3C,EAAiD;uBACtCJ,WAAWM,WAAX,EAAwBF,KAAxB,CAAP;aADJ,MAEO;uBACOE,WAAV,SAAyBF,KAAzB;;SAPL,EAUFG,IAVE,CAUG,GAVH,CAAP;KADJ;WAaOP,WAAW,EAAX,EAAeD,GAAf,CAAP;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -109,7 +109,9 @@ function QurealiFrame(_ref) {
|
|
|
109
109
|
style = _ref$style === undefined ? {} : _ref$style,
|
|
110
110
|
_ref$is_local = _ref.is_local,
|
|
111
111
|
is_local = _ref$is_local === undefined ? false : _ref$is_local,
|
|
112
|
-
_ref$section_list = _ref.section_list
|
|
112
|
+
_ref$section_list = _ref.section_list,
|
|
113
|
+
_ref$onIFrameLoad = _ref.onIFrameLoad,
|
|
114
|
+
onIFrameLoad = _ref$onIFrameLoad === undefined ? function () {} : _ref$onIFrameLoad;
|
|
113
115
|
|
|
114
116
|
var iframeRef = React.useRef(null);
|
|
115
117
|
|
|
@@ -152,7 +154,8 @@ function QurealiFrame(_ref) {
|
|
|
152
154
|
outline: "none",
|
|
153
155
|
border: "1px solid #777"
|
|
154
156
|
}, style),
|
|
155
|
-
allow: "web-share"
|
|
157
|
+
allow: "web-share",
|
|
158
|
+
onLoad: onIFrameLoad
|
|
156
159
|
})
|
|
157
160
|
);
|
|
158
161
|
}
|
|
@@ -347,7 +350,10 @@ function QurealViewer(_ref) {
|
|
|
347
350
|
creation_type: creation_type,
|
|
348
351
|
style: style,
|
|
349
352
|
is_local: is_local,
|
|
350
|
-
section_list: section_list
|
|
353
|
+
section_list: section_list,
|
|
354
|
+
onIFrameLoad: function onIFrameLoad() {
|
|
355
|
+
return onInit({ success: true });
|
|
356
|
+
}
|
|
351
357
|
});
|
|
352
358
|
}
|
|
353
359
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/QurealiFrame.js","../src/utils.js","../src/QurealViewer.js","../src/use-action.js","../src/QurealCollection.js"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\n// import { useIframeMessenger } from \"./useIFrameMessanger\";\n\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {}, is_local = false, section_list = [] }) {\n const iframeRef = useRef(null);\n\n // useIframeMessenger(iframeRef, {\n // message_type: \"SET_SECTION_LIST\",\n // data: {\n // section_list: section_list\n // }\n // });\n\n let prefix = \"ts\";\n if (creation_type === \"document\") {\n if (type === \"creation\") {\n prefix = \"d\";\n } else {\n prefix = \"td\";\n }\n } else {\n if (type === \"creation\") {\n prefix = \"embed\";\n }\n }\n\n const base_url = is_local ? \"http://localhost:3201\" : \"https://show.qureal.com\";\n\n\n\n\n return (\n <Fragment>\n <iframe\n ref={iframeRef}\n id=\"qureal_iframe\"\n title=\"Qureal\"\n // src={`http://localhost:3201/embed/${creation_slug}`}\n // src={type === \"creation\" ? `https://show.qureal.com/embed/${slug}?${preview ? \"preview&\" : \"\"}${query}` : `https://show.qureal.com/ts/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n // src={`https://show.qureal.com/${type === \"creation\" ? \"embed\" : \"ts\"}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n src={`${base_url}/${prefix}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n </Fragment>\n );\n}\n\n// export default QurealiFrame;\nexport default React.memo(QurealiFrame, () => true)\n","export async function share(data) {\n try {\n if (navigator.share && navigator.canShare(data)) {\n await navigator.share(data);\n } else {\n console.error(\"Can't share\");\n alert(\"Share only available for mobile devices\")\n }\n } catch (err) {\n console.error(err);\n }\n}","import React, { Fragment, useEffect, useRef } from \"react\";\nimport QurealiFrame from \"./QurealiFrame\";\nimport { share } from \"./utils\";\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\nfunction QurealViewer({\n slug = \"qi_sample\",\n preview = false,\n prefill = {},\n type = \"creation\", // creation or template \n creation_type = \"singlepage\",\n onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n section_list = [],\n is_local = false\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"OPEN_CREATION\",\n data: {\n slug: slug,\n preview: preview,\n prefill: prefill,\n ictx: {\n organization: organization,\n person: person\n }\n }\n })\n }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_SECTION_LIST\",\n data: {\n section_list: section_list\n }\n })\n }, [section_list])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit({\n success: true,\n data: ev.data.data\n });\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n return (\n <QurealiFrame\n slug={slug}\n preview={preview}\n query={`${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}`}\n type={type}\n creation_type={creation_type}\n style={style}\n is_local={is_local}\n section_list={section_list}\n />\n );\n}\n\n// export default QurealiFrame;\nexport default QurealViewer\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n\n return buildQuery(\"\", obj);\n}","import { useState } from \"react\"\n\nfunction useQurealActions() {\n const [actionRef, setActionRef] = useState({});\n\n function download() {\n setActionRef({\n type: \"DOWNLOAD\",\n data: {}\n })\n }\n\n\n function share() {\n setActionRef({\n type: \"SHARE\",\n data: {}\n })\n }\n\n function setPreset() {\n\n }\n\n return { actionRef, download, share }\n}\n\nexport default useQurealActions;","import React, { useEffect } from \"react\";\nimport { share } from \"./utils\";\n\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\n\nfunction QurealCollection({\n collection_id = \"934ffe42-1d0a-4fa0-ad23-60b066c0b9ab\",\n preview = false,\n prefill = {},\n // onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n // useEffect(() => {\n // sendToIFrame({\n // message_type: \"OPEN_CREATION\",\n // data: {\n // slug: slug,\n // preview: preview,\n // prefill: prefill,\n // ictx: {\n // organization: organization,\n // person: person\n // }\n // }\n // })\n // }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit(ev.data.data);\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n\n const query_string = `${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}${preview ? \"&preview\" : \"\"}`\n\n\n return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}?${query_string}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n}\n\nexport default QurealCollection;\n\n\n// function queryfy(obj) {\n// const buildQueryInternal = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// // return buildQuery(prefixedKey, value);\n// return `${prefixedKey}=${JSON.stringify(value)}`\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// const buildQuery = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// return buildQueryInternal(prefixedKey, value);\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// return buildQuery(\"\", obj);\n// }\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n return buildQuery(\"\", obj);\n}"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","is_local","section_list","iframeRef","useRef","prefix","base_url","React","memo","data","navigator","share","canShare","error","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","event_type","addEventListener","window","removeEventListener","queryfy","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id","query_string"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/QurealiFrame.js","../src/utils.js","../src/QurealViewer.js","../src/use-action.js","../src/QurealCollection.js"],"sourcesContent":["import React, { Fragment, useEffect, useRef } from \"react\";\n// import { useIframeMessenger } from \"./useIFrameMessanger\";\n\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {}, is_local = false, section_list = [], onIFrameLoad = () => { } }) {\n const iframeRef = useRef(null);\n\n // useIframeMessenger(iframeRef, {\n // message_type: \"SET_SECTION_LIST\",\n // data: {\n // section_list: section_list\n // }\n // });\n\n let prefix = \"ts\";\n if (creation_type === \"document\") {\n if (type === \"creation\") {\n prefix = \"d\";\n } else {\n prefix = \"td\";\n }\n } else {\n if (type === \"creation\") {\n prefix = \"embed\";\n }\n }\n\n const base_url = is_local ? \"http://localhost:3201\" : \"https://show.qureal.com\";\n\n\n\n\n return (\n <Fragment>\n <iframe\n ref={iframeRef}\n id=\"qureal_iframe\"\n title=\"Qureal\"\n // src={`http://localhost:3201/embed/${creation_slug}`}\n // src={type === \"creation\" ? `https://show.qureal.com/embed/${slug}?${preview ? \"preview&\" : \"\"}${query}` : `https://show.qureal.com/ts/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n // src={`https://show.qureal.com/${type === \"creation\" ? \"embed\" : \"ts\"}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n src={`${base_url}/${prefix}/${slug}?${preview ? \"preview&\" : \"\"}${query}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n onLoad={onIFrameLoad}\n />\n </Fragment>\n );\n}\n\n// export default QurealiFrame;\nexport default React.memo(QurealiFrame, () => true)\n","export async function share(data) {\n try {\n if (navigator.share && navigator.canShare(data)) {\n await navigator.share(data);\n } else {\n console.error(\"Can't share\");\n alert(\"Share only available for mobile devices\")\n }\n } catch (err) {\n console.error(err);\n }\n}","import React, { Fragment, useEffect, useRef } from \"react\";\nimport QurealiFrame from \"./QurealiFrame\";\nimport { share } from \"./utils\";\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\nfunction QurealViewer({\n slug = \"qi_sample\",\n preview = false,\n prefill = {},\n type = \"creation\", // creation or template \n creation_type = \"singlepage\",\n onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n section_list = [],\n is_local = false\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"OPEN_CREATION\",\n data: {\n slug: slug,\n preview: preview,\n prefill: prefill,\n ictx: {\n organization: organization,\n person: person\n }\n }\n })\n }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_SECTION_LIST\",\n data: {\n section_list: section_list\n }\n })\n }, [section_list])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit({\n success: true,\n data: ev.data.data\n });\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n return (\n <QurealiFrame\n slug={slug}\n preview={preview}\n query={`${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}`}\n type={type}\n creation_type={creation_type}\n style={style}\n is_local={is_local}\n section_list={section_list}\n onIFrameLoad={() => onInit({ success: true })}\n />\n );\n}\n\n// export default QurealiFrame;\nexport default QurealViewer\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n\n return buildQuery(\"\", obj);\n}","import { useState } from \"react\"\n\nfunction useQurealActions() {\n const [actionRef, setActionRef] = useState({});\n\n function download() {\n setActionRef({\n type: \"DOWNLOAD\",\n data: {}\n })\n }\n\n\n function share() {\n setActionRef({\n type: \"SHARE\",\n data: {}\n })\n }\n\n function setPreset() {\n\n }\n\n return { actionRef, download, share }\n}\n\nexport default useQurealActions;","import React, { useEffect } from \"react\";\nimport { share } from \"./utils\";\n\n\nconst ALLOWED_ORIGINS = [\"https://show.qureal.com\", \"http://localhost:3201\"];\n\n\nfunction QurealCollection({\n collection_id = \"934ffe42-1d0a-4fa0-ad23-60b066c0b9ab\",\n preview = false,\n prefill = {},\n // onFormSubmit = () => { },\n style = {},\n actionRef = {},\n organization = null,\n person = null,\n background = null,\n fit = false,\n onInit = () => { },\n onStatusUpdate = () => { },\n}) {\n\n const sendToIFrame = (msg) => {\n console.log(\"Sending data to iFrame\")\n const qureal_element = document.getElementById(\"qureal_iframe\");\n const qureal_window = qureal_element ? qureal_element.contentWindow : null;\n if (qureal_window) {\n qureal_window.postMessage(msg, \"*\");\n console.log(\"Data sent to iframe\")\n }\n }\n\n // useEffect(() => {\n // sendToIFrame({\n // message_type: \"OPEN_CREATION\",\n // data: {\n // slug: slug,\n // preview: preview,\n // prefill: prefill,\n // ictx: {\n // organization: organization,\n // person: person\n // }\n // }\n // })\n // }, [slug, preview])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"PREFILL\",\n data: {\n prefill: prefill\n }\n })\n }, [prefill])\n\n useEffect(() => {\n if ([\"DOWNLOAD\", \"SHARE\"].includes(actionRef.type)) {\n sendToIFrame({\n message_type: actionRef.type,\n data: actionRef.data || {}\n })\n }\n }, [actionRef])\n\n useEffect(() => {\n sendToIFrame({\n message_type: \"SET_ICTX\",\n data: {\n organization: organization,\n person: person\n }\n })\n }, [organization, person])\n\n useEffect(() => {\n const handler = (ev) => {\n // if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === \"object\") {\n switch (ev.data.event_type) {\n case \"WHOAMI\":\n onInit(ev.data.data);\n break;\n case \"STATUS_UPDATE\":\n onStatusUpdate(ev.data.data);\n break;\n case \"FORM_SUBMIT\":\n onFormSubmit(ev.data.data);\n break;\n case \"SHARE\":\n share(ev.data.data);\n break;\n default:\n console.log(\"No event type found\");\n console.log(ev.data);\n }\n // }\n };\n\n window.addEventListener(\"message\", handler);\n return () => window.removeEventListener(\"message\", handler);\n }, []);\n\n\n const query_string = `${queryfy(prefill)}${organization ? `&qi_organization=${organization}` : \"\"}${person ? `&qi_person=${person}` : \"\"}${background ? `&qi_background=${background}` : \"\"}${fit ? \"&qi_fit\" : \"\"}${preview ? \"&preview\" : \"\"}`\n\n\n return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}?${query_string}`}\n style={{\n width: \"100%\",\n height: \"100vh\",\n outline: \"none\",\n border: \"1px solid #777\",\n ...style\n }}\n allow=\"web-share\"\n />\n}\n\nexport default QurealCollection;\n\n\n// function queryfy(obj) {\n// const buildQueryInternal = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// // return buildQuery(prefixedKey, value);\n// return `${prefixedKey}=${JSON.stringify(value)}`\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// const buildQuery = (prefix, obj) => {\n// return Object.keys(obj)\n// .map(key => {\n// const value = obj[key];\n// const prefixedKey = prefix ? `${prefix}.${key}` : key;\n// if (typeof value === 'object' && value !== null) {\n// return buildQueryInternal(prefixedKey, value);\n// } else {\n// return `${prefixedKey}=${value}`;\n// }\n// })\n// .join(\"&\");\n// };\n// return buildQuery(\"\", obj);\n// }\n\n\nfunction queryfy(obj) {\n const buildQuery = (prefix, obj) => {\n return Object.keys(obj)\n .map(key => {\n const value = obj[key];\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n if (typeof value === 'object' && value !== null) {\n return buildQuery(prefixedKey, value);\n } else {\n return `${prefixedKey}=${value}`;\n }\n })\n .join(\"&\");\n };\n return buildQuery(\"\", obj);\n}"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","is_local","section_list","onIFrameLoad","iframeRef","useRef","prefix","base_url","React","memo","data","navigator","share","canShare","error","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","event_type","addEventListener","window","removeEventListener","queryfy","success","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id","query_string"],"mappings":"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"}
|