qureal-editor 1.0.29 → 1.0.31
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 +36 -38
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +36 -38
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -185,8 +185,6 @@ var share$1 = function () {
|
|
|
185
185
|
};
|
|
186
186
|
}();
|
|
187
187
|
|
|
188
|
-
var ALLOWED_ORIGINS$1 = ["https://show.qureal.com", "http://localhost:3201"];
|
|
189
|
-
|
|
190
188
|
function QurealViewer(_ref) {
|
|
191
189
|
var _ref$slug = _ref.slug,
|
|
192
190
|
slug = _ref$slug === undefined ? "qi_sample" : _ref$slug,
|
|
@@ -274,25 +272,25 @@ function QurealViewer(_ref) {
|
|
|
274
272
|
|
|
275
273
|
useEffect(function () {
|
|
276
274
|
var handler = function handler(ev) {
|
|
277
|
-
if (ALLOWED_ORIGINS
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
275
|
+
// if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === "object") {
|
|
276
|
+
switch (ev.data.event_type) {
|
|
277
|
+
case "WHOAMI":
|
|
278
|
+
onInit(ev.data.data);
|
|
279
|
+
break;
|
|
280
|
+
case "STATUS_UPDATE":
|
|
281
|
+
onStatusUpdate(ev.data.data);
|
|
282
|
+
break;
|
|
283
|
+
case "FORM_SUBMIT":
|
|
284
|
+
onFormSubmit(ev.data.data);
|
|
285
|
+
break;
|
|
286
|
+
case "SHARE":
|
|
287
|
+
share$1(ev.data.data);
|
|
288
|
+
break;
|
|
289
|
+
default:
|
|
290
|
+
console.log("No event type found");
|
|
291
|
+
console.log(ev.data);
|
|
295
292
|
}
|
|
293
|
+
// }
|
|
296
294
|
};
|
|
297
295
|
|
|
298
296
|
window.addEventListener("message", handler);
|
|
@@ -426,25 +424,25 @@ function QurealCollection(_ref) {
|
|
|
426
424
|
|
|
427
425
|
useEffect(function () {
|
|
428
426
|
var handler = function handler(ev) {
|
|
429
|
-
if (ALLOWED_ORIGINS.includes(ev.origin) &&
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
}
|
|
427
|
+
// if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === "object") {
|
|
428
|
+
switch (ev.data.event_type) {
|
|
429
|
+
case "WHOAMI":
|
|
430
|
+
onInit(ev.data.data);
|
|
431
|
+
break;
|
|
432
|
+
case "STATUS_UPDATE":
|
|
433
|
+
onStatusUpdate(ev.data.data);
|
|
434
|
+
break;
|
|
435
|
+
case "FORM_SUBMIT":
|
|
436
|
+
onFormSubmit(ev.data.data);
|
|
437
|
+
break;
|
|
438
|
+
case "SHARE":
|
|
439
|
+
share(ev.data.data);
|
|
440
|
+
break;
|
|
441
|
+
default:
|
|
442
|
+
console.log("No event type found");
|
|
443
|
+
console.log(ev.data);
|
|
447
444
|
}
|
|
445
|
+
// }
|
|
448
446
|
};
|
|
449
447
|
|
|
450
448
|
window.addEventListener("message", handler);
|
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\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {} }) {\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 return (\n <Fragment>\n <iframe\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={`https://show.qureal.com/${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}) {\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 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 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 />\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\";\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 return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}`}\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;"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","prefix","React","memo","data","navigator","share","canShare","error","ALLOWED_ORIGINS","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","origin","babelHelpers.typeof","event_type","addEventListener","window","removeEventListener","queryfy","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id"],"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\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {} }) {\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 return (\n <Fragment>\n <iframe\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={`https://show.qureal.com/${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}) {\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 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 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 />\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\";\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 return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}`}\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;"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","prefix","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"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -192,8 +192,6 @@ var share$1 = function () {
|
|
|
192
192
|
};
|
|
193
193
|
}();
|
|
194
194
|
|
|
195
|
-
var ALLOWED_ORIGINS$1 = ["https://show.qureal.com", "http://localhost:3201"];
|
|
196
|
-
|
|
197
195
|
function QurealViewer(_ref) {
|
|
198
196
|
var _ref$slug = _ref.slug,
|
|
199
197
|
slug = _ref$slug === undefined ? "qi_sample" : _ref$slug,
|
|
@@ -281,25 +279,25 @@ function QurealViewer(_ref) {
|
|
|
281
279
|
|
|
282
280
|
React.useEffect(function () {
|
|
283
281
|
var handler = function handler(ev) {
|
|
284
|
-
if (ALLOWED_ORIGINS
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
}
|
|
282
|
+
// if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === "object") {
|
|
283
|
+
switch (ev.data.event_type) {
|
|
284
|
+
case "WHOAMI":
|
|
285
|
+
onInit(ev.data.data);
|
|
286
|
+
break;
|
|
287
|
+
case "STATUS_UPDATE":
|
|
288
|
+
onStatusUpdate(ev.data.data);
|
|
289
|
+
break;
|
|
290
|
+
case "FORM_SUBMIT":
|
|
291
|
+
onFormSubmit(ev.data.data);
|
|
292
|
+
break;
|
|
293
|
+
case "SHARE":
|
|
294
|
+
share$1(ev.data.data);
|
|
295
|
+
break;
|
|
296
|
+
default:
|
|
297
|
+
console.log("No event type found");
|
|
298
|
+
console.log(ev.data);
|
|
302
299
|
}
|
|
300
|
+
// }
|
|
303
301
|
};
|
|
304
302
|
|
|
305
303
|
window.addEventListener("message", handler);
|
|
@@ -433,25 +431,25 @@ function QurealCollection(_ref) {
|
|
|
433
431
|
|
|
434
432
|
React.useEffect(function () {
|
|
435
433
|
var handler = function handler(ev) {
|
|
436
|
-
if (ALLOWED_ORIGINS.includes(ev.origin) &&
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
434
|
+
// if (ALLOWED_ORIGINS.includes(ev.origin) && typeof ev.data === "object") {
|
|
435
|
+
switch (ev.data.event_type) {
|
|
436
|
+
case "WHOAMI":
|
|
437
|
+
onInit(ev.data.data);
|
|
438
|
+
break;
|
|
439
|
+
case "STATUS_UPDATE":
|
|
440
|
+
onStatusUpdate(ev.data.data);
|
|
441
|
+
break;
|
|
442
|
+
case "FORM_SUBMIT":
|
|
443
|
+
onFormSubmit(ev.data.data);
|
|
444
|
+
break;
|
|
445
|
+
case "SHARE":
|
|
446
|
+
share(ev.data.data);
|
|
447
|
+
break;
|
|
448
|
+
default:
|
|
449
|
+
console.log("No event type found");
|
|
450
|
+
console.log(ev.data);
|
|
454
451
|
}
|
|
452
|
+
// }
|
|
455
453
|
};
|
|
456
454
|
|
|
457
455
|
window.addEventListener("message", handler);
|
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\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {} }) {\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 return (\n <Fragment>\n <iframe\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={`https://show.qureal.com/${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}) {\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 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 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 />\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\";\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 return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}`}\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;"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","prefix","React","memo","data","navigator","share","canShare","error","ALLOWED_ORIGINS","QurealViewer","prefill","onFormSubmit","actionRef","organization","person","background","fit","onInit","onStatusUpdate","sendToIFrame","msg","log","qureal_element","document","getElementById","qureal_window","contentWindow","postMessage","includes","handler","ev","origin","babelHelpers.typeof","event_type","addEventListener","window","removeEventListener","queryfy","obj","buildQuery","Object","keys","map","value","key","prefixedKey","join","useQurealActions","useState","setActionRef","download","QurealCollection","collection_id"],"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\n\nfunction QurealiFrame({ slug, preview, query, type = \"creation\", creation_type = \"singlepage\", style = {} }) {\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 return (\n <Fragment>\n <iframe\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={`https://show.qureal.com/${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}) {\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 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 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 />\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\";\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 return <iframe\n id=\"qureal_iframe\"\n title=\"Qureal\"\n src={`https://show.qureal.com/embedlist/${collection_id}`}\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;"],"names":["QurealiFrame","slug","preview","query","type","creation_type","style","prefix","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"],"mappings":"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"}
|