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 };