cables_dev/cables/src/core/embedding.js
import Patch from "./core_patch.js";
import { generateUUID } from "./utils.js";
const EMBED = {};
/**
* add patch into html element (will create canvas and set size to fill containerElement)
* @name CABLES.EMBED#addPatch
* @param {object|string} _element containerElement dom element or id of element
* @param {object} options patch options
* @function
*/
EMBED.addPatch = function (_element, options)
{
let el = _element;
let id = generateUUID();
if (typeof _element == "string")
{
id = _element;
el = document.getElementById(id);
if (!el)
{
console.error(id + " Polyshape Container Element not found!");
return;
}
}
const canvEl = document.createElement("canvas");
canvEl.id = "glcanvas_" + id;
canvEl.width = el.clientWidth;
canvEl.height = el.clientHeight;
window.addEventListener(
"resize",
function ()
{
this.setAttribute("width", el.clientWidth);
this.height = el.clientHeight;
}.bind(canvEl),
);
el.appendChild(canvEl);
options = options || {};
options.glCanvasId = canvEl.id;
if (!options.onError)
{
options.onError = function (err)
{
console.error(err);
};
}
CABLES.patch = new Patch(options);
return canvEl;
};
export { EMBED };