@times-components/interactive-wrapper
Version:
Wrapper for legacy Interactive components
43 lines (34 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// NOTE: this function must be self-contained, i.e. contain no references to variables
// defined outside the function, so that it can be passed into a WebView.
/* eslint-env browser */
const webviewEventCallbackSetup = options => {
const window = options.window;
window.eventCallback = (type, detail) => {
window.postMessage(JSON.stringify({
detail,
isTngMessage: true,
type
}));
};
window.addEventListener("error", ev => {
const file = (ev.filename || "").substring(0, 100);
window.eventCallback("error", "msg=".concat(ev.message || "", ", file=").concat(file, ", line=").concat(ev.lineno || "", ", col=").concat(ev.colno || ""));
}); // eslint-disable-next-line no-console
window.console.error = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
window.eventCallback("error", args.join("\n"));
};
const meta = window.document.createElement("meta");
meta.setAttribute("content", "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0");
meta.setAttribute("name", "viewport");
window.document.getElementsByTagName("head")[0].appendChild(meta);
};
var _default = webviewEventCallbackSetup;
exports.default = _default;