UNPKG

awv3

Version:
1 lines 3.03 kB
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}exports.__esModule=!0,exports.lastCreated=exports.version=void 0;var _getIterator2=require("babel-runtime/core-js/get-iterator"),_getIterator3=_interopRequireDefault(_getIterator2),_map=require("babel-runtime/core-js/map"),_map2=_interopRequireDefault(_map),_classCallCheck2=require("babel-runtime/helpers/classCallCheck"),_classCallCheck3=_interopRequireDefault(_classCallCheck2),_helpers=require("../core/helpers"),_parser=require("../core/parser"),_parser2=_interopRequireDefault(_parser),_events=require("../core/events"),_events2=_interopRequireDefault(_events),_renderer=require("../core/renderer"),_renderer2=_interopRequireDefault(_renderer),version=exports.version="1.0.0",lastCreated=exports.lastCreated=void 0,Canvas=function(){function e(){var r=this,t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];if((0,_classCallCheck3.default)(this,e),this.version=version,this.id=(0,_helpers.guid)(),this.views=[],t.dom||(t.dom=document.createElement("div"),t.dom.style.cssText="position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none;"),this.dom=(0,_helpers.queryDom)(t.dom),this.dom.addEventListener("contextmenu",function(e){return e.preventDefault()},!1),this.debugLevel=t.debugLevel||parseInt((0,_helpers.url)("debugLevel"))||0,!lastCreated){var s="%c AWV.3 %c ES2015 %c "+version+" %c Resolution:"+(t.resolution||parseFloat((0,_helpers.url)("resolution"))||1)+" %c Cores:"+(navigator.hardwareConcurrency||4)+" ";console.log(s,"background: black; color: white;","background: gray; color: white;","background: #c23369; color: white;","background: #28d79f; color: white;","background: #28b4d7; color: white;")}this.events=new _events2.default,this.renderer=new _renderer2.default(this,t),this.parser=new _parser2.default,this.scopes=new _map2.default,this.observer=new MutationObserver(function(e){for(var t=e,s=Array.isArray(t),o=0,t=s?t:(0,_getIterator3.default)(t);;){var a;if(s){if(o>=t.length)break;a=t[o++]}else{if(o=t.next(),o.done)break;a=o.value}var i=a;if(i.addedNodes.length>0||i.removedNodes.length>0){r.scopes.clear();for(var n=r.views,l=Array.isArray(n),d=0,n=l?n:(0,_getIterator3.default)(n);;){var u;if(l){if(d>=n.length)break;u=n[d++]}else{if(d=n.next(),d.done)break;u=d.value}var c=u;c.updateScopes()}}i.target===r.dom?r.renderer.invalidateCanvas(30):r.renderer.invalidateViews(30)}}),this.observer.observe(this.dom,{childList:!0,subtree:!0,attributes:!0,characterData:!1,attributeOldValue:!1,characterDataOldValue:!1}),exports.lastCreated=lastCreated=this}return e.prototype.destroy=function(){this.observer.disconnect(),this.observer=void 0,this.scopes=void 0,this.views.forEach(function(e){return e.destroy()}),this.parser=void 0,this.renderer.destroy(),this.renderer=void 0,this.events.removeListeners(),this.events.removeInspectors(),this.events=void 0},e}();exports.default=Canvas;