@lmjs/core 2.1.3 → 2.1.5
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/lumenjs-core.js +5 -5
- package/package.json +1 -1
- package/src/_re.js +29 -0
- package/src/dom-shim.js +15 -0
- package/vendor/reconnecting-websocket.js +83 -8
package/dist/lumenjs-core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* LumenJS V2 core — generated by packages/core/build/bundle.js, do not edit directly */
|
|
2
|
-
(function(global){function toArray(x){if(x==null)return[];if(typeof NodeList!=="undefined"&&x instanceof NodeList)return Array.prototype.slice.call(x);if(typeof HTMLCollection!=="undefined"&&x instanceof HTMLCollection)return Array.prototype.slice.call(x);if(Array.isArray(x))return x;if(x instanceof $)return Array.prototype.slice.call(x);return[x]}function $(selector,context){if(!(this instanceof $))return new $(selector,context);var els=[];var sel=void 0;if(!selector){els=[]}else if(typeof selector==="string"){var trimmed=selector.trim();if(trimmed[0]==="<"){var tpl=document.createElement("template");tpl.innerHTML=trimmed;els=toArray(tpl.content.childNodes).filter(function(n){return n.nodeType===1})}else{sel=selector;var root=context?context instanceof $?context[0]:context:document;els=root?toArray(root.querySelectorAll(selector)):[]}}else{els=toArray(selector)}for(var i=0;i<els.length;i++)this[i]=els[i];this.length=els.length;this.selector=sel;return this}$.fn=$.prototype;$.fn.jquery="lumenjs-shim";$.fn.extend=function(methods){for(var k in methods)if(Object.prototype.hasOwnProperty.call(methods,k))$.fn[k]=methods[k];return $};$.extend=function(target){for(var i=1;i<arguments.length;i++){var src=arguments[i];for(var k in src)if(Object.prototype.hasOwnProperty.call(src,k))target[k]=src[k]}return target};$.Event=function(type,props){var e=typeof type==="string"?new Event(type,{bubbles:true,cancelable:true}):type;if(props)for(var k in props)e[k]=props[k];return e};$.proxy=function(fn,context){return fn.bind(context)};$.trim=function(s){return(s==null?"":String(s)).trim()};$.inArray=function(val,arr){return Array.prototype.indexOf.call(arr,val)};$.each=function(arr,fn){if(Array.isArray(arr)||arr instanceof $){for(var i=0;i<arr.length;i++)if(fn.call(arr[i],i,arr[i])===false)break}else{for(var k in arr)if(fn.call(arr[k],k,arr[k])===false)break}return arr};var _ajaxActive=0;$.ajax=function(opts){opts=opts||{};var method=(opts.method||opts.type||"GET").toUpperCase();var init={method,headers:opts.headers||{}};if(opts.data!=null&&method!=="GET"){init.body=typeof opts.data==="string"?opts.data:JSON.stringify(opts.data)}if(_ajaxActive===0)$(document).trigger("ajaxStart");_ajaxActive++;$(document).trigger("ajaxSend");return fetch(opts.url,init).then(function(res){var ct=res.headers.get("content-type")||"";return ct.indexOf("json")>-1?res.json():res.text()}).then(function(data){opts.success&&opts.success(data);$(document).trigger("ajaxSuccess");return data}).catch(function(err){opts.error&&opts.error(err);$(document).trigger("ajaxError");throw err}).finally(function(){_ajaxActive--;$(document).trigger("ajaxComplete");if(_ajaxActive===0)$(document).trigger("ajaxStop")})};$.fn.each=function(fn){for(var i=0;i<this.length;i++)if(fn.call(this[i],i,this[i])===false)break;return this};$.fn.get=function(i){return i===void 0?toArray(this):this[i]};$.fn.not=function(exclude){var excludeArr=exclude instanceof $?toArray(exclude):Array.isArray(exclude)?exclude:[exclude];var out=[];this.each(function(){if(excludeArr.indexOf(this)===-1)out.push(this)});return $(out)};$.fn.attr=function(name,value){if(value===void 0)return this[0]?this[0].getAttribute(name):void 0;return this.each(function(){this.setAttribute(name,value)})};$.fn.prop=function(name,value){if(value===void 0)return this[0]?this[0][name]:void 0;return this.each(function(){this[name]=value})};$.fn.removeAttr=function(name){return this.each(function(){this.removeAttribute(name)})};$.fn.hasAttr=function(name){return!!(this[0]&&this[0].getAttribute(name)!=null)};$.fn.data=function(key,value){if(value===void 0){if(!this[0])return void 0;if(key===void 0)return Object.assign({},this[0].dataset);var v=this[0].dataset[key];try{return JSON.parse(v)}catch(e){return v}}return this.each(function(){this.dataset[key]=typeof value==="string"?value:JSON.stringify(value)})};$.fn.val=function(value){if(value===void 0)return this[0]?this[0].value:void 0;return this.each(function(){this.value=value})};$.fn.html=function(value){if(value===void 0)return this[0]?this[0].innerHTML:void 0;if(typeof value!=="string"){var nodes=_normalizeAppendable([value]);return this.each(function(){this.innerHTML="";var self=this;nodes.forEach(function(n){self.appendChild(n)})})}return this.each(function(){this.innerHTML=value})};$.fn.text=function(value){if(value===void 0)return this[0]?this[0].textContent:"";return this.each(function(){this.textContent=value})};$.fn.css=function(name,value){if(typeof name==="object"){return this.each(function(){var el=this;for(var k in name)el.style[k]=name[k]})}if(value===void 0)return this[0]?getComputedStyle(this[0])[name]:void 0;return this.each(function(){this.style[name]=value})};$.fn.addClass=function(cls){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){this.classList.add.apply(this.classList,list)})};$.fn.removeClass=function(cls){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){this.classList.remove.apply(this.classList,list)})};$.fn.hasClass=function(cls){return!!(this[0]&&this[0].classList.contains(cls))};$.fn.toggleClass=function(cls,force){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){var el=this;list.forEach(function(c){el.classList.toggle(c,force)})})};$.fn.remove=function(){return this.each(function(){this.parentNode&&this.parentNode.removeChild(this)})};function _normalizeAppendable(args){var out=[];function add(item){if(item==null)return;if(Array.isArray(item)){item.forEach(add);return}if(item instanceof $){for(var i2=0;i2<item.length;i2++)add(item[i2]);return}if(typeof item==="string"){var tpl=document.createElement("template");tpl.innerHTML=item;while(tpl.content.firstChild)out.push(tpl.content.removeChild(tpl.content.firstChild));return}if(item instanceof Node){out.push(item);return}}for(var i=0;i<args.length;i++)add(args[i]);return out}$.fn.append=function(){if(arguments.length===1&&typeof arguments[0]==="string"){var html=arguments[0];return this.each(function(){this.insertAdjacentHTML("beforeend",html)})}var nodes=_normalizeAppendable(arguments);return this.each(function(){var self=this;nodes.forEach(function(n){self.appendChild(n)})})};$.fn.prepend=function(){if(arguments.length===1&&typeof arguments[0]==="string"){var html=arguments[0];return this.each(function(){this.insertAdjacentHTML("afterbegin",html)})}var nodes=_normalizeAppendable(arguments);return this.each(function(){var self=this;var ref=self.firstChild;nodes.forEach(function(n){self.insertBefore(n,ref)})})};$.fn.after=function(content){return this.each(function(){if(typeof content==="string")this.insertAdjacentHTML("afterend",content);else this.parentNode.insertBefore(content instanceof $?content[0]:content,this.nextSibling)})};$.fn.appendTo=function(target){$(target).append(this);return this};$.fn.width=function(){return this[0]?this[0].offsetWidth:0};$.fn.height=function(){return this[0]?this[0].offsetHeight:0};$.fn.outerWidth=function(includeMargin){if(!this[0])return 0;var w=this[0].offsetWidth;if(includeMargin){var s=getComputedStyle(this[0]);w+=parseFloat(s.marginLeft||0)+parseFloat(s.marginRight||0)}return w};$.fn.outerHeight=function(includeMargin){if(!this[0])return 0;var h=this[0].offsetHeight;if(includeMargin){var s=getComputedStyle(this[0]);h+=parseFloat(s.marginTop||0)+parseFloat(s.marginBottom||0)}return h};$.fn.parent=function(){return $(this[0]?this[0].parentElement:null)};$.fn.next=function(){return $(this[0]?this[0].nextElementSibling:null)};$.fn.closest=function(sel){return $(this[0]?this[0].closest(sel):null)};$.fn.find=function(sel){var out=[];this.each(function(){var found=this.querySelectorAll(sel);for(var i=0;i<found.length;i++)if(out.indexOf(found[i])===-1)out.push(found[i])});return $(out)};var JQUERY_PSEUDOS={":checkbox":function(el){return el.tagName==="INPUT"&&el.type==="checkbox"},":radio":function(el){return el.tagName==="INPUT"&&el.type==="radio"},":checked":function(el){return!!el.checked}};$.fn.is=function(sel){if(!this[0])return false;if(JQUERY_PSEUDOS[sel])return JQUERY_PSEUDOS[sel](this[0]);try{return this[0].matches(sel)}catch(e){return false}};$.fn.ready=function(fn){if(document.readyState!=="loading")fn($);else document.addEventListener("DOMContentLoaded",function(){fn($)});return this};["ajaxStart","ajaxStop","ajaxSend","ajaxSuccess","ajaxError","ajaxComplete"].forEach(function(name){$.fn[name]=function(fn){return this.on(name,fn)}});var EVENT_NAME_MAP={touch:"touchstart",focus:"focusin",blur:"focusout"};var _eventBuses=typeof WeakMap!=="undefined"?new WeakMap:null;function _isNode(x){return x===window||x===document||typeof Node!=="undefined"&&x instanceof Node}function _isRealEventTarget(x){return x!=null&&typeof x.addEventListener==="function"&&typeof x.dispatchEvent==="function"}function _eventTargetFor(x){if(_isNode(x)||_isRealEventTarget(x))return x;if(!_eventBuses.has(x))_eventBuses.set(x,new EventTarget);return _eventBuses.get(x)}var AT_ATTR_SELECTOR=/^\[\\@([\w-]+)\]$/;$.fn.on=function(events,selector,handler){if(typeof selector==="function"){handler=selector;selector=null}var evts=events.split(/\s+/).filter(Boolean);var atMatch=selector&&AT_ATTR_SELECTOR.exec(selector);var atAttr=atMatch?"@"+atMatch[1]:null;return this.each(function(){var node=this;var bus=_eventTargetFor(node);evts.forEach(function(evt){var real=EVENT_NAME_MAP[evt]||evt;bus.addEventListener(real,function(e){if(atAttr){var el=e.target;var match=null;while(el&&el.nodeType===1){if(el.getAttribute(atAttr)!=null){match=el;break}el=el.parentElement}if(match&&node.contains(match))handler.call(match,e)}else if(selector&&_isNode(node)){var match2=e.target.closest(selector);if(match2&&node.contains(match2))handler.call(match2,e)}else{handler.call(node,e)}})})})};$.fn.click=function(handler){return handler?this.on("click",handler):this.trigger("click")};$.fn.keydown=function(handler){return handler?this.on("keydown",handler):this.trigger("keydown")};$.fn.trigger=function(type,data){return this.each(function(){var bus=_eventTargetFor(this);var ev;if(type instanceof Event){ev=type}else if(type&&typeof type==="object"&&typeof type.type==="string"){ev=new Event(type.type,{bubbles:_isNode(this)});for(var k in type){if(k!=="type"&&Object.prototype.hasOwnProperty.call(type,k)){try{ev[k]=type[k]}catch(e){}}}}else{ev=new Event(type,{bubbles:_isNode(this)})}if(data!==void 0)ev.detail=data;bus.dispatchEvent(ev)})};$.fn.unbind=function(){return this};["click","dblclick","keyup","keydown","keypress","focus","blur","change","submit","focusin","focusout","mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","mousemove","resize","scroll","load","select"].forEach(function(name){$.fn[name]=function(handler){return handler?this.on(name,handler):this.trigger(name)}});$.fn.hover=function(enter,leave){this.on("mouseenter",enter);this.on("mouseleave",leave||enter);return this};var _animTimers=new WeakMap;function _animGetScroll(el,prop){if(el===window)return prop==="scrollLeft"?window.pageXOffset:window.pageYOffset;return el[prop]}function _animSetScroll(el,prop,val){if(el===window){if(prop==="scrollLeft")window.scrollTo(val,window.pageYOffset);else window.scrollTo(window.pageXOffset,val)}else{el[prop]=val}}var _cssNumberProps={opacity:1,zIndex:1,zoom:1,fontWeight:1,lineHeight:1,columnCount:1,flexGrow:1,flexShrink:1,order:1,widows:1,orphans:1};function _animSetStyle(el,prop,val){el.style[prop]=_cssNumberProps[prop]?val:val+"px"}$.fn.animate=function(props,options){var opts=typeof options==="number"?{duration:options}:options||{};var duration=opts.duration==null?400:opts.duration;this.each(function(){var el=this;var isWindowScroll=el===document.documentElement||el===document.body;var target=isWindowScroll?window:el;var start={};var isScrollProp={};for(var prop in props){if(!Object.prototype.hasOwnProperty.call(props,prop))continue;isScrollProp[prop]=prop==="scrollTop"||prop==="scrollLeft";if(isScrollProp[prop]){start[prop]=_animGetScroll(isWindowScroll?window:el,prop)}else{start[prop]=parseFloat(getComputedStyle(el)[prop])||0}}var existing=_animTimers.get(el);if(existing)cancelAnimationFrame(existing);if(duration===0){for(var p in props){var v=parseFloat(props[p]);if(isScrollProp[p])_animSetScroll(isWindowScroll?window:el,p,v);else _animSetStyle(el,p,v)}if(opts.complete)opts.complete.call(el);return}var startTime=null;function step(ts){if(startTime===null)startTime=ts;var elapsed=ts-startTime;var t=Math.min(1,elapsed/duration);for(var p2 in props){if(!Object.prototype.hasOwnProperty.call(props,p2))continue;var end=parseFloat(props[p2]);var val=start[p2]+(end-start[p2])*t;if(isScrollProp[p2])_animSetScroll(isWindowScroll?window:el,p2,val);else _animSetStyle(el,p2,val)}if(t<1){_animTimers.set(el,requestAnimationFrame(step))}else{_animTimers.delete(el);if(opts.complete)opts.complete.call(el)}}_animTimers.set(el,requestAnimationFrame(step))});return this};$.fn.stop=function(){this.each(function(){var id=_animTimers.get(this);if(id){cancelAnimationFrame(id);_animTimers.delete(this)}});return this};global.$=$;global.jQuery=$})(typeof window!=="undefined"?window:globalThis);
|
|
2
|
+
(function(global){function toArray(x){if(x==null)return[];if(typeof NodeList!=="undefined"&&x instanceof NodeList)return Array.prototype.slice.call(x);if(typeof HTMLCollection!=="undefined"&&x instanceof HTMLCollection)return Array.prototype.slice.call(x);if(Array.isArray(x))return x;if(x instanceof $)return Array.prototype.slice.call(x);return[x]}function $(selector,context){if(!(this instanceof $))return new $(selector,context);var els=[];var sel=void 0;if(!selector){els=[]}else if(typeof selector==="string"){var trimmed=selector.trim();if(trimmed[0]==="<"){var tpl=document.createElement("template");tpl.innerHTML=trimmed;els=toArray(tpl.content.childNodes).filter(function(n){return n.nodeType===1})}else{sel=selector;var root=context?context instanceof $?context[0]:context:document;els=root?toArray(root.querySelectorAll(selector)):[]}}else{els=toArray(selector)}for(var i=0;i<els.length;i++)this[i]=els[i];this.length=els.length;this.selector=sel;return this}$.fn=$.prototype;$.fn.jquery="lumenjs-shim";$.fn.extend=function(methods){for(var k in methods)if(Object.prototype.hasOwnProperty.call(methods,k))$.fn[k]=methods[k];return $};$.extend=function(target){for(var i=1;i<arguments.length;i++){var src=arguments[i];for(var k in src)if(Object.prototype.hasOwnProperty.call(src,k))target[k]=src[k]}return target};$.Event=function(type,props){var e=typeof type==="string"?new Event(type,{bubbles:true,cancelable:true}):type;if(props)for(var k in props)e[k]=props[k];return e};$.proxy=function(fn,context){return fn.bind(context)};$.trim=function(s){return(s==null?"":String(s)).trim()};$.inArray=function(val,arr){return Array.prototype.indexOf.call(arr,val)};$.each=function(arr,fn){if(Array.isArray(arr)||arr instanceof $){for(var i=0;i<arr.length;i++)if(fn.call(arr[i],i,arr[i])===false)break}else{for(var k in arr)if(fn.call(arr[k],k,arr[k])===false)break}return arr};var _ajaxActive=0;$.ajax=function(opts){opts=opts||{};var method=(opts.method||opts.type||"GET").toUpperCase();var init={method,headers:opts.headers||{}};if(opts.data!=null&&method!=="GET"){init.body=typeof opts.data==="string"?opts.data:JSON.stringify(opts.data)}if(_ajaxActive===0)$(document).trigger("ajaxStart");_ajaxActive++;$(document).trigger("ajaxSend");return fetch(opts.url,init).then(function(res){var ct=res.headers.get("content-type")||"";return ct.indexOf("json")>-1?res.json():res.text()}).then(function(data){opts.success&&opts.success(data);$(document).trigger("ajaxSuccess");return data}).catch(function(err){opts.error&&opts.error(err);$(document).trigger("ajaxError");throw err}).finally(function(){_ajaxActive--;$(document).trigger("ajaxComplete");if(_ajaxActive===0)$(document).trigger("ajaxStop")})};$.fn.each=function(fn){for(var i=0;i<this.length;i++)if(fn.call(this[i],i,this[i])===false)break;return this};$.fn.get=function(i){return i===void 0?toArray(this):this[i]};$.fn.not=function(exclude){var excludeArr=exclude instanceof $?toArray(exclude):Array.isArray(exclude)?exclude:[exclude];var out=[];this.each(function(){if(excludeArr.indexOf(this)===-1)out.push(this)});return $(out)};$.fn.attr=function(name,value){if(value===void 0)return this[0]?this[0].getAttribute(name):void 0;return this.each(function(){this.setAttribute(name,value)})};$.fn.prop=function(name,value){if(value===void 0)return this[0]?this[0][name]:void 0;return this.each(function(){this[name]=value})};$.fn.removeAttr=function(name){return this.each(function(){this.removeAttribute(name)})};$.fn.hasAttr=function(name){return!!(this[0]&&this[0].getAttribute(name)!=null)};$.fn.data=function(key,value){if(value===void 0){if(!this[0])return void 0;if(key===void 0)return Object.assign({},this[0].dataset);var v=this[0].dataset[key];try{return JSON.parse(v)}catch(e){return v}}return this.each(function(){this.dataset[key]=typeof value==="string"?value:JSON.stringify(value)})};$.fn.val=function(value){if(value===void 0)return this[0]?this[0].value:void 0;return this.each(function(){this.value=value})};$.fn.html=function(value){if(value===void 0)return this[0]?this[0].innerHTML:void 0;if(typeof value!=="string"){var nodes=_normalizeAppendable([value]);return this.each(function(){this.innerHTML="";var self=this;nodes.forEach(function(n){self.appendChild(n)})})}return this.each(function(){this.innerHTML=value})};$.fn.text=function(value){if(value===void 0)return this[0]?this[0].textContent:"";return this.each(function(){this.textContent=value})};$.fn.css=function(name,value){if(typeof name==="object"){return this.each(function(){var el=this;for(var k in name)el.style[k]=name[k]})}if(value===void 0)return this[0]?getComputedStyle(this[0])[name]:void 0;return this.each(function(){this.style[name]=value})};$.fn.addClass=function(cls){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){this.classList.add.apply(this.classList,list)})};$.fn.removeClass=function(cls){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){this.classList.remove.apply(this.classList,list)})};$.fn.hasClass=function(cls){return!!(this[0]&&this[0].classList.contains(cls))};$.fn.toggleClass=function(cls,force){var list=cls.split(/\s+/).filter(Boolean);return this.each(function(){var el=this;list.forEach(function(c){el.classList.toggle(c,force)})})};$.fn.remove=function(){return this.each(function(){this.parentNode&&this.parentNode.removeChild(this)})};function _normalizeAppendable(args){var out=[];function add(item){if(item==null)return;if(Array.isArray(item)){item.forEach(add);return}if(item instanceof $){for(var i2=0;i2<item.length;i2++)add(item[i2]);return}if(typeof item==="string"){var tpl=document.createElement("template");tpl.innerHTML=item;while(tpl.content.firstChild)out.push(tpl.content.removeChild(tpl.content.firstChild));return}if(item instanceof Node){out.push(item);return}}for(var i=0;i<args.length;i++)add(args[i]);return out}$.fn.append=function(){if(arguments.length===1&&typeof arguments[0]==="string"){var html=arguments[0];return this.each(function(){this.insertAdjacentHTML("beforeend",html)})}var nodes=_normalizeAppendable(arguments);return this.each(function(){var self=this;nodes.forEach(function(n){self.appendChild(n)})})};$.fn.prepend=function(){if(arguments.length===1&&typeof arguments[0]==="string"){var html=arguments[0];return this.each(function(){this.insertAdjacentHTML("afterbegin",html)})}var nodes=_normalizeAppendable(arguments);return this.each(function(){var self=this;var ref=self.firstChild;nodes.forEach(function(n){self.insertBefore(n,ref)})})};$.fn.after=function(content){return this.each(function(){if(typeof content==="string")this.insertAdjacentHTML("afterend",content);else this.parentNode.insertBefore(content instanceof $?content[0]:content,this.nextSibling)})};$.fn.appendTo=function(target){$(target).append(this);return this};$.fn.width=function(){return this[0]?this[0].offsetWidth:0};$.fn.height=function(){return this[0]?this[0].offsetHeight:0};$.fn.outerWidth=function(includeMargin){if(!this[0])return 0;var w=this[0].offsetWidth;if(includeMargin){var s=getComputedStyle(this[0]);w+=parseFloat(s.marginLeft||0)+parseFloat(s.marginRight||0)}return w};$.fn.outerHeight=function(includeMargin){if(!this[0])return 0;var h=this[0].offsetHeight;if(includeMargin){var s=getComputedStyle(this[0]);h+=parseFloat(s.marginTop||0)+parseFloat(s.marginBottom||0)}return h};$.fn.offset=function(){if(!this[0])return null;var rect=this[0].getBoundingClientRect();var docEl=document.documentElement;return{top:rect.top+(window.pageYOffset||docEl.scrollTop)-(docEl.clientTop||0),left:rect.left+(window.pageXOffset||docEl.scrollLeft)-(docEl.clientLeft||0)}};$.fn.parent=function(){return $(this[0]?this[0].parentElement:null)};$.fn.next=function(){return $(this[0]?this[0].nextElementSibling:null)};$.fn.closest=function(sel){return $(this[0]?this[0].closest(sel):null)};$.fn.find=function(sel){var out=[];this.each(function(){var found=this.querySelectorAll(sel);for(var i=0;i<found.length;i++)if(out.indexOf(found[i])===-1)out.push(found[i])});return $(out)};var JQUERY_PSEUDOS={":checkbox":function(el){return el.tagName==="INPUT"&&el.type==="checkbox"},":radio":function(el){return el.tagName==="INPUT"&&el.type==="radio"},":checked":function(el){return!!el.checked}};$.fn.is=function(sel){if(!this[0])return false;if(JQUERY_PSEUDOS[sel])return JQUERY_PSEUDOS[sel](this[0]);try{return this[0].matches(sel)}catch(e){return false}};$.fn.ready=function(fn){if(document.readyState!=="loading")fn($);else document.addEventListener("DOMContentLoaded",function(){fn($)});return this};["ajaxStart","ajaxStop","ajaxSend","ajaxSuccess","ajaxError","ajaxComplete"].forEach(function(name){$.fn[name]=function(fn){return this.on(name,fn)}});var EVENT_NAME_MAP={touch:"touchstart",focus:"focusin",blur:"focusout"};var _eventBuses=typeof WeakMap!=="undefined"?new WeakMap:null;function _isNode(x){return x===window||x===document||typeof Node!=="undefined"&&x instanceof Node}function _isRealEventTarget(x){return x!=null&&typeof x.addEventListener==="function"&&typeof x.dispatchEvent==="function"}function _eventTargetFor(x){if(_isNode(x)||_isRealEventTarget(x))return x;if(!_eventBuses.has(x))_eventBuses.set(x,new EventTarget);return _eventBuses.get(x)}var AT_ATTR_SELECTOR=/^\[\\@([\w-]+)\]$/;$.fn.on=function(events,selector,handler){if(typeof selector==="function"){handler=selector;selector=null}var evts=events.split(/\s+/).filter(Boolean);var atMatch=selector&&AT_ATTR_SELECTOR.exec(selector);var atAttr=atMatch?"@"+atMatch[1]:null;return this.each(function(){var node=this;var bus=_eventTargetFor(node);evts.forEach(function(evt){var real=EVENT_NAME_MAP[evt]||evt;bus.addEventListener(real,function(e){if(atAttr){var el=e.target;var match=null;while(el&&el.nodeType===1){if(el.getAttribute(atAttr)!=null){match=el;break}el=el.parentElement}if(match&&node.contains(match))handler.call(match,e)}else if(selector&&_isNode(node)){var match2=e.target.closest(selector);if(match2&&node.contains(match2))handler.call(match2,e)}else{handler.call(node,e)}})})})};$.fn.click=function(handler){return handler?this.on("click",handler):this.trigger("click")};$.fn.keydown=function(handler){return handler?this.on("keydown",handler):this.trigger("keydown")};$.fn.trigger=function(type,data){return this.each(function(){var bus=_eventTargetFor(this);var ev;if(type instanceof Event){ev=type}else if(type&&typeof type==="object"&&typeof type.type==="string"){ev=new Event(type.type,{bubbles:_isNode(this)});for(var k in type){if(k!=="type"&&Object.prototype.hasOwnProperty.call(type,k)){try{ev[k]=type[k]}catch(e){}}}}else{ev=new Event(type,{bubbles:_isNode(this)})}if(data!==void 0)ev.detail=data;bus.dispatchEvent(ev)})};$.fn.unbind=function(){return this};["click","dblclick","keyup","keydown","keypress","focus","blur","change","submit","focusin","focusout","mouseenter","mouseleave","mouseover","mouseout","mousedown","mouseup","mousemove","resize","scroll","load","select"].forEach(function(name){$.fn[name]=function(handler){return handler?this.on(name,handler):this.trigger(name)}});$.fn.hover=function(enter,leave){this.on("mouseenter",enter);this.on("mouseleave",leave||enter);return this};var _animTimers=new WeakMap;function _animGetScroll(el,prop){if(el===window)return prop==="scrollLeft"?window.pageXOffset:window.pageYOffset;return el[prop]}function _animSetScroll(el,prop,val){if(el===window){if(prop==="scrollLeft")window.scrollTo(val,window.pageYOffset);else window.scrollTo(window.pageXOffset,val)}else{el[prop]=val}}var _cssNumberProps={opacity:1,zIndex:1,zoom:1,fontWeight:1,lineHeight:1,columnCount:1,flexGrow:1,flexShrink:1,order:1,widows:1,orphans:1};function _animSetStyle(el,prop,val){el.style[prop]=_cssNumberProps[prop]?val:val+"px"}$.fn.animate=function(props,options){var opts=typeof options==="number"?{duration:options}:options||{};var duration=opts.duration==null?400:opts.duration;this.each(function(){var el=this;var isWindowScroll=el===document.documentElement||el===document.body;var target=isWindowScroll?window:el;var start={};var isScrollProp={};for(var prop in props){if(!Object.prototype.hasOwnProperty.call(props,prop))continue;isScrollProp[prop]=prop==="scrollTop"||prop==="scrollLeft";if(isScrollProp[prop]){start[prop]=_animGetScroll(isWindowScroll?window:el,prop)}else{start[prop]=parseFloat(getComputedStyle(el)[prop])||0}}var existing=_animTimers.get(el);if(existing)cancelAnimationFrame(existing);if(duration===0){for(var p in props){var v=parseFloat(props[p]);if(isScrollProp[p])_animSetScroll(isWindowScroll?window:el,p,v);else _animSetStyle(el,p,v)}if(opts.complete)opts.complete.call(el);return}var startTime=null;function step(ts){if(startTime===null)startTime=ts;var elapsed=ts-startTime;var t=Math.min(1,elapsed/duration);for(var p2 in props){if(!Object.prototype.hasOwnProperty.call(props,p2))continue;var end=parseFloat(props[p2]);var val=start[p2]+(end-start[p2])*t;if(isScrollProp[p2])_animSetScroll(isWindowScroll?window:el,p2,val);else _animSetStyle(el,p2,val)}if(t<1){_animTimers.set(el,requestAnimationFrame(step))}else{_animTimers.delete(el);if(opts.complete)opts.complete.call(el)}}_animTimers.set(el,requestAnimationFrame(step))});return this};$.fn.stop=function(){this.each(function(){var id=_animTimers.get(this);if(id){cancelAnimationFrame(id);_animTimers.delete(this)}});return this};global.$=$;global.jQuery=$})(typeof window!=="undefined"?window:globalThis);
|
|
3
3
|
|
|
4
4
|
!function(t){"use strict";var e=null,r=null,n=null,i=null,l=null,o=window,s="WebWorker",a=null,u=null,f=null,p=null,g=null,c=null,h=null;function _(t){return function(e){var r=this._callbackStack[t];return"function"==typeof e&&r.push(e),this}}for(h in null!==(e=(i=i||o)[l=l||s]||null)&&(r=e),c=Array.prototype.slice,n=window.Worker,e=function(){this._constructor.apply(this,arguments)},e.prototype._$=null,e.prototype._callbackStack=null,e.prototype._lastError=null,e.prototype._log=null,e.prototype._nativeWorker=null,e.prototype._state=null,e.prototype._workerBlobUrl=null,e.prototype._workerScript=null,e.prototype._workerUrl=null,e.prototype._constructor=function(e){var r=null,n=null,i=null;if(Object.defineProperty(this,"_$",{configurable:!1,enumerable:!0,value:t(this),writable:!1}),null===(e=e||null)&&this.throwError(g.INVALID_ARGUMENTS,null,!0),"string"==typeof e){let l="";e=t.trim(e);try{window.hasOwnProperty(e)&&"string"==typeof window[e]?(l=window[e],this._workerScript=l):r=t(e)}catch(t){}null!==r&&r.length>0?(n=r.text(),this._workerScript=n):""==l&&(i=e)}this._workerUrl=i,this._callbackStack={error:[],loading:[],loaded:[],starting:[],started:[],terminating:[],terminated:[]},this._assignEventHandlers(),this._state=a.INITIALIZED,this.trigger(f.INITIALIZED)},e.prototype._initLog=function(){return this._log=[],this._log},e.prototype.getUrl=function(){return this._workerUrl},e.prototype.getBlobUrl=function(){return this._workerBlobUrl},e.prototype.getLog=function(){return this._log||this._initLog()},e.prototype.getNativeWorker=function(){return this._nativeWorker},e.prototype.getState=function(){return this._state},e.prototype.isLoading=function(){return this.getState()===a.LOADING},e.prototype.isLoaded=function(){return this.getState()>=a.LOADED&&!this.isTerminated()},e.prototype.isStarting=function(){return this.getState()===a.STARTING},e.prototype.isStarted=function(){return this.getState()>=a.STARTED&&!this.isTerminated()},e.prototype.isTerminating=function(){return this.getState()===a.TERMINATING},e.prototype.isTerminated=function(){return this.getState()===a.TERMINATED},e.prototype.load=function(){var r,n,i=this;return i.isLoading()||i.isLoaded()||(i.trigger(f.WORKER_LOADING),r=i.getUrl()||null,n=function(){var t,r=null;r=i._workerScript,r=e._workerScriptWrapper.replace(/\{\{main-function\}\}/g,r),t=new window.Blob([r],{type:"text/javascript"}),i._workerBlobUrl=window.URL.createObjectURL(t),i._createWorker()},null===r?n():t.ajax({async:!0,url:r,dataType:"text",crossDomain:!0,success:function(t){i._workerScript=t,n()},error:function(){i.throwError(g.WORKER_DID_NOT_LOAD,arguments)}})),i},e.prototype.log=function(t){return(this._log||this._initLog()).push(t),this},e.prototype._createWorker=function(){return this._nativeWorker=new n(this.getBlobUrl()),this._attachMessageParser(),this},e.prototype._assignEventHandlers=function(){function t(t){return function(){var e,r,n=this._callbackStack[t];(e=t.toUpperCase())in a&&(this._state=a[e]);for(;r=n.pop();)r.apply(this,arguments)}}return this.on(f.ERROR,t("error")),this.on(f.WORKER_LOADING,t("loading")),this.on(f.WORKER_LOADED,t("loaded")),this.on(f.WORKER_STARTING,t("starting")),this.on(f.WORKER_STARTED,t("started")),this.on(f.WORKER_TERMINATING,t("terminating")),this.on(f.WORKER_TERMINATED,t("terminated")),this},e.prototype.error=_("error"),e.prototype.loading=_("loading"),e.prototype.loaded=_("loaded"),e.prototype.starting=_("starting"),e.prototype.started=_("started"),e.prototype.terminating=_("terminating"),e.prototype.terminated=_("terminated"),e.prototype.start=function(){var t;return this.isStarting()||this.isStarted()?this:(t=c.call(arguments),this.isLoaded()?(this.trigger(f.WORKER_STARTING),this.sendMessage(u.START,t),this):(this.on(f.WORKER_LOADED,(function(){this.start.apply(this,t)})),this.load(),this))},e.prototype.sendMessage=function(t,e){var r=null,n=null;return e=e||null,null===(t=t||null)||((n={__isWebWorkerMsg:!0}).action=t,n.args=e,(r=this.getNativeWorker())&&r.postMessage(n)),this},e.prototype._attachMessageParser=function(){var e=null;return(e=t(this.getNativeWorker())).on("message",t.proxy((function(t){var e=(t.originalEvent||t).data,r=null,n=null;"object"==typeof e&&"__isWebWorkerMsg"in e&&e.__isWebWorkerMsg&&(r=e.action,n=e.args,this[r].apply(this,n))}),this)),e.on("error",t.proxy(this.throwError,this)),this},e.prototype.terminate=function(){return(this.getNativeWorker()||null)&&(this.trigger(f.WORKER_TERMINATING),this.sendMessage(u.TERMINATE,c.call(arguments))),this},e.prototype.terminateNow=function(){var t=null;return this.isTerminating()||this.trigger(f.WORKER_TERMINATING),(t=this.getNativeWorker()||null)&&(t.terminate(),this._nativeWorker=null,this.trigger(f.WORKER_TERMINATED)),this},e.prototype.on=function(){var t=this._$;return t.on.apply(t,arguments),this},e.prototype.one=function(){var t=this._$;return t.one.apply(t,arguments),this},e.prototype.off=function(){var t=this._$;return t.off.apply(t,arguments),this._assignEventHandlers(),this},e.prototype.trigger=function(e){var r=!1,n=null,i=null;return"object"==typeof e&&(n=e.type||null),"string"==typeof e&&(n=e||null,r=!0),null===n?this:n in p?(r&&(e=new t.Event(n)),e.worker=this,i=[e],arguments.length>1&&(i=i.concat(c.call(arguments,1))),this._triggerSelf.apply(this,i),this):(r&&(e={type:n,data:arguments[1]?arguments[1]:{}}),i=[e],this.sendMessage(u.TRIGGER_SELF,i),this)},e.prototype.triggerSelf=function(e){var r=null,n=null;return null===(e=e||null)||("string"==typeof e&&(r=e,e=new t.Event(r)),e.originalEvent=e.originalEvent||e,e.worker=this,n=[e],arguments.length>1&&(n=n.concat(c.call(arguments,1))),this._triggerSelf.apply(this,n)),this},e.prototype._triggerSelf=function(){var t=null;return(t=this._$).trigger.apply(t,arguments),this},e.prototype.throwError=function(t,r,n){var i=null;if("object"==typeof(t=t||g.UNKNOWN)&&(i=(t=t.originalEvent||t).data||null),i=void 0===r?i:r,n=n||!1,this._lastError=t,e._lastError=t,"_triggerError"in this&&this._triggerError(t,r,n),n)throw new window.Error(t);return this},e.prototype._triggerError=function(e,r,n){var i=null;return(i=new t.Event(f.ERROR)).message=this.getLastError(),i.errorData=r,i.throwsException=!!n,this.trigger(i),this},e.prototype.getLastError=function(){return this._lastError},e._lastError=null,a={INITIALIZED:0,LOADING:1,LOADED:2,STARTING:3,STARTED:4,TERMINATING:5,TERMINATED:6},e.State=a,u={LOG:"log",START:"start",TERMINATE:"terminate",TERMINATE_NOW:"terminateNow",TRIGGER:"trigger",TRIGGER_SELF:"triggerSelf"},e.Action=u,f={INITIALIZED:"initialized",ERROR:"error",WORKER_LOADING:"worker-loading",WORKER_LOADED:"worker-loaded",WORKER_STARTING:"worker-starting",WORKER_STARTED:"worker-started",WORKER_TERMINATING:"worker-terminating",WORKER_TERMINATED:"worker-terminated"},e.Event=f,p={},e.EventMap=p,f)f[h]="webworker:"+f[h],p[f[h]]=h;g={UNKNOWN:"An unknown error occured.",INVALID_ARGUMENTS:"Invalid arguments were supplied to this method.",WORKER_DID_NOT_LOAD:"Unable to load worker."},e.Error=g,e._workerScriptWrapper='var e=null,t=null,n=null,r={};e={{state-data}};t={{action-data}};n={{event-data}};self._callbackStack=null;self._listeners=r;self._isTerminating=false;self._state=null;self.State=e;self.Action=t;self.Event=n;self._assignEventHandlers=function(){function t(t){return function(){var n=self._callbackStack[t],r,i;r=t.toUpperCase();if(r in e){self._state=e[r]}while(i=n.pop()){i.apply(self,arguments)}}}self.on(n.WORKER_TERMINATING,t("terminating"));return self};self.getState=function(){return this._state};self.isInitialized=function(){var e=self.getState();return e!==null&&e>=0};self.isTerminating=function(){return self.getState()===e.TERMINATING};self._main=function(){var startArgs=arguments;{{main-function}};return self};self._init=function(){self._callbackStack={terminating:[]};self._assignEventHandlers();self._state=e.INITIALIZED;self.trigger(n.WORKER_LOADED);return self};self.start=function(){if(!self.isInitialized()){return self}self.triggerSelf(n.WORKER_STARTING);self._main.apply(self,arguments);self.triggerSelf(n.WORKER_STARTED);self.trigger(n.WORKER_STARTED);return self};self.log=function(e){self.sendMessage(t.LOG,[e]);return self};self.on=function(e,t){e+="";t=t||null;if(typeof t!=="function"){return self}if(!(e in r)){r[e]=[]}r[e].push(t);return self};self.one=function(e,t){var n=null;n=function(){t.apply(this,arguments);self.off(e,n);return};self.on(e,n);return};self.off=function(e,t){var n=null;e=e||null;t=t||null;if(e===null&&t===null){for(n in r){delete r[n]}self._assignEventHandlers();return self}self._removeListenerFromEventType(e,t);return self};self._removeListenerFromEventType=function(e,t){var n=r[e],i=0;t=t||null;if(t===null){r[e]=[];return self}for(;i<n.length;i++){if(n[i]===t){n.splice(i,1);i--}}return self};self.terminating=function(e){var t=self._callbackStack.terminating;if(typeof e==="function"){t.push(e)}return self};self.trigger=function(e,n){var r=null;e=e||null;if(e===null){return self}if(typeof e==="string"){r=e||null;e={type:r}}else if(typeof e==="object"){r=e.type||null;n=e.data}if(r===null){return self}e.data=n;self.sendMessage(t.TRIGGER_SELF,[e]);return self};self.triggerSelf=function(e,t){var n=null,i=null,s=null,o=null,u=0;e=e||null;if(e===null){return this}if(typeof e==="string"){n=e||null;e={type:e}}else if(typeof e==="object"){n=e.type||null;t=e.data}if(n===null){return this}e.data=t;i=r[n]||null;if(i===null){return this}s=i.length;for(u=0;u<s;u++){o=i[u];o.apply(this,[e]);if(s!==i.length){u--;s=i.length}}return this};self.sendMessage=function(e,t){var n=null;e=e||null;t=t||[];if(e===null){return self}n={__isWebWorkerMsg:true};n.action=e;n.args=t;self.postMessage(n);return self};self.terminate=function(e){e=!!e;if(!self.isTerminating()){self._setTerminatingStatus();self.triggerSelf(n.WORKER_TERMINATING);self.trigger(n.WORKER_TERMINATING)}self.sendMessage(t.TERMINATE_NOW,[]);if(e){self._nativeClose()}return self};self.terminateNow=function(){return self.terminate(true)};self._setTerminatingStatus=function(){self._state=e.TERMINATING;return self};self._nativeClose=self.close;self.close=self.terminate;self.addEventListener("message",function(e){var t=e.originalEvent||e,n=t.data,r=null,i=null;if(typeof n==="object"&&"__isWebWorkerMsg"in n&&n.__isWebWorkerMsg){r=n.action;i=n.args;self[r].apply(self,i)}},false);self._init()',e._workerScriptWrapper=e._workerScriptWrapper.replace(/\{\{state-data\}\}/g,JSON.stringify(a)).replace(/\{\{action-data\}\}/g,JSON.stringify(u)).replace(/\{\{event-data\}\}/g,JSON.stringify(f)),e.getLastError=e.prototype.getLastError,e.noConflict=function(t,n){return t=t||null,n=n||null,o[s]===e&&(delete o[s],r&&(o[s]=r)),t&&n&&(t[n]=e),e},i[l]=e}(jQuery);
|
|
5
5
|
!function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<<o|u>>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h<n.length;h+=16)c=l(r=c,e=f,o=i,u=a,n[h],7,-680876936),a=l(a,c,f,i,n[h+1],12,-389564586),i=l(i,a,c,f,n[h+2],17,606105819),f=l(f,i,a,c,n[h+3],22,-1044525330),c=l(c,f,i,a,n[h+4],7,-176418897),a=l(a,c,f,i,n[h+5],12,1200080426),i=l(i,a,c,f,n[h+6],17,-1473231341),f=l(f,i,a,c,n[h+7],22,-45705983),c=l(c,f,i,a,n[h+8],7,1770035416),a=l(a,c,f,i,n[h+9],12,-1958414417),i=l(i,a,c,f,n[h+10],17,-42063),f=l(f,i,a,c,n[h+11],22,-1990404162),c=l(c,f,i,a,n[h+12],7,1804603682),a=l(a,c,f,i,n[h+13],12,-40341101),i=l(i,a,c,f,n[h+14],17,-1502002290),c=g(c,f=l(f,i,a,c,n[h+15],22,1236535329),i,a,n[h+1],5,-165796510),a=g(a,c,f,i,n[h+6],9,-1069501632),i=g(i,a,c,f,n[h+11],14,643717713),f=g(f,i,a,c,n[h],20,-373897302),c=g(c,f,i,a,n[h+5],5,-701558691),a=g(a,c,f,i,n[h+10],9,38016083),i=g(i,a,c,f,n[h+15],14,-660478335),f=g(f,i,a,c,n[h+4],20,-405537848),c=g(c,f,i,a,n[h+9],5,568446438),a=g(a,c,f,i,n[h+14],9,-1019803690),i=g(i,a,c,f,n[h+3],14,-187363961),f=g(f,i,a,c,n[h+8],20,1163531501),c=g(c,f,i,a,n[h+13],5,-1444681467),a=g(a,c,f,i,n[h+2],9,-51403784),i=g(i,a,c,f,n[h+7],14,1735328473),c=v(c,f=g(f,i,a,c,n[h+12],20,-1926607734),i,a,n[h+5],4,-378558),a=v(a,c,f,i,n[h+8],11,-2022574463),i=v(i,a,c,f,n[h+11],16,1839030562),f=v(f,i,a,c,n[h+14],23,-35309556),c=v(c,f,i,a,n[h+1],4,-1530992060),a=v(a,c,f,i,n[h+4],11,1272893353),i=v(i,a,c,f,n[h+7],16,-155497632),f=v(f,i,a,c,n[h+10],23,-1094730640),c=v(c,f,i,a,n[h+13],4,681279174),a=v(a,c,f,i,n[h],11,-358537222),i=v(i,a,c,f,n[h+3],16,-722521979),f=v(f,i,a,c,n[h+6],23,76029189),c=v(c,f,i,a,n[h+9],4,-640364487),a=v(a,c,f,i,n[h+12],11,-421815835),i=v(i,a,c,f,n[h+15],16,530742520),c=m(c,f=v(f,i,a,c,n[h+2],23,-995338651),i,a,n[h],6,-198630844),a=m(a,c,f,i,n[h+7],10,1126891415),i=m(i,a,c,f,n[h+14],15,-1416354905),f=m(f,i,a,c,n[h+5],21,-57434055),c=m(c,f,i,a,n[h+12],6,1700485571),a=m(a,c,f,i,n[h+3],10,-1894986606),i=m(i,a,c,f,n[h+10],15,-1051523),f=m(f,i,a,c,n[h+1],21,-2054922799),c=m(c,f,i,a,n[h+8],6,1873313359),a=m(a,c,f,i,n[h+15],10,-30611744),i=m(i,a,c,f,n[h+6],15,-1560198380),f=m(f,i,a,c,n[h+13],21,1309151649),c=m(c,f,i,a,n[h+4],6,-145523070),a=m(a,c,f,i,n[h+11],10,-1120210379),i=m(i,a,c,f,n[h+2],15,718787259),f=m(f,i,a,c,n[h+9],21,-343485551),c=d(c,r),f=d(f,e),i=d(i,o),a=d(a,u);return[c,f,i,a]}function i(n){for(var t="",r=32*n.length,e=0;e<r;e+=8)t+=String.fromCharCode(n[e>>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e<t.length;e+=1)t[e]=0;for(var r=8*n.length,e=0;e<r;e+=8)t[e>>5]|=(255&n.charCodeAt(e/8))<<e%32;return t}function e(n){for(var t,r="0123456789abcdef",e="",o=0;o<n.length;o+=1)t=n.charCodeAt(o),e+=r.charAt(t>>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16<e.length&&(e=c(e,8*n.length)),r=0;r<16;r+=1)o[r]=909522486^e[r],u[r]=1549556828^e[r];return t=c(o.concat(a(t)),512+8*t.length),i(c(u.concat(t),640))}(r(n),r(t))}function t(n,t,r){return t?r?u(t,n):e(u(t,n)):r?o(n):e(o(n))}"function"==typeof define&&define.amd?define(function(){return t}):"object"==typeof module&&module.exports?module.exports=t:n.md5=t}(this);
|
|
@@ -10,13 +10,13 @@ var _upw = `let _w=self;var files=[];function defer(){var e,t,s=new Promise(((s,
|
|
|
10
10
|
//# sourceMappingURL=astring.min.js.map
|
|
11
11
|
class WalkerBase{constructor(){this.should_skip=false;this.should_remove=false;this.replacement=null;this.context={skip:()=>this.should_skip=true,remove:()=>this.should_remove=true,replace:node=>this.replacement=node}}replace(parent,prop,index,node){if(parent&&prop){if(index!=null){parent[prop][index]=node}else{parent[prop]=node}}}remove(parent,prop,index){if(parent&&prop){if(index!==null&&index!==void 0){parent[prop].splice(index,1)}else{delete parent[prop]}}}}class SyncWalker extends WalkerBase{constructor(enter,leave){super();this.should_skip=false;this.should_remove=false;this.replacement=null;this.context={skip:()=>this.should_skip=true,remove:()=>this.should_remove=true,replace:node=>this.replacement=node};this.enter=enter;this.leave=leave}visit(node,parent,prop,index){if(node){if(this.enter){const _should_skip=this.should_skip;const _should_remove=this.should_remove;const _replacement=this.replacement;this.should_skip=false;this.should_remove=false;this.replacement=null;this.enter.call(this.context,node,parent,prop,index);if(this.replacement){if(Array.isArray(this.replacement)){var expressions=[];for(let rp=0;rp<this.replacement.length;rp++){expressions.push(this.replacement[rp])}if(this.replacement.length>1){node={"type":"VariableDeclaration","start":node.start,"kind":"let","declarations":expressions,"level":node.level,"scope":node.scope}}else{node={"type":"ExpressionStatement","expression":{"type":"SequenceExpression","expressions":expressions,"level":node.level,"scope":node.scope},"level":node.level,"scope":node.scope}}this.replace(parent,prop,index,node)}else{node=this.replacement;this.replace(parent,prop,index,node)}}if(this.should_remove){this.remove(parent,prop,index)}const skipped=this.should_skip;const removed=this.should_remove;this.should_skip=_should_skip;this.should_remove=_should_remove;this.replacement=_replacement;if(skipped)return node;if(removed)return null}let key;for(key in node){const value=node[key];if(value&&typeof value==="object"){if(Array.isArray(value)){const nodes=value;for(let i=0;i<nodes.length;i+=1){const item=nodes[i];if(isNode(item)){if(!this.visit(item,node,key,i)){i--}}}}else if(isNode(value)){this.visit(value,node,key,null)}}}if(this.leave){const _replacement=this.replacement;const _should_remove=this.should_remove;this.replacement=null;this.should_remove=false;this.leave.call(this.context,node,parent,prop,index);if(this.replacement){if(Array.isArray(this.replacement)){for(let rp=0;rp<this.replacement.length;rp++){node=this.replacement[rp];this.replace(parent,prop,index,node)}}else{node=this.replacement;this.replace(parent,prop,index,node)}}if(this.should_remove){this.remove(parent,prop,index)}const removed=this.should_remove;this.replacement=_replacement;this.should_remove=_should_remove;if(removed)return null}}return node}}function isNode(value){return value!==null&&typeof value==="object"&&"type"in value&&typeof value.type==="string"}function walk(ast,{enter,leave}){const instance=new SyncWalker(enter,leave);return instance.visit(ast,null)}function getProgramBody(node){if(node.type=="Program"){return node.body}return node}function parseNode(node){}function checkNodeL1(node,varz,vazzz){try{if(node&&typeof node==="object"){if(Array.isArray(node)){for(let i=0;i<node.length;i++){const nd=node[i];if(isNode(nd)){if(nd.type==="VariableDeclaration"){let declarators=nd.declarations;for(let x=0;x<declarators.length;x++){let dec=declarators[x].id;if(vazzz.includes(dec.name)){varz.push({name:dec.name,node:dec});dec.marked=true}}}else if(nd.type=="Identifier"){}parseNode(nd)}}}else if(isNode(node)){}}}catch(e){}}function getL1Vs(AST,view,vazzz){var level=0,block=[{start:0}];var varz=view?.varz??[];let nodes=getProgramBody(AST);checkNodeL1(nodes,varz,vazzz);return{"varz":varz,"AST":AST}}function getWatcher(AST,view,vazzz,targetKey="View"){AST=JSON.parse(JSON.stringify(AST));let Vars=getL1Vs(AST,view,vazzz);AST=Vars["AST"];let varz=Vars["varz"];validateBeforeRewrite(AST,view);AST=changeReactiveVarsOccurences(AST,vazzz,targetKey);AST=transformTopLevelDeclarations(AST,vazzz,targetKey);return{"code":astring.generate(AST),"varz":varz}}function validateBeforeRewrite(AST,view){try{new Function(astring.generate(AST))}catch(e){if(typeof reportLumenError==="function"){reportLumenError({stage:"validate",view:view?.name,error:e,hint:"This is a real JavaScript error in your <script> block (for example, a variable declared twice with let/const) \u2014 fix it in the .view file; it will not surface again once rewritten."})}}}function buildTargetRootExpr(targetKey){const segments=Array.isArray(targetKey)?targetKey:[targetKey];let expr={type:"Identifier",name:"_vt"};for(const seg of segments){if(typeof seg==="number"){expr={type:"MemberExpression",object:expr,property:{type:"Literal",value:seg,raw:String(seg)},computed:true}}else{expr={type:"MemberExpression",object:expr,property:{type:"Identifier",name:seg},computed:false}}}return expr}function changeReactiveVarsOccurences(AST,reactiveVariables,targetKey="View"){const reactive=new Set(reactiveVariables||[]);const scopeStack=[];const bindingIdNodes=new WeakSet;const pushScope=isFunction=>scopeStack.push({isFunction:!!isFunction,names:new Set});const popScope=()=>scopeStack.pop();const currentScope=()=>scopeStack[scopeStack.length-1];function declare(name,kind){if(!name)return;if(kind==="var"||kind==="function"){for(let i=scopeStack.length-1;i>=0;i--){if(scopeStack[i].isFunction||i===0){scopeStack[i].names.add(name);return}}}else{currentScope().names.add(name)}}function rootHas(name){return scopeStack.length>0&&scopeStack[0].names.has(name)}function isShadowedFromRoot(name){for(let i=scopeStack.length-1;i>=1;i--){if(scopeStack[i].names.has(name))return true}return false}function visitPattern(node,onId){if(!node)return;switch(node.type){case"Identifier":onId(node);break;case"RestElement":visitPattern(node.argument,onId);break;case"AssignmentPattern":visitPattern(node.left,onId);break;case"ArrayPattern":for(const el of node.elements)if(el)visitPattern(el,onId);break;case"ObjectPattern":for(const p of node.properties){if(p.type==="Property")visitPattern(p.value,onId);else if(p.type==="RestElement")visitPattern(p.argument,onId)}break;default:break}}function markPatternBindings(pattern,kind="var"){if(!pattern)return;visitPattern(pattern,idNode=>{bindingIdNodes.add(idNode);declare(idNode.name,kind)})}function predeclareProgram(programNode){if(!programNode||!Array.isArray(programNode.body))return;for(const stmt of programNode.body){if(stmt.type==="VariableDeclaration"){for(const d of stmt.declarations){visitPattern(d.id,id=>{bindingIdNodes.add(id);declare(id.name,stmt.kind)})}}else if(stmt.type==="FunctionDeclaration"&&stmt.id){bindingIdNodes.add(stmt.id);declare(stmt.id.name,"function")}else if(stmt.type==="ClassDeclaration"&&stmt.id){bindingIdNodes.add(stmt.id);declare(stmt.id.name,"let")}else if(stmt.type==="ImportDeclaration"){for(const spec of stmt.specifiers||[]){if(spec.local){bindingIdNodes.add(spec.local);declare(spec.local.name,"const")}}}}}function predeclareBlockLexicals(blockNode){if(!blockNode||!Array.isArray(blockNode.body))return;for(const stmt of blockNode.body){if(stmt.type==="VariableDeclaration"&&stmt.kind!=="var"){for(const d of stmt.declarations){visitPattern(d.id,id=>{bindingIdNodes.add(id);currentScope().names.add(id.name)})}}else if(stmt.type==="FunctionDeclaration"&&stmt.id){bindingIdNodes.add(stmt.id);currentScope().names.add(stmt.id.name)}else if(stmt.type==="ClassDeclaration"&&stmt.id){bindingIdNodes.add(stmt.id);currentScope().names.add(stmt.id.name)}}}function predeclareForHeader(node){const header=node.type==="ForStatement"?node.init:node.left;if(header&&header.type==="VariableDeclaration"&&header.kind!=="var"){for(const d of header.declarations){visitPattern(d.id,id=>{bindingIdNodes.add(id);currentScope().names.add(id.name)})}}}function shouldSkipIdentifier(node,parent,prop){if(!parent)return false;if(parent.type==="LabeledStatement"&&prop==="label"||(parent.type==="BreakStatement"||parent.type==="ContinueStatement")&&prop==="label")return true;if(parent.type==="MemberExpression"){if(prop==="property"&&parent.computed===false)return true}if(parent.type==="Property"){if(prop==="key"&&parent.computed===false)return true}if((parent.type==="MethodDefinition"||parent.type==="ClassProperty"||parent.type==="PropertyDefinition")&&prop==="key"&&parent.computed===false)return true;if(parent.type==="ImportSpecifier"||parent.type==="ImportDefaultSpecifier"||parent.type==="ImportNamespaceSpecifier"||parent.type==="ExportSpecifier")return true;return false}function walk2(node,parent,prop,index){if(!node||typeof node!=="object")return;switch(node.type){case"Program":pushScope(true);predeclareProgram(node);break;case"BlockStatement":case"StaticBlock":pushScope(false);predeclareBlockLexicals(node);break;case"FunctionDeclaration":if(node.id){bindingIdNodes.add(node.id);declare(node.id.name,"function")}pushScope(true);for(const p of node.params)markPatternBindings(p,"param");break;case"FunctionExpression":pushScope(true);if(node.id){bindingIdNodes.add(node.id);declare(node.id.name,"let")}for(const p of node.params)markPatternBindings(p,"param");break;case"ArrowFunctionExpression":pushScope(true);for(const p of node.params)markPatternBindings(p,"param");break;case"CatchClause":pushScope(false);if(node.param)markPatternBindings(node.param,"let");break;case"ForStatement":case"ForInStatement":case"ForOfStatement":pushScope(false);predeclareForHeader(node);break;case"VariableDeclaration":for(const decl of node.declarations){markPatternBindings(decl.id,node.kind||"var")}break;case"ClassDeclaration":if(node.id){bindingIdNodes.add(node.id);declare(node.id.name,"let")}break;case"ImportDeclaration":for(const spec of node.specifiers||[]){if(spec.local){bindingIdNodes.add(spec.local);declare(spec.local.name,"const")}}break}for(const key in node){if(key==="parent")continue;const child=node[key];if(Array.isArray(child)){for(let i=0;i<child.length;i++){if(child[i]&&typeof child[i]==="object"){walk2(child[i],node,key,i)}}}else if(child&&typeof child==="object"){walk2(child,node,key,null)}}if(node.type==="Identifier"){const name=node.name;if(!reactive.has(name)||bindingIdNodes.has(node)){}else if(!rootHas(name)){}else if(isShadowedFromRoot(name)){}else if(shouldSkipIdentifier(node,parent,prop)){}else{if(parent&&parent.type==="Property"&&parent.shorthand&&prop==="value"){parent.shorthand=false}const replacement={type:"MemberExpression",object:{type:"MemberExpression",object:buildTargetRootExpr(targetKey),property:{type:"Identifier",name:"vars"},computed:false},property:{type:"Literal",value:name,raw:JSON.stringify(name)},computed:true};if(parent){if(index!==null&&Array.isArray(parent[prop])){parent[prop][index]=replacement}else{parent[prop]=replacement}}else{Object.keys(node).forEach(k=>delete node[k]);Object.assign(node,replacement)}}}switch(node.type){case"Program":case"BlockStatement":case"StaticBlock":case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"CatchClause":case"ForStatement":case"ForInStatement":case"ForOfStatement":popScope();break;default:break}}walk2(AST,null,null,null);return AST}function _reactiveAssignStatement(name,init,targetKey="View"){return{type:"ExpressionStatement",expression:{type:"AssignmentExpression",operator:"=",left:{type:"MemberExpression",computed:true,object:{type:"MemberExpression",computed:false,object:buildTargetRootExpr(targetKey),property:{type:"Identifier",name:"vars"}},property:{type:"Literal",value:name}},right:init||{type:"Identifier",name:"undefined"}}}}function _fnRegisterStatement(name,targetKey){return{type:"ExpressionStatement",expression:{type:"AssignmentExpression",operator:"=",left:{type:"MemberExpression",computed:true,object:{type:"MemberExpression",computed:false,object:buildTargetRootExpr(targetKey),property:{type:"Identifier",name:"fns"}},property:{type:"Literal",value:name}},right:{type:"Identifier",name}}}}function transformTopLevelDeclarations(AST,reactiveVariables,targetKey="View"){const reactive=new Set(reactiveVariables||[]);const newBody=[];for(const stmt of AST.body){if(stmt.type==="FunctionDeclaration"&&stmt.id){newBody.push(stmt);newBody.push(_fnRegisterStatement(stmt.id.name,targetKey));continue}if(stmt.type!=="VariableDeclaration"){newBody.push(stmt);continue}const reactiveDecls=stmt.declarations.filter(d=>reactive.has(d.id.name));const nonReactiveDecls=stmt.declarations.filter(d=>!reactive.has(d.id.name));if(reactiveDecls.length===0){newBody.push(stmt);continue}for(const decl of reactiveDecls){newBody.push(_reactiveAssignStatement(decl.id.name,decl.init,targetKey))}if(nonReactiveDecls.length>0){newBody.push({type:"VariableDeclaration",kind:stmt.kind,declarations:nonReactiveDecls})}}AST.body=newBody;return AST}if(typeof module!=="undefined"&&module.exports){module.exports={getWatcher,changeReactiveVarsOccurences,transformTopLevelDeclarations,validateBeforeRewrite}}
|
|
12
12
|
|
|
13
|
-
var cl=console.log;class _v{static name;static type;static vars;static fns;static rvs;static _pv;static mx;static views;static hst;static settings;constructor(obj){this.name=obj.name??"home";this.type=obj.type??"main";this.hst=obj.hst??[];this.views=obj.views??[];this.vars=obj.vars??{};this.fns=obj.fns??{};this.rvs=obj.rvs??{};this._pv=obj._pv??null;this.mx=obj.mx??[];this.settings=obj.settings??{layout:"default",requireAuth:false}}}const consoleLogOriginal=console.log;console.log=function(){for(let i=0;i<arguments.length;i++){const arg=arguments[i];if(arg&&arg.hasOwnProperty("__isProxy")||arg?.target){arguments[i]=arguments[i].target}}consoleLogOriginal.apply(console,arguments)};var _lumenDevMode=true;var _lumenErrorLog=[];var EXPECTED_HST_FORMAT_VERSION=1;var _entityDecodeEl;function decodeHtmlEntities(str){if(!str||str.indexOf("&")===-1)return str;if(!_entityDecodeEl)_entityDecodeEl=document.createElement("textarea");_entityDecodeEl.innerHTML=str;return _entityDecodeEl.value}function _translateLumenError(message){if(!message)return message;return message.replace(/_vt\.View\.vars\[["'`]([^"'`\]]+)["'`]\]/g,"$1")}function reportLumenError(info){info=info||{};var rawMessage=info.message||info.error&&info.error.message||"Unknown error";var entry={time:new Date().toISOString(),stage:info.stage||"runtime",view:info.view||(typeof _vt!=="undefined"&&_vt.View?_vt.View.name:void 0),expr:info.expr,message:_translateLumenError(rawMessage),hint:info.hint};_lumenErrorLog.push(entry);if(_lumenDevMode){console.error("[LumenJS] "+entry.stage+' error in "'+(entry.view||"unknown")+'"'+(entry.expr?" \u2014 "+entry.expr:"")+": "+entry.message+(entry.hint?"\n "+entry.hint:""))}return entry}function _x(_x2){var currPath=[];function _dispatchVarsUpdate(key){let varsIdx=currPath.indexOf("vars");if(varsIdx===-1)return;let varName=varsIdx<currPath.length-1?currPath[varsIdx+1]:key;let rootPath=currPath.slice(0,varsIdx);if(rootPath[0]==="Global"){try{if(typeof window!=="undefined")window[varName]=_x2.Global.vars[varName]}catch(e){}if(_vt.View._re)_vt.View._re.update(varName);return}let owner=_x2;for(let i=0;i<rootPath.length&&owner;i++){owner=owner[rootPath[i]]}if(owner&&owner._re)owner._re.update(varName)}const handler={get(target,key){if(key=="__isProxy")return true;if(target===_x2)currPath=[];currPath.push(key);if(typeof target[key]==="object"&&target[key]!==null&&key!="_re"){return new Proxy(target[key],handler)}else{return target[key]??(key=="target"?target:void 0)??void 0}},set(target,key,value){target[key]=value;try{_dispatchVarsUpdate(key)}catch(e){cl(e)}currPath=[];return true},deleteProperty(target,key){if(!(key in target)){return false}delete target[key];try{_dispatchVarsUpdate(key)}catch(e){cl(e)}return true},ownKeys(target){return Reflect.ownKeys(target)},has(target,key){return key in target},defineProperty(target,key,descriptor){if(descriptor&&"value"in descriptor){target[key]=descriptor.value}return target},getOwnPropertyDescriptor(target,key){const value=target[key];return key in target?{value,enumerable:true,configurable:true}:void 0}};var x=new Proxy(_x2,handler);return x}let _vt=_x({"View":new _v({}),"Global":{"vars":{},"fns":{}},"Widgets":{}});function _lookupInWidgets(name){for(const wname in _vt.Widgets){if(_vt.Widgets[wname].vars.hasOwnProperty(name))return _vt.Widgets[wname].vars[name]}return void 0}function _mergedWidgetsVars(){let out={};let names=Object.keys(_vt.Widgets).reverse();for(const wname of names){out={...out,..._vt.Widgets[wname].vars}}return out}class _lm{_RealDOM=[];_effects={};_cc={};_jj={};_ready=false;view=void 0;sbscrbs=[];reactiveVariables=[];vrs={};_CXR=[];_LXR=[];constructor(view){this.view=view;this.view._re=this;this.reactiveVariables=view?.rvs??{};this.init();if(this.view.type=="main")_vt.View=this.view;if(this.view._pv){this.view._pv.subscribe(this.view)}return this}init(){var par2=this;this.view.hst.forEach(function(doc2){par2.walk(doc2,null)})}subscribe(view){this.sbscrbs.push(view)}scopedEval(context,expr,kk){let ctx=this.concatVarsAtLevel(context,this);if(kk){if(!ctx.hasOwnProperty(kk))return void 0;delete ctx[kk]}try{const evaluator=Function.apply(null,[...Object.keys(ctx),"expr","return eval(expr)"]);return evaluator.apply(null,[...Object.values(ctx),expr])}catch(e){if(e instanceof TypeError){return this.scopedEval(ctx,expr,e.message.split(" ")[0])}reportLumenError({stage:"expression",expr,error:e});return void 0}}getVals(effect){let val="";if(effect.type=="text"){if(!effect.isSplit){for(let i=0;i<effect.splits.length;i++){let split=effect.splits[i];if(split.type=="mustache"){val+=this.getVal(split.content)}else{val+=split.content}}}else{val=this.getVal(effect.content)}}else if(effect.type=="attr"||effect.type=="event"){for(let i=0;i<effect.splits.length;i++){let split=effect.splits[i];if(split.type=="mustache"){val+=this.getVal(split.content)}else{val+=split.content}}}return val}renderAll(){if(this._ready)return;this._ready=true;for(const rv in this._effects){if(Object.prototype.hasOwnProperty.call(this._effects,rv)){const effects=this._effects[rv];for(let ei=0;ei<effects.length;ei++){const effect=effects[ei];if(!effect.nd)continue;try{if(effect.type=="text"){effect.nd.textContent=this.render(effect)}else if(effect.type=="attr"){if(effect.name=="value"){effect.nd.value=this.render(effect)}else{effect.nd.setAttribute(effect.name,this.render(effect));if(effect.name=="view"){effect.nd.subPath=this.render(effect);renderView(this.render(effect),true,{})}}}else if(effect.type=="event"){effect.nd.events[effect.name]=this.render(effect)}}catch(e){cl("Eeeeee",e)}}}}this.updateCXRs();this.updateLXRs();this.updateVXRs();if(typeof appSettings!=="undefined"&&appSettings&&typeof appSettings.tick==="function"){try{appSettings.tick()}catch(e){cl(e)}}}chainConnected(cx){for(let i=cx.chain.length-1;i>=0;i--){const cxs=cx.chain[i];if(cxs.ref.isPreConnected){return true}}return false}async updateVXRs(k){let subsNames=[];for(let i=0;i<this.view.views.length;i++){const _view=this.view.views[i];if(!subsNames.includes(_view.subPath))subsNames.push(_view.subPath)}for(let i=0;i<subsNames.length;i++){const n=subsNames[i];renderView(n,true,{},"views",this.view.views,this.view.scopePath||["View"])}}async updateCXRs(k){for(let i=0;i<this._CXR.length;i++){const cx=this._CXR[i];if(cx.name=="if"){let isTrue=this.evalExp(cx.content,this.reactiveVariables);if(isTrue){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}else if(cx.name=="else-if"){if(!this.chainConnected(cx)){let isTrue=this.evalExp(cx.content,this.reactiveVariables);if(isTrue){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}else{await this.hideSectionCX(cx)}}else if(cx.name=="else"){if(!this.chainConnected(cx)){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}}}async showSectionCX(cx,k){let wasConnected=cx.ref.node.isConnected;cx.ref.isPreConnected=true;await renderSection(cx.ref,cx.doc,this,k);if(!wasConnected)await fireRenderHook(cx,"after-render",cx.ref.node,{visible:true})}async hideSectionCX(cx){if(cx.ref.node.isConnected)await fireRenderHook(cx,"before-render",cx.ref.node,{visible:false});cx.ref.isPreConnected=false;cx.ref.node.replaceWith(cx.ref)}render(effect){let x="";try{if(effect.type=="text"||effect.type=="attr"||effect.type=="event"){x=this.getVals(effect)}}catch(e){cl(e)}return x}update(k){if(!this._ready)return;if(this._effects.hasOwnProperty(k)){const effects=this._effects[k];for(let ei=0;ei<effects.length;ei++){const effect=effects[ei];if(!effect.nd)continue;try{if(effect.type=="text"){effect.nd.textContent=this.render(effect)}else if(effect.type=="attr"){if(effect.name=="value"){effect.nd.value=this.render(effect)}else{effect.nd.setAttribute(effect.name,this.render(effect));if(effect.name=="view"){effect.nd.subPath=this.render(effect);renderView(this.render(effect),true,{})}}}else if(effect.type=="event"){effect.nd.events[effect.name]=this.render(effect)}}catch(e){cl("Eeeeee",e)}}}this.updateCXRs(k);this.updateLXRs(k);for(let sbscsi=0;sbscsi<this.sbscrbs.length;sbscsi++){const sbscr=this.sbscrbs[sbscsi];sbscr._re.update(k)}if(typeof appSettings!=="undefined"&&appSettings&&typeof appSettings.tick==="function"){try{appSettings.tick()}catch(e){cl(e)}}}async updateLXRs(k){for(let i=0;i<this._LXR.length;i++){var cx=this._LXR[i];var forX=cx.forX;if(k&&k!=forX["js"])continue;var val=this.getVal(forX["js"],"");var tempVal=[];if(this.typeStr(val)=="number"){for(let i2=0;i2<val;i2++){tempVal.push(i2)}val=tempVal}let vals=[];let isObj=false;if(this.typeStr(val)=="object"){isObj=true;for(const oKey in val){if(Object.hasOwnProperty.call(val,oKey)){const item=val[oKey];let objj={key:oKey,value:item};vals.push(objj)}}}else vals=clone(val);if(this.typeStr(vals)=="array"&&vals.length>0){let forIf=cx.cond;let limit=vals.length;let offset=0;if(cx.limit)limit=(isNaN(cx.limit)?cx.limit:limit)>vals.length?vals.length:cx.limit*1;if(cx.offset)offset=(isNaN(cx.offset)?cx.offset:offset)<0?0:cx.offset*1;let marray=[];if(forIf){marray=vals.slice(offset*1,vals.length)}else{marray=vals.slice(offset*1,limit*1+offset*1)}let myLimit=0;let arrayToRender=[];let arrayToRenderVXs=[];for(var index=0;index<marray.length;index++){if(myLimit==limit*1)break;try{let vx={};vx["index"]=myLimit;if(forX["dx"]!="")vx[forX["dx"]]=myLimit;if(isObj){if(forX["as"]["v"]!=""){if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index]["key"];if(forX["as"]["v"])vx[forX["as"]["v"]]=marray[index]["value"]}else{if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index]}vx["key"]=marray[index]["key"];vx["value"]=marray[index]["value"]}else{if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index];else if(marray[index]&&typeof marray[index]==="object"){for(const k2 in marray[index]){if(Object.prototype.hasOwnProperty.call(marray[index],k2)){vx[k2]=marray[index][k2]}}}}if(forIf){let _prevVrs=this.vrs;this.vrs=vx;let isTrue;try{isTrue=this.evalExp(forIf,[])}finally{this.vrs=_prevVrs}if(!isTrue)continue}let miIndexx=offset*1+index*1;arrayToRender.push(marray[index]);arrayToRenderVXs.push(vx);myLimit++}catch(e){cl(e)}}let oldATR=cx.atr;cx.atr=clone(arrayToRender);const actions=this.compareArrays(oldATR,arrayToRender);if(actions.length)await fireRenderHook(cx,"before-render",cx.ref.parentElement,{items:arrayToRender,actions});for(let ai=0;ai<actions.length;ai++){const actn=actions[ai];if(actn.action=="add"){let vx=arrayToRenderVXs[actn.index];let cln=await this.createSection(cx,vx,isObj,forX);cx.ref.before(cln);cln.replaceWith(cln.node)}else if(actn.action=="remove"){var keyed=cx.key+"_"+actn.index;let tx2=cx.ref?.nodes[keyed];if(tx2){tx2.remove();tx2.node.remove();delete cx.tx?.nodes[keyed]}}else{var keyed=cx.key+"_"+actn.index;let tx2=cx.ref?.nodes[keyed];let vx=arrayToRenderVXs[actn.index];if(tx2){tx2._re.vrs=vx;if(tx2.isObj){if(tx2.forX.as["k"]!="")tx2._re.update(tx2.forX.as["k"]);else tx2._re.update(tx2.forX.js);if(tx2.forX.as["v"]!="")tx2._re.update(tx2.forX.as["v"]);for(let actnsi=0;actnsi<actn.updates.length;actnsi++){const actnu=actn.updates[actnsi];tx2._re.update(actnu.property)}}else{if(tx2.forX.as["k"]!="")tx2._re.update(tx2.forX.as["k"]);else tx2._re.update(tx2.forX.js)}}}}if(actions.length)await fireRenderHook(cx,"after-render",cx.ref.parentElement,{items:arrayToRender,actions})}else{cx.nodes=[]}}}compareLogic(array1,array2){if(array1.length===array2.length){return 1}else{if(array1.length>array2.length){return 2}else{return 3}}}compareArrays(array1,array2){const actions=[];const maxLength=Math.max(array1.length,array2.length);for(let i=0;i<maxLength;i++){const element1=array1[i];const element2=array2[i];if(!element2){actions.push({action:"remove",index:i})}else if(!element1){actions.push({action:"add",index:i,element:element2})}else if(!this.deepCompare(element1,element2)){actions.push({action:"update",index:i,updates:this.getUpdates(element1,element2)})}}return actions}findDeletedIndexes(array1,array2){const deletedIndexes=[];let par2=this;array1.forEach((item,index)=>{const foundIndex=array2.findIndex(el2=>par2.deepCompare(el2,item));if(foundIndex===-1){deletedIndexes.push(index)}});return deletedIndexes}findAddedIndexes(array1,array2){const addedIndexes=[];let par2=this;array2.forEach((item,index)=>{const foundIndex=array1.findIndex(el2=>par2.deepCompare(el2,item));if(foundIndex===-1){addedIndexes.push(index)}});return addedIndexes}deepCompare(obj1,obj2){return JSON.stringify(obj1)===JSON.stringify(obj2)}getUpdates(oldObj,newObj){const updates=[];for(const key in newObj){if(newObj.hasOwnProperty(key)&&newObj[key]!==oldObj[key]){updates.push({property:key,value:newObj[key]})}}return updates}getVal(mo,indexName){let vars={};try{for(let i=0;i<this.reactiveVariables.length;i++){let __name=this.reactiveVariables[i];if(_vt.View.vars.hasOwnProperty(__name)){vars[__name]=_vt.View.vars[__name]}else{let _wv=_lookupInWidgets(__name);vars[__name]=_wv!==void 0?_wv:_vt.Global.vars[__name]}}for(const ky in this.vrs){if(Object.prototype.hasOwnProperty.call(this.vrs,ky)){vars[ky]=this.vrs[ky]}}if(this.view&&this.view.vars){for(const ky in this.view.vars){if(Object.prototype.hasOwnProperty.call(this.view.vars,ky)){vars[ky]=this.view.vars[ky]}}}}catch(e){cl(e)}mo=mo.trim();if(mo.slice(0,2)=="{{"){mo=mo.slice(2,-2)}let value="";let _mo=mo;if(mo.indexOf("`")>-1){var matchesVal=_mo.match(/\.`[\s\S]*?`/g);if(matchesVal)for(var y=0;y<matchesVal.length;y++){_mo=_mo.split(matchesVal[y]).join("."+this.getVal(matchesVal[y].substr(1).slice(1,-1),indexName))}var matchesVal=_mo.match(/`[\s\S]*?`/g);if(matchesVal)for(var y=0;y<matchesVal.length;y++){_mo=_mo.split(matchesVal[y]).join("'"+this.getVal(matchesVal[y].slice(1,-1),indexName)+"'")}return this.getVal(_mo,indexName)}if(mo.indexOf(";")>-1){let zxx=mo.split(";");mo=$.trim(zxx[0])}if(mo.indexOf(" as ")>-1){mo=mo.split(" as ");return this.getVal(mo[0],indexName)}if(indexName){indexName=indexName.toString();if(mo.indexOf(indexName)>-1&&mo!=indexName&&vars.hasOwnProperty(indexName)&&mo!="index"){mo=mo.split(indexName).join(vars[indexName]);return this.getVal(mo,indexName)}}var Ondex=mo.match(/\bindex\b/g);if(Ondex&&mo!="index"&&vars.hasOwnProperty("index")){_mo=mo.replace(/\bindex\b/g,vars["index"]);return this.getVal(_mo,indexName)}value=this.lookup(mo,vars);return value??""}concatVarsAtLevel(levelVars,parent2){if(!parent2.view._pv){var concatenatedVars={...levelVars};if(parent2.view.vars){concatenatedVars={..._vt.Global.vars,..._mergedWidgetsVars(),...parent2.view.vars,...concatenatedVars}}return concatenatedVars}var concatenatedVars={...levelVars};if(parent2.view.vars){concatenatedVars={...parent2.view.vars,...concatenatedVars}}return this.concatVarsAtLevel(concatenatedVars,parent2.view._pv)}lookup(name,vaz){let vars=this.concatVarsAtLevel(vaz,this);try{var value;var names,index,lookupHit=false;if(this.hasProperty(vars,name)){value=vars[name]}else if(name.indexOf(".")>-1&&name.indexOf("[")==-1){var value=this.scopedEval(vars,name);if(!(value||value==0)){value=vars;names=name.split(".");index=0;while(value!=null&&index<names.length){if(index===names.length-1)lookupHit=this.hasProperty(value,names[index]);value=value[names[index++]]}}}else{var value=this.scopedEval(vars,name);if(!(value||value==0)){if(name.indexOf(".")==-1&&name.indexOf("[")>-1){let _name=name;var matchesVal=_name.match(/\[[\s\S]*?\]/g);for(var y=0;y<matchesVal.length;y++){if(matchesVal[y].indexOf("'")==-1&&matchesVal[y].indexOf('"')==-1)_name=_name.split(matchesVal[y]).join("['"+matchesVal[y].slice(1,-1)+"']")}var value=this.scopedEval(vars,_name)}}}if(this.isFunction(value))value=value.call(value)}catch(e){reportLumenError({stage:"lookup",expr:name,error:e});return""}return value}objectToString=Object.prototype.toString;isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==="[object Array]"};isFunction(object){return typeof object==="function"}typeStr(obj){return this.isArray(obj)?"array":typeof obj}hasProperty(obj,propName){return obj!=null&&typeof obj==="object"&&propName in obj}createEl(tag,attrs,children,events,doc2){const _el2=document.createElement(tag);Object.defineProperty(_el2,"_ownerRe",{value:this,enumerable:false,configurable:true,writable:true});_el2.isSub=false;if(attrs.hasOwnProperty("view")){_el2.isSub=true;_el2.subPath=attrs["view"];_el2.vars={};_el2.views=[];_el2.fns={};if(doc2&&doc2.evs&&doc2.evs.hasOwnProperty("@init")){let _initAttr=doc2.evs["@init"];if(_initAttr){let _initResult=evalEvAttr(_initAttr,{cType:"init"},$(_el2),"init",this.vrs);if(_initResult&&typeof _initResult==="object"&&typeof _initResult.then!=="function"){Object.assign(_el2.vars,_initResult)}}}this.view.views.push(_el2)}_el2.events={};for(const prop in attrs){if(prop=="view"||prop==":data"||prop==":if"||prop==":else-if"||prop==":else"||prop==":for"||prop==":for-limit"||prop==":for-offset"||prop==":for-if")continue;try{let val=doc2&&doc2.ax.hasOwnProperty(prop)?"":attrs[prop];if(prop=="value"){_el2.value=val}else _el2.setAttribute(prop,val)}catch(e){cl(e)}}for(const prop in events){try{_el2.events[prop]=events[prop]}catch(e){cl(e)}}if(children.length)_el2.append(...children);if(events&&events["@after-render"]&&!(attrs&&(attrs.hasOwnProperty(":for")||attrs.hasOwnProperty(":if")||attrs.hasOwnProperty(":else-if")||attrs.hasOwnProperty(":else")))){fireRenderHook({doc:doc2},"after-render",_el2,{})}autoInitPlugins(_el2,attrs);return _el2}evalExp(expr,vars){let rvars={};try{for(let i=0;i<vars.length;i++){let __name=vars[i];if(_vt.View.vars.hasOwnProperty(__name)){rvars[__name]=_vt.View.vars[__name]}else{let _wv=_lookupInWidgets(__name);rvars[__name]=_wv!==void 0?_wv:_vt.Global.vars[__name]}}for(const ky in this.vrs){if(Object.prototype.hasOwnProperty.call(this.vrs,ky)){rvars[ky]=this.vrs[ky]}}if(this.view&&this.view.vars){for(const ky in this.view.vars){if(Object.prototype.hasOwnProperty.call(this.view.vars,ky)){rvars[ky]=this.view.vars[ky]}}}}catch(e){cl(e)}try{var value=this.scopedEval(rvars,expr);if(value&&value!=0)return true}catch(e){reportLumenError({stage:"condition",expr,error:e});return false}return false}splitTextWithMustaches(text,mustaches){mustaches.sort((a,b)=>a.start-b.start);const elements=[];let currentIndex=0;for(const mustache of mustaches){if(currentIndex<mustache.start){elements.push({type:"static",content:text.substring(currentIndex,mustache.start)})}elements.push({type:"mustache",jst:mustache.jst,rvs:mustache.rvs,content:text.substring(mustache.start,mustache.end)});currentIndex=mustache.end}if(currentIndex<text.length){elements.push({type:"static",content:text.substring(currentIndex)})}return elements}walk(doc,parent){var par=this;var tx,el;switch(doc.type){case"text":if(doc.mss.length){let splitIt=true;if(doc.tag=="textarea"){splitIt=false}if(splitIt){let splits=this.splitTextWithMustaches(doc.content,doc.mss);for(let si=0;si<splits.length;si++){const split=splits[si];if(split.type=="static"){let txnd=document.createTextNode(decodeHtmlEntities(split.content));if(!parent)par._RealDOM.push(txnd);(tx??(tx=[])).push(txnd)}else{let txnd=document.createTextNode("");for(let ri=0;ri<split.rvs.length;ri++){const element=split.rvs[ri];(this._effects[element]??(this._effects[element]=[])).push({"type":"text","content":split.content,"jst":split.jst,"rvs":split.rvs,"isSplit":true,"nd":txnd,"tag":doc.tag})}if(!parent)par._RealDOM.push(txnd);(tx??(tx=[])).push(txnd)}}return tx}else{tx=document.createTextNode("");for(let mui=0;mui<doc.mss.length;mui++){const mus=doc.mss[mui];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];(this._effects[element]??(this._effects[element]=[])).push({"type":"text","content":doc.content,"splits":this.splitTextWithMustaches(doc.content,doc.mss),"jst":mus.jst,"rvs":mus.rvs,"isSplit":false,"nd":tx,"tag":doc.tag})}}if(!parent)par._RealDOM.push(tx);return tx}}else{tx=document.createTextNode(decodeHtmlEntities(doc.content));if(!parent)par._RealDOM.push(tx);return tx}break;case"sections":case"section":var _dd=md5(new Date().getTime()/1e3+"::"+Math.random());tx=document.createTextNode("");var typeN=null;if(doc.attrs.hasOwnProperty(":else"))typeN="else";else if(doc.attrs.hasOwnProperty(":else-if"))typeN="else-if";else if(doc.attrs.hasOwnProperty(":if"))typeN="if";else typeN="for";if(doc.type=="section"){var chain=[];if(typeN=="else-if"||typeN=="else"){try{let lastInChain=this._CXR.at(-1);if(lastInChain){_dd=lastInChain.key;chain.push(...lastInChain.chain,lastInChain)}}catch(e){}}el=par.createEl(doc.name,doc.attrs,[],doc.evs,doc);tx.node=el;this._CXR.push({"type":"section","name":typeN,"content":doc.cond,"doc":doc,"key":_dd,"chain":chain,"ref":tx});this.setEffects(doc,el)}else if(doc.type=="sections"){tx.key=_dd;tx.node=null;tx.nodes={};let docRaw=doc;this._LXR.push({"type":"sections","name":typeN,"cond":doc.attrs.hasOwnProperty(":for-if")?doc.attrs[":for-if"]:null,"limit":doc.attrs.hasOwnProperty(":for-limit")?doc.attrs[":for-limit"]:0,"offset":doc.attrs.hasOwnProperty(":for-offset")?doc.attrs[":for-offset"]:0,"content":doc.content,"forX":doc.forX,"doc":docRaw,"key":_dd,"atr":[],"ref":tx})}if(!parent)par._RealDOM.push(tx);return tx;break;case"tag":var _dd=md5(new Date().getTime()/1e3+"::"+Math.random());if(doc.name.toLowerCase()=="settings"){if(par.view.type=="main"){var defaultSettings={layout:"default",requireAuth:false};try{let settingsC=doc.children[0].content;let settings={};eval("settings = "+settingsC+";");if(settings){if(settings.layout==null)settings.layout="default";if(settings.requireAuth==null)settings.requireAuth=false;par.view.settings=settings}else{par.view.settings=defaultSettings}}catch(e){setError(e,"Error in your settings tag inside the '"+par.view.name.toLowerCase()+"' main view!");par.view.settings=defaultSettings}}}else if(doc.name.toLowerCase()=="script"||doc.name.toLowerCase()=="js"){let child=doc.children[0];let js=child.content;let jst=child.jst;let isScoped=false;if(doc.attrs.hasOwnProperty("scoped")){delete doc.attrs["scoped"];isScoped=true}el=par.createEl("script",doc.attrs,[],doc.evs,doc);el._sc=isScoped;el._dd=_dd;el._jst=jst;(par._jj[_dd]??(par._jj[_dd]=[])).push({"nd":el})}else if(doc.name.toLowerCase()=="style"){let css=doc.children[0].content;let isScoped=false;el=par.createEl("style",{},[],doc.evs,doc);if(doc.attrs.hasOwnProperty("scoped")){if(!parent){if(par.view._dd)_dd=par.view._dd;else{par.view._dd=_dd;if(par.view.type=="main")$("[body]")[0].setAttribute("vuid",_dd)}}else{if(parent._dd)_dd=parent._dd;else{parent._dd=_dd;parent.setAttribute("vuid",_dd)}}delete doc.attrs["scoped"];isScoped=true;el._sc=isScoped;el._dd=_dd;el._css=css;(par._cc[_dd]??(par._cc[_dd]=[])).push({"nd":el,"_css":css})}else{el._sc=isScoped;el._dd=_dd;el.textContent=css}for(const prop in doc.attrs){try{_el.setAttribute(prop,doc.attrs[prop])}catch(e){cl(e)}}}else if(doc.name.toLowerCase()=="icon"){let child=par.createEl("span",{"class":"iconify","data-icon":doc?.icon??"mdi:home"},[],{},null);el=par.createEl("span",doc.attrs,[child],doc.evs,doc)}else if(doc.name.toLowerCase()=="slot"){let slotName=doc.attrs&&doc.attrs.name;if(slotName){let tempWrapper=document.createElement("div");let childs=[];for(let i=0;i<doc.children.length;i++){const dc=doc.children[i];let chils=par.walk(dc,tempWrapper);if(chils){if(Array.isArray(chils)){if(chils.length)childs=[...childs,...chils]}else{childs.push(chils)}}}(par.view._slots??(par.view._slots={}))[slotName]=childs}}else if(doc.attrs&&doc.attrs.hasOwnProperty("tpl")&&!doc.attrs.hasOwnProperty(":for")){reportLumenError({stage:"tpl",error:new Error('tpl="'+doc.attrs["tpl"]+'" must be used together with :for on the same element \u2014 templates only render inside a repeated/list context.')})}else{el=par.createEl(doc.name,doc.attrs,[],doc.evs,doc);if(!doc.isV&&!el.isSub){let childs=[];for(let i=0;i<doc.children.length;i++){const dc=doc.children[i];let chils=par.walk(dc,el);if(chils){if(Array.isArray(chils)){if(chils.length)childs=[...childs,...chils]}else{childs.push(chils)}}}childs.length?el.append(...childs):null}}this.setEffects(doc,el);if(el){if(!parent)par._RealDOM.push(el)}return el;break;case"comment":break;default:break}}setEffects(doc2,el2){let rvs=[];if(Object.keys(doc2.ax).length){for(const attrName in doc2.ax){if(Object.hasOwnProperty.call(doc2.ax,attrName)){const attrMustaches=doc2.ax[attrName];for(let i=0;i<attrMustaches.length;i++){const mus=attrMustaches[i];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];rvs.push(element);(this._effects[element]??(this._effects[element]=[])).push({"type":"attr","name":attrName,"content":doc2.attrs[attrName],"splits":this.splitTextWithMustaches(doc2.attrs[attrName],doc2.ax[attrName]),"jst":mus.jst,"rvs":mus.rvs,"nd":el2})}}}}}if(Object.keys(doc2.ex).length){for(const ky in doc2.ex){if(Object.hasOwnProperty.call(doc2.ex,ky)){const mss=doc2.ex[ky];for(let i=0;i<mss.length;i++){const mus=mss[i];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];rvs.push(element);(this._effects[element]??(this._effects[element]=[])).push({"type":"event","name":ky,"content":doc2.evs[ky],"splits":this.splitTextWithMustaches(doc2.evs[ky],doc2.ex[ky]),"jst":mus.jst,"rvs":mus.rvs,"nd":el2})}}}}}return rvs.filter((value,index,self)=>{return self.indexOf(value)===index})}async createSection(cx,vx,isObj,forX){var keyed=cx.key+"_"+vx.index;var tx2=document.createTextNode("");var typeN2=null;if(cx.doc.attrs.hasOwnProperty(":else"))typeN2="else";else if(cx.doc.attrs.hasOwnProperty(":else-if"))typeN2="else-if";else if(cx.doc.attrs.hasOwnProperty(":if"))typeN2="if";else typeN2="for";let el2=this.createEl(cx.doc.name,cx.doc.attrs,[],cx.doc.evs,cx.doc);tx2.node=el2;tx2.key=cx.key;tx2.keyed=keyed;tx2.isObj=isObj;tx2.forX=forX;tx2.vx=vx;let scsc=await renderSection(tx2,cx.doc,this,cx.key);scsc._re=scsc;cx.ref.nodes[keyed]=tx2;return tx2}attrString(attrs){var buff=[];for(var key in attrs){buff.push(key+'="'+attrs[key]+'"')}if(!buff.length)return"";return" "+buff.join(" ")}_stringify(buff,doc2){var par2=this;switch(doc2.type){case"text":return buff+doc2.content;case"tag":buff+="<"+doc2.name+(doc2.attrs?par2.attrString(doc2.attrs):"")+(doc2.isV?"/>":">");if(doc2.isV)return buff;for(let i=0;i<doc2.children.length;i++){const dc=doc2.children[i];buff=buff+par2._stringify("",dc)}return buff+"</"+doc2.name+">";case"comment":return buff;default:return""}}stringify(doc2){var par2=this;return doc2.reduce(function(token,rootEl){return token+par2._stringify("",rootEl)},"")}}async function renderHST(hst,n,type="main",tx2,_pv=null,scopePath=["View"],ownVars,ownFns,ownViews){var reactiveVariables=hst.reactiveVars;hst=hst.hst;let _re=new _lm(new _v({"name":n,"type":type,"hst":hst,"vars":ownVars??tx2?.vx,"fns":ownFns,"views":ownViews,"rvs":reactiveVariables,"_pv":_pv}));_re.view.scopePath=scopePath;if(Object.keys(_re._cc).length){for(const ky in _re._cc){if(Object.hasOwnProperty.call(_re._cc,ky)){const csses=_re._cc[ky];for(let inde=0;inde<csses.length;inde++){let prom=new defer;const css=csses[inde];_csswrk.trigger("css-ready",{"csses":[css._css],"pre":"[vuid='"+ky+"']","key":ky});_vuid[ky]=prom;let _csses=await prom;css.nd.textContent=_csses[0]}}}}if(Object.keys(_re._jj).length){for(const ky in _re._jj){if(Object.hasOwnProperty.call(_re._jj,ky)){const jses=_re._jj[ky];for(let inde=0;inde<jses.length;inde++){const nd=jses[inde].nd;let code=getWatcher(nd._jst,_re.view,reactiveVariables,scopePath).code;code=`try { `+code+` } catch (e) { reportLumenError({ stage: 'script', error: e }); }`;code=code+`
|
|
13
|
+
var cl=console.log;class _v{static name;static type;static vars;static fns;static rvs;static _pv;static mx;static views;static hst;static settings;constructor(obj){this.name=obj.name??"home";this.type=obj.type??"main";this.hst=obj.hst??[];this.views=obj.views??[];this.vars=obj.vars??{};this.fns=obj.fns??{};this.rvs=obj.rvs??{};this._pv=obj._pv??null;this.mx=obj.mx??[];this.settings=obj.settings??{layout:"default",requireAuth:false}}}const consoleLogOriginal=console.log;console.log=function(){for(let i=0;i<arguments.length;i++){const arg=arguments[i];if(arg&&arg.hasOwnProperty("__isProxy")||arg?.target){arguments[i]=arguments[i].target}}consoleLogOriginal.apply(console,arguments)};var _lumenDevMode=true;var _lumenErrorLog=[];var EXPECTED_HST_FORMAT_VERSION=1;var _entityDecodeEl;function decodeHtmlEntities(str){if(!str||str.indexOf("&")===-1)return str;if(!_entityDecodeEl)_entityDecodeEl=document.createElement("textarea");_entityDecodeEl.innerHTML=str;return _entityDecodeEl.value}function _translateLumenError(message){if(!message)return message;return message.replace(/_vt\.View\.vars\[["'`]([^"'`\]]+)["'`]\]/g,"$1")}function reportLumenError(info){info=info||{};var rawMessage=info.message||info.error&&info.error.message||"Unknown error";var entry={time:new Date().toISOString(),stage:info.stage||"runtime",view:info.view||(typeof _vt!=="undefined"&&_vt.View?_vt.View.name:void 0),expr:info.expr,message:_translateLumenError(rawMessage),hint:info.hint};_lumenErrorLog.push(entry);if(_lumenDevMode){console.error("[LumenJS] "+entry.stage+' error in "'+(entry.view||"unknown")+'"'+(entry.expr?" \u2014 "+entry.expr:"")+": "+entry.message+(entry.hint?"\n "+entry.hint:""))}return entry}function _x(_x2){var currPath=[];function _dispatchVarsUpdate(key){let varsIdx=currPath.indexOf("vars");if(varsIdx===-1)return;let varName=varsIdx<currPath.length-1?currPath[varsIdx+1]:key;let rootPath=currPath.slice(0,varsIdx);if(rootPath[0]==="Global"){try{if(typeof window!=="undefined")window[varName]=_x2.Global.vars[varName]}catch(e){}if(_vt.View._re)_vt.View._re.update(varName);return}let owner=_x2;for(let i=0;i<rootPath.length&&owner;i++){owner=owner[rootPath[i]]}if(owner&&owner._re)owner._re.update(varName)}const handler={get(target,key){if(key=="__isProxy")return true;if(target===_x2)currPath=[];currPath.push(key);if(typeof target[key]==="object"&&target[key]!==null&&key!="_re"){return new Proxy(target[key],handler)}else{return target[key]??(key=="target"?target:void 0)??void 0}},set(target,key,value){target[key]=value;try{_dispatchVarsUpdate(key)}catch(e){cl(e)}currPath=[];return true},deleteProperty(target,key){if(!(key in target)){return false}delete target[key];try{_dispatchVarsUpdate(key)}catch(e){cl(e)}return true},ownKeys(target){return Reflect.ownKeys(target)},has(target,key){return key in target},defineProperty(target,key,descriptor){if(descriptor&&"value"in descriptor){target[key]=descriptor.value}return target},getOwnPropertyDescriptor(target,key){const value=target[key];return key in target?{value,enumerable:true,configurable:true}:void 0}};var x=new Proxy(_x2,handler);return x}let _vt=_x({"View":new _v({}),"Global":{"vars":{},"fns":{}},"Widgets":{}});function touch(name){if(_vt.Global.vars.hasOwnProperty(name)){_vt.Global.vars[name]=_vt.Global.vars[name]}}function _lookupInWidgets(name){for(const wname in _vt.Widgets){if(_vt.Widgets[wname].vars.hasOwnProperty(name))return _vt.Widgets[wname].vars[name]}return void 0}function _mergedWidgetsVars(){let out={};let names=Object.keys(_vt.Widgets).reverse();for(const wname of names){out={...out,..._vt.Widgets[wname].vars}}return out}class _lm{_RealDOM=[];_effects={};_cc={};_jj={};_ready=false;view=void 0;sbscrbs=[];reactiveVariables=[];vrs={};_CXR=[];_LXR=[];constructor(view){this.view=view;this.view._re=this;this.reactiveVariables=view?.rvs??{};this.init();if(this.view.type=="main")_vt.View=this.view;if(this.view._pv){this.view._pv.subscribe(this.view)}return this}init(){var par2=this;this.view.hst.forEach(function(doc2){par2.walk(doc2,null)})}subscribe(view){this.sbscrbs.push(view)}scopedEval(context,expr,kk){let ctx=this.concatVarsAtLevel(context,this);if(kk){if(!ctx.hasOwnProperty(kk))return void 0;delete ctx[kk]}try{const evaluator=Function.apply(null,[...Object.keys(ctx),"expr","return eval(expr)"]);return evaluator.apply(null,[...Object.values(ctx),expr])}catch(e){if(e instanceof TypeError){return this.scopedEval(ctx,expr,e.message.split(" ")[0])}reportLumenError({stage:"expression",expr,error:e});return void 0}}getVals(effect){let val="";if(effect.type=="text"){if(!effect.isSplit){for(let i=0;i<effect.splits.length;i++){let split=effect.splits[i];if(split.type=="mustache"){val+=this.getVal(split.content)}else{val+=split.content}}}else{val=this.getVal(effect.content)}}else if(effect.type=="attr"||effect.type=="event"){for(let i=0;i<effect.splits.length;i++){let split=effect.splits[i];if(split.type=="mustache"){val+=this.getVal(split.content)}else{val+=split.content}}}return val}renderAll(){if(this._ready)return;this._ready=true;for(const rv in this._effects){if(Object.prototype.hasOwnProperty.call(this._effects,rv)){const effects=this._effects[rv];for(let ei=0;ei<effects.length;ei++){const effect=effects[ei];if(!effect.nd)continue;try{if(effect.type=="text"){effect.nd.textContent=this.render(effect)}else if(effect.type=="attr"){if(effect.name=="value"){effect.nd.value=this.render(effect)}else{effect.nd.setAttribute(effect.name,this.render(effect));if(effect.name=="view"){effect.nd.subPath=this.render(effect);renderView(this.render(effect),true,{})}}}else if(effect.type=="event"){effect.nd.events[effect.name]=this.render(effect)}}catch(e){cl("Eeeeee",e)}}}}this.updateCXRs();this.updateLXRs();this.updateVXRs();if(typeof appSettings!=="undefined"&&appSettings&&typeof appSettings.tick==="function"){try{appSettings.tick()}catch(e){cl(e)}}}chainConnected(cx){for(let i=cx.chain.length-1;i>=0;i--){const cxs=cx.chain[i];if(cxs.ref.isPreConnected){return true}}return false}async updateVXRs(k){let subsNames=[];for(let i=0;i<this.view.views.length;i++){const _view=this.view.views[i];if(!subsNames.includes(_view.subPath))subsNames.push(_view.subPath)}for(let i=0;i<subsNames.length;i++){const n=subsNames[i];renderView(n,true,{},"views",this.view.views,this.view.scopePath||["View"])}}async updateCXRs(k){for(let i=0;i<this._CXR.length;i++){const cx=this._CXR[i];if(cx.name=="if"){let isTrue=this.evalExp(cx.content,this.reactiveVariables);if(isTrue){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}else if(cx.name=="else-if"){if(!this.chainConnected(cx)){let isTrue=this.evalExp(cx.content,this.reactiveVariables);if(isTrue){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}else{await this.hideSectionCX(cx)}}else if(cx.name=="else"){if(!this.chainConnected(cx)){await this.showSectionCX(cx,k)}else{await this.hideSectionCX(cx)}}}}async showSectionCX(cx,k){let wasConnected=cx.ref.node.isConnected;cx.ref.isPreConnected=true;await renderSection(cx.ref,cx.doc,this,k);if(!wasConnected)await fireRenderHook(cx,"after-render",cx.ref.node,{visible:true})}async hideSectionCX(cx){if(cx.ref.node.isConnected)await fireRenderHook(cx,"before-render",cx.ref.node,{visible:false});cx.ref.isPreConnected=false;cx.ref.node.replaceWith(cx.ref)}render(effect){let x="";try{if(effect.type=="text"||effect.type=="attr"||effect.type=="event"){x=this.getVals(effect)}}catch(e){cl(e)}return x}update(k){if(!this._ready)return;if(this._effects.hasOwnProperty(k)){const effects=this._effects[k];for(let ei=0;ei<effects.length;ei++){const effect=effects[ei];if(!effect.nd)continue;try{if(effect.type=="text"){effect.nd.textContent=this.render(effect)}else if(effect.type=="attr"){if(effect.name=="value"){effect.nd.value=this.render(effect)}else{effect.nd.setAttribute(effect.name,this.render(effect));if(effect.name=="view"){effect.nd.subPath=this.render(effect);renderView(this.render(effect),true,{})}}}else if(effect.type=="event"){effect.nd.events[effect.name]=this.render(effect)}}catch(e){cl("Eeeeee",e)}}}this.updateCXRs(k);this.updateLXRs(k);for(let sbscsi=0;sbscsi<this.sbscrbs.length;sbscsi++){const sbscr=this.sbscrbs[sbscsi];sbscr._re.update(k)}if(typeof appSettings!=="undefined"&&appSettings&&typeof appSettings.tick==="function"){try{appSettings.tick()}catch(e){cl(e)}}}async updateLXRs(k){for(let i=0;i<this._LXR.length;i++){var cx=this._LXR[i];var forX=cx.forX;if(k&&k!=forX["js"])continue;var val=this.getVal(forX["js"],"");var tempVal=[];if(this.typeStr(val)=="number"){for(let i2=0;i2<val;i2++){tempVal.push(i2)}val=tempVal}let vals=[];let isObj=false;if(this.typeStr(val)=="object"){isObj=true;for(const oKey in val){if(Object.hasOwnProperty.call(val,oKey)){const item=val[oKey];let objj={key:oKey,value:item};vals.push(objj)}}}else vals=clone(val);if(this.typeStr(vals)=="array"&&vals.length>0){let forIf=cx.cond;let limit=vals.length;let offset=0;if(cx.limit)limit=(isNaN(cx.limit)?cx.limit:limit)>vals.length?vals.length:cx.limit*1;if(cx.offset)offset=(isNaN(cx.offset)?cx.offset:offset)<0?0:cx.offset*1;let marray=[];if(forIf){marray=vals.slice(offset*1,vals.length)}else{marray=vals.slice(offset*1,limit*1+offset*1)}let myLimit=0;let arrayToRender=[];let arrayToRenderVXs=[];for(var index=0;index<marray.length;index++){if(myLimit==limit*1)break;try{let vx={};vx["index"]=myLimit;if(forX["dx"]!="")vx[forX["dx"]]=myLimit;if(isObj){if(forX["as"]["v"]!=""){if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index]["key"];if(forX["as"]["v"])vx[forX["as"]["v"]]=marray[index]["value"]}else{if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index]}vx["key"]=marray[index]["key"];vx["value"]=marray[index]["value"]}else{if(forX["as"]["k"])vx[forX["as"]["k"]]=marray[index];else if(marray[index]&&typeof marray[index]==="object"){for(const k2 in marray[index]){if(Object.prototype.hasOwnProperty.call(marray[index],k2)){vx[k2]=marray[index][k2]}}}}if(forIf){let _prevVrs=this.vrs;this.vrs=vx;let isTrue;try{isTrue=this.evalExp(forIf,[])}finally{this.vrs=_prevVrs}if(!isTrue)continue}let miIndexx=offset*1+index*1;arrayToRender.push(marray[index]);arrayToRenderVXs.push(vx);myLimit++}catch(e){cl(e)}}let oldATR=cx.atr;cx.atr=clone(arrayToRender);const actions=this.compareArrays(oldATR,arrayToRender);if(actions.length)await fireRenderHook(cx,"before-render",cx.ref.parentElement,{items:arrayToRender,actions});for(let ai=0;ai<actions.length;ai++){const actn=actions[ai];if(actn.action=="add"){let vx=arrayToRenderVXs[actn.index];let cln=await this.createSection(cx,vx,isObj,forX);cx.ref.before(cln);cln.replaceWith(cln.node)}else if(actn.action=="remove"){var keyed=cx.key+"_"+actn.index;let tx2=cx.ref?.nodes[keyed];if(tx2){tx2.remove();tx2.node.remove();delete cx.tx?.nodes[keyed]}}else{var keyed=cx.key+"_"+actn.index;let tx2=cx.ref?.nodes[keyed];let vx=arrayToRenderVXs[actn.index];if(tx2){tx2._re.vrs=vx;if(tx2.isObj){if(tx2.forX.as["k"]!="")tx2._re.update(tx2.forX.as["k"]);else tx2._re.update(tx2.forX.js);if(tx2.forX.as["v"]!="")tx2._re.update(tx2.forX.as["v"]);for(let actnsi=0;actnsi<actn.updates.length;actnsi++){const actnu=actn.updates[actnsi];tx2._re.update(actnu.property)}}else{if(tx2.forX.as["k"]!="")tx2._re.update(tx2.forX.as["k"]);else tx2._re.update(tx2.forX.js)}}}}if(actions.length)await fireRenderHook(cx,"after-render",cx.ref.parentElement,{items:arrayToRender,actions})}else{cx.nodes=[]}}}compareLogic(array1,array2){if(array1.length===array2.length){return 1}else{if(array1.length>array2.length){return 2}else{return 3}}}compareArrays(array1,array2){const actions=[];const maxLength=Math.max(array1.length,array2.length);for(let i=0;i<maxLength;i++){const element1=array1[i];const element2=array2[i];if(!element2){actions.push({action:"remove",index:i})}else if(!element1){actions.push({action:"add",index:i,element:element2})}else if(!this.deepCompare(element1,element2)){actions.push({action:"update",index:i,updates:this.getUpdates(element1,element2)})}}return actions}findDeletedIndexes(array1,array2){const deletedIndexes=[];let par2=this;array1.forEach((item,index)=>{const foundIndex=array2.findIndex(el2=>par2.deepCompare(el2,item));if(foundIndex===-1){deletedIndexes.push(index)}});return deletedIndexes}findAddedIndexes(array1,array2){const addedIndexes=[];let par2=this;array2.forEach((item,index)=>{const foundIndex=array1.findIndex(el2=>par2.deepCompare(el2,item));if(foundIndex===-1){addedIndexes.push(index)}});return addedIndexes}deepCompare(obj1,obj2){return JSON.stringify(obj1)===JSON.stringify(obj2)}getUpdates(oldObj,newObj){const updates=[];for(const key in newObj){if(newObj.hasOwnProperty(key)&&newObj[key]!==oldObj[key]){updates.push({property:key,value:newObj[key]})}}return updates}getVal(mo,indexName){let vars={};try{for(let i=0;i<this.reactiveVariables.length;i++){let __name=this.reactiveVariables[i];if(_vt.View.vars.hasOwnProperty(__name)){vars[__name]=_vt.View.vars[__name]}else{let _wv=_lookupInWidgets(__name);vars[__name]=_wv!==void 0?_wv:_vt.Global.vars[__name]}}for(const ky in this.vrs){if(Object.prototype.hasOwnProperty.call(this.vrs,ky)){vars[ky]=this.vrs[ky]}}if(this.view&&this.view.vars){for(const ky in this.view.vars){if(Object.prototype.hasOwnProperty.call(this.view.vars,ky)){vars[ky]=this.view.vars[ky]}}}}catch(e){cl(e)}mo=mo.trim();if(mo.slice(0,2)=="{{"){mo=mo.slice(2,-2)}let value="";let _mo=mo;if(mo.indexOf("`")>-1){var matchesVal=_mo.match(/\.`[\s\S]*?`/g);if(matchesVal)for(var y=0;y<matchesVal.length;y++){_mo=_mo.split(matchesVal[y]).join("."+this.getVal(matchesVal[y].substr(1).slice(1,-1),indexName))}var matchesVal=_mo.match(/`[\s\S]*?`/g);if(matchesVal)for(var y=0;y<matchesVal.length;y++){_mo=_mo.split(matchesVal[y]).join("'"+this.getVal(matchesVal[y].slice(1,-1),indexName)+"'")}return this.getVal(_mo,indexName)}if(mo.indexOf(";")>-1){let zxx=mo.split(";");mo=$.trim(zxx[0])}if(mo.indexOf(" as ")>-1){mo=mo.split(" as ");return this.getVal(mo[0],indexName)}if(indexName){indexName=indexName.toString();if(mo.indexOf(indexName)>-1&&mo!=indexName&&vars.hasOwnProperty(indexName)&&mo!="index"){mo=mo.split(indexName).join(vars[indexName]);return this.getVal(mo,indexName)}}var Ondex=mo.match(/\bindex\b/g);if(Ondex&&mo!="index"&&vars.hasOwnProperty("index")){_mo=mo.replace(/\bindex\b/g,vars["index"]);return this.getVal(_mo,indexName)}value=this.lookup(mo,vars);return value??""}concatVarsAtLevel(levelVars,parent2){if(!parent2.view._pv){var concatenatedVars={...levelVars};if(parent2.view.vars){concatenatedVars={..._vt.Global.vars,..._mergedWidgetsVars(),...parent2.view.vars,...concatenatedVars}}return concatenatedVars}var concatenatedVars={...levelVars};if(parent2.view.vars){concatenatedVars={...parent2.view.vars,...concatenatedVars}}return this.concatVarsAtLevel(concatenatedVars,parent2.view._pv)}lookup(name,vaz){let vars=this.concatVarsAtLevel(vaz,this);try{var value;var names,index,lookupHit=false;if(this.hasProperty(vars,name)){value=vars[name]}else if(name.indexOf(".")>-1&&name.indexOf("[")==-1){var value=this.scopedEval(vars,name);if(!(value||value==0)){value=vars;names=name.split(".");index=0;while(value!=null&&index<names.length){if(index===names.length-1)lookupHit=this.hasProperty(value,names[index]);value=value[names[index++]]}}}else{var value=this.scopedEval(vars,name);if(!(value||value==0)){if(name.indexOf(".")==-1&&name.indexOf("[")>-1){let _name=name;var matchesVal=_name.match(/\[[\s\S]*?\]/g);for(var y=0;y<matchesVal.length;y++){if(matchesVal[y].indexOf("'")==-1&&matchesVal[y].indexOf('"')==-1)_name=_name.split(matchesVal[y]).join("['"+matchesVal[y].slice(1,-1)+"']")}var value=this.scopedEval(vars,_name)}}}if(this.isFunction(value))value=value.call(value)}catch(e){reportLumenError({stage:"lookup",expr:name,error:e});return""}return value}objectToString=Object.prototype.toString;isArray=Array.isArray||function isArrayPolyfill(object){return objectToString.call(object)==="[object Array]"};isFunction(object){return typeof object==="function"}typeStr(obj){return this.isArray(obj)?"array":typeof obj}hasProperty(obj,propName){return obj!=null&&typeof obj==="object"&&propName in obj}createEl(tag,attrs,children,events,doc2){const _el2=document.createElement(tag);Object.defineProperty(_el2,"_ownerRe",{value:this,enumerable:false,configurable:true,writable:true});_el2.isSub=false;if(attrs.hasOwnProperty("view")){_el2.isSub=true;_el2.subPath=attrs["view"];_el2.vars={};_el2.views=[];_el2.fns={};if(doc2&&doc2.evs&&doc2.evs.hasOwnProperty("@init")){let _initAttr=doc2.evs["@init"];if(_initAttr){let _initResult=evalEvAttr(_initAttr,{cType:"init"},$(_el2),"init",this.vrs);if(_initResult&&typeof _initResult==="object"&&typeof _initResult.then!=="function"){Object.assign(_el2.vars,_initResult)}}}this.view.views.push(_el2)}_el2.events={};for(const prop in attrs){if(prop=="view"||prop==":data"||prop==":if"||prop==":else-if"||prop==":else"||prop==":for"||prop==":for-limit"||prop==":for-offset"||prop==":for-if")continue;try{let val=doc2&&doc2.ax.hasOwnProperty(prop)?"":attrs[prop];if(prop=="value"){_el2.value=val}else _el2.setAttribute(prop,val)}catch(e){cl(e)}}for(const prop in events){try{_el2.events[prop]=events[prop]}catch(e){cl(e)}}if(children.length)_el2.append(...children);if(events&&events["@after-render"]&&!(attrs&&(attrs.hasOwnProperty(":for")||attrs.hasOwnProperty(":if")||attrs.hasOwnProperty(":else-if")||attrs.hasOwnProperty(":else")))){fireRenderHook({doc:doc2},"after-render",_el2,{})}autoInitPlugins(_el2,attrs);return _el2}evalExp(expr,vars){let rvars={};try{for(let i=0;i<vars.length;i++){let __name=vars[i];if(_vt.View.vars.hasOwnProperty(__name)){rvars[__name]=_vt.View.vars[__name]}else{let _wv=_lookupInWidgets(__name);rvars[__name]=_wv!==void 0?_wv:_vt.Global.vars[__name]}}for(const ky in this.vrs){if(Object.prototype.hasOwnProperty.call(this.vrs,ky)){rvars[ky]=this.vrs[ky]}}if(this.view&&this.view.vars){for(const ky in this.view.vars){if(Object.prototype.hasOwnProperty.call(this.view.vars,ky)){rvars[ky]=this.view.vars[ky]}}}}catch(e){cl(e)}try{var value=this.scopedEval(rvars,expr);if(value&&value!=0)return true}catch(e){reportLumenError({stage:"condition",expr,error:e});return false}return false}splitTextWithMustaches(text,mustaches){mustaches.sort((a,b)=>a.start-b.start);const elements=[];let currentIndex=0;for(const mustache of mustaches){if(currentIndex<mustache.start){elements.push({type:"static",content:text.substring(currentIndex,mustache.start)})}elements.push({type:"mustache",jst:mustache.jst,rvs:mustache.rvs,content:text.substring(mustache.start,mustache.end)});currentIndex=mustache.end}if(currentIndex<text.length){elements.push({type:"static",content:text.substring(currentIndex)})}return elements}walk(doc,parent){var par=this;var tx,el;switch(doc.type){case"text":if(doc.mss.length){let splitIt=true;if(doc.tag=="textarea"){splitIt=false}if(splitIt){let splits=this.splitTextWithMustaches(doc.content,doc.mss);for(let si=0;si<splits.length;si++){const split=splits[si];if(split.type=="static"){let txnd=document.createTextNode(decodeHtmlEntities(split.content));if(!parent)par._RealDOM.push(txnd);(tx??(tx=[])).push(txnd)}else{let txnd=document.createTextNode("");for(let ri=0;ri<split.rvs.length;ri++){const element=split.rvs[ri];(this._effects[element]??(this._effects[element]=[])).push({"type":"text","content":split.content,"jst":split.jst,"rvs":split.rvs,"isSplit":true,"nd":txnd,"tag":doc.tag})}if(!parent)par._RealDOM.push(txnd);(tx??(tx=[])).push(txnd)}}return tx}else{tx=document.createTextNode("");for(let mui=0;mui<doc.mss.length;mui++){const mus=doc.mss[mui];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];(this._effects[element]??(this._effects[element]=[])).push({"type":"text","content":doc.content,"splits":this.splitTextWithMustaches(doc.content,doc.mss),"jst":mus.jst,"rvs":mus.rvs,"isSplit":false,"nd":tx,"tag":doc.tag})}}if(!parent)par._RealDOM.push(tx);return tx}}else{tx=document.createTextNode(decodeHtmlEntities(doc.content));if(!parent)par._RealDOM.push(tx);return tx}break;case"sections":case"section":var _dd=md5(new Date().getTime()/1e3+"::"+Math.random());tx=document.createTextNode("");var typeN=null;if(doc.attrs.hasOwnProperty(":else"))typeN="else";else if(doc.attrs.hasOwnProperty(":else-if"))typeN="else-if";else if(doc.attrs.hasOwnProperty(":if"))typeN="if";else typeN="for";if(doc.type=="section"){var chain=[];if(typeN=="else-if"||typeN=="else"){try{let lastInChain=this._CXR.at(-1);if(lastInChain){_dd=lastInChain.key;chain.push(...lastInChain.chain,lastInChain)}}catch(e){}}el=par.createEl(doc.name,doc.attrs,[],doc.evs,doc);tx.node=el;this._CXR.push({"type":"section","name":typeN,"content":doc.cond,"doc":doc,"key":_dd,"chain":chain,"ref":tx});this.setEffects(doc,el)}else if(doc.type=="sections"){tx.key=_dd;tx.node=null;tx.nodes={};let docRaw=doc;this._LXR.push({"type":"sections","name":typeN,"cond":doc.attrs.hasOwnProperty(":for-if")?doc.attrs[":for-if"]:null,"limit":doc.attrs.hasOwnProperty(":for-limit")?doc.attrs[":for-limit"]:0,"offset":doc.attrs.hasOwnProperty(":for-offset")?doc.attrs[":for-offset"]:0,"content":doc.content,"forX":doc.forX,"doc":docRaw,"key":_dd,"atr":[],"ref":tx})}if(!parent)par._RealDOM.push(tx);return tx;break;case"tag":var _dd=md5(new Date().getTime()/1e3+"::"+Math.random());if(doc.name.toLowerCase()=="settings"){if(par.view.type=="main"){var defaultSettings={layout:"default",requireAuth:false};try{let settingsC=doc.children[0].content;let settings={};eval("settings = "+settingsC+";");if(settings){if(settings.layout==null)settings.layout="default";if(settings.requireAuth==null)settings.requireAuth=false;par.view.settings=settings}else{par.view.settings=defaultSettings}}catch(e){setError(e,"Error in your settings tag inside the '"+par.view.name.toLowerCase()+"' main view!");par.view.settings=defaultSettings}}}else if(doc.name.toLowerCase()=="script"||doc.name.toLowerCase()=="js"){let child=doc.children[0];let js=child.content;let jst=child.jst;let isScoped=false;if(doc.attrs.hasOwnProperty("scoped")){delete doc.attrs["scoped"];isScoped=true}el=par.createEl("script",doc.attrs,[],doc.evs,doc);el._sc=isScoped;el._dd=_dd;el._jst=jst;(par._jj[_dd]??(par._jj[_dd]=[])).push({"nd":el})}else if(doc.name.toLowerCase()=="style"){let css=doc.children[0].content;let isScoped=false;el=par.createEl("style",{},[],doc.evs,doc);if(doc.attrs.hasOwnProperty("scoped")){if(!parent){if(par.view._dd)_dd=par.view._dd;else{par.view._dd=_dd;if(par.view.type=="main")$("[body]")[0].setAttribute("vuid",_dd)}}else{if(parent._dd)_dd=parent._dd;else{parent._dd=_dd;parent.setAttribute("vuid",_dd)}}delete doc.attrs["scoped"];isScoped=true;el._sc=isScoped;el._dd=_dd;el._css=css;(par._cc[_dd]??(par._cc[_dd]=[])).push({"nd":el,"_css":css})}else{el._sc=isScoped;el._dd=_dd;el.textContent=css}for(const prop in doc.attrs){try{_el.setAttribute(prop,doc.attrs[prop])}catch(e){cl(e)}}}else if(doc.name.toLowerCase()=="icon"){let child=par.createEl("span",{"class":"iconify","data-icon":doc?.icon??"mdi:home"},[],{},null);el=par.createEl("span",doc.attrs,[child],doc.evs,doc)}else if(doc.name.toLowerCase()=="slot"){let slotName=doc.attrs&&doc.attrs.name;if(slotName){let tempWrapper=document.createElement("div");let childs=[];for(let i=0;i<doc.children.length;i++){const dc=doc.children[i];let chils=par.walk(dc,tempWrapper);if(chils){if(Array.isArray(chils)){if(chils.length)childs=[...childs,...chils]}else{childs.push(chils)}}}(par.view._slots??(par.view._slots={}))[slotName]=childs}}else if(doc.attrs&&doc.attrs.hasOwnProperty("tpl")&&!doc.attrs.hasOwnProperty(":for")){reportLumenError({stage:"tpl",error:new Error('tpl="'+doc.attrs["tpl"]+'" must be used together with :for on the same element \u2014 templates only render inside a repeated/list context.')})}else{el=par.createEl(doc.name,doc.attrs,[],doc.evs,doc);if(!doc.isV&&!el.isSub){let childs=[];for(let i=0;i<doc.children.length;i++){const dc=doc.children[i];let chils=par.walk(dc,el);if(chils){if(Array.isArray(chils)){if(chils.length)childs=[...childs,...chils]}else{childs.push(chils)}}}childs.length?el.append(...childs):null}}this.setEffects(doc,el);if(el){if(!parent)par._RealDOM.push(el)}return el;break;case"comment":break;default:break}}setEffects(doc2,el2){let rvs=[];if(Object.keys(doc2.ax).length){for(const attrName in doc2.ax){if(Object.hasOwnProperty.call(doc2.ax,attrName)){const attrMustaches=doc2.ax[attrName];for(let i=0;i<attrMustaches.length;i++){const mus=attrMustaches[i];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];rvs.push(element);(this._effects[element]??(this._effects[element]=[])).push({"type":"attr","name":attrName,"content":doc2.attrs[attrName],"splits":this.splitTextWithMustaches(doc2.attrs[attrName],doc2.ax[attrName]),"jst":mus.jst,"rvs":mus.rvs,"nd":el2})}}}}}if(Object.keys(doc2.ex).length){for(const ky in doc2.ex){if(Object.hasOwnProperty.call(doc2.ex,ky)){const mss=doc2.ex[ky];for(let i=0;i<mss.length;i++){const mus=mss[i];for(let ri=0;ri<mus.rvs.length;ri++){const element=mus.rvs[ri];rvs.push(element);(this._effects[element]??(this._effects[element]=[])).push({"type":"event","name":ky,"content":doc2.evs[ky],"splits":this.splitTextWithMustaches(doc2.evs[ky],doc2.ex[ky]),"jst":mus.jst,"rvs":mus.rvs,"nd":el2})}}}}}return rvs.filter((value,index,self)=>{return self.indexOf(value)===index})}async createSection(cx,vx,isObj,forX){var keyed=cx.key+"_"+vx.index;var tx2=document.createTextNode("");var typeN2=null;if(cx.doc.attrs.hasOwnProperty(":else"))typeN2="else";else if(cx.doc.attrs.hasOwnProperty(":else-if"))typeN2="else-if";else if(cx.doc.attrs.hasOwnProperty(":if"))typeN2="if";else typeN2="for";let el2=this.createEl(cx.doc.name,cx.doc.attrs,[],cx.doc.evs,cx.doc);tx2.node=el2;tx2.key=cx.key;tx2.keyed=keyed;tx2.isObj=isObj;tx2.forX=forX;tx2.vx=vx;let scsc=await renderSection(tx2,cx.doc,this,cx.key);scsc._re=scsc;cx.ref.nodes[keyed]=tx2;return tx2}attrString(attrs){var buff=[];for(var key in attrs){buff.push(key+'="'+attrs[key]+'"')}if(!buff.length)return"";return" "+buff.join(" ")}_stringify(buff,doc2){var par2=this;switch(doc2.type){case"text":return buff+doc2.content;case"tag":buff+="<"+doc2.name+(doc2.attrs?par2.attrString(doc2.attrs):"")+(doc2.isV?"/>":">");if(doc2.isV)return buff;for(let i=0;i<doc2.children.length;i++){const dc=doc2.children[i];buff=buff+par2._stringify("",dc)}return buff+"</"+doc2.name+">";case"comment":return buff;default:return""}}stringify(doc2){var par2=this;return doc2.reduce(function(token,rootEl){return token+par2._stringify("",rootEl)},"")}}async function renderHST(hst,n,type="main",tx2,_pv=null,scopePath=["View"],ownVars,ownFns,ownViews){var reactiveVariables=hst.reactiveVars;hst=hst.hst;let _re=new _lm(new _v({"name":n,"type":type,"hst":hst,"vars":ownVars??tx2?.vx,"fns":ownFns,"views":ownViews,"rvs":reactiveVariables,"_pv":_pv}));_re.view.scopePath=scopePath;if(Object.keys(_re._cc).length){for(const ky in _re._cc){if(Object.hasOwnProperty.call(_re._cc,ky)){const csses=_re._cc[ky];for(let inde=0;inde<csses.length;inde++){let prom=new defer;const css=csses[inde];_csswrk.trigger("css-ready",{"csses":[css._css],"pre":"[vuid='"+ky+"']","key":ky});_vuid[ky]=prom;let _csses=await prom;css.nd.textContent=_csses[0]}}}}if(Object.keys(_re._jj).length){for(const ky in _re._jj){if(Object.hasOwnProperty.call(_re._jj,ky)){const jses=_re._jj[ky];for(let inde=0;inde<jses.length;inde++){const nd=jses[inde].nd;let code=getWatcher(nd._jst,_re.view,reactiveVariables,scopePath).code;code=`try { `+code+` } catch (e) { reportLumenError({ stage: 'script', error: e }); }`;code=code+`
|
|
14
14
|
//# sourceURL=`+(_re.view?.name||"view")+`.view.generated.js`;nd.textContent=code}}}}return _re}async function fireRenderHook(cx,n,containerEl,extra){if(!containerEl)return;let attrKey="@"+n;if(!cx.doc||!cx.doc.evs||!cx.doc.evs.hasOwnProperty(attrKey))return;let attrVal=cx.doc.evs[attrKey];if(!attrVal)return;let ev=Object.assign({cType:n},extra||{});let result=evalEvAttr(attrVal,ev,$(containerEl),n);if(result&&typeof result.then==="function"){try{return await result}catch(e){return void 0}}return result}function autoInitPlugins(el2,attrs){if(!attrs)return;try{if(attrs.hasOwnProperty("sl")&&typeof $.fn.select2==="function"){initSl($(el2))}if(attrs.hasOwnProperty("color")&&typeof $.fn.colorpicker==="function"){$(el2).removeAttr("color").colorpicker({format:"rgba"})}if(typeof $.fn.datetimepicker==="function"){if(attrs.hasOwnProperty("time"))dtp($(el2),"time");if(attrs.hasOwnProperty("date"))dtp($(el2),"date");if(attrs.hasOwnProperty("datetime"))dtp($(el2),"datetime")}}catch(e){cl(e)}}function initSl(t){if(t.hasClass("select2-hidden-accessible"))return;try{var plchldr=t.attr("placeholder")?t.attr("placeholder"):"";var dir=$("body").hasClass("rtl")?"rtl":"ltr";var nr=t.attr("sl-nrmsg")?t.attr("sl-nrmsg"):"No results found";var minResultsForSearch=t.attr("sl-mins")?t.attr("sl-mins"):10;var allowNewTags=t.attr("sl-ntgs")?true:false;var dropdownParent=t.attr("sl-prt")?t.attr("sl-prt"):"body";if(dropdownParent=="self")dropdownParent=t.parent();else dropdownParent=$(dropdownParent);var query=t.attr("sl-query")?t.attr("sl-query"):null;var uniquer=Date.now();if(typeof window[query]==="function"){t.select2.amd.define("adapt_"+uniquer,["select2/data/array","select2/utils"],function(ArrayAdapter,Utils){function CustomDataAdapter($element,options){CustomDataAdapter.__super__.constructor.call(this,$element,options)}Utils.Extend(CustomDataAdapter,ArrayAdapter);CustomDataAdapter.prototype.query=function(params,callback){clearTimeout(_dbcrs[uniquer]);let _t=t;_dbcrs[uniquer]=setTimeout(function(){window[query](params,callback,_t)},!_dbcrs.hasOwnProperty(uniquer)?0:_dbcrsTime)};return CustomDataAdapter});t.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:true,language:{noResults:function(){return nr}},...t.select2.amd.require("adapt_"+uniquer)?{ajax:{},dataAdapter:t.select2.amd.require("adapt_"+uniquer)}:{}})}else{t.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:true,language:{noResults:function(){return nr}}})}if(t.attr("sl-nosrch"))t.on("select2:opening select2:closing",function(event){$(this).parent().find(".select2-search__field").prop("disabled",true)});if(t.attr("sl-class")){t.on("select2:opening",function(event){dropdownParent.addClass(t.attr("sl-class"))});t.on("select2:closing",function(event){dropdownParent.removeClass(t.attr("sl-class"))})}if(t.attr("sl-id")||t.attr("sl-text")){let text=t.attr("sl-text");let id=t.attr("sl-id");if(!text)text=id;if(!id)id=text;let newOption=new Option(text,id,true,true);t.append(newOption).trigger("select")}else{t.select2("val","")}if(t.attr("sl-value"))t.val(t.attr("sl-value")).trigger("change")}catch(e){cl(e)}}var _dbcrs={};var _dbcrsTime=250;function dtp(el2,t){el2.removeAttr(t);let opts={format:t=="date"?"yyyy-mm-dd":t=="time"?"hh:ii":"yyyy-mm-dd hh:ii",weekStart:el2.attr("date-week-start")??1,startView:t=="time"?1:el2.attr("startview")?el2.attr("startview"):2,minView:el2.attr("minview")?el2.attr("minview"):t=="time"?0:t=="datetime"?0:2,maxView:el2.attr("maxview")?el2.attr("maxview"):t=="time"?1:4,todayBtn:t=="time"?0:el2.attr("date-today")=="false"?0:1,todayHighlight:t=="time"?0:el2.attr("date-today")=="false"?0:1,language:el2.attr("date-lang")??"en",minuteStep:el2.attr("date-minute-step")??5,pickerPosition:el2.attr("date-position")??"top-right",autoclose:1,showMeridian:false};if(el2.attr("date-start"))opts["startDate"]=el2.attr("date-start");if(el2.attr("date-end"))opts["endDate"]=el2.attr("date-end");if(el2.attr("date-value"))opts["date"]=el2.attr("date-value");el2.datetimepicker(opts);if(t=="time"){el2.on("show",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: hidden; font-size:0px !important; overflow: hidden; height: 0px;")}).on("hide",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: visible;")})}if(el2.attr("date-link-start")){el2.on("change",function(e){let dp1=el2.data("datetimepicker");let dp2=$(el2.attr("date-link-start")).data("datetimepicker");dp2.setStartDate(dp1.getFormattedDate());if(dp2.getFormattedDate()<dp1.getFormattedDate()||dp2.getFormattedDate()=="")$(el2.attr("date-link-start")).val(dp1.getFormattedDate())})}else if(el2.attr("date-link-end")){el2.on("change",function(e){let dp1=$(el2.attr("date-link-end")).data("datetimepicker");let dp2=el2.data("datetimepicker");dp1.setEndDate(dp2.getFormattedDate())});opts["useCurrent"]=false}}async function renderSection(tx2,doc2,par2,k,sectionsData){if(tx2.node.isConnected){if(k){tx2._re.update(k)}return tx2._re}var hst=doc2.children;if(doc2.attrs&&doc2.attrs.hasOwnProperty("tpl")){let _payload=typeof _vcD!=="undefined"&&_vcD||(typeof _vcData!=="undefined"?_vcData:void 0);let _tplName=doc2.attrs["tpl"];let _tplKey=btoa("src/tpls/"+_tplName+".tpl");let _tplEntry=_payload&&_payload.tpls&&_payload.tpls[_tplKey];if(_tplEntry){hst=_tplEntry.hst}else{reportLumenError({stage:"tpl",error:new Error('tpl="'+_tplName+'" \u2014 no such file at src/tpls/'+_tplName+".tpl")})}}let _re=await renderHST({hst,mxes:[]},tx2.key,"section",tx2,par2,par2?.view?.scopePath||["View"],void 0,void 0,par2?.view?.views);tx2._re=_re;if(tx2.node){tx2.replaceWith(tx2.node);tx2.node.innerHTML="";tx2.node.append(..._re._RealDOM);_re.setEffects(doc2,tx2.node);_re.renderAll("section")}return _re}async function renderView(n,isSub,d,type="views",viewsArr,scopeBase=["View"]){let filePath="src/views/"+n+".view";if(type=="layouts")filePath="src/layouts/"+n+".layout";let fileKey=btoa(filePath);if(!isSub){View.props=d??{};var _queryParams=window.location.href.split("?");var nn=_queryParams.shift();View.params=paraToObj(_queryParams)??{}}n=prepareNode(n);var _queryParams=n.split("?");n=_queryParams.shift();let _payload=_vcD||(typeof _vcData!=="undefined"?_vcData:void 0);if(_payload&&!_payload.__hstVersionChecked){_payload.__hstVersionChecked=true;if(_payload.hstFormatVersion!==void 0&&_payload.hstFormatVersion!==EXPECTED_HST_FORMAT_VERSION){reportLumenError({stage:"hst-version-mismatch",error:new Error("This project was compiled for HST format v"+_payload.hstFormatVersion+", but this LumenJS runtime expects v"+EXPECTED_HST_FORMAT_VERSION+". @lmjs/cli and @lmjs/core are out of sync \u2014 reinstall/upgrade both together.")});return}}if(_payload&&_payload[type].hasOwnProperty(fileKey)&&_csswrk.isStarted()){if(isSub)cl("Rendering",n,fileKey);var hst=_payload[type][fileKey];if(isSub){let searchArr=viewsArr||_vt.View.views;let els=[];for(let i=0;i<searchArr.length;i++){let _el2=searchArr[i];if(_el2.__isProxy)_el2=_el2.target;if(_el2.subPath==n)els.push({el:_el2,viewsIndex:i})}if(els.length){for(let i=0;i<els.length;i++){const{el:el2,viewsIndex}=els[i];el2.vars=el2.vars||{};el2.views=el2.views||[];el2.fns=el2.fns||{};let _re=await renderHST(hst,n,"sub",void 0,null,scopeBase.concat(["views",viewsIndex]),el2.vars,el2.fns,el2.views);el2._re=_re;el2.innerHTML="";el2.append(..._re._RealDOM);_re.renderAll()}}}else{if(type=="layouts"){let appSelector=appSettings.App??"[app]";var appContainer=$(appSelector);if(appContainer.length){let _rel=await renderHST(hst,n,"layout");appContainer.data("layout",n).html(_rel._RealDOM);_rel.renderAll();goToNode()}}else{let _re=await renderHST(hst,n,"main");let layout=_re.view.settings.layout;let filePathL="src/layouts/"+layout+".layout";let fileKeyL=btoa(filePathL);let hstL=_payload["layouts"][fileKeyL];let appSelector=appSettings.App??"[app]";var appContainer=$(appSelector);let layoutJustSwapped=false;if(appContainer.length){let currentLayout=$(appSelector).data("layout");if(currentLayout!=layout){let _rel=await renderHST(hstL,layout,"layout");appContainer.data("layout",layout).html(_rel._RealDOM);_rel.renderAll();layoutJustSwapped=true}else{}}else{$("body").prepend("<div "+appSelector+"></div>");let _rel=await renderHST(hstL,layout,"layout");appContainer=$(appSelector);appContainer.data("layout",layout).html(_rel._RealDOM);_rel.renderAll();layoutJustSwapped=true}let declaredRegions=hstL&&hstL.regions||[];for(const regionName of declaredRegions){let settingsKey="has"+regionName[0].toUpperCase()+regionName.slice(1);let want=_re.view.settings.hasOwnProperty(settingsKey)?_re.view.settings[settingsKey]:true;let resolvedFile=want===false?null:want===true?regionName:want;let w=_vt.Widgets[regionName]||(_vt.Widgets[regionName]={vars:{},fns:{},views:[],_re:null,_resolvedFile:void 0});if(resolvedFile!==w._resolvedFile){if(resolvedFile===null){$("["+regionName+"]").html("");w._re=null;w._resolvedFile=resolvedFile}else{let wFilePath="src/views/widgets/"+resolvedFile+".view";let wHst=_payload["views"][btoa(wFilePath)];if(wHst){let _rew=await renderHST(wHst,resolvedFile,"widget",void 0,null,["Widgets",regionName],w.vars,w.fns,w.views);w._re=_rew;$("["+regionName+"]").html(_rew._RealDOM);_rew.renderAll();w._resolvedFile=resolvedFile}}}else if(layoutJustSwapped&&w._re){$("["+regionName+"]").html(w._re._RealDOM)}}$("[body]").html(_re._RealDOM);if(_re.view._slots){for(const slotName in _re.view._slots){if(Object.prototype.hasOwnProperty.call(_re.view._slots,slotName)){$('[slot="'+slotName+'"]').html(_re.view._slots[slotName])}}}_re.renderAll()}}}else{setTimeout(()=>{renderView(n,isSub,d)},10)}}
|
|
15
15
|
|
|
16
16
|
!(function(a,b){"function"==typeof define&&define.amd?define([],b):"undefined"!=typeof module&&module.exports?module.exports=b():a.ReconnectingWebSocket=b()})(this,function(){function a(b,c,d){function l(a2,b2){var c2=document.createEvent("CustomEvent");return c2.initCustomEvent(a2,false,false,b2),c2}var e={debug:false,automaticOpen:true,reconnectInterval:1e3,maxReconnectInterval:3e4,reconnectDecay:1,timeoutInterval:3e3};d||(d={});for(var f in e)this[f]="undefined"!=typeof d[f]?d[f]:e[f];this.url=b,this.reconnectAttempts=0,this.readyState=WebSocket.CONNECTING,this.protocol=null;var h,g=this,i2=false,j=false,k=document.createElement("div");k.addEventListener("open",function(a2){g.onopen(a2)}),k.addEventListener("close",function(a2){g.onclose(a2)}),k.addEventListener("connecting",function(a2){g.onconnecting(a2)}),k.addEventListener("message",function(a2){g.onmessage(a2)}),k.addEventListener("error",function(a2){g.onerror(a2)}),this.addEventListener=k.addEventListener.bind(k),this.removeEventListener=k.removeEventListener.bind(k),this.dispatchEvent=k.dispatchEvent.bind(k),this.open=function(b2){try{h=new WebSocket(g.url,c||[]),b2||k.dispatchEvent(l("connecting")),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","attempt-connect",g.url);var d2=h,e2=setTimeout(function(){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","connection-timeout",g.url),j=true,j=false;if(d2.readyState==1)d2.close()},g.timeoutInterval);h.onopen=function(){clearTimeout(e2),(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onopen",g.url),g.protocol=h.protocol,g.readyState=WebSocket.OPEN,g.reconnectAttempts=0;var d3=l("open");d3.isReconnect=b2,b2=false,k.dispatchEvent(d3)},h.onclose=function(c2){if(clearTimeout(e3),h=null,i2)g.readyState=WebSocket.CLOSED,k.dispatchEvent(l("close"));else{g.readyState=WebSocket.CONNECTING;var d3=l("connecting");d3.code=c2.code,d3.reason=c2.reason,d3.wasClean=c2.wasClean,k.dispatchEvent(d3),b2||j||((g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onclose",g.url),k.dispatchEvent(l("close")));var e3=g.reconnectInterval*Math.pow(g.reconnectDecay,g.reconnectAttempts);setTimeout(function(){g.reconnectAttempts++,g.open(true)},e3>g.maxReconnectInterval?g.maxReconnectInterval:e3)}},h.onmessage=function(b3){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onmessage",g.url,b3.data);var c2=l("message");c2.data=b3.data,k.dispatchEvent(c2)},h.onerror=function(b3){(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","onerror",g.url,b3),k.dispatchEvent(l("error"))}}catch(error){console.error("WebSocket connection error:",error)}},1==this.automaticOpen&&this.open(false),this.send=function(b2){if(h)return(g.debug||a.debugAll)&&console.debug("ReconnectingWebSocket","send",g.url,b2),h.send(b2);throw"INVALID_STATE_ERR : Pausing to reconnect websocket"},this.close=function(a2,b2){"undefined"==typeof a2&&(a2=1e3),i2=true,h&&h.close(a2,b2)},this.refresh=function(){h&&h.readyState==1&&h.close()}}return a.prototype.onopen=function(){},a.prototype.onclose=function(){},a.prototype.onconnecting=function(){},a.prototype.onmessage=function(){},a.prototype.onerror=function(){},a.debugAll=false,a.CONNECTING=WebSocket.CONNECTING,a.OPEN=WebSocket.OPEN,a.CLOSING=WebSocket.CLOSING,a.CLOSED=WebSocket.CLOSED,a});let _isTipped=false;var _debugMode=false;var _initialized=null;var _dbcrs={};var _dbcrsTime=200;var _tickTime=20;var _scW=0;var cl=console.log;if(!_vcData)var _vcData=void 0;if(!_beaTn)var _beaTn=void 0;var beas;var appSettings;var execEl="";var currentlyValidTags=new Array;var _upwrk=new WebWorker("_upw");var _csswrk=new WebWorker("_cssw");_csswrk.start();var _ups=[];(function(e,t2){typeof module!="undefined"&&module.exports?module.exports=t2():typeof define=="function"&&define.amd?define(t2):this[e]=t2()})("bea",function(){function p(e2,t3){for(var n3=0,i3=e2.length;n3<i3;++n3)if(!t3(e2[n3]))return r2;return 1}function d(e2,t3){p(e2,function(e3){return t3(e3),1})}function v(e2,t3,n3){function g(e3){return e3.call?e3():u[e3]}function y(){if(!--h2){u[o2]=1,s2&&s2();for(var e3 in f)p(e3.split("|"),g)&&!d(f[e3],g)&&(f[e3]=[])}}e2=e2[i2]?e2:[e2];var r3=t3&&t3.call,s2=r3?t3:n3,o2=r3?e2.join(""):t3,h2=e2.length;return setTimeout(function(){d(e2,function t4(e3,n4){if(e3===null)return y();/*!n &&
|
|
17
17
|
!/^https?:\/\//.test(e) &&
|
|
18
18
|
c &&
|
|
19
|
-
(e = e.indexOf(".js") === -1 ? c + e + ".js" : c + e);*/if(l[e3])return o2&&(a[o2]=1),l[e3]==2?y():setTimeout(function(){t4(e3,true)},0);l[e3]=1,o2&&(a[o2]=1),m(e3,y)})},0),v}function m(n3,r3){var i3=e.createElement("script"),u2;i3.onload=i3.onerror=i3[o]=function(){if(i3[s]&&!/^c|loade/.test(i3[s])||u2)return;i3.onload=i3[o]=null,u2=1,l[n3]=2,r3()},i3.async=1,i3.setAttribute("crossorigin","anonymous"),i3.setAttribute("data-permanent",1),i3.src=h?n3+(n3.indexOf("?")===-1?"?":"&")+h:n3,t2.insertBefore(i3,t2.lastChild)}var e=document,t2=e.getElementsByTagName("head")[0],n2="string",r2=false,i2="push",s="readyState",o="onreadystatechange",u={},a={},f={},l={},c,h;return v.get=m,v.order=function(e2,t3,n3){(function r3(i3){i3=e2.shift(),e2.length?v(i3,r3):v(i3,t3,n3)})()},v.path=function(e2){c=e2},v.urlArgs=function(e2){h=e2},v.ready=function(e2,t3,n3){e2=e2[i2]?e2:[e2];var r3=[];return!d(e2,function(e3){u[e3]||r3[i2](e3)})&&p(e2,function(e3){return u[e3]})?t3():!(function(e3){f[e3]=f[e3]||[],f[e3][i2](t3),n3&&n3(r3)})(e2.join("|")),v},v.done=function(e2){v([null],e2)},v});(function(n2,t2){this[n2]=t2()})("sbea",function(){return function(x2){beas=x2}});(function(n2,t2){this[n2]=t2()})("Reactor",function(){return function(o){appSettings=o;if(o.Base)beas=o.Base;else{var getUrl=window.location;var baseUrl=getUrl.protocol+"//"+getUrl.host+"/";if(o.subDirectory)baseUrl=baseUrl+o.subDirectory+"/";appSettings.Base=baseUrl}if(o.App)execEl=o.App;if(o.Additional){bea([o.Additional],"ready",function(){})}if(o.init&&typeof o.init==="function")o.init()}});var fullTB=[{items:["Source","-","searchCode","autoFormat","CommentSelectedRange","UncommentSelectedRange","AutoComplete","-","Save","NewPage","Preview","Print","-","Templates","-","Cut","Copy","Paste","PasteText","PasteFromWord","PasteCode","-","Undo","Redo","-","SelectAll","-","Find","-","Image","CodeSnippet","Flash","Table","HorizontalRule","Smiley","SpecialChar","PageBreak","Iframe","VideoDetector","-","Blockquote","CreateDiv","simplebutton","-","Link","Unlink","Anchor","-","TextColor","BGColor","-","Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","-","NumberedList","BulletedList","-","Outdent","Indent","-","CopyFormatting","RemoveFormat","-","lineheight","letterspacing","Styles","Format","Font","FontSize","-","ShowBlocks"]}];var normalTB=[{name:"basicstyles",groups:["basicstyles","cleanup"],items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","Language","-","Undo","Redo","-","SelectAll","-","CopyFormatting","RemoveFormat"]},"/",{items:["Find","-","Image","Table","HorizontalRule","Smiley","SpecialChar","Iframe","VideoDetector","-","Link","Unlink","Anchor"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"],items:["TextColor","BGColor","-","NumberedList","BulletedList","-","Outdent","Indent"]},"/",{name:"styles",items:["lineheight","letterspacing","Styles","Format","Font","FontSize"]}];var miniTB=[{name:"basicstyles",groups:["basicstyles","cleanup"],items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","Language","-","Link","Unlink","Anchor","-","CopyFormatting","RemoveFormat"]},"/",{name:"paragraph",groups:["list","indent","blocks","align","bidi"],items:["TextColor","BGColor","-","NumberedList","BulletedList","-","Outdent","Indent"]},{name:"styles",items:["Styles","Format","Font","FontSize"]}];(function(submit){HTMLFormElement.prototype.submit=function(data2){$(this).submit();return false}})(HTMLFormElement.prototype.submit);HTMLElement.prototype.setAttributeNative=HTMLElement.prototype.setAttribute;HTMLElement.prototype.removeAttributeNative=HTMLElement.prototype.removeAttribute;HTMLElement.prototype.getAttributeNative=HTMLElement.prototype.getAttribute;(function(setAttribute){HTMLElement.prototype.setAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{this.events[prop]=val2}catch(e){}}else{this.setAttributeNative(prop,val2)}}})(HTMLElement.prototype.setAttribute);(function(removeAttribute){HTMLElement.prototype.removeAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{delete this.events[prop]}catch(e){}}else{this.removeAttributeNative(prop,val2)}}})(HTMLElement.prototype.removeAttribute);(function(getAttribute){HTMLElement.prototype.getAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{return this.events[prop]}catch(e){return this.getAttributeNative(prop,val2)}}else{return this.getAttributeNative(prop,val2)}}})(HTMLElement.prototype.getAttribute);var XHRs=new Array;if(localStorage.getItem("globals")===null)localStorage.setItem("globals",JSON.stringify({}));if(localStorage.getItem("_rx")===null)localStorage.setItem("_rx",JSON.stringify({}));var globals=clone(JSON.parse(localStorage.getItem("globals")));let _rx=clone(JSON.parse(localStorage.getItem("_rx")));var watch={};var popups={"modals":[],"react-modals":[]};var cntrlon=0;var _gn=0,_worker;var nodes=[];var _jsuid={};function clone(item){if(!item){return item}var types2=[Number,String,Boolean],result;types2.forEach(function(type2){if(item instanceof type2){result=type2(item)}});if(typeof result=="undefined"){if(Object.prototype.toString.call(item)==="[object Array]"){result=[];item.forEach(function(child,index,array){result[index]=clone(child)})}else if(typeof item=="object"){if(item.nodeType&&typeof item.cloneNode=="function"){result=item.cloneNode(true)}else if(!item.prototype){if(item instanceof Date){result=new Date(item)}else{result={};for(var i2 in item){result[i2]=clone(item[i2])}}}else{if(false){result=new item.constructor}else{result=item}}}else{result=item}}return result}function isInput(o){if(o.is(":checkbox")||o.is("input")||o.is("textarea")||o.is(":radio")||o.is("select"))return true;return false}function getVal(o){if(isInput(o)){return $.trim(o.val())}return o.html()}function setVal(o,v){if(isInput(o)){o.val(v)}else o.html(v)}function iterateConditions(text){var results=[];var opts=text.split("##");var iff=opts.shift();opts=opts.join("##");if(opts.indexOf("#else#")>-1)var hasElse=true;if(opts.indexOf("#elseif#")>-1)var hasElseIfs=true;if(hasElse){opts=opts.split("#else#");var elsee=opts.pop();opts=opts.join("")}if(hasElseIfs){results["elseif"]=[];var elseifs=opts.split("#elseif#");var ifOpts=elseifs.shift();results["if"]={cond:iff,val:ifOpts};for(var index=0;index<elseifs.length;index++){var elf=elseifs[index].split("##");results["elseif"].push({cond:elf[0],val:elf[1]})}if(hasElse)results["else"]=elsee}else if(hasElse){results["if"]={cond:iff,val:opts};if(hasElse)results["else"]=elsee}else{results["if"]={cond:iff,val:opts}}return results}function wait(){_loader.show();_initialized=false}function resume(){_loader.hide();_initialized=true}const pause=msec=>new Promise((resolve,_)=>{setTimeout(resolve,msec)});function _lumenReadyHandler(){if(typeof appSettings==="undefined"||!appSettings){setTimeout(_lumenReadyHandler,10);return}nodes=getURLNodes();if(_initialized==null)_initialized=true;$("html").removeClass("no_js");if(!$("[exec]").length)$("body").append({beajs:true,body:"<div exec class=h></div>"});$(document).keyup(function(e){cntrlon=0});$(document).keydown(function(e){if(e.ctrlKey||e.metaKey){cntrlon=1}});goToNode()}$(document).ready(_lumenReadyHandler);function updateLocalVariable(k){if(k=="_rx")_rx=clone(JSON.parse(localStorage.getItem("_rx")));else globals=clone(JSON.parse(localStorage.getItem("globals")))}function setGlobals(x2){localStorage.setItem("globals",JSON.stringify(x2));globals=clone(JSON.parse(localStorage.getItem("globals")))}function setRX(x2){localStorage.setItem("_rx",JSON.stringify(x2));_rx=clone(JSON.parse(localStorage.getItem("_rx")))}$(window).on("storage",function(e){if(e.originalEvent.key=="globals"){if(localStorage.getItem("globals")!=null)updateLocalVariable();else setGlobals(globals)}else if(e.originalEvent.key=="_rx"){if(localStorage.getItem("_rx")!=null)updateLocalVariable("_rx");else setRX(_rx)}});var _work=function(){if(!$(".prog").length)$("body").append('<div class="prog"><div class=bar role=bar></div><div class=spinner role=spinner><div class="spinner-icon"></div></div></div>');_worker=setTimeout(function(){_gn=incri(_gn);barSet(_gn,200);_work()},200)};$(document).ajaxStart(function(){_gn=0;_work();if(typeof heartbeat==="function")heartbeat()}).ajaxStop(function(){_gn=0;barSet(1,200);if(typeof heartbeat==="function")heartbeat();globalWatch()}).ajaxError(function(e,xhr,opt){if(xhr.statusText=="error"){if(xhr.status=="422")$("[exec]").html(xhr.responseText);else if(xhr.status=="0"){$("[dropzone].pending").removeClass("pending").addClass("error");$("body").addClass("no-internet-connection")}}if(typeof heartbeat==="function")heartbeat();globalWatch();_gn=0;barSet(1,200)});(function($2){$2.extend({inArrayIn:function(elem,arr,i2){if(typeof elem!=="string"){return $2.inArray.apply(this,arguments)}if(arr){var len=arr.length;i2=i2?i2<0?Math.max(0,len+i2):i2:0;elem=elem.toLowerCase();for(;i2<len;i2++){if(i2 in arr&&arr[i2].toLowerCase()==elem){return i2}}}return-1}})})(jQuery);$.fn.priorityOn=function(type2,selector2,data2,fn2){this.each(function(){var $this=$(this);var types2=type2.split(" ");for(var t2 in types2){$this.on(types2[t2],selector2,data2,fn2);var currentBindings=$._data(this,"events")[types2[t2]];if($.isArray(currentBindings)){currentBindings.unshift(currentBindings.pop())}}});return this};$.fn.onClose=function(selector2,data2,fn2){this.each(function(){var el2=$(this);var types2=["close"];for(var t2 in types2){el2.on(types2[t2],selector2,data2,fn2)}});return this};$.fn.attach=function(type,selector,data,fn){var el=$(this);var types=type.split(" ");for(var t in types){var lu="$.fn.on"+types[t]+' = function (selector, data, fn) { var el = $(this); var types = ["'+types[t]+'"]; for (var t in types) { el.live(types[t], selector, data, fn); } return this;};';try{eval(lu)}catch(e){}}return this};$.fn.hasAttr=function(k){return this.attr(k)!==void 0};$.fn.hasKey=function(k){return typeof this.data(k)!=="undefined"};function dotsIntoObjs(keys,value){var tempObject={};var container=tempObject;keys.split(".").map((k,i2,values)=>{container=container[k]=i2==values.length-1?value:{}});return tempObject}$.fn.set=function(name,value){var splitter=name.split(".");if(splitter.length>1){var key=splitter.shift();return this.data(key,dotsIntoObjs(splitter.join("."),value))}return this.data(name,value)};$.fn.props=function(){return this.data("props")};$.fn.scope=function(_sview){var _scopedVariables=_sview(this,this.data("props")??{})??{};for(var x2=0;x2<Object.keys(_scopedVariables).length;x2++){var _key=Object.keys(_scopedVariables)[x2];var val2=_scopedVariables[_key];this.set(_key,val2)}};$.fn.isOverflown=function(){return $(this)[0].scrollHeight>$(this)[0].clientHeight||$(this)[0].scrollWidth>$(this)[0].clientWidth};function removeEmptyElement(arr){var filtered=arr.filter(function(el2){return el2});return filtered}function findInObject(object,property,value){for(var i2=0;i2<object.length;i2+=1){if(object[i2][property]===value){return i2}}}function compareUs(object1,object2){var areObjects=isObject(object1)&&isObject(object2);if(!areObjects){if(typeof object1=="number"&&typeof object2=="number"){if(isNaN(object1)&&isNaN(object2))return true}return object1==object2}const keys1=Object.keys(object1);const keys2=Object.keys(object2);if(keys1.length!==keys2.length){return false}for(const key of keys1){const val1=object1[key];const val2=object2[key];const areObjects2=isObject(val1)&&isObject(val2);if(areObjects2&&!compareUs(val1,val2)||!areObjects2&&val1!==val2){return false}}return true}function deepCompare(object1,object2,path=""){const areObjects=isObject(object1)&&isObject(object2);if(!areObjects){if(typeof object1==="number"&&typeof object2==="number"){if(isNaN(object1)&&isNaN(object2)){return true}}if(object1!==object2){return false}return true}const keys1=Object.keys(object1);const keys2=Object.keys(object2);if(keys1.length!==keys2.length){return false}for(const key of keys1){const newPath=path?`${path}.${key}`:key;const val1=object1[key];const val2=object2[key];const areNestedObjects=isObject(val1)&&isObject(val2);if(!deepCompare(val1,val2,newPath)){return false}}return true}function isObject(object){return object!=null&&typeof object==="object"}(function(old){$.fn.attr=function(){if(arguments.length===0){if(this.length===0){return null}var obj={};$.each(this[0].attributes,function(){if(this.specified){obj[this.name]=this.value}});return obj}return old.apply(this,arguments)}})($.fn.attr);function st(b){if(!isNaN(b))$("html,body").stop().animate({scrollTop:b+"px"},{duration:400});else $("html,body").stop().animate({scrollTop:$(b).offset().top+"px"},{duration:400})}function pushURL(url,d){if(url||url==""){if(history&&history.pushState){history.pushState({},"",appSettings.Base+"/"+url.replace(new RegExp("^[/]+"),""));goToNode(d)}else{parent.location.href=url}}else{alert(url)}}function formatBytes(bytes,decimals){if(bytes==0)return"0 Bytes";var k=1024,dm=decimals<=0?0:decimals||2,sizes=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i2=Math.floor(Math.log(bytes)/Math.log(k));return parseFloat((bytes/Math.pow(k,i2)).toFixed(dm))+" "+sizes[i2]}function passwordContainsSymbol(value){var containsSymbol=false,symbols=`-!\xA7$%&/()=?.:,~;'#+*-/\\|{}[]_<>"`.split("");$.each(symbols,function(index,symbol){if(value.indexOf(symbol)>-1){containsSymbol=true;return false}});return containsSymbol}function passwordStrength(pass){var s=0,n2;if(pass.length>5)s+=10;if(/[a-z]/.test(pass))s+=1;if(/[A-Z]/.test(pass))s+=1;if(/[0-9]/.test(pass))s+=1;if(passwordContainsSymbol(pass))s+=1;if(s==14)n2="very-strong";else if(s==13)n2="strong";else if(s==12)n2="medium";else if(s==11)n2="weak";else n2="";if(/\s/g.test(pass))n2="has-spaces";return n2}function passwordValid(pass){var n2=passwordStrength(pass);if(n2=="strong"||n2=="very-strong")return true;return false}function incri(n2){var amount;if(n2>1){return .994}else{if(n2>=0&&n2<.2){amount=.1}else if(n2>=.2&&n2<.5){amount=.04}else if(n2>=.5&&n2<.8){amount=.02}else if(n2>=.8&&n2<.99){amount=.005}else{amount=5e-4}n2=n2+amount;if(n2<.08)n2=.08;else if(n2>.994)n2=.994;return n2}}function barSet(n2,speed){clearTimeout(_worker);if(n2<.08)n2=.08;else if(n2>1)n2=1;var bar=$('.bar[role="bar"]');bar.css({transition:"all "+speed+"ms linear","-webkit-transition":"all "+speed+"ms linear","-moz-transition":"all "+speed+"ms linear","-o-transition":"all "+speed+"ms linear"});if($("body").hasClass("rtl"))bar.css({"margin-right":-100+n2*100+"%"});else bar.css({"margin-left":-100+n2*100+"%"});if(n2==1){_worker=setTimeout(function(){$(".prog").animate({opacity:0},{duration:speed,complete:function(){$(".prog").remove()}})},speed)}}function getFormData(form){var unindexed_array=form.serializeArray();var indexed_array={};$.map(unindexed_array,function(n2,i2){if(n2["name"].includes("[]")){var key=n2["name"].split("[]")[0];if(!indexed_array.hasOwnProperty(key))indexed_array[key]=[];indexed_array[key].push(n2["value"])}else{indexed_array[n2["name"]]=n2["value"]}});return indexed_array}$(window).on("popstate",function(){if(history&&history.pushState)goToNode()});var getLocation=function(href){var l=document.createElement("a");l.href=href;return l};function getURLNodes(){appSettings.Base=appSettings.Base.replace(new RegExp("[/]+$"),"");var base=getLocation(appSettings.Base);if(base.origin!=window.location.origin){appSettings.Base=window.location.origin+base.pathname;var base=getLocation(appSettings.Base)}var _nodes=base.pathname!="/"?window.location.pathname.split(base.pathname).join("").replace(new RegExp("^[/]+"),"").split("/"):location.href.split(appSettings.Base).join("").replace(new RegExp("^[/]+"),"").split("?")[0].split("/");if(!_nodes[0])_nodes[0]=appSettings.defaultView??"home";return _nodes}var prevNodes=[];function goToNode(d){if(_initialized){prevNodes=clone(nodes);nodes=getURLNodes();renderView(nodes[0],null,d)}else{setTimeout(function(){goToNode(d)},100)}}var View={};function setError(e,t2){if(!e){console.warn(t2);return}console.warn(t2,e.message)}function renderTpl(el2,n2,vars2){if(!el2.length)return;if(el2.data("_status")=="error")return;if(!el2.hasKey("_re")){if(el2.data("_status")=="pending"){getTpl(n2,el2,vars2)}setTimeout(function(){renderTpl(el2,n2,vars2)},_tickTime)}}function prepareNode(n2,rep){var _arr2=n2.split("/");if(_arr2.length>1){for(var i2=_arr2.length-1;i2>=_arr2.length-1;i2--)_arr2[i2]=_arr2[i2];n2=_arr2.join("/")}else n2=n2;return rep?n2.replace(new RegExp("^[/]+"),""):n2}var _esps={};var _Views={};function setAppFuncs(){let initFunc=appSettings.init&&typeof appSettings.init==="function"?appSettings.init:typeof init==="function"?init:null;if(typeof initFunc==="function")initFunc()}function getView(n2,el2,d){let filePath="src/views/"+n2+".view";let fileKey=btoa(filePath);if($("body").hasKey("view_"+fileKey)){renderView(n2,el2,d,true)}else{if(_vcData&&_vcData["views"].hasOwnProperty(fileKey)){$("body").data("view_"+fileKey,_vcData["views"][fileKey]);renderView(n2,el2,d,true);return}if(Nuke&&Nuke._ws&&Nuke._ws.readyState){Nuke.emit("getview",fileKey,function(e){var r2=e.data;$("body").data("view_"+fileKey,r2);renderView(n2,el2,d,true)})}else{setTimeout(()=>{getView(n2,el2,d)},_tickTime)}}}function fileToDataURL(file){var reader=new FileReader;return new Promise(function(resolve,reject){reader.onload=function(event){resolve(event.target.result)};reader.readAsDataURL(file)})}function readFilesAsDataURL(files){return Promise.all(files.map(fileToDataURL))}function defer(){var res,rej;var promise=new Promise((resolve,reject)=>{res=resolve;rej=reject});promise.resolve=res;promise.reject=rej;promise.success=res;promise.failed=rej;return promise}function getTpl(n2,el2,vaz2){let filePath="src/tpls/"+n2+".tpl";let fileKey=btoa(filePath);if(el2.data("_status")!="pending")return;el2.data("_status","getting");if($("body").hasKey("tpl_"+fileKey)){let r2=$("body").data("tpl_"+fileKey);el2.html(r2);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2)}else{if(_vcData&&_vcData["tpls"].hasOwnProperty(fileKey)){$("body").data("tpl_"+fileKey,_vcData["tpls"][fileKey]);el2.html(_vcData["tpls"][fileKey]);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2);return}if(Nuke&&Nuke._ws&&Nuke._ws.readyState){Nuke.emit("gettpl",fileKey,function(e){var r2=e.data;$("body").data("tpl_"+fileKey,r2);el2.html(r2);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2)})}else{setTimeout(()=>{getTpl(n2,el2,vaz2)},_tickTime)}}}function setRe(_el,vaz){try{if(!_el.hasKey("_vars")){if(_debugMode)cl("The Data Arrived",vaz);let data={};let vars=vaz.split(",");vars=vars.map(s=>s.trim());let binds=[];let dataNamesValues=[];var _subView=_el.closest("[view]");for(let x=0;x<vars.length;x++){if(vars[x]!=""){try{let varName=vars[x];let varValue=vars[x];let NameAs=null;if(varName.indexOf(" as ")!==-1){varName=varName.split(" as ");varValue=varName[0];varName=varName[1];NameAs=vars[x]}let val="";if(_subView.length){val=_subView.hasKey(varValue)?_subView.data(varValue):eval(varValue)}else val=eval(varValue);dataNamesValues.push({Name:varName,NameAs,Value:val})}catch(e){let varName2=vars[x];let varValue2=vars[x];let NameAs2=null;if(varName2.indexOf(" as ")!==-1){varName2=varName2.split(" as ");varValue2=varName2[0];varName2=varName2[1];NameAs2=vars[x]}dataNamesValues.push({Name:varName2,NameAs:NameAs2,Value:void 0});setError(e,"Error in bind variables for "+vars[x])}}}for(let x2=0;x2<dataNamesValues.length;x2++){let dn=dataNamesValues[x2];binds.push({dataName:dn["Name"],dataNameAs:dn["NameAs"],dataValue:clone(dn["Value"])});data[dn["Name"]]=dn["Value"]}if(_debugMode)cl(["The Data Set",data,binds]);if(appSettings.beforetick&&typeof appSettings.beforetick==="function")appSettings.beforetick();_el.data("_vars",binds).data("_re",new RenderEngine(_el,data));globalWatch()}_el.data("_status","complete");return true}catch(e){_el.data("_status","error");return false}return false}function parseFromString(html){return doc=new DOMParser().parseFromString(html,"text/html")}var _binds={};let _oldGlobals=clone(globals);let _oldRX=clone(_rx);let _watch=clone($("body").data("_watch"));$("body").data("_watch",{old:{},list:[]});function reloads(){$("[crslf].flickity-enabled.reload-on-bind").each(function(){var el2=$(this);el2.flickity("destroy");var opts=el2.attr("crslf-opts");if(!opts)opts={};else opts=JSON.parse(opts);el2.flickity(opts);var flkty=el2.data("flickity");flkty.on("dragStart",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="none"));flkty.on("dragEnd",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="all"))});$("[crsl].crsl-initialized").each(function(){$(this).crsl("refresh")});let tickFunc=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc==="function")tickFunc();scsc.reset();dgsc.reset();applyTriggers();setTimeout(()=>{scsc.reset();dgsc.reset();applyTriggers()},_tickTime*2)}function renderViewsTpls(){$("[view]").each(function(i){var el=$(this);if(el.data("_status")!="pending"&&el.data("_status")!="error"&&el.data("_status")!="getting"&&el.data("_status")!="complete"){var modal=el.closest("popup");var n=el.attr("view");var _props=el.attr(":props")??null;var _binds=el.attr(":props-bind")??null;el.data("_status","pending");let nn=n;var _arr=nn.split("/");if(_arr.length>1){for(var i=_arr.length-1;i>=_arr.length-1;i--){_arr[i]=_arr[i].toLowerCase()}nn=_arr.join("/")}else{nn=nn.toLowerCase()}var _queryParams=nn.split("?");nn=_queryParams.shift();if(el.attr(":data")){let vaz=el.attr(":data");let data={};let vars=vaz.split(",");let dataNamesValues=[];let binds=[];vars=vars.map(s=>s.trim());for(let x=0;x<vars.length;x++){if(vars[x]!=""){try{let varName=vars[x];let varValue=vars[x];let NameAs=null;if(varName.indexOf(" as ")!==-1){varName=varName.split(" as ");varValue=varName[0];varName=varName[1];NameAs=vars[x]}let val="";val=eval(varValue);dataNamesValues.push({Name:varName,NameAs,Value:val})}catch(e){cl(e);let varName2=vars[x];let varValue2=vars[x];let NameAs2=null;if(varName2.indexOf(" as ")!==-1){varName2=varName2.split(" as ");varValue2=varName2[0];varName2=varName2[1];NameAs2=vars[x]}dataNamesValues.push({Name:varName2,NameAs:NameAs2,Value:void 0});setError(e,"Error in bind variables for "+vars[x])}}}for(let x2=0;x2<dataNamesValues.length;x2++){let dn=dataNamesValues[x2];binds.push({dataName:dn["Name"],dataNameAs:dn["NameAs"],dataValue:clone(dn["Value"])});data[dn["Name"]]=dn["Value"]}el.data("props",data)}else{var _d=paraToObj(getBind(_binds,_props));el.data("params",paraToObj(_queryParams));if(modal.length)_d["modal"]=modal.data("props");el.data("props",_d)}if(n==""||!n||n.split("/").slice(-1)==""){el.data("_status","error")}else{renderView(n,el,_d)}}})}function renderPlugins(){$("[crslf]:not(.flickity-enabled,[comp],[tpl],[view]),[crslf][comp]:not(.flickity-enabled),[crslf][tpl]:not(.flickity-enabled),[crslf][view]:not(.flickity-enabled)").each(function(){var el2=$(this);if(el2.hasAttr("[tpl]")||el2.hasAttr("[comp]")||el2.hasAttr("[view]")){if(el2.data("_status")!="complete")return}var opts=el2.attr("crslf-opts");if(!opts)opts={};else opts=JSON.parse(opts);el2.flickity(opts);var flkty=el2.data("flickity");flkty.on("dragStart",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="none"));flkty.on("dragEnd",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="all"));setTimeout(function(){globalWatch()},600)});$("[crsl]:not(.crsl-initialized,[comp],[tpl],[view]),[crsl][comp]:not(.crsl-initialized),[crsl][tpl]:not(.crsl-initialized),[crsl][view]:not(.crsl-initialized)").each(function(){var el2=$(this);if(el2.hasAttr("[tpl]")||el2.hasAttr("[comp]")||el2.hasAttr("[view]")){if(el2.data("_status")!="complete")return}el2.crsl();el2.on("setPosition beforeChange",function(event,slick,currentSlide,nextSlide){$(window).trigger("scroll.scsc");$(window).trigger("resize")})});$("[up]:not([upid])").each(function(){var u=_ups.length;var t2=$(this);var mxf=t2.attr("data-mxf")?t2.attr("data-mxf"):10;if(!t2.hasAttr("upid")){var sl="up_"+u;t2.attr("upid",sl);t2.prepend(`<input `+(mxf>1?"multiple":"")+` type="file" files style="display:none;" />`);_ups.push(t2)}});$("form:not(.binded,[norm])").each(function(){var el2=$(this);var reset=false;if(el2.hasAttr("reset"))reset=true;var actn=el2.attr("action")??"";var local=false;el2.addClass("binded");if(actn==""){actn=getURLNodes().join("/");local=true}else local=isPathLocal(actn);if(el2.hasAttr("o-sub")){el2.ajaxForm({beforeSubmit:function(formData,f,options){let formDataMapped={};let formDataMappedAdditionals={};formDataMapped=Object.assign({},...formData.map(x2=>{if(x2.type=="file"){if(!formDataMappedAdditionals.hasOwnProperty(x2.name))formDataMappedAdditionals[x2.name]=[];formDataMappedAdditionals[x2.name].push(x2["value"]);return void 0}if(x2["name"].includes("[]")){var key=x2["name"].split("[]").join("");if(!formDataMappedAdditionals.hasOwnProperty(key))formDataMappedAdditionals[key]=[];formDataMappedAdditionals[key].push(x2["value"]);return void 0}return{[x2.name]:x2.value}}));formDataMapped={...formDataMapped,...formDataMappedAdditionals};if(f.hasAttr("b-sub")){var bfs=f.attr("b-sub");if(typeof window[bfs]==="function"){checkFormInputs(f);if(window[bfs](f,formDataMapped)===false)return false}}if(!checkFormInputs(f))return false;if(f.hasAttr("o-sub")){var ofs=f.attr("o-sub");if(typeof window[ofs]==="function"){window[ofs](f,formDataMapped)}}return false},clearForm:reset,resetForm:reset,success:function(responseText,statusText,xhr,f){},timeout:3e5,error:function(xhr,textStatus,errorThrown){}})}else{if(local){el2.ajaxForm({beforeSubmit:function(formData,f,options){if(!checkFormInputs(f))return false;let formDataMapped={};let formDataMappedAdditionals={};formDataMapped=Object.assign({},...formData.map(x2=>{if(x2.type=="file"){if(!formDataMappedAdditionals.hasOwnProperty(x2.name))formDataMappedAdditionals[x2.name]=[];formDataMappedAdditionals[x2.name].push(x2["value"]);return void 0}if(x2["name"].includes("[]")){var key=x2["name"].split("[]").join("");if(!formDataMappedAdditionals.hasOwnProperty(key))formDataMappedAdditionals[key]=[];formDataMappedAdditionals[key].push(x2["value"]);return void 0}return{[x2.name]:x2.value}}));formDataMapped={...formDataMapped,...formDataMappedAdditionals};try{if(f.hasAttr("b-sub")){var bfs=f.attr("b-sub");if(typeof window[bfs]==="function"){if(window[bfs](f,formDataMapped)===false)return false}}var actn2=f.attr("action")??"";if(actn2==""){actn2=getURLNodes().join("/")}if(validateInputs(f)){var d=getFormData(f);if(f.attr("method")?.toLowerCase()=="get"){actn2=addOrChangeParameters(actn2,d)}pushURL(actn2,d)}}catch(e){cl(e)}return false},clearForm:reset,resetForm:reset,success:function(responseText,statusText,xhr,f){},timeout:3e5,error:function(xhr,textStatus,errorThrown){}})}}});$("[editor]").each(function(i2){var editor=$(this);editor.removeAttr("editor");var TB=normalTB;if(editor.is("[mini]"))TB=miniTB;else if(editor.is("[full]"))TB=fullTB;if(CKEDITOR!==void 0){CKEDITOR.replace(this,{uiColor:"#ffffff",language:$("html").attr("lang"),allowedContent:true,enterMode:CKEDITOR.ENTER_BR,toolbar:TB,on:{instanceReady:function(evt){var itemTemplate='<li class="l" data-id="{id}"><div><strong class="item-title">{name}</strong></div><div><i>{description}</i></div></li>',outputTemplate="<span class=hash>{linked}</span> ";var autocomplete=new CKEDITOR.plugins.autocomplete(evt.editor,{textTestCallback:function(range){if(!range.collapsed){return null}return CKEDITOR.plugins.textMatch.match(range,function(text,offset){var left=text.slice(0,offset);var matchHash=left.match(/#\d*$/);var matchAt=left.match(/(@)[A-Za-z]+(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9.]+[A-Za-z0-9]{6,30}$/);if((!matchHash||matchHash=="#")&&(!matchAt||matchAt=="@")){return null}var match=matchHash;if(!match)match=matchAt;return{start:match.index,end:offset}})},dataCallback:function(matchInfo,callback){var query=matchInfo.query;if(myR["[ck]"])myR["[ck]"].abort();clearTimeout(debounceTimeout["[ck]"]);debounceTimeout["[ck]"]=setTimeout(function(){myR["[ck]"]=$.post(beas+"a/hashes/get",{id:query},function(result){if(result){result=$.parseJSON(result);var suggestions=result.filter(function(item){return String(item.name).indexOf(query.substring(1))==0});callback(suggestions)}})},500)},itemTemplate,outputTemplate,throttle:100});autocomplete.getHtmlToInsert=function(item){return this.outputTemplate.output(item)}},change:function(ev){if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty");editor.val(ev.editor.getData()).trigger("change")},focus:function(ev){editor.closest(".fields").addClass("focused");if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty")},blur:function(ev){editor.closest(".fields").removeClass("focused");if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty")}}})}});$(".cke_autocomplete_panel").each(function(){if($(this).html()=="")$(this).remove()});$("[tags]:not(.tag-editor-hidden-src)").each(function(){var t2=$(this);var u=currentlyValidTags.length;t2.attr("data-u",u);var del=t2.attr("dl")?t2.attr("dl"):", ";var maxTags=t2.attr("mt")?t2.attr("mt"):50;var maxLength=t2.attr("ml")?t2.attr("ml"):100;var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var tagslower=t2.attr("tags-lower")?true:false;var autocomplete=t2.attr("acs")?{delay:250,autoFocus:true,position:{collision:"flip"},source:function(request,response){$.post(beas+"a"+t2.attr("acs"),request,response)},minLength:1,select:function(event,ui){if(ui.item==null){t2.val("")}},change:function(event,ui){if(ui.item==null){t2.val("")}}}:null;t2.tagEditor({autocomplete,delimiter:del,removeDuplicates:true,forceLowercase:tagslower,placeholder:plchldr,animateDelete:50,maxLength,maxTags,onChange:function(field,editor,tags){field.trigger("change")},beforeTagSave:function(field,editor,tags,tag,val2){if(!t2.attr("sts")){if($.inArrayIn(val2,tags)!==-1){return false}}else{if($.inArray(tag,currentlyValidTags[u][tags])==-1){return false}}if(t2.attr("tags-before")){var bfs=t2.attr("tags-before");if(typeof window[bfs]==="function"){if(window[bfs](t2,field,editor,tags,tag,val2)===false)return false}}}});currentlyValidTags.push(t2)});$("[slct]:not(.select2-hidden-accessible)").each(function(){var t2=$(this);var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var dropdownParent=t2.attr("prnt")?t2.attr("prnt"):"body";var tpl=t2.attr("slct-tpl")?t2.attr("slct-tpl"):null;var dir=t2.attr("slct-dir")?t2.attr("slct-dir"):"ltr";var minResultsForSearch=t2.attr("mins")?t2.attr("mins"):"";if(dropdownParent=="self")dropdownParent=t2.parent();else dropdownParent=$(dropdownParent);var allowNewTags=t2.attr("ntgs")?true:false;var ax=t2.attr("axs")?{url:t2.attr("axs"),dataType:"json",delay:250}:null;t2.select2({dropdownParent,placeholder:plchldr,dir,allowClear:false,tags:allowNewTags,ajax:ax,minimumResultsForSearch:minResultsForSearch,templateSelection:function(data2,container){if(data2.newTag){if(allowNewTags&&t2.attr("ntgs")!="true"){var tag=data2.text;var id=data2.id;$.post(beas+"a"+t2.attr("ntgs"),{tag},function(r2){if(r2=="true"){var newOption=new Option(tag,id,true,true);t2.append(newOption).trigger("change")}else{alert("Error adding tag! Please Try again.");t2.val(null).trigger("change")}});return data2.text}else{return data2.text}}else{return data2.text}},templateResult:function(state){if(tpl){if(typeof window[tpl]==="function")return window[tpl](state)}if(state.newTag){if(allowNewTags&&t2.attr("ntgs")!="true"){var new_state=$("<span>+ Add <b>"+state.text+"</b></span>");return new_state}return state.text}else return state.text},tokenSeparators:[","],createTag:function(params){var term=$.trim(params.term);if(term===""){return null}return{id:term,text:term,newTag:true}},insertTag:function(data2,tag){data2.push(tag)}});if(t2.attr("nosearch"))t2.on("select2:opening select2:closing",function(event){var searchfield=$(this).parent().find(".select2-search__field");searchfield.prop("disabled",true)})});$("[sl]:not(.select2-hidden-accessible)").each(function(){var t2=$(this);try{var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var dir=$("body").hasClass("rtl")?"rtl":"ltr";var nr=t2.attr("sl-nrmsg")?t2.attr("sl-nrmsg"):"No results found";var minResultsForSearch=t2.attr("sl-mins")?t2.attr("sl-mins"):10;var allowNewTags=t2.attr("sl-ntgs")?true:false;var dropdownParent=t2.attr("sl-prt")?t2.attr("sl-prt"):"body";if(dropdownParent=="self")dropdownParent=t2.parent();else dropdownParent=$(dropdownParent);var query=t2.attr("sl-query")?t2.attr("sl-query"):null;var uniquer=Date.now();if(typeof window[query]==="function"){let dbcrID="dbcr_"+(Object.keys(_dbcrs).length+1);t2.select2.amd.define("adapt_"+uniquer,["select2/data/array","select2/utils"],function(ArrayAdapter,Utils){function CustomDataAdapter($element,options){CustomDataAdapter.__super__.constructor.call(this,$element,options)}Utils.Extend(CustomDataAdapter,ArrayAdapter);CustomDataAdapter.prototype.query=function(params,callback){clearTimeout(_dbcrs[dbcrID]);let _t=t2;_dbcrs[dbcrID]=setTimeout(function(){window[query](params,callback,_t)},!_dbcrs.hasOwnProperty(dbcrID)?0:_dbcrsTime)};return CustomDataAdapter});t2.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:false,language:{noResults:function(){return nr}},...t2.select2.amd.require("adapt_"+uniquer)?{ajax:{},dataAdapter:t2.select2.amd.require("adapt_"+uniquer)}:{}})}else{t2.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:false,language:{noResults:function(){return nr}}})}if(t2.attr("sl-nosrch"))t2.on("select2:opening select2:closing",function(event){var searchfield=$(this).parent().find(".select2-search__field");searchfield.prop("disabled",true)});if(t2.attr("sl-class")){t2.on("select2:opening",function(event){dropdownParent.addClass(t2.attr("sl-class"))});t2.on("select2:closing",function(event){dropdownParent.removeClass(t2.attr("sl-class"))})}}catch(e){cl(e)}});$("[pinnable]:not(.pinnable)").each(function(){var t2=$(this);var offsetU=t2.attr("pinnable-offset-up")??100;var offsetD=t2.attr("pinnable-offset-down")??50;var options={offset:0,offset:{up:offsetU,down:offsetD},tolerance:0,tolerance:{up:5,down:0},classes:{initial:"pinnable",pinned:"pinnable--pinned",unpinned:"pinnable--unpinned",top:"pinnable--top",notTop:"pinnable--not-top",bottom:"pinnable--bottom",notBottom:"pinnable--not-bottom",frozen:"pinnable--frozen",pinned:"pinnable--pinned"},onPin:function(){},onUnpin:function(){},onTop:function(){},onNotTop:function(){},onBottom:function(){},onNotBottom:function(){}};var pinnable=new Headroom(t2[0],options);pinnable.init()});$("[sort]").each(function(e){let t2=$(this);if(t2.hasClass("ui-sortable"))return;let opts={delay:50,placeholder:"g_rows_helper",scrollSpeed:40,opacity:1};opts=avc(t2,"sort-axis",opts);opts=avc(t2,"sort-handle",opts);opts=avc(t2,"sort-cancel",opts);opts=avc(t2,"sort-cursor",opts,"grabbing");opts=avc(t2,"sort-helper",opts,"clone");if(opts.hasOwnProperty("helper")&&opts["helper"]!="clone"){if(typeof window[opts["helper"]]==="function")opts["helper"]=window[opts["helper"]]}opts=avc(t2,"sort-placeholder",opts);opts=avc(t2,"sort-opacity",opts);opts=avc(t2,"sort-items",opts);opts=avc(t2,"sort-tolerance",opts,"pointer");opts=avc(t2,"sort-revert",opts,false);opts=avc(t2,"sort-forcePlaceholderSize",opts);opts=avc(t2,"sort-containment",opts,"parent");opts=avc(t2,"sort-connectWith",opts);if(opts.hasOwnProperty("forceplaceholdersize")){opts["forcePlaceholderSize"]=opts["forceplaceholdersize"];delete opts["forceplaceholdersize"]}t2.sortable(opts)});$("[drag]").each(function(e){let t2=$(this);let opts={};opts=avc(t2,"drag-connectToSortable",opts);opts=avc(t2,"drag-scroll",opts,true);opts=avc(t2,"drag-revert",opts,true);opts=avc(t2,"drag-helper",opts,"clone");opts=avc(t2,"drag-containment",opts,false);opts=avc(t2,"drag-cursor",opts,"auto");opts=avc(t2,"drag-appendTo",opts,"parent");opts=avc(t2,"drag-disabled",opts,false);if(opts.disabled=="false")delete opts.disabled;if(opts.hasOwnProperty("appendto")){opts.appendTo=opts["appendto"];delete opts["appendto"]}if(opts.hasOwnProperty("helper")&&opts["helper"]!="clone"){if(typeof window[opts["helper"]]==="function")opts["helper"]=window[opts["helper"]]}if(opts.hasOwnProperty("connecttosortable")){opts["connectToSortable"]=opts["connecttosortable"];delete opts["connecttosortable"]}t2.draggable(opts)});$("[drop]").each(function(e){let t2=$(this);let opts={};opts=avc(t2,"drop-accept",opts);opts=avc(t2,"drop-greedy",opts);opts=avc(t2,"drop-hoverClass",opts);opts=avc(t2,"drop-disabled",opts,false);if(opts.disabled=="false")delete opts.disabled;if(opts.hasOwnProperty("hoverclass")){opts.hoverClass=opts["hoverclass"];delete opts["hoverclass"]}t2.droppable(opts)});$("body").on("touchstart mouseover",function(e){let isTippedOe=true;if($(e.target).closest(".oe").length){let oe=$(e.target).closest(".oe");if((oe.find("[tip]").length||oe.hasAttr("tip"))&&oe.isOverflown()&&$(window).width()>480){isTippedOe=true}else isTippedOe=false}if($(e.target).closest("[tip]").length&&isTippedOe){var target=$(e.target).closest("[tip]");var tip=`<tip class="pa ${target.attr("tip-class")}"><div class="pa [[P]]"><span>[[T]]</span></div></tip>`;if(target.find("droplet").length==0){var t2=target.attr("tip");var p=target.attr("tip-pos");if(!p)p="";$("tip").remove();$("body").append(tip.replace("[[T]]",t2).replace("[[P]]",p));_isTipped=true;let _tipSc=target;while(true){if(_isScrollable(_tipSc)||_tipSc[0]==$("body")[0])break;_tipSc=_tipSc.parent()}var self=target;_setPos(self,p,_tipSc);_setPos(self,p,_tipSc);target.data("_tipSc",_tipSc);_tipSc.unbind("scroll.kuku").bind("scroll.kuku",function(){_setPos(self,p,_tipSc)})}else{$("tip").remove();_isTipped=false}}else{$("body").unbind("scroll.kuku");$("tip").remove();_isTipped=false}});$("[numeric]").each(function(){$(this).removeAttr("numeric").numeric()});$("[pattern]").each(function(){$(this).data("pattern",$(this).attr("pattern")).removeAttr("pattern")});$("[integer]:not([pve])").each(function(){$(this).removeAttr("integer").numeric({decimal:false})});$("[integer][pve]").each(function(){$(this).removeAttr("integer").numeric({decimal:false,negative:false})});$("[decimal]:not([pve])").each(function(){var places=-1;if($(this).is("[dp0]"))places=0;else if($(this).is("[dp1]"))places=1;else if($(this).is("[dp2]"))places=2;else if($(this).is("[dp3]"))places=3;else if($(this).is("[dp4]"))places=4;if(places>=0)$(this).removeAttr("decimal").numeric({decimalPlaces:places,decimal:places==0?false:"."});else $(this).removeAttr("decimal").numeric({})});$("[decimal][pve]").each(function(){var places=-1;if($(this).is("[dp0]"))places=0;else if($(this).is("[dp1]"))places=1;else if($(this).is("[dp2]"))places=2;else if($(this).is("[dp3]"))places=3;else if($(this).is("[dp4]"))places=4;if(places>=0)$(this).removeAttr("decimal").numeric({negative:false,decimalPlaces:places,decimal:places==0?false:"."});else $(this).removeAttr("decimal").numeric({negative:false})});$("[time]").each(function(){dtp($(this),"time")});$("[date]").each(function(){dtp($(this),"date")});$("[datetime]").each(function(){dtp($(this),"datetime")});$("[color]").each(function(){$(this).removeAttr("color").colorpicker({format:"rgba"})})}function dtp(el2,t2){el2.removeAttr(t2);let opts={format:t2=="date"?"yyyy-mm-dd":t2=="time"?"hh:ii":"yyyy-mm-dd hh:ii",weekStart:el2.attr("date-week-start")??1,startView:t2=="time"?1:2,minView:el2.attr("minview")?el2.attr("minview"):t2=="time"?0:t2=="datetime"?0:2,maxView:el2.attr("maxview")?el2.attr("maxview"):t2=="time"?1:4,todayBtn:t2=="time"?0:el2.attr("date-today")=="false"?0:1,todayHighlight:t2=="time"?0:el2.attr("date-today")=="false"?0:1,language:el2.attr("date-lang")??"en",minuteStep:el2.attr("date-minute-step")??5,pickerPosition:"top-right",autoclose:1,showMeridian:false};if(el2.attr("date-start"))opts["startDate"]=el2.attr("date-start");if(el2.attr("date-end"))opts["endDate"]=el2.attr("date-end");if(el2.attr("date-value"))opts["date"]=el2.attr("date-value");el2.datetimepicker(opts);if(t2=="time"){el2.on("show",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: hidden; font-size:0px !Important; overflow: hidden; height: 0px;")}).on("hide",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: visible;")})}if(el2.attr("date-link-start")){el2.on("change",function(e){let dp1=el2.data("datetimepicker");let dp2=$(el2.attr("date-link-start")).data("datetimepicker");dp2.setStartDate(dp1.getFormattedDate());if(dp2.getFormattedDate()<dp1.getFormattedDate()||dp2.getFormattedDate()=="")$(el2.attr("date-link-start")).val(dp1.getFormattedDate())})}else if(el2.attr("date-link-end")){el2.on("change",function(e){let dp1=$(el2.attr("date-link-end")).data("datetimepicker");let dp2=el2.data("datetimepicker");dp1.setEndDate(dp2.getFormattedDate())});opts["useCurrent"]=false}}function avc(t2,n2,o,d=null){if(t2.attr(n2.toLowerCase()))o[n2.toLowerCase().split("sort-").join("").split("drop-").join("").split("drag-").join("")]=t2.attr(n2.toLowerCase());else if(d!=null)o[n2.toLowerCase().split("sort-").join("").split("drop-").join("").split("drag-").join("")]=d;return o}function applyTriggers(){$("[click]").each(function(){$(this).trigger("click").removeAttr("click")});$("[focus]").each(function(){$(this).trigger("focus").removeAttr("focus")});let _Ns=[];for(let x2=9;x2>=0;x2--){let _els=$("[n"+x2+"]");_els.each(function(){let _el2=$(this);let _d2={};for(let y=9;y>=0;y--){if(_el2.hasAttr("n"+y)){_d2["n"+y]=_el2.attr("n"+y).split(",")}}_el2.data("_Ns",_d2);_Ns.push(_el2)})}for(let i2=0;i2<_Ns.length;i2++){const _n=_Ns[i2];let _act=[];let attrs=_n.data("_Ns");for(const nK in attrs){if(Object.hasOwnProperty.call(attrs,nK)){const nV=attrs[nK];let index=nK.slice(1);if(nV.indexOf(nodes[index])!=-1){_act.push(true)}else{_act.push(false);break}}}setTimeout(()=>{if(_act.indexOf(false)!=-1)_n.removeClass("active");else _n.addClass("active")})}if(typeof viewLoaded==="function"&&!_viewLoaded){_viewLoaded=true;viewLoaded()}$("[\\@scroll],[\\@scroll-start],[\\@scroll-end],[\\@scroll-left],[\\@scroll-right],[\\@scroll-top],[\\@scroll-bottom]").unbind("scroll touchmove scrollstart scrollend").on("scroll touchmove scrollstart scrollend",function(ev){let el2=$(this);if(ev.type=="scrollend"){var newScrollLeft=el2.scrollLeft(),newScrollTop=el2.scrollTop(),width=el2.width(),scrollWidth=el2.get(0).scrollWidth,scrollHeight=el2.get(0).scrollHeight;var hasScX=el2.prop("scrollWidth")>el2.width();var hasScY=el2.prop("scrollHeight")>el2.height();if(newScrollLeft==0){processEv(ev,el2,"scroll-left")}else if(Math.round(scrollWidth-newScrollLeft-width-(hasScY?-_scW:0))==0){processEv(ev,el2,"scroll-right")}if(newScrollTop==0){processEv(ev,el2,"scroll-top")}else if(newScrollTop+el2.innerHeight()>=scrollHeight-(hasScX?-_scW:0)){processEv(ev,el2,"scroll-bottom")}}processEv(ev,el2,ev.type.length==6?"scroll":ev.type.split("scroll").join("scroll-"))})}_viewLoaded=false;function globalWatch(){if(!_initialized)return;return;$("[beajs=1]").remove();$('script[type="beajs"]').each(function(){var html=$(this).html();$(this).remove();var myScript=document.createElement("script");myScript.setAttribute("beajs","1");myScript.textContent=html;document.body.appendChild(myScript)});let bindsCount=0;let prom=defer();$("[bind]:not(.binded)").each(function(){bindsCount++;let _el2=$(this);_el2.addClass("binded");if(!setRe(_el2,_el2.attr("bind")))setError(null,"Error in binding for the element that has these in its bind attribute "+_el2.attr("bind"))});prom.then(function(val2){renderViewsTpls();renderPlugins();loadPics();reloads();let tickFunc2=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc2==="function")tickFunc2()}).catch(reason=>{renderViewsTpls();renderPlugins();loadPics();reloads();let tickFunc2=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc2==="function")tickFunc2()});if(bindsCount==0){prom.resolve()}reloads();let tickFunc=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc==="function")tickFunc()}function loadPics(){$("[lazy]").each(function(){let _el2=$(this);_el2.lazy({effect:"show",bind:"event",threshold:200,visibleOnly:false,beforeLoad:function(element){_el2.removeAttr("lazy")},afterLoad:function(element){},onError:function(element){cl("error loading "+_el2.attr("data-src"))},onFinishedAll:function(){}})})}function paraToObj(para){if(para=="")return JSON.parse("{}");return JSON.parse('{"'+decodeURI(para).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')}function getBind(b,d){d=d?d.split("&"):new Array;if(b){var binder=b.split(",");for(var x2=0;x2<binder.length;x2++){var finder=binder[x2].split(" as ");if(finder[0].indexOf(" attr ")!==-1){var findz=finder[0].split(" attr ");d.push(finder[1]+"="+$.trim($(findz[0]).attr(findz[1])))}else if(finder[0].indexOf(" find ")!==-1){var findz=finder[0].split(" find ");var val2=getVal($(findz[0]).find(findz[1]));d.push(finder[1]+"="+$.trim(val2))}else if(finder[0].indexOf(" from ")!==-1){var findz=finder[0].split(" from ");if(findz[1].toLowerCase()=="ls"){d.push(finder[1]+"="+localStorage.getItem(findz[0]))}else{d.push(finder[1]+"="+findz[0])}}else d.push(finder[1]+"="+getVal($(finder[0])))}}d=d.join("&");return d}function isPathLocal(path){var local=false;var l=getLocation(path);var l2=getLocation(appSettings.Base);var url="home";local=l.hostname==l2.hostname;return local}function checkFormInputs(f,inp,classesOnly){var inputs=inp?[inp]:f.find("[\\:required]:not([disabled])");for(var i2=0;i2<inputs.length;i2++){let el2=$(inputs[i2]);let pat=el2.data("pattern");let req=el2.hasAttr(":required");let lbl=el2.closest("label");let fs=el2.closest("fieldset");let max=el2.attr("max");let max_num=el2.attr("max-num");let min_num=el2.attr("min-num");let v=el2.val();var or=el2.attr("or");if(or!=""){var or=f.find("[name='"+or+"']")}var into;let allCls="is-not-checked is-checked is-valid is-not-empty is-empty is-invalid error success not-4-chars not-on-pattern";el2.removeClass(allCls);el2.parent().removeClass(allCls);if(lbl.length)lbl.removeClass(allCls);if(fs.length)fs.removeClass(allCls);if(el2.is(":checkbox")||el2.is(":radio")){var isCheck="is-not-checked"+(req?" is-invalid":"");if(el2.is(":checked")){isCheck="is-checked"+(req?" is-valid":"")}else{if(or.length){if(or.is(":checked")){isCheck="is-checked"+(req?" is-valid":"")}}}if(el2.is(":radio")){f.find("[name='"+el2.attr("Name")+"']:radio").not(el2[0]).each(function(){let _el2=$(this);let _req=_el2.hasAttr(":required");var _isCheck="is-not-checked"+(_req?" is-invalid":"");var _or=_el2.attr("or");let _lbl=_el2.closest("label");_el2.removeClass(allCls);_el2.parent().removeClass(allCls);if(_lbl.length)_lbl.removeClass(allCls);if(_or!=""){var _or=f.find("[name='"+_or+"']")}if(_el2.is(":checked")){_isCheck="is-checked"+(_req?" is-valid":"")}else{if(_or.length){if(_or.is(":checked")){_isCheck="is-checked"+(_req?" is-valid":"")}}}if(_el2.parent().prop("nodeName")!="FORM")_el2.parent().addClass(_isCheck);if(_lbl.length)_lbl.addClass(_isCheck);_el2.addClass(_isCheck)})}if(el2.parent().prop("nodeName")!="FORM")el2.parent().addClass(isCheck);if(lbl.length)lbl.addClass(isCheck);el2.addClass(isCheck)}else{var isV="is-empty"+(req?" is-invalid":"");if(el2.is("[username]")){if(v.length&&v.length<4){isV="not-4-chars is-not-empty"+(req?" is-invalid":"")}else{let vld=true;var k=v.match(/[a-z]+(?!\.)(?!.*\.$)(?!.*?\_\_)[a-z0-9_]+[a-z0-9]/);if(!k){vld=false}else{if(k.input!=k[0]){vld=false}}if(vld)isV="is-not-empty"+(req?" is-valid":"");else isV="not-on-pattern is-not-empty"+(req?" is-invalid":"")}}else if(el2.is("[password]")){if(!passwordValid(v)){isV="is-not-empty"+(req?" is-invalid":"")}else{isV="is-not-empty"+(req?" is-valid":"")}}else if(el2.is("[rpassword]")){if($.trim(v)!=$.trim(f.find("[password]").val())){isV="is-not-empty"+(req?" is-invalid":"")}else{isV="is-not-empty"+(req?" is-valid":"")}}else{if($.trim(v).length!=0){if(max!=""&&!isNaN(max)){if($.trim(v).length>max){el2.val($.trim($.trim(v).substr(0,max)))}}if(min_num!=""&&!isNaN(min_num)){if(!isNaN($.trim(v))){if(parseFloat($.trim(v))<parseFloat(min_num))el2.val($.trim(min_num))}else{el2.val(min_num)}}if(max_num!=""&&!isNaN(max_num)){if(!isNaN($.trim(v))){if(parseFloat($.trim(v))>parseFloat(max_num))el2.val($.trim(max_num))}else{if(min_num!=""&&!isNaN(min_num))el2.val($.trim(min_num));else el2.val("0")}}isV="is-not-empty";if(pat!=""){pat=new RegExp(pat);if(pat.test($.trim(v))){isV+=req?" is-valid":""}else{isV+=req?" is-invalid":"";el2.val("")}}else isV+=req?" is-valid":""}else{if(or.length){if($.trim(or.val()).length!=0){isV="is-not-empty"+(req?" is-valid":"")}}}}if(el2.parent().prop("nodeName")!="FORM")el2.parent().addClass(isV);if(lbl.length)lbl.addClass(isV);el2.addClass(isV)}var isRadioChecked=false;if(el2.is(":radio")){if(el2.hasClass("is-invalid")){f.find("[name='"+el2.attr("Name")+"']:radio").not(el2[0]).each(function(){if($(this).hasClass("is-valid")){isRadioChecked=true}})}else{isRadioChecked=true}}if(el2.hasClass("is-invalid")||el2.is(":radio")&&!isRadioChecked){if(el2.hasAttr("data-into")){let intoTxt=el2.data("into");if(lbl.length)into=lbl.find(intoTxt);if(!into){if(fs.length)into=fs.find(intoTxt)}if(!into)into=$(intoTxt);if(into.length){if(el2.is("[password]")){if($.trim(v).length==0)into.text(el2.attr("data-empty"));else if(el2.hasAttr("data-wpm"))into.text(el2.attr("data-wpm"));let rpass=f.find("[rpassword]");if(rpass.length){if($.trim(rpass.val()).length!=0)checkFormInputs(f,rpass,true)}}else if(el2.is("[rpassword]")){if($.trim(v).length==0)into.text(el2.attr("data-empty"));else if(el2.hasAttr("data-pnm"))into.text(el2.attr("data-pnm"))}else if(el2.is("[username]")){let txt=el2.hasAttr("data-empty")?el2.attr("data-empty"):el2.attr("placeholder");if($.trim(v).length==0)into.text(txt);else{if(el2.hasClass("not-4-chars")){if(el2.hasAttr("data-4-chars"))txt=el2.attr("data-4-chars")}else if(el2.hasClass("not-on-pattern")){if(el2.hasAttr("data-chars-not-allowed"))txt=el2.attr("data-chars-not-allowed")}into.text(txt)}}else if(el2.hasAttr("data-empty")){into.text(el2.attr("data-empty"))}else{if(el2.is(":checkbox")||el2.is(":radio")){into.text(el2.attr("placeholder"))}else{into.text(el2.attr("placeholder"))}}}}if(!classesOnly){if(el2.is(":radio")){if(!isRadioChecked){if(fs.length)fs.addClass(isCheck);el2.focus();return false}}else{if(fs.length)fs.addClass(isV);el2.focus();return false}}else{if(el2.is(":radio")){if(!isRadioChecked){if(fs.length)fs.addClass(isCheck)}}else{if(fs.length)fs.addClass(isV)}}}else if(el2.hasClass("is-valid")){if(el2.hasAttr("data-into")){let intoTxt=el2.data("into");if(lbl.length)into=lbl.find(intoTxt);if(fs.length)into=fs.find(intoTxt);if(!into)into=$(intoTxt);if(into.length){into.text("")}}}}return true}function validateInputs(f){if(f.hasAttr("ax-before")){var bfs=f.attr("ax-before");if(typeof window[bfs]==="function"){if(window[bfs](f)===false)return false}}var inps=[];f.find("input.required,select.required,textarea.required").each(function(){inps.push($(this).attr("name"))});for(var i2=0;i2<inps.length;i2++){var inp=f.find("input[name='"+inps[i2]+"']");var sel=f.find('select[name="'+inps[i2]+'"]');var txt=f.find('textarea[name="'+inps[i2]+'"]');var e=inp;if(!e.length)e=sel;if(!e.length)e=txt;var or=e.attr("or");if(or!=""){var inp2=f.find("input[name='"+or+"']");var sel2=f.find('select[name="'+or+'"]');var txt2=f.find('textarea[name="'+or+'"]');var or=inp2;if(!or.length)or=sel2;if(!or.length)or=txt2}if(e.is(":checkbox")||e.is(":radio")){if(!e.is(":checked")){if(or.length){if(!or.is(":checked")){alert(e.attr("placeholder")+" or "+or.attr("placeholder"));e.addClass("error");e.focus();return false}}else{alert(e.attr("placeholder"));e.addClass("error");e.focus();return false}}}else{if($.trim(e.val()).length==0){if(or.length){if($.trim(or.val()).length==0){alert(e.attr("placeholder")+" or "+or.attr("placeholder"));e.addClass("error");e.focus();return false}}else{alert(e.attr("placeholder"));e.addClass("error");e.focus();return false}}if(e.is("[password]")){if(!passwordValid(e.val())){alert(e.attr("data-wpm"));e.addClass("error");e.focus();return false}}if(e.is("[rpassword]")){if($.trim(e.val())!=$.trim(e.closest("form").find("[password]").val())){e.addClass("error");alert(e.attr("data-pnm"));e.focus();return false}e.removeClass("error");$(".passStrength").remove()}}}return true}let _cookies={getItem:function(sKey){if(!sKey){return null}return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(sKey,sValue,vEnd,sPath,sDomain,bSecure){if(!sKey||/^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)){return false}var sExpires="";if(vEnd){switch(vEnd.constructor){case Number:sExpires=vEnd===Infinity?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+vEnd;break;case String:sExpires="; expires="+vEnd;break;case Date:sExpires="; expires="+vEnd.toUTCString();break}}if(!sPath)sPath="/";document.cookie=encodeURIComponent(sKey)+"="+encodeURIComponent(sValue)+sExpires+(sDomain?"; domain="+sDomain:"")+(sPath?"; path="+sPath:"")+(bSecure?"; secure":"");return true},removeItem:function(sKey,sPath,sDomain){if(!this.hasItem(sKey)){return false}document.cookie=encodeURIComponent(sKey)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(sDomain?"; domain="+sDomain:"")+(sPath?"; path="+sPath:"");return true},hasItem:function(sKey){if(!sKey){return false}return new RegExp("(?:^|;\\s*)"+encodeURIComponent(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){var aKeys=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/);for(var nLen=aKeys.length,nIdx=0;nIdx<nLen;nIdx++){aKeys[nIdx]=decodeURIComponent(aKeys[nIdx])}return aKeys}};var cookies=new Proxy(_cookies,{get(target,key){return target[key]??target.getItem(key)??void 0},set(target,key,value){if(key in target){return false}return target.setItem(key,value)},deleteProperty(target,key){if(!(key in target)){return false}return target.removeItem(key)},ownKeys(target){return target.keys()},has(target,key){return key in target||target.hasItem(key)},defineProperty(target,key,descriptor){if(descriptor&&"value"in descriptor){target.setItem(key,descriptor.value)}return target},getOwnPropertyDescriptor(target,key){const value=target.getItem(key);return value?{value,enumerable:true,configurable:true}:void 0}});function getCookie(n2){return cookies[n2]}function setCookie(n2,v,d,p,e){var now=new Date;var time=now.getTime();if(!e)e=time+24*60*60*1e3*365;else e=time+e;if(!d)d=window.location.hostname;if(!p)p="/";now.setTime(e);return cookies.setItem(n2,v,now.toGMTString(),p,d,true)}function getComData(c,fromHTML){if(fromHTML){try{var el2=$("<div></div>");el2.html(c.html());var k={};var mtitle=$("modal-title",el2).html();if(!mtitle)mtitle="";var mbody=$("modal-body",el2).html();if(!mbody)mbody="";var mdesc=$("modal-description",el2).html();if(!mdesc)mdesc="";var mfoot=$("modal-footer",el2).html();if(!mfoot)mfoot="";k.Title=mtitle;k.Body=mbody;k.Description=mdesc;k.Footer=mfoot;c=k;return c}catch(e){return false}return false}try{c=c.contents().filter(function(){return this.nodeType===8}).get(0);if(c.nodeValue=="")return false;try{c=JSON.parse(c.nodeValue)}catch(e){try{c=JSON.parse(atob(c.nodeValue))}catch(e2){try{var el2=$("<div></div>");el2.html(c.nodeValue);var k={};var mtitle=$("modal-title",el2).html();if(!mtitle)mtitle="";var mbody=$("modal-body",el2).html();if(!mbody)mbody="";var mdesc=$("modal-description",el2).html();if(!mdesc)mdesc="";var mfoot=$("modal-footer",el2).html();if(!mfoot)mfoot="";k.Title=mtitle;k.Body=mbody;k.Description=mdesc;k.Footer=mfoot;c=k}catch(e3){return false}}}return c}catch(e){return false}}function addOrChangeParameters(url,params){let splitParams={};let splitPath=/(.*)[?](.*)/.exec(url);if(splitPath&&splitPath[2])splitPath[2].split("&").forEach(k=>{let d=k.split("=");splitParams[d[0]]=d[1]});let newParams=Object.assign(splitParams,params);let finalParams=Object.keys(newParams).map(a=>a+"="+newParams[a]).join("&");return splitPath?splitPath[1]+"?"+finalParams:url+"?"+finalParams}class BEA{Cart=null;Products=null;Authorize=null;Pay=null;localCache=true;_prom=null;proms=[];l="En";fields={Section:"Section,Title,Text",Product:"Name,Price,Quantity"};constructor(options){if(options===void 0)options={};if(!Object.keys(options).length==0){if(options.hasOwnProperty("fields")){for(var i2 in options["fields"]){this.fields[i2]=options["fields"][i2]}}if(options.hasOwnProperty("localisation"))this.l=options.localisation;if(options.hasOwnProperty("locale")&&options.locale===true){this.getLocale()}if(options.hasOwnProperty("sections")&&options.sections===true){this.getSections()}if(options.hasOwnProperty("localCache")&&options.localCache===false){this.localCache=false}}this.Cart=new Cart(this);this.Products=new Products(this);this.Authorize=new Authorize(this);this.Pay=new Pay(this);this._prom=Promise.all(this.proms)}request(className,data2,async,type2,a){var prom=defer();var x2;API.req(className,data2,null,type2,a??0).then(r2=>{if(async){prom.resolve(r2)}else{x2=r2.results}});if(async)return prom;return x2}getSections(){var sec=new Section(this);this.proms.push(sec._prom);return sec.get()}getLocale(){var loc=new Locale(this);this.proms.push(loc._prom);return loc.get()}order(){let prom=defer();var ids="";var productsInfo;var user;var orderData={User:"",productItems:[],Amount:0};user=this.Authorize.me();orderData.User=user.objectId;$.each(this.Cart.cartData,function(key,value){ids=ids+value.P+","});this.Products.get({fields:"Name,Price,Quantity",media:"images",crops:"ax200,ax600,ax700,200x200,ax300"},{ids},true).then(res=>{let productsInfo2=res.results;var productsDB=Object.assign({},...productsInfo2.map(x2=>({[x2.objectId]:x2})));$.each(this.Cart.cartData,function(key,value){orderData.productItems.push({Qty:value.Q,Product:value.P,productData:JSON.stringify(productsDB[value.P]),Price:productsDB[value.P].Price});orderData.Amount+=value.Q*productsDB[value.P].Price});this.request("/Order",{User:orderData.User,Amount:orderData.Amount},true,"POST").then(res2=>{let orderId=res2.results;for(var i2=0;i2<orderData.productItems.length;i2++){orderData.productItems[i2]["Order"]=orderId[0].objectId;this.request("/orderItems ",orderData.productItems[i2],true,"POST")}prom.resolve(orderId)})});return prom}sendEmail(data2){let prom=defer();this.request("/_Emails/send",data2,true,"POST").then(res=>{prom.resolve(r)})}batch(data2){return this.request("/batch",data2,true,"POST")}query(className,data2){return this.request(className,data2,true,"GET")}get(className,data2,options=true){return this.request(className,data2,options,"GET")}post(className,data2,options=true){return this.request(className,data2,options,"POST")}put(className,data2,options=true){return this.request(className,data2,options,"PUT")}delete(className,options=true){return this.request(className,"",options,"DELETE")}}class Pay{tsdk=null;object={};constructor(tsdk){this.tsdk=tsdk;let self=this;$(window).unbind("message").on("message",function(e){let dd=$("#gosell-gateway")[0].contentWindow;if(e.originalEvent.source===dd&&e.originalEvent.data=="close"){$(".gosell-gateway").remove();self.onClose()}})}create(data2){let prom=defer();API.post("https://pay.bea.com.lb/create",data2,{},666).then(d=>{this.object=d;cl(d);this.process(this.object.transaction.url.replace("mode=page","mode=popup"));prom.resolve(this.object.id)}).catch(err=>{cl(err)});return prom}process(link){var d=`
|
|
19
|
+
(e = e.indexOf(".js") === -1 ? c + e + ".js" : c + e);*/if(l[e3])return o2&&(a[o2]=1),l[e3]==2?y():setTimeout(function(){t4(e3,true)},0);l[e3]=1,o2&&(a[o2]=1),m(e3,y)})},0),v}function m(n3,r3){var i3=e.createElement("script"),u2;i3.onload=i3.onerror=i3[o]=function(){if(i3[s]&&!/^c|loade/.test(i3[s])||u2)return;i3.onload=i3[o]=null,u2=1,l[n3]=2,r3()},i3.async=1,i3.setAttribute("crossorigin","anonymous"),i3.setAttribute("data-permanent",1),i3.src=h?n3+(n3.indexOf("?")===-1?"?":"&")+h:n3,t2.insertBefore(i3,t2.lastChild)}var e=document,t2=e.getElementsByTagName("head")[0],n2="string",r2=false,i2="push",s="readyState",o="onreadystatechange",u={},a={},f={},l={},c,h;return v.get=m,v.order=function(e2,t3,n3){(function r3(i3){i3=e2.shift(),e2.length?v(i3,r3):v(i3,t3,n3)})()},v.path=function(e2){c=e2},v.urlArgs=function(e2){h=e2},v.ready=function(e2,t3,n3){e2=e2[i2]?e2:[e2];var r3=[];return!d(e2,function(e3){u[e3]||r3[i2](e3)})&&p(e2,function(e3){return u[e3]})?t3():!(function(e3){f[e3]=f[e3]||[],f[e3][i2](t3),n3&&n3(r3)})(e2.join("|")),v},v.done=function(e2){v([null],e2)},v});(function(n2,t2){this[n2]=t2()})("sbea",function(){return function(x2){beas=x2}});(function(n2,t2){this[n2]=t2()})("Reactor",function(){return function(o){appSettings=o;if(o.Base)beas=o.Base;else{var getUrl=window.location;var baseUrl=getUrl.protocol+"//"+getUrl.host+"/";if(o.subDirectory)baseUrl=baseUrl+o.subDirectory+"/";appSettings.Base=baseUrl}if(o.App)execEl=o.App;if(o.Additional){bea([o.Additional],"ready",function(){})}if(o.init&&typeof o.init==="function")o.init()}});var fullTB=[{items:["Source","-","searchCode","autoFormat","CommentSelectedRange","UncommentSelectedRange","AutoComplete","-","Save","NewPage","Preview","Print","-","Templates","-","Cut","Copy","Paste","PasteText","PasteFromWord","PasteCode","-","Undo","Redo","-","SelectAll","-","Find","-","Image","CodeSnippet","Flash","Table","HorizontalRule","Smiley","SpecialChar","PageBreak","Iframe","VideoDetector","-","Blockquote","CreateDiv","simplebutton","-","Link","Unlink","Anchor","-","TextColor","BGColor","-","Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","-","NumberedList","BulletedList","-","Outdent","Indent","-","CopyFormatting","RemoveFormat","-","lineheight","letterspacing","Styles","Format","Font","FontSize","-","ShowBlocks"]}];var normalTB=[{name:"basicstyles",groups:["basicstyles","cleanup"],items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","Language","-","Undo","Redo","-","SelectAll","-","CopyFormatting","RemoveFormat"]},"/",{items:["Find","-","Image","Table","HorizontalRule","Smiley","SpecialChar","Iframe","VideoDetector","-","Link","Unlink","Anchor"]},{name:"paragraph",groups:["list","indent","blocks","align","bidi"],items:["TextColor","BGColor","-","NumberedList","BulletedList","-","Outdent","Indent"]},"/",{name:"styles",items:["lineheight","letterspacing","Styles","Format","Font","FontSize"]}];var miniTB=[{name:"basicstyles",groups:["basicstyles","cleanup"],items:["Bold","Italic","Underline","Strike","Subscript","Superscript","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl","Language","-","Link","Unlink","Anchor","-","CopyFormatting","RemoveFormat"]},"/",{name:"paragraph",groups:["list","indent","blocks","align","bidi"],items:["TextColor","BGColor","-","NumberedList","BulletedList","-","Outdent","Indent"]},{name:"styles",items:["Styles","Format","Font","FontSize"]}];(function(submit){HTMLFormElement.prototype.submit=function(data2){$(this).submit();return false}})(HTMLFormElement.prototype.submit);HTMLElement.prototype.setAttributeNative=HTMLElement.prototype.setAttribute;HTMLElement.prototype.removeAttributeNative=HTMLElement.prototype.removeAttribute;HTMLElement.prototype.getAttributeNative=HTMLElement.prototype.getAttribute;(function(setAttribute){HTMLElement.prototype.setAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{this.events[prop]=val2}catch(e){}}else{this.setAttributeNative(prop,val2)}}})(HTMLElement.prototype.setAttribute);(function(removeAttribute){HTMLElement.prototype.removeAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{delete this.events[prop]}catch(e){}}else{this.removeAttributeNative(prop,val2)}}})(HTMLElement.prototype.removeAttribute);(function(getAttribute){HTMLElement.prototype.getAttribute=function(prop,val2){if(prop.substr(0,1)=="@"){try{return this.events[prop]}catch(e){return this.getAttributeNative(prop,val2)}}else{return this.getAttributeNative(prop,val2)}}})(HTMLElement.prototype.getAttribute);var XHRs=new Array;if(localStorage.getItem("globals")===null)localStorage.setItem("globals",JSON.stringify({}));if(localStorage.getItem("_rx")===null)localStorage.setItem("_rx",JSON.stringify({}));var globals=clone(JSON.parse(localStorage.getItem("globals")));let _rx=clone(JSON.parse(localStorage.getItem("_rx")));var watch={};var popups={"modals":[],"react-modals":[]};var cntrlon=0;var _gn=0,_worker;var nodes=[];var _jsuid={};function clone(item){if(!item){return item}var types2=[Number,String,Boolean],result;types2.forEach(function(type2){if(item instanceof type2){result=type2(item)}});if(typeof result=="undefined"){if(Object.prototype.toString.call(item)==="[object Array]"){result=[];item.forEach(function(child,index,array){result[index]=clone(child)})}else if(typeof item=="object"){if(item.nodeType&&typeof item.cloneNode=="function"){result=item.cloneNode(true)}else if(!item.prototype){if(item instanceof Date){result=new Date(item)}else{result={};for(var i2 in item){result[i2]=clone(item[i2])}}}else{if(false){result=new item.constructor}else{result=item}}}else{result=item}}return result}function isInput(o){if(o.is(":checkbox")||o.is("input")||o.is("textarea")||o.is(":radio")||o.is("select"))return true;return false}function getVal(o){if(isInput(o)){return $.trim(o.val())}return o.html()}function setVal(o,v){if(isInput(o)){o.val(v)}else o.html(v)}function iterateConditions(text){var results=[];var opts=text.split("##");var iff=opts.shift();opts=opts.join("##");if(opts.indexOf("#else#")>-1)var hasElse=true;if(opts.indexOf("#elseif#")>-1)var hasElseIfs=true;if(hasElse){opts=opts.split("#else#");var elsee=opts.pop();opts=opts.join("")}if(hasElseIfs){results["elseif"]=[];var elseifs=opts.split("#elseif#");var ifOpts=elseifs.shift();results["if"]={cond:iff,val:ifOpts};for(var index=0;index<elseifs.length;index++){var elf=elseifs[index].split("##");results["elseif"].push({cond:elf[0],val:elf[1]})}if(hasElse)results["else"]=elsee}else if(hasElse){results["if"]={cond:iff,val:opts};if(hasElse)results["else"]=elsee}else{results["if"]={cond:iff,val:opts}}return results}function wait(){_loader.show();_initialized=false}function resume(){_loader.hide();_initialized=true}const pause=msec=>new Promise((resolve,_)=>{setTimeout(resolve,msec)});function _lumenReadyHandler(){if(typeof appSettings==="undefined"||!appSettings){setTimeout(_lumenReadyHandler,10);return}nodes=getURLNodes();if(_initialized==null)_initialized=true;$("html").removeClass("no_js");if(!$("[exec]").length)$("body").append({beajs:true,body:"<div exec class=h></div>"});$(document).keyup(function(e){cntrlon=0});$(document).keydown(function(e){if(e.ctrlKey||e.metaKey){cntrlon=1}});goToNode()}$(document).ready(_lumenReadyHandler);function updateLocalVariable(k){if(k=="_rx")_rx=clone(JSON.parse(localStorage.getItem("_rx")));else globals=clone(JSON.parse(localStorage.getItem("globals")))}function setGlobals(x2){localStorage.setItem("globals",JSON.stringify(x2));globals=clone(JSON.parse(localStorage.getItem("globals")));if(typeof _vt!=="undefined"&&_vt.Global&&_vt.Global.vars){_vt.Global.vars.globals=globals}}function setRX(x2){localStorage.setItem("_rx",JSON.stringify(x2));_rx=clone(JSON.parse(localStorage.getItem("_rx")))}$(window).on("storage",function(e){if(e.originalEvent.key=="globals"){if(localStorage.getItem("globals")!=null)updateLocalVariable();else setGlobals(globals)}else if(e.originalEvent.key=="_rx"){if(localStorage.getItem("_rx")!=null)updateLocalVariable("_rx");else setRX(_rx)}});var _work=function(){if(!$(".prog").length)$("body").append('<div class="prog"><div class=bar role=bar></div><div class=spinner role=spinner><div class="spinner-icon"></div></div></div>');_worker=setTimeout(function(){_gn=incri(_gn);barSet(_gn,200);_work()},200)};$(document).ajaxStart(function(){_gn=0;_work();if(typeof heartbeat==="function")heartbeat()}).ajaxStop(function(){_gn=0;barSet(1,200);if(typeof heartbeat==="function")heartbeat();globalWatch()}).ajaxError(function(e,xhr,opt){if(xhr.statusText=="error"){if(xhr.status=="422")$("[exec]").html(xhr.responseText);else if(xhr.status=="0"){$("[dropzone].pending").removeClass("pending").addClass("error");$("body").addClass("no-internet-connection")}}if(typeof heartbeat==="function")heartbeat();globalWatch();_gn=0;barSet(1,200)});(function($2){$2.extend({inArrayIn:function(elem,arr,i2){if(typeof elem!=="string"){return $2.inArray.apply(this,arguments)}if(arr){var len=arr.length;i2=i2?i2<0?Math.max(0,len+i2):i2:0;elem=elem.toLowerCase();for(;i2<len;i2++){if(i2 in arr&&arr[i2].toLowerCase()==elem){return i2}}}return-1}})})(jQuery);$.fn.priorityOn=function(type2,selector2,data2,fn2){this.each(function(){var $this=$(this);var types2=type2.split(" ");for(var t2 in types2){$this.on(types2[t2],selector2,data2,fn2);var currentBindings=$._data(this,"events")[types2[t2]];if($.isArray(currentBindings)){currentBindings.unshift(currentBindings.pop())}}});return this};$.fn.onClose=function(selector2,data2,fn2){this.each(function(){var el2=$(this);var types2=["close"];for(var t2 in types2){el2.on(types2[t2],selector2,data2,fn2)}});return this};$.fn.attach=function(type,selector,data,fn){var el=$(this);var types=type.split(" ");for(var t in types){var lu="$.fn.on"+types[t]+' = function (selector, data, fn) { var el = $(this); var types = ["'+types[t]+'"]; for (var t in types) { el.live(types[t], selector, data, fn); } return this;};';try{eval(lu)}catch(e){}}return this};$.fn.hasAttr=function(k){return this.attr(k)!==void 0};$.fn.hasKey=function(k){return typeof this.data(k)!=="undefined"};function dotsIntoObjs(keys,value){var tempObject={};var container=tempObject;keys.split(".").map((k,i2,values)=>{container=container[k]=i2==values.length-1?value:{}});return tempObject}$.fn.set=function(name,value){var splitter=name.split(".");if(splitter.length>1){var key=splitter.shift();return this.data(key,dotsIntoObjs(splitter.join("."),value))}return this.data(name,value)};$.fn.props=function(){return this.data("props")};$.fn.scope=function(_sview){var _scopedVariables=_sview(this,this.data("props")??{})??{};for(var x2=0;x2<Object.keys(_scopedVariables).length;x2++){var _key=Object.keys(_scopedVariables)[x2];var val2=_scopedVariables[_key];this.set(_key,val2)}};$.fn.isOverflown=function(){return $(this)[0].scrollHeight>$(this)[0].clientHeight||$(this)[0].scrollWidth>$(this)[0].clientWidth};function removeEmptyElement(arr){var filtered=arr.filter(function(el2){return el2});return filtered}function findInObject(object,property,value){for(var i2=0;i2<object.length;i2+=1){if(object[i2][property]===value){return i2}}}function compareUs(object1,object2){var areObjects=isObject(object1)&&isObject(object2);if(!areObjects){if(typeof object1=="number"&&typeof object2=="number"){if(isNaN(object1)&&isNaN(object2))return true}return object1==object2}const keys1=Object.keys(object1);const keys2=Object.keys(object2);if(keys1.length!==keys2.length){return false}for(const key of keys1){const val1=object1[key];const val2=object2[key];const areObjects2=isObject(val1)&&isObject(val2);if(areObjects2&&!compareUs(val1,val2)||!areObjects2&&val1!==val2){return false}}return true}function deepCompare(object1,object2,path=""){const areObjects=isObject(object1)&&isObject(object2);if(!areObjects){if(typeof object1==="number"&&typeof object2==="number"){if(isNaN(object1)&&isNaN(object2)){return true}}if(object1!==object2){return false}return true}const keys1=Object.keys(object1);const keys2=Object.keys(object2);if(keys1.length!==keys2.length){return false}for(const key of keys1){const newPath=path?`${path}.${key}`:key;const val1=object1[key];const val2=object2[key];const areNestedObjects=isObject(val1)&&isObject(val2);if(!deepCompare(val1,val2,newPath)){return false}}return true}function isObject(object){return object!=null&&typeof object==="object"}(function(old){$.fn.attr=function(){if(arguments.length===0){if(this.length===0){return null}var obj={};$.each(this[0].attributes,function(){if(this.specified){obj[this.name]=this.value}});return obj}return old.apply(this,arguments)}})($.fn.attr);function st(b){if(!isNaN(b))$("html,body").stop().animate({scrollTop:b+"px"},{duration:400});else $("html,body").stop().animate({scrollTop:$(b).offset().top+"px"},{duration:400})}function pushURL(url,d){if(url||url==""){if(history&&history.pushState){history.pushState({},"",appSettings.Base+"/"+url.replace(new RegExp("^[/]+"),""));goToNode(d)}else{parent.location.href=url}}else{alert(url)}}function formatBytes(bytes,decimals){if(bytes==0)return"0 Bytes";var k=1024,dm=decimals<=0?0:decimals||2,sizes=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i2=Math.floor(Math.log(bytes)/Math.log(k));return parseFloat((bytes/Math.pow(k,i2)).toFixed(dm))+" "+sizes[i2]}function passwordContainsSymbol(value){var containsSymbol=false,symbols=`-!\xA7$%&/()=?.:,~;'#+*-/\\|{}[]_<>"`.split("");$.each(symbols,function(index,symbol){if(value.indexOf(symbol)>-1){containsSymbol=true;return false}});return containsSymbol}function passwordStrength(pass){var s=0,n2;if(pass.length>5)s+=10;if(/[a-z]/.test(pass))s+=1;if(/[A-Z]/.test(pass))s+=1;if(/[0-9]/.test(pass))s+=1;if(passwordContainsSymbol(pass))s+=1;if(s==14)n2="very-strong";else if(s==13)n2="strong";else if(s==12)n2="medium";else if(s==11)n2="weak";else n2="";if(/\s/g.test(pass))n2="has-spaces";return n2}function passwordValid(pass){var n2=passwordStrength(pass);if(n2=="strong"||n2=="very-strong")return true;return false}function incri(n2){var amount;if(n2>1){return .994}else{if(n2>=0&&n2<.2){amount=.1}else if(n2>=.2&&n2<.5){amount=.04}else if(n2>=.5&&n2<.8){amount=.02}else if(n2>=.8&&n2<.99){amount=.005}else{amount=5e-4}n2=n2+amount;if(n2<.08)n2=.08;else if(n2>.994)n2=.994;return n2}}function barSet(n2,speed){clearTimeout(_worker);if(n2<.08)n2=.08;else if(n2>1)n2=1;var bar=$('.bar[role="bar"]');bar.css({transition:"all "+speed+"ms linear","-webkit-transition":"all "+speed+"ms linear","-moz-transition":"all "+speed+"ms linear","-o-transition":"all "+speed+"ms linear"});if($("body").hasClass("rtl"))bar.css({"margin-right":-100+n2*100+"%"});else bar.css({"margin-left":-100+n2*100+"%"});if(n2==1){_worker=setTimeout(function(){$(".prog").animate({opacity:0},{duration:speed,complete:function(){$(".prog").remove()}})},speed)}}function getFormData(form){var unindexed_array=form.serializeArray();var indexed_array={};$.map(unindexed_array,function(n2,i2){if(n2["name"].includes("[]")){var key=n2["name"].split("[]")[0];if(!indexed_array.hasOwnProperty(key))indexed_array[key]=[];indexed_array[key].push(n2["value"])}else{indexed_array[n2["name"]]=n2["value"]}});return indexed_array}$(window).on("popstate",function(){if(history&&history.pushState)goToNode()});var getLocation=function(href){var l=document.createElement("a");l.href=href;return l};function getURLNodes(){appSettings.Base=appSettings.Base.replace(new RegExp("[/]+$"),"");var base=getLocation(appSettings.Base);if(base.origin!=window.location.origin){appSettings.Base=window.location.origin+base.pathname;var base=getLocation(appSettings.Base)}var _nodes=base.pathname!="/"?window.location.pathname.split(base.pathname).join("").replace(new RegExp("^[/]+"),"").split("/"):location.href.split(appSettings.Base).join("").replace(new RegExp("^[/]+"),"").split("?")[0].split("/");if(!_nodes[0])_nodes[0]=appSettings.defaultView??"home";return _nodes}var prevNodes=[];function goToNode(d){if(_initialized){prevNodes=clone(nodes);nodes=getURLNodes();renderView(nodes[0],null,d)}else{setTimeout(function(){goToNode(d)},100)}}var View={};function setError(e,t2){if(!e){console.warn(t2);return}console.warn(t2,e.message)}function renderTpl(el2,n2,vars2){if(!el2.length)return;if(el2.data("_status")=="error")return;if(!el2.hasKey("_re")){if(el2.data("_status")=="pending"){getTpl(n2,el2,vars2)}setTimeout(function(){renderTpl(el2,n2,vars2)},_tickTime)}}function prepareNode(n2,rep){var _arr2=n2.split("/");if(_arr2.length>1){for(var i2=_arr2.length-1;i2>=_arr2.length-1;i2--)_arr2[i2]=_arr2[i2];n2=_arr2.join("/")}else n2=n2;return rep?n2.replace(new RegExp("^[/]+"),""):n2}var _esps={};var _Views={};function setAppFuncs(){let initFunc=appSettings.init&&typeof appSettings.init==="function"?appSettings.init:typeof init==="function"?init:null;if(typeof initFunc==="function")initFunc()}function getView(n2,el2,d){let filePath="src/views/"+n2+".view";let fileKey=btoa(filePath);if($("body").hasKey("view_"+fileKey)){renderView(n2,el2,d,true)}else{if(_vcData&&_vcData["views"].hasOwnProperty(fileKey)){$("body").data("view_"+fileKey,_vcData["views"][fileKey]);renderView(n2,el2,d,true);return}if(Nuke&&Nuke._ws&&Nuke._ws.readyState){Nuke.emit("getview",fileKey,function(e){var r2=e.data;$("body").data("view_"+fileKey,r2);renderView(n2,el2,d,true)})}else{setTimeout(()=>{getView(n2,el2,d)},_tickTime)}}}function fileToDataURL(file){var reader=new FileReader;return new Promise(function(resolve,reject){reader.onload=function(event){resolve(event.target.result)};reader.readAsDataURL(file)})}function readFilesAsDataURL(files){return Promise.all(files.map(fileToDataURL))}function defer(){var res,rej;var promise=new Promise((resolve,reject)=>{res=resolve;rej=reject});promise.resolve=res;promise.reject=rej;promise.success=res;promise.failed=rej;return promise}function getTpl(n2,el2,vaz2){let filePath="src/tpls/"+n2+".tpl";let fileKey=btoa(filePath);if(el2.data("_status")!="pending")return;el2.data("_status","getting");if($("body").hasKey("tpl_"+fileKey)){let r2=$("body").data("tpl_"+fileKey);el2.html(r2);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2)}else{if(_vcData&&_vcData["tpls"].hasOwnProperty(fileKey)){$("body").data("tpl_"+fileKey,_vcData["tpls"][fileKey]);el2.html(_vcData["tpls"][fileKey]);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2);return}if(Nuke&&Nuke._ws&&Nuke._ws.readyState){Nuke.emit("gettpl",fileKey,function(e){var r2=e.data;$("body").data("tpl_"+fileKey,r2);el2.html(r2);if(!setRe(el2,vaz2))setError(null,"Error in rendering template "+n2)})}else{setTimeout(()=>{getTpl(n2,el2,vaz2)},_tickTime)}}}function setRe(_el,vaz){try{if(!_el.hasKey("_vars")){if(_debugMode)cl("The Data Arrived",vaz);let data={};let vars=vaz.split(",");vars=vars.map(s=>s.trim());let binds=[];let dataNamesValues=[];var _subView=_el.closest("[view]");for(let x=0;x<vars.length;x++){if(vars[x]!=""){try{let varName=vars[x];let varValue=vars[x];let NameAs=null;if(varName.indexOf(" as ")!==-1){varName=varName.split(" as ");varValue=varName[0];varName=varName[1];NameAs=vars[x]}let val="";if(_subView.length){val=_subView.hasKey(varValue)?_subView.data(varValue):eval(varValue)}else val=eval(varValue);dataNamesValues.push({Name:varName,NameAs,Value:val})}catch(e){let varName2=vars[x];let varValue2=vars[x];let NameAs2=null;if(varName2.indexOf(" as ")!==-1){varName2=varName2.split(" as ");varValue2=varName2[0];varName2=varName2[1];NameAs2=vars[x]}dataNamesValues.push({Name:varName2,NameAs:NameAs2,Value:void 0});setError(e,"Error in bind variables for "+vars[x])}}}for(let x2=0;x2<dataNamesValues.length;x2++){let dn=dataNamesValues[x2];binds.push({dataName:dn["Name"],dataNameAs:dn["NameAs"],dataValue:clone(dn["Value"])});data[dn["Name"]]=dn["Value"]}if(_debugMode)cl(["The Data Set",data,binds]);if(appSettings.beforetick&&typeof appSettings.beforetick==="function")appSettings.beforetick();_el.data("_vars",binds).data("_re",new RenderEngine(_el,data));globalWatch()}_el.data("_status","complete");return true}catch(e){_el.data("_status","error");return false}return false}function parseFromString(html){return doc=new DOMParser().parseFromString(html,"text/html")}var _binds={};let _oldGlobals=clone(globals);let _oldRX=clone(_rx);let _watch=clone($("body").data("_watch"));$("body").data("_watch",{old:{},list:[]});function reloads(){$("[crslf].flickity-enabled.reload-on-bind").each(function(){var el2=$(this);el2.flickity("destroy");var opts=el2.attr("crslf-opts");if(!opts)opts={};else opts=JSON.parse(opts);el2.flickity(opts);var flkty=el2.data("flickity");flkty.on("dragStart",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="none"));flkty.on("dragEnd",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="all"))});$("[crsl].crsl-initialized").each(function(){$(this).crsl("refresh")});let tickFunc=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc==="function")tickFunc();scsc.reset();dgsc.reset();applyTriggers();setTimeout(()=>{scsc.reset();dgsc.reset();applyTriggers()},_tickTime*2)}function renderViewsTpls(){$("[view]").each(function(i){var el=$(this);if(el.data("_status")!="pending"&&el.data("_status")!="error"&&el.data("_status")!="getting"&&el.data("_status")!="complete"){var modal=el.closest("popup");var n=el.attr("view");var _props=el.attr(":props")??null;var _binds=el.attr(":props-bind")??null;el.data("_status","pending");let nn=n;var _arr=nn.split("/");if(_arr.length>1){for(var i=_arr.length-1;i>=_arr.length-1;i--){_arr[i]=_arr[i].toLowerCase()}nn=_arr.join("/")}else{nn=nn.toLowerCase()}var _queryParams=nn.split("?");nn=_queryParams.shift();if(el.attr(":data")){let vaz=el.attr(":data");let data={};let vars=vaz.split(",");let dataNamesValues=[];let binds=[];vars=vars.map(s=>s.trim());for(let x=0;x<vars.length;x++){if(vars[x]!=""){try{let varName=vars[x];let varValue=vars[x];let NameAs=null;if(varName.indexOf(" as ")!==-1){varName=varName.split(" as ");varValue=varName[0];varName=varName[1];NameAs=vars[x]}let val="";val=eval(varValue);dataNamesValues.push({Name:varName,NameAs,Value:val})}catch(e){cl(e);let varName2=vars[x];let varValue2=vars[x];let NameAs2=null;if(varName2.indexOf(" as ")!==-1){varName2=varName2.split(" as ");varValue2=varName2[0];varName2=varName2[1];NameAs2=vars[x]}dataNamesValues.push({Name:varName2,NameAs:NameAs2,Value:void 0});setError(e,"Error in bind variables for "+vars[x])}}}for(let x2=0;x2<dataNamesValues.length;x2++){let dn=dataNamesValues[x2];binds.push({dataName:dn["Name"],dataNameAs:dn["NameAs"],dataValue:clone(dn["Value"])});data[dn["Name"]]=dn["Value"]}el.data("props",data)}else{var _d=paraToObj(getBind(_binds,_props));el.data("params",paraToObj(_queryParams));if(modal.length)_d["modal"]=modal.data("props");el.data("props",_d)}if(n==""||!n||n.split("/").slice(-1)==""){el.data("_status","error")}else{renderView(n,el,_d)}}})}function renderPlugins(){$("[crslf]:not(.flickity-enabled,[comp],[tpl],[view]),[crslf][comp]:not(.flickity-enabled),[crslf][tpl]:not(.flickity-enabled),[crslf][view]:not(.flickity-enabled)").each(function(){var el2=$(this);if(el2.hasAttr("[tpl]")||el2.hasAttr("[comp]")||el2.hasAttr("[view]")){if(el2.data("_status")!="complete")return}var opts=el2.attr("crslf-opts");if(!opts)opts={};else opts=JSON.parse(opts);el2.flickity(opts);var flkty=el2.data("flickity");flkty.on("dragStart",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="none"));flkty.on("dragEnd",()=>flkty.slider.childNodes.forEach(slide=>slide.style.pointerEvents="all"));setTimeout(function(){globalWatch()},600)});$("[crsl]:not(.crsl-initialized,[comp],[tpl],[view]),[crsl][comp]:not(.crsl-initialized),[crsl][tpl]:not(.crsl-initialized),[crsl][view]:not(.crsl-initialized)").each(function(){var el2=$(this);if(el2.hasAttr("[tpl]")||el2.hasAttr("[comp]")||el2.hasAttr("[view]")){if(el2.data("_status")!="complete")return}el2.crsl();el2.on("setPosition beforeChange",function(event,slick,currentSlide,nextSlide){$(window).trigger("scroll.scsc");$(window).trigger("resize")})});$("[up]:not([upid])").each(function(){var u=_ups.length;var t2=$(this);var mxf=t2.attr("data-mxf")?t2.attr("data-mxf"):10;if(!t2.hasAttr("upid")){var sl="up_"+u;t2.attr("upid",sl);t2.prepend(`<input `+(mxf>1?"multiple":"")+` type="file" files style="display:none;" />`);_ups.push(t2)}});$("form:not(.binded,[norm])").each(function(){var el2=$(this);var reset=false;if(el2.hasAttr("reset"))reset=true;var actn=el2.attr("action")??"";var local=false;el2.addClass("binded");if(actn==""){actn=getURLNodes().join("/");local=true}else local=isPathLocal(actn);if(el2.hasAttr("o-sub")){el2.ajaxForm({beforeSubmit:function(formData,f,options){let formDataMapped={};let formDataMappedAdditionals={};formDataMapped=Object.assign({},...formData.map(x2=>{if(x2.type=="file"){if(!formDataMappedAdditionals.hasOwnProperty(x2.name))formDataMappedAdditionals[x2.name]=[];formDataMappedAdditionals[x2.name].push(x2["value"]);return void 0}if(x2["name"].includes("[]")){var key=x2["name"].split("[]").join("");if(!formDataMappedAdditionals.hasOwnProperty(key))formDataMappedAdditionals[key]=[];formDataMappedAdditionals[key].push(x2["value"]);return void 0}return{[x2.name]:x2.value}}));formDataMapped={...formDataMapped,...formDataMappedAdditionals};if(f.hasAttr("b-sub")){var bfs=f.attr("b-sub");if(typeof window[bfs]==="function"){checkFormInputs(f);if(window[bfs](f,formDataMapped)===false)return false}}if(!checkFormInputs(f))return false;if(f.hasAttr("o-sub")){var ofs=f.attr("o-sub");if(typeof window[ofs]==="function"){window[ofs](f,formDataMapped)}}return false},clearForm:reset,resetForm:reset,success:function(responseText,statusText,xhr,f){},timeout:3e5,error:function(xhr,textStatus,errorThrown){}})}else{if(local){el2.ajaxForm({beforeSubmit:function(formData,f,options){if(!checkFormInputs(f))return false;let formDataMapped={};let formDataMappedAdditionals={};formDataMapped=Object.assign({},...formData.map(x2=>{if(x2.type=="file"){if(!formDataMappedAdditionals.hasOwnProperty(x2.name))formDataMappedAdditionals[x2.name]=[];formDataMappedAdditionals[x2.name].push(x2["value"]);return void 0}if(x2["name"].includes("[]")){var key=x2["name"].split("[]").join("");if(!formDataMappedAdditionals.hasOwnProperty(key))formDataMappedAdditionals[key]=[];formDataMappedAdditionals[key].push(x2["value"]);return void 0}return{[x2.name]:x2.value}}));formDataMapped={...formDataMapped,...formDataMappedAdditionals};try{if(f.hasAttr("b-sub")){var bfs=f.attr("b-sub");if(typeof window[bfs]==="function"){if(window[bfs](f,formDataMapped)===false)return false}}var actn2=f.attr("action")??"";if(actn2==""){actn2=getURLNodes().join("/")}if(validateInputs(f)){var d=getFormData(f);if(f.attr("method")?.toLowerCase()=="get"){actn2=addOrChangeParameters(actn2,d)}pushURL(actn2,d)}}catch(e){cl(e)}return false},clearForm:reset,resetForm:reset,success:function(responseText,statusText,xhr,f){},timeout:3e5,error:function(xhr,textStatus,errorThrown){}})}}});$("[editor]").each(function(i2){var editor=$(this);editor.removeAttr("editor");var TB=normalTB;if(editor.is("[mini]"))TB=miniTB;else if(editor.is("[full]"))TB=fullTB;if(CKEDITOR!==void 0){CKEDITOR.replace(this,{uiColor:"#ffffff",language:$("html").attr("lang"),allowedContent:true,enterMode:CKEDITOR.ENTER_BR,toolbar:TB,on:{instanceReady:function(evt){var itemTemplate='<li class="l" data-id="{id}"><div><strong class="item-title">{name}</strong></div><div><i>{description}</i></div></li>',outputTemplate="<span class=hash>{linked}</span> ";var autocomplete=new CKEDITOR.plugins.autocomplete(evt.editor,{textTestCallback:function(range){if(!range.collapsed){return null}return CKEDITOR.plugins.textMatch.match(range,function(text,offset){var left=text.slice(0,offset);var matchHash=left.match(/#\d*$/);var matchAt=left.match(/(@)[A-Za-z]+(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9.]+[A-Za-z0-9]{6,30}$/);if((!matchHash||matchHash=="#")&&(!matchAt||matchAt=="@")){return null}var match=matchHash;if(!match)match=matchAt;return{start:match.index,end:offset}})},dataCallback:function(matchInfo,callback){var query=matchInfo.query;if(myR["[ck]"])myR["[ck]"].abort();clearTimeout(debounceTimeout["[ck]"]);debounceTimeout["[ck]"]=setTimeout(function(){myR["[ck]"]=$.post(beas+"a/hashes/get",{id:query},function(result){if(result){result=$.parseJSON(result);var suggestions=result.filter(function(item){return String(item.name).indexOf(query.substring(1))==0});callback(suggestions)}})},500)},itemTemplate,outputTemplate,throttle:100});autocomplete.getHtmlToInsert=function(item){return this.outputTemplate.output(item)}},change:function(ev){if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty");editor.val(ev.editor.getData()).trigger("change")},focus:function(ev){editor.closest(".fields").addClass("focused");if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty")},blur:function(ev){editor.closest(".fields").removeClass("focused");if($.trim(ev.editor.getData()).length==0)editor.closest(".fields").addClass("is-empty").removeClass("is-not-empty");else editor.closest(".fields").removeClass("is-empty error").addClass("is-not-empty")}}})}});$(".cke_autocomplete_panel").each(function(){if($(this).html()=="")$(this).remove()});$("[tags]:not(.tag-editor-hidden-src)").each(function(){var t2=$(this);var u=currentlyValidTags.length;t2.attr("data-u",u);var del=t2.attr("dl")?t2.attr("dl"):", ";var maxTags=t2.attr("mt")?t2.attr("mt"):50;var maxLength=t2.attr("ml")?t2.attr("ml"):100;var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var tagslower=t2.attr("tags-lower")?true:false;var autocomplete=t2.attr("acs")?{delay:250,autoFocus:true,position:{collision:"flip"},source:function(request,response){$.post(beas+"a"+t2.attr("acs"),request,response)},minLength:1,select:function(event,ui){if(ui.item==null){t2.val("")}},change:function(event,ui){if(ui.item==null){t2.val("")}}}:null;t2.tagEditor({autocomplete,delimiter:del,removeDuplicates:true,forceLowercase:tagslower,placeholder:plchldr,animateDelete:50,maxLength,maxTags,onChange:function(field,editor,tags){field.trigger("change")},beforeTagSave:function(field,editor,tags,tag,val2){if(!t2.attr("sts")){if($.inArrayIn(val2,tags)!==-1){return false}}else{if($.inArray(tag,currentlyValidTags[u][tags])==-1){return false}}if(t2.attr("tags-before")){var bfs=t2.attr("tags-before");if(typeof window[bfs]==="function"){if(window[bfs](t2,field,editor,tags,tag,val2)===false)return false}}}});currentlyValidTags.push(t2)});$("[slct]:not(.select2-hidden-accessible)").each(function(){var t2=$(this);var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var dropdownParent=t2.attr("prnt")?t2.attr("prnt"):"body";var tpl=t2.attr("slct-tpl")?t2.attr("slct-tpl"):null;var dir=t2.attr("slct-dir")?t2.attr("slct-dir"):"ltr";var minResultsForSearch=t2.attr("mins")?t2.attr("mins"):"";if(dropdownParent=="self")dropdownParent=t2.parent();else dropdownParent=$(dropdownParent);var allowNewTags=t2.attr("ntgs")?true:false;var ax=t2.attr("axs")?{url:t2.attr("axs"),dataType:"json",delay:250}:null;t2.select2({dropdownParent,placeholder:plchldr,dir,allowClear:false,tags:allowNewTags,ajax:ax,minimumResultsForSearch:minResultsForSearch,templateSelection:function(data2,container){if(data2.newTag){if(allowNewTags&&t2.attr("ntgs")!="true"){var tag=data2.text;var id=data2.id;$.post(beas+"a"+t2.attr("ntgs"),{tag},function(r2){if(r2=="true"){var newOption=new Option(tag,id,true,true);t2.append(newOption).trigger("change")}else{alert("Error adding tag! Please Try again.");t2.val(null).trigger("change")}});return data2.text}else{return data2.text}}else{return data2.text}},templateResult:function(state){if(tpl){if(typeof window[tpl]==="function")return window[tpl](state)}if(state.newTag){if(allowNewTags&&t2.attr("ntgs")!="true"){var new_state=$("<span>+ Add <b>"+state.text+"</b></span>");return new_state}return state.text}else return state.text},tokenSeparators:[","],createTag:function(params){var term=$.trim(params.term);if(term===""){return null}return{id:term,text:term,newTag:true}},insertTag:function(data2,tag){data2.push(tag)}});if(t2.attr("nosearch"))t2.on("select2:opening select2:closing",function(event){var searchfield=$(this).parent().find(".select2-search__field");searchfield.prop("disabled",true)})});$("[sl]:not(.select2-hidden-accessible)").each(function(){var t2=$(this);try{var plchldr=t2.attr("placeholder")?t2.attr("placeholder"):"";var dir=$("body").hasClass("rtl")?"rtl":"ltr";var nr=t2.attr("sl-nrmsg")?t2.attr("sl-nrmsg"):"No results found";var minResultsForSearch=t2.attr("sl-mins")?t2.attr("sl-mins"):10;var allowNewTags=t2.attr("sl-ntgs")?true:false;var dropdownParent=t2.attr("sl-prt")?t2.attr("sl-prt"):"body";if(dropdownParent=="self")dropdownParent=t2.parent();else dropdownParent=$(dropdownParent);var query=t2.attr("sl-query")?t2.attr("sl-query"):null;var uniquer=Date.now();if(typeof window[query]==="function"){let dbcrID="dbcr_"+(Object.keys(_dbcrs).length+1);t2.select2.amd.define("adapt_"+uniquer,["select2/data/array","select2/utils"],function(ArrayAdapter,Utils){function CustomDataAdapter($element,options){CustomDataAdapter.__super__.constructor.call(this,$element,options)}Utils.Extend(CustomDataAdapter,ArrayAdapter);CustomDataAdapter.prototype.query=function(params,callback){clearTimeout(_dbcrs[dbcrID]);let _t=t2;_dbcrs[dbcrID]=setTimeout(function(){window[query](params,callback,_t)},!_dbcrs.hasOwnProperty(dbcrID)?0:_dbcrsTime)};return CustomDataAdapter});t2.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:false,language:{noResults:function(){return nr}},...t2.select2.amd.require("adapt_"+uniquer)?{ajax:{},dataAdapter:t2.select2.amd.require("adapt_"+uniquer)}:{}})}else{t2.select2({dropdownParent,minimumResultsForSearch:minResultsForSearch,placeholder:plchldr,dir,tags:allowNewTags,allowClear:false,language:{noResults:function(){return nr}}})}if(t2.attr("sl-nosrch"))t2.on("select2:opening select2:closing",function(event){var searchfield=$(this).parent().find(".select2-search__field");searchfield.prop("disabled",true)});if(t2.attr("sl-class")){t2.on("select2:opening",function(event){dropdownParent.addClass(t2.attr("sl-class"))});t2.on("select2:closing",function(event){dropdownParent.removeClass(t2.attr("sl-class"))})}}catch(e){cl(e)}});$("[pinnable]:not(.pinnable)").each(function(){var t2=$(this);var offsetU=t2.attr("pinnable-offset-up")??100;var offsetD=t2.attr("pinnable-offset-down")??50;var options={offset:0,offset:{up:offsetU,down:offsetD},tolerance:0,tolerance:{up:5,down:0},classes:{initial:"pinnable",pinned:"pinnable--pinned",unpinned:"pinnable--unpinned",top:"pinnable--top",notTop:"pinnable--not-top",bottom:"pinnable--bottom",notBottom:"pinnable--not-bottom",frozen:"pinnable--frozen",pinned:"pinnable--pinned"},onPin:function(){},onUnpin:function(){},onTop:function(){},onNotTop:function(){},onBottom:function(){},onNotBottom:function(){}};var pinnable=new Headroom(t2[0],options);pinnable.init()});$("[sort]").each(function(e){let t2=$(this);if(t2.hasClass("ui-sortable"))return;let opts={delay:50,placeholder:"g_rows_helper",scrollSpeed:40,opacity:1};opts=avc(t2,"sort-axis",opts);opts=avc(t2,"sort-handle",opts);opts=avc(t2,"sort-cancel",opts);opts=avc(t2,"sort-cursor",opts,"grabbing");opts=avc(t2,"sort-helper",opts,"clone");if(opts.hasOwnProperty("helper")&&opts["helper"]!="clone"){if(typeof window[opts["helper"]]==="function")opts["helper"]=window[opts["helper"]]}opts=avc(t2,"sort-placeholder",opts);opts=avc(t2,"sort-opacity",opts);opts=avc(t2,"sort-items",opts);opts=avc(t2,"sort-tolerance",opts,"pointer");opts=avc(t2,"sort-revert",opts,false);opts=avc(t2,"sort-forcePlaceholderSize",opts);opts=avc(t2,"sort-containment",opts,"parent");opts=avc(t2,"sort-connectWith",opts);if(opts.hasOwnProperty("forceplaceholdersize")){opts["forcePlaceholderSize"]=opts["forceplaceholdersize"];delete opts["forceplaceholdersize"]}t2.sortable(opts)});$("[drag]").each(function(e){let t2=$(this);let opts={};opts=avc(t2,"drag-connectToSortable",opts);opts=avc(t2,"drag-scroll",opts,true);opts=avc(t2,"drag-revert",opts,true);opts=avc(t2,"drag-helper",opts,"clone");opts=avc(t2,"drag-containment",opts,false);opts=avc(t2,"drag-cursor",opts,"auto");opts=avc(t2,"drag-appendTo",opts,"parent");opts=avc(t2,"drag-disabled",opts,false);if(opts.disabled=="false")delete opts.disabled;if(opts.hasOwnProperty("appendto")){opts.appendTo=opts["appendto"];delete opts["appendto"]}if(opts.hasOwnProperty("helper")&&opts["helper"]!="clone"){if(typeof window[opts["helper"]]==="function")opts["helper"]=window[opts["helper"]]}if(opts.hasOwnProperty("connecttosortable")){opts["connectToSortable"]=opts["connecttosortable"];delete opts["connecttosortable"]}t2.draggable(opts)});$("[drop]").each(function(e){let t2=$(this);let opts={};opts=avc(t2,"drop-accept",opts);opts=avc(t2,"drop-greedy",opts);opts=avc(t2,"drop-hoverClass",opts);opts=avc(t2,"drop-disabled",opts,false);if(opts.disabled=="false")delete opts.disabled;if(opts.hasOwnProperty("hoverclass")){opts.hoverClass=opts["hoverclass"];delete opts["hoverclass"]}t2.droppable(opts)});$("body").on("touchstart mouseover",function(e){let isTippedOe=true;if($(e.target).closest(".oe").length){let oe=$(e.target).closest(".oe");if((oe.find("[tip]").length||oe.hasAttr("tip"))&&oe.isOverflown()&&$(window).width()>480){isTippedOe=true}else isTippedOe=false}if($(e.target).closest("[tip]").length&&isTippedOe){var target=$(e.target).closest("[tip]");var tip=`<tip class="pa ${target.attr("tip-class")}"><div class="pa [[P]]"><span>[[T]]</span></div></tip>`;if(target.find("droplet").length==0){var t2=target.attr("tip");var p=target.attr("tip-pos");if(!p)p="";$("tip").remove();$("body").append(tip.replace("[[T]]",t2).replace("[[P]]",p));_isTipped=true;let _tipSc=target;while(true){if(_isScrollable(_tipSc)||_tipSc[0]==$("body")[0])break;_tipSc=_tipSc.parent()}var self=target;_setPos(self,p,_tipSc);_setPos(self,p,_tipSc);target.data("_tipSc",_tipSc);_tipSc.unbind("scroll.kuku").bind("scroll.kuku",function(){_setPos(self,p,_tipSc)})}else{$("tip").remove();_isTipped=false}}else{$("body").unbind("scroll.kuku");$("tip").remove();_isTipped=false}});$("[numeric]").each(function(){$(this).removeAttr("numeric").numeric()});$("[pattern]").each(function(){$(this).data("pattern",$(this).attr("pattern")).removeAttr("pattern")});$("[integer]:not([pve])").each(function(){$(this).removeAttr("integer").numeric({decimal:false})});$("[integer][pve]").each(function(){$(this).removeAttr("integer").numeric({decimal:false,negative:false})});$("[decimal]:not([pve])").each(function(){var places=-1;if($(this).is("[dp0]"))places=0;else if($(this).is("[dp1]"))places=1;else if($(this).is("[dp2]"))places=2;else if($(this).is("[dp3]"))places=3;else if($(this).is("[dp4]"))places=4;if(places>=0)$(this).removeAttr("decimal").numeric({decimalPlaces:places,decimal:places==0?false:"."});else $(this).removeAttr("decimal").numeric({})});$("[decimal][pve]").each(function(){var places=-1;if($(this).is("[dp0]"))places=0;else if($(this).is("[dp1]"))places=1;else if($(this).is("[dp2]"))places=2;else if($(this).is("[dp3]"))places=3;else if($(this).is("[dp4]"))places=4;if(places>=0)$(this).removeAttr("decimal").numeric({negative:false,decimalPlaces:places,decimal:places==0?false:"."});else $(this).removeAttr("decimal").numeric({negative:false})});$("[time]").each(function(){dtp($(this),"time")});$("[date]").each(function(){dtp($(this),"date")});$("[datetime]").each(function(){dtp($(this),"datetime")});$("[color]").each(function(){$(this).removeAttr("color").colorpicker({format:"rgba"})})}function dtp(el2,t2){el2.removeAttr(t2);let opts={format:t2=="date"?"yyyy-mm-dd":t2=="time"?"hh:ii":"yyyy-mm-dd hh:ii",weekStart:el2.attr("date-week-start")??1,startView:t2=="time"?1:2,minView:el2.attr("minview")?el2.attr("minview"):t2=="time"?0:t2=="datetime"?0:2,maxView:el2.attr("maxview")?el2.attr("maxview"):t2=="time"?1:4,todayBtn:t2=="time"?0:el2.attr("date-today")=="false"?0:1,todayHighlight:t2=="time"?0:el2.attr("date-today")=="false"?0:1,language:el2.attr("date-lang")??"en",minuteStep:el2.attr("date-minute-step")??5,pickerPosition:"top-right",autoclose:1,showMeridian:false};if(el2.attr("date-start"))opts["startDate"]=el2.attr("date-start");if(el2.attr("date-end"))opts["endDate"]=el2.attr("date-end");if(el2.attr("date-value"))opts["date"]=el2.attr("date-value");el2.datetimepicker(opts);if(t2=="time"){el2.on("show",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: hidden; font-size:0px !Important; overflow: hidden; height: 0px;")}).on("hide",function(ev){$(".table-condensed > thead, .table-condensed > thead > tr > th, .table-condensed > thead > tr > th > i").attr("style","visibility: visible;")})}if(el2.attr("date-link-start")){el2.on("change",function(e){let dp1=el2.data("datetimepicker");let dp2=$(el2.attr("date-link-start")).data("datetimepicker");dp2.setStartDate(dp1.getFormattedDate());if(dp2.getFormattedDate()<dp1.getFormattedDate()||dp2.getFormattedDate()=="")$(el2.attr("date-link-start")).val(dp1.getFormattedDate())})}else if(el2.attr("date-link-end")){el2.on("change",function(e){let dp1=$(el2.attr("date-link-end")).data("datetimepicker");let dp2=el2.data("datetimepicker");dp1.setEndDate(dp2.getFormattedDate())});opts["useCurrent"]=false}}function avc(t2,n2,o,d=null){if(t2.attr(n2.toLowerCase()))o[n2.toLowerCase().split("sort-").join("").split("drop-").join("").split("drag-").join("")]=t2.attr(n2.toLowerCase());else if(d!=null)o[n2.toLowerCase().split("sort-").join("").split("drop-").join("").split("drag-").join("")]=d;return o}function applyTriggers(){$("[click]").each(function(){$(this).trigger("click").removeAttr("click")});$("[focus]").each(function(){$(this).trigger("focus").removeAttr("focus")});let _Ns=[];for(let x2=9;x2>=0;x2--){let _els=$("[n"+x2+"]");_els.each(function(){let _el2=$(this);let _d2={};for(let y=9;y>=0;y--){if(_el2.hasAttr("n"+y)){_d2["n"+y]=_el2.attr("n"+y).split(",")}}_el2.data("_Ns",_d2);_Ns.push(_el2)})}for(let i2=0;i2<_Ns.length;i2++){const _n=_Ns[i2];let _act=[];let attrs=_n.data("_Ns");for(const nK in attrs){if(Object.hasOwnProperty.call(attrs,nK)){const nV=attrs[nK];let index=nK.slice(1);if(nV.indexOf(nodes[index])!=-1){_act.push(true)}else{_act.push(false);break}}}setTimeout(()=>{if(_act.indexOf(false)!=-1)_n.removeClass("active");else _n.addClass("active")})}if(typeof viewLoaded==="function"&&!_viewLoaded){_viewLoaded=true;viewLoaded()}$("[\\@scroll],[\\@scroll-start],[\\@scroll-end],[\\@scroll-left],[\\@scroll-right],[\\@scroll-top],[\\@scroll-bottom]").unbind("scroll touchmove scrollstart scrollend").on("scroll touchmove scrollstart scrollend",function(ev){let el2=$(this);if(ev.type=="scrollend"){var newScrollLeft=el2.scrollLeft(),newScrollTop=el2.scrollTop(),width=el2.width(),scrollWidth=el2.get(0).scrollWidth,scrollHeight=el2.get(0).scrollHeight;var hasScX=el2.prop("scrollWidth")>el2.width();var hasScY=el2.prop("scrollHeight")>el2.height();if(newScrollLeft==0){processEv(ev,el2,"scroll-left")}else if(Math.round(scrollWidth-newScrollLeft-width-(hasScY?-_scW:0))==0){processEv(ev,el2,"scroll-right")}if(newScrollTop==0){processEv(ev,el2,"scroll-top")}else if(newScrollTop+el2.innerHeight()>=scrollHeight-(hasScX?-_scW:0)){processEv(ev,el2,"scroll-bottom")}}processEv(ev,el2,ev.type.length==6?"scroll":ev.type.split("scroll").join("scroll-"))})}_viewLoaded=false;function globalWatch(){if(!_initialized)return;return;$("[beajs=1]").remove();$('script[type="beajs"]').each(function(){var html=$(this).html();$(this).remove();var myScript=document.createElement("script");myScript.setAttribute("beajs","1");myScript.textContent=html;document.body.appendChild(myScript)});let bindsCount=0;let prom=defer();$("[bind]:not(.binded)").each(function(){bindsCount++;let _el2=$(this);_el2.addClass("binded");if(!setRe(_el2,_el2.attr("bind")))setError(null,"Error in binding for the element that has these in its bind attribute "+_el2.attr("bind"))});prom.then(function(val2){renderViewsTpls();renderPlugins();loadPics();reloads();let tickFunc2=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc2==="function")tickFunc2()}).catch(reason=>{renderViewsTpls();renderPlugins();loadPics();reloads();let tickFunc2=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc2==="function")tickFunc2()});if(bindsCount==0){prom.resolve()}reloads();let tickFunc=appSettings.tick&&typeof appSettings.tick==="function"?appSettings.tick:typeof tick==="function"?tick:null;if(typeof tickFunc==="function")tickFunc()}function loadPics(){$("[lazy]").each(function(){let _el2=$(this);_el2.lazy({effect:"show",bind:"event",threshold:200,visibleOnly:false,beforeLoad:function(element){_el2.removeAttr("lazy")},afterLoad:function(element){},onError:function(element){cl("error loading "+_el2.attr("data-src"))},onFinishedAll:function(){}})})}function paraToObj(para){if(para=="")return JSON.parse("{}");return JSON.parse('{"'+decodeURI(para).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}')}function getBind(b,d){d=d?d.split("&"):new Array;if(b){var binder=b.split(",");for(var x2=0;x2<binder.length;x2++){var finder=binder[x2].split(" as ");if(finder[0].indexOf(" attr ")!==-1){var findz=finder[0].split(" attr ");d.push(finder[1]+"="+$.trim($(findz[0]).attr(findz[1])))}else if(finder[0].indexOf(" find ")!==-1){var findz=finder[0].split(" find ");var val2=getVal($(findz[0]).find(findz[1]));d.push(finder[1]+"="+$.trim(val2))}else if(finder[0].indexOf(" from ")!==-1){var findz=finder[0].split(" from ");if(findz[1].toLowerCase()=="ls"){d.push(finder[1]+"="+localStorage.getItem(findz[0]))}else{d.push(finder[1]+"="+findz[0])}}else d.push(finder[1]+"="+getVal($(finder[0])))}}d=d.join("&");return d}function isPathLocal(path){var local=false;var l=getLocation(path);var l2=getLocation(appSettings.Base);var url="home";local=l.hostname==l2.hostname;return local}function checkFormInputs(f,inp,classesOnly){var inputs=inp?[inp]:f.find("[\\:required]:not([disabled])");for(var i2=0;i2<inputs.length;i2++){let el2=$(inputs[i2]);let pat=el2.data("pattern");let req=el2.hasAttr(":required");let lbl=el2.closest("label");let fs=el2.closest("fieldset");let max=el2.attr("max");let max_num=el2.attr("max-num");let min_num=el2.attr("min-num");let v=el2.val();var or=el2.attr("or");if(or!=""){var or=f.find("[name='"+or+"']")}var into;let allCls="is-not-checked is-checked is-valid is-not-empty is-empty is-invalid error success not-4-chars not-on-pattern";el2.removeClass(allCls);el2.parent().removeClass(allCls);if(lbl.length)lbl.removeClass(allCls);if(fs.length)fs.removeClass(allCls);if(el2.is(":checkbox")||el2.is(":radio")){var isCheck="is-not-checked"+(req?" is-invalid":"");if(el2.is(":checked")){isCheck="is-checked"+(req?" is-valid":"")}else{if(or.length){if(or.is(":checked")){isCheck="is-checked"+(req?" is-valid":"")}}}if(el2.is(":radio")){f.find("[name='"+el2.attr("Name")+"']:radio").not(el2[0]).each(function(){let _el2=$(this);let _req=_el2.hasAttr(":required");var _isCheck="is-not-checked"+(_req?" is-invalid":"");var _or=_el2.attr("or");let _lbl=_el2.closest("label");_el2.removeClass(allCls);_el2.parent().removeClass(allCls);if(_lbl.length)_lbl.removeClass(allCls);if(_or!=""){var _or=f.find("[name='"+_or+"']")}if(_el2.is(":checked")){_isCheck="is-checked"+(_req?" is-valid":"")}else{if(_or.length){if(_or.is(":checked")){_isCheck="is-checked"+(_req?" is-valid":"")}}}if(_el2.parent().prop("nodeName")!="FORM")_el2.parent().addClass(_isCheck);if(_lbl.length)_lbl.addClass(_isCheck);_el2.addClass(_isCheck)})}if(el2.parent().prop("nodeName")!="FORM")el2.parent().addClass(isCheck);if(lbl.length)lbl.addClass(isCheck);el2.addClass(isCheck)}else{var isV="is-empty"+(req?" is-invalid":"");if(el2.is("[username]")){if(v.length&&v.length<4){isV="not-4-chars is-not-empty"+(req?" is-invalid":"")}else{let vld=true;var k=v.match(/[a-z]+(?!\.)(?!.*\.$)(?!.*?\_\_)[a-z0-9_]+[a-z0-9]/);if(!k){vld=false}else{if(k.input!=k[0]){vld=false}}if(vld)isV="is-not-empty"+(req?" is-valid":"");else isV="not-on-pattern is-not-empty"+(req?" is-invalid":"")}}else if(el2.is("[password]")){if(!passwordValid(v)){isV="is-not-empty"+(req?" is-invalid":"")}else{isV="is-not-empty"+(req?" is-valid":"")}}else if(el2.is("[rpassword]")){if($.trim(v)!=$.trim(f.find("[password]").val())){isV="is-not-empty"+(req?" is-invalid":"")}else{isV="is-not-empty"+(req?" is-valid":"")}}else{if($.trim(v).length!=0){if(max!=""&&!isNaN(max)){if($.trim(v).length>max){el2.val($.trim($.trim(v).substr(0,max)))}}if(min_num!=""&&!isNaN(min_num)){if(!isNaN($.trim(v))){if(parseFloat($.trim(v))<parseFloat(min_num))el2.val($.trim(min_num))}else{el2.val(min_num)}}if(max_num!=""&&!isNaN(max_num)){if(!isNaN($.trim(v))){if(parseFloat($.trim(v))>parseFloat(max_num))el2.val($.trim(max_num))}else{if(min_num!=""&&!isNaN(min_num))el2.val($.trim(min_num));else el2.val("0")}}isV="is-not-empty";if(pat!=""){pat=new RegExp(pat);if(pat.test($.trim(v))){isV+=req?" is-valid":""}else{isV+=req?" is-invalid":"";el2.val("")}}else isV+=req?" is-valid":""}else{if(or.length){if($.trim(or.val()).length!=0){isV="is-not-empty"+(req?" is-valid":"")}}}}if(el2.parent().prop("nodeName")!="FORM")el2.parent().addClass(isV);if(lbl.length)lbl.addClass(isV);el2.addClass(isV)}var isRadioChecked=false;if(el2.is(":radio")){if(el2.hasClass("is-invalid")){f.find("[name='"+el2.attr("Name")+"']:radio").not(el2[0]).each(function(){if($(this).hasClass("is-valid")){isRadioChecked=true}})}else{isRadioChecked=true}}if(el2.hasClass("is-invalid")||el2.is(":radio")&&!isRadioChecked){if(el2.hasAttr("data-into")){let intoTxt=el2.data("into");if(lbl.length)into=lbl.find(intoTxt);if(!into){if(fs.length)into=fs.find(intoTxt)}if(!into)into=$(intoTxt);if(into.length){if(el2.is("[password]")){if($.trim(v).length==0)into.text(el2.attr("data-empty"));else if(el2.hasAttr("data-wpm"))into.text(el2.attr("data-wpm"));let rpass=f.find("[rpassword]");if(rpass.length){if($.trim(rpass.val()).length!=0)checkFormInputs(f,rpass,true)}}else if(el2.is("[rpassword]")){if($.trim(v).length==0)into.text(el2.attr("data-empty"));else if(el2.hasAttr("data-pnm"))into.text(el2.attr("data-pnm"))}else if(el2.is("[username]")){let txt=el2.hasAttr("data-empty")?el2.attr("data-empty"):el2.attr("placeholder");if($.trim(v).length==0)into.text(txt);else{if(el2.hasClass("not-4-chars")){if(el2.hasAttr("data-4-chars"))txt=el2.attr("data-4-chars")}else if(el2.hasClass("not-on-pattern")){if(el2.hasAttr("data-chars-not-allowed"))txt=el2.attr("data-chars-not-allowed")}into.text(txt)}}else if(el2.hasAttr("data-empty")){into.text(el2.attr("data-empty"))}else{if(el2.is(":checkbox")||el2.is(":radio")){into.text(el2.attr("placeholder"))}else{into.text(el2.attr("placeholder"))}}}}if(!classesOnly){if(el2.is(":radio")){if(!isRadioChecked){if(fs.length)fs.addClass(isCheck);el2.focus();return false}}else{if(fs.length)fs.addClass(isV);el2.focus();return false}}else{if(el2.is(":radio")){if(!isRadioChecked){if(fs.length)fs.addClass(isCheck)}}else{if(fs.length)fs.addClass(isV)}}}else if(el2.hasClass("is-valid")){if(el2.hasAttr("data-into")){let intoTxt=el2.data("into");if(lbl.length)into=lbl.find(intoTxt);if(fs.length)into=fs.find(intoTxt);if(!into)into=$(intoTxt);if(into.length){into.text("")}}}}return true}function validateInputs(f){if(f.hasAttr("ax-before")){var bfs=f.attr("ax-before");if(typeof window[bfs]==="function"){if(window[bfs](f)===false)return false}}var inps=[];f.find("input.required,select.required,textarea.required").each(function(){inps.push($(this).attr("name"))});for(var i2=0;i2<inps.length;i2++){var inp=f.find("input[name='"+inps[i2]+"']");var sel=f.find('select[name="'+inps[i2]+'"]');var txt=f.find('textarea[name="'+inps[i2]+'"]');var e=inp;if(!e.length)e=sel;if(!e.length)e=txt;var or=e.attr("or");if(or!=""){var inp2=f.find("input[name='"+or+"']");var sel2=f.find('select[name="'+or+'"]');var txt2=f.find('textarea[name="'+or+'"]');var or=inp2;if(!or.length)or=sel2;if(!or.length)or=txt2}if(e.is(":checkbox")||e.is(":radio")){if(!e.is(":checked")){if(or.length){if(!or.is(":checked")){alert(e.attr("placeholder")+" or "+or.attr("placeholder"));e.addClass("error");e.focus();return false}}else{alert(e.attr("placeholder"));e.addClass("error");e.focus();return false}}}else{if($.trim(e.val()).length==0){if(or.length){if($.trim(or.val()).length==0){alert(e.attr("placeholder")+" or "+or.attr("placeholder"));e.addClass("error");e.focus();return false}}else{alert(e.attr("placeholder"));e.addClass("error");e.focus();return false}}if(e.is("[password]")){if(!passwordValid(e.val())){alert(e.attr("data-wpm"));e.addClass("error");e.focus();return false}}if(e.is("[rpassword]")){if($.trim(e.val())!=$.trim(e.closest("form").find("[password]").val())){e.addClass("error");alert(e.attr("data-pnm"));e.focus();return false}e.removeClass("error");$(".passStrength").remove()}}}return true}let _cookies={getItem:function(sKey){if(!sKey){return null}return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(sKey,sValue,vEnd,sPath,sDomain,bSecure){if(!sKey||/^(?:expires|max\-age|path|domain|secure)$/i.test(sKey)){return false}var sExpires="";if(vEnd){switch(vEnd.constructor){case Number:sExpires=vEnd===Infinity?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+vEnd;break;case String:sExpires="; expires="+vEnd;break;case Date:sExpires="; expires="+vEnd.toUTCString();break}}if(!sPath)sPath="/";document.cookie=encodeURIComponent(sKey)+"="+encodeURIComponent(sValue)+sExpires+(sDomain?"; domain="+sDomain:"")+(sPath?"; path="+sPath:"")+(bSecure?"; secure":"");return true},removeItem:function(sKey,sPath,sDomain){if(!this.hasItem(sKey)){return false}document.cookie=encodeURIComponent(sKey)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(sDomain?"; domain="+sDomain:"")+(sPath?"; path="+sPath:"");return true},hasItem:function(sKey){if(!sKey){return false}return new RegExp("(?:^|;\\s*)"+encodeURIComponent(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){var aKeys=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/);for(var nLen=aKeys.length,nIdx=0;nIdx<nLen;nIdx++){aKeys[nIdx]=decodeURIComponent(aKeys[nIdx])}return aKeys}};var cookies=new Proxy(_cookies,{get(target,key){return target[key]??target.getItem(key)??void 0},set(target,key,value){if(key in target){return false}return target.setItem(key,value)},deleteProperty(target,key){if(!(key in target)){return false}return target.removeItem(key)},ownKeys(target){return target.keys()},has(target,key){return key in target||target.hasItem(key)},defineProperty(target,key,descriptor){if(descriptor&&"value"in descriptor){target.setItem(key,descriptor.value)}return target},getOwnPropertyDescriptor(target,key){const value=target.getItem(key);return value?{value,enumerable:true,configurable:true}:void 0}});function getCookie(n2){return cookies[n2]}function setCookie(n2,v,d,p,e){var now=new Date;var time=now.getTime();if(!e)e=time+24*60*60*1e3*365;else e=time+e;if(!d)d=window.location.hostname;if(!p)p="/";now.setTime(e);return cookies.setItem(n2,v,now.toGMTString(),p,d,true)}function getComData(c,fromHTML){if(fromHTML){try{var el2=$("<div></div>");el2.html(c.html());var k={};var mtitle=$("modal-title",el2).html();if(!mtitle)mtitle="";var mbody=$("modal-body",el2).html();if(!mbody)mbody="";var mdesc=$("modal-description",el2).html();if(!mdesc)mdesc="";var mfoot=$("modal-footer",el2).html();if(!mfoot)mfoot="";k.Title=mtitle;k.Body=mbody;k.Description=mdesc;k.Footer=mfoot;c=k;return c}catch(e){return false}return false}try{c=c.contents().filter(function(){return this.nodeType===8}).get(0);if(c.nodeValue=="")return false;try{c=JSON.parse(c.nodeValue)}catch(e){try{c=JSON.parse(atob(c.nodeValue))}catch(e2){try{var el2=$("<div></div>");el2.html(c.nodeValue);var k={};var mtitle=$("modal-title",el2).html();if(!mtitle)mtitle="";var mbody=$("modal-body",el2).html();if(!mbody)mbody="";var mdesc=$("modal-description",el2).html();if(!mdesc)mdesc="";var mfoot=$("modal-footer",el2).html();if(!mfoot)mfoot="";k.Title=mtitle;k.Body=mbody;k.Description=mdesc;k.Footer=mfoot;c=k}catch(e3){return false}}}return c}catch(e){return false}}function addOrChangeParameters(url,params){let splitParams={};let splitPath=/(.*)[?](.*)/.exec(url);if(splitPath&&splitPath[2])splitPath[2].split("&").forEach(k=>{let d=k.split("=");splitParams[d[0]]=d[1]});let newParams=Object.assign(splitParams,params);let finalParams=Object.keys(newParams).map(a=>a+"="+newParams[a]).join("&");return splitPath?splitPath[1]+"?"+finalParams:url+"?"+finalParams}class BEA{Cart=null;Products=null;Authorize=null;Pay=null;localCache=true;_prom=null;proms=[];l="En";fields={Section:"Section,Title,Text",Product:"Name,Price,Quantity"};constructor(options){if(options===void 0)options={};if(!Object.keys(options).length==0){if(options.hasOwnProperty("fields")){for(var i2 in options["fields"]){this.fields[i2]=options["fields"][i2]}}if(options.hasOwnProperty("localisation"))this.l=options.localisation;if(options.hasOwnProperty("locale")&&options.locale===true){this.getLocale()}if(options.hasOwnProperty("sections")&&options.sections===true){this.getSections()}if(options.hasOwnProperty("localCache")&&options.localCache===false){this.localCache=false}}this.Cart=new Cart(this);this.Products=new Products(this);this.Authorize=new Authorize(this);this.Pay=new Pay(this);this._prom=Promise.all(this.proms)}request(className,data2,async,type2,a){var prom=defer();var x2;API.req(className,data2,null,type2,a??0).then(r2=>{if(async){prom.resolve(r2)}else{x2=r2.results}});if(async)return prom;return x2}getSections(){var sec=new Section(this);this.proms.push(sec._prom);return sec.get()}getLocale(){var loc=new Locale(this);this.proms.push(loc._prom);return loc.get()}order(){let prom=defer();var ids="";var productsInfo;var user;var orderData={User:"",productItems:[],Amount:0};user=this.Authorize.me();orderData.User=user.objectId;$.each(this.Cart.cartData,function(key,value){ids=ids+value.P+","});this.Products.get({fields:"Name,Price,Quantity",media:"images",crops:"ax200,ax600,ax700,200x200,ax300"},{ids},true).then(res=>{let productsInfo2=res.results;var productsDB=Object.assign({},...productsInfo2.map(x2=>({[x2.objectId]:x2})));$.each(this.Cart.cartData,function(key,value){orderData.productItems.push({Qty:value.Q,Product:value.P,productData:JSON.stringify(productsDB[value.P]),Price:productsDB[value.P].Price});orderData.Amount+=value.Q*productsDB[value.P].Price});this.request("/Order",{User:orderData.User,Amount:orderData.Amount},true,"POST").then(res2=>{let orderId=res2.results;for(var i2=0;i2<orderData.productItems.length;i2++){orderData.productItems[i2]["Order"]=orderId[0].objectId;this.request("/orderItems ",orderData.productItems[i2],true,"POST")}prom.resolve(orderId)})});return prom}sendEmail(data2){let prom=defer();this.request("/_Emails/send",data2,true,"POST").then(res=>{prom.resolve(r)})}batch(data2){return this.request("/batch",data2,true,"POST")}query(className,data2){return this.request(className,data2,true,"GET")}get(className,data2,options=true){return this.request(className,data2,options,"GET")}post(className,data2,options=true){return this.request(className,data2,options,"POST")}put(className,data2,options=true){return this.request(className,data2,options,"PUT")}delete(className,options=true){return this.request(className,"",options,"DELETE")}}class Pay{tsdk=null;object={};constructor(tsdk){this.tsdk=tsdk;let self=this;$(window).unbind("message").on("message",function(e){let dd=$("#gosell-gateway")[0].contentWindow;if(e.originalEvent.source===dd&&e.originalEvent.data=="close"){$(".gosell-gateway").remove();self.onClose()}})}create(data2){let prom=defer();API.post("https://pay.bea.com.lb/create",data2,{},666).then(d=>{this.object=d;cl(d);this.process(this.object.transaction.url.replace("mode=page","mode=popup"));prom.resolve(this.object.id)}).catch(err=>{cl(err)});return prom}process(link){var d=`
|
|
20
20
|
<div class="gosell-gateway" reactive>
|
|
21
21
|
<div style="position: fixed;left: 0;right: 0;top: 0;bottom: 0;z-index: 9999;background-color: rgb(0,0,0,0.2);">
|
|
22
22
|
<iframe id="gosell-gateway"
|
|
@@ -25,13 +25,13 @@ var cl=console.log;class _v{static name;static type;static vars;static fns;stati
|
|
|
25
25
|
style="display: block; position: absolute; inset: 0px; margin: auto; border: 0px; z-index: 2147483647;"></iframe>
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
28
|
-
`;$("body").append(d)}retrieve(id){let prom=defer();this.tsdk.request("https://pay.bea.com.lb/?tap_id="+id,{},true,"GET").then(d=>{prom.resolve(d)}).catch(err=>{cl(err)});return prom}onClose(){}}class Section{tsdk=null;_prom=defer();constructor(tsdk){this.tsdk=tsdk}get(){var d={fields:this.tsdk.fields.Section,limit:-1,locale:this.tsdk.l,media:"images",crops:"ax200,ax600,ax700,200x200,ax300"};this.tsdk.request("/Sections",d,true,"GET").then(r2=>{cl("HEiii",r2);if(r2.results){globals
|
|
28
|
+
`;$("body").append(d)}retrieve(id){let prom=defer();this.tsdk.request("https://pay.bea.com.lb/?tap_id="+id,{},true,"GET").then(d=>{prom.resolve(d)}).catch(err=>{cl(err)});return prom}onClose(){}}class Section{tsdk=null;_prom=defer();constructor(tsdk){this.tsdk=tsdk}get(){var d={fields:this.tsdk.fields.Section,limit:-1,locale:this.tsdk.l,media:"images",crops:"ax200,ax600,ax700,200x200,ax300"};this.tsdk.request("/Sections",d,true,"GET").then(r2=>{cl("HEiii",r2);if(r2.results){setGlobals(Object.assign({},globals,{sections:Object.assign({},...r2.results.map(x2=>({[x2?.Section]:x2})))}))}else cl("Sections",r2);this._prom.resolve(r2)});return globals["sections"]}}class Locale{tsdk=null;_prom=defer();constructor(tsdk){this.tsdk=tsdk}get(){var d={fields:"Key,"+this.tsdk.l,limit:-1};this.tsdk.request("/_Locale",d,true,"GET").then(r2=>{if(r2.results){setGlobals(Object.assign({},globals,{locale:Object.assign({},...r2.results.map(x2=>({[x2?.Key]:x2})))}))}else cl("_Locale",r2);this._prom.resolve(r2)});return globals["locale"]}}class Products{tsdk=null;constructor(tsdk){this.tsdk=tsdk}get(data2,options,async=true){var d=data2;if(options.hasOwnProperty("limit")){d["limit"]=options.limit}if(options.hasOwnProperty("key")){if(!d.hasOwnProperty("where"))d["where"]={};d.where["Name"]={startswith:options.key}}if(options.hasOwnProperty("ids")){if(!d.hasOwnProperty("where"))d["where"]={};d.where["objectId"]={in:[...new Set(options.ids.split(","))]}}if(options.hasOwnProperty("page")){d["limit"]=options.limits??"15";d["offset"]=(options.page-1)*d["limit"]}return this.tsdk.request("/Products",d,async,"GET")}}class Cart{tsdk=null;cartData={};constructor(tsdk){this.tsdk=tsdk;try{if(getCookie("_cd")!=void 0){try{this.cartData=JSON.parse(getCookie("_cd"))}catch(e){}}}catch(e){this.cartData=JSON.parse("{}")}}add(id,v,q){var key=btoa(id+"::"+v);if(this.cartData.hasOwnProperty(key)){this.cartData[key].Q+=q}else{this.cartData[key]={P:id,Q:q,V:v}}setCookie("_cd",JSON.stringify(this.cartData))}set(id,v,q){var key=btoa(id+"::"+v);if(this.cartData.hasOwnProperty(key)){this.cartData[key].Q=q}else{this.cartData[key]={P:id,Q:q,V:v}}setCookie("_cd",JSON.stringify(this.cartData))}remove(id){delete this.cartData[id];setCookie("_cd",JSON.stringify(this.cartData))}empty(){this.cartData={};setCookie("_cd",JSON.stringify(this.cartData))}getCart(){return this.cartData}getProductCart(d){var ids="";$.each(this.cartData,function(key,value){ids=ids+value.P+","});var req=this.tsdk.Products.get(d,{ids});return req}}class Authorize{tsdk=null;constructor(tsdk){this.tsdk=tsdk}login(data2,options=true){var prom=defer();this.tsdk.request("/Users",data2,options,"GET").then(res=>{let req=res.results;globals["UserInfo"]=req[0];let x2=window.btoa(JSON.stringify(globals.UserInfo));setCookie("U_USER",x2);prom.resolve(res)});return prom}register(data2,options=true){var prom=defer();this.tsdk.request("/Users",data2,options,"POST").then(res=>{let req=res.results;data2["objectId"]=req[0].objectId;globals["UserInfo"]=data2;let x2=window.btoa(JSON.stringify(globals.UserInfo));setCookie("U_USER",x2);prom.resolve(res)});return prom}me(){var cookie=void 0;try{var cookie=JSON.parse(window.atob(getCookie("U_USER")))}catch(e){}return cookie}isLoggedIn(){var result=false;if(getCookie("U_USER")!=void 0)result=true;return result}}function generate(){let length=10;const characters="abcdefghijklmnopqrstuvwxyz1234567890";let result="";const charactersLength=characters.length;for(let i2=0;i2<length;i2++){result+=characters.charAt(Math.floor(Math.random()*charactersLength))}return result}function getScrollBarWidth(){var $outer=$("<div>").css({visibility:"hidden",width:100,overflow:"scroll"}).appendTo("body"),widthWithScroll=$("<div>").css({width:"100%"}).appendTo($outer).outerWidth();$outer.remove();return(100-widthWithScroll)*2}_scW=getScrollBarWidth();function daysBetween(date_1,date_2){let difference=date_1.getTime()-date_2.getTime();let TotalDays=Math.ceil(difference/(1e3*3600*24));return TotalDays<0?TotalDays*-1:TotalDays}function notify(ti,tx,i2,ty,al,rtl){var notify2=`<div class="notify {{Type}} nw sh20 h `+(rtl?"rtl":"")+`">
|
|
29
29
|
<div class="ov10 ra dash round3x bgb20 p2"></div>
|
|
30
30
|
<div class="ov ra icon"><span class="cc mdi fs24 mdi-{{Icon}}"></span></div>
|
|
31
31
|
<div class="ov la pointer" close-notify><span class="cc mdi fs18 mdi-close"></span></div>
|
|
32
32
|
{{Title}}
|
|
33
33
|
{{Text}}
|
|
34
|
-
</div>`;if(!al)al="topCenter";if(!ty)ty="";if(!$("[notify]").length)$("body").append("<div notify class='"+al+"'></div>");else $("[notify]").attr("class","").addClass(al);$("[notify]").prepend(notify2.split("{{Title}}").join(ti!=""?"<h5>"+ti+"</h5>":"").split("{{Icon}}").join(i2).split("{{Text}}").join(tx).split("{{Type}}").join(ty).split("{{Type}}").join(ti).split("{{Type}}").join(ti));$(".notify").fadeIn();setTimeout(function(){$("[close-notify]:last").click()},5e3)}function _isScrollable(el2){let o1=el2.css("overflow-y")=="scroll"||el2.css("overflow-y")=="auto"&&el2[0].scrollHeight>el2.height()+15;let o2=el2.css("overflow-x")=="scroll"||el2.css("overflow-x")=="auto"&&el2[0].scrollWidth>el2.width()+15;return o1||o2}function _setPos(self,p,el2){var left=self.offset().left;var top=self.offset().top;if(p==""||p=="bottom"){left+=self.innerWidth()/2;top+=self.innerHeight()}else if(p=="left"){top+=self.innerHeight()/2}else if(p=="top"){left+=self.innerWidth()/2}else{left+=self.innerWidth();top+=self.innerHeight()/2}$("tip").css({left,top,right:"unset",bottom:"unset"});if(top+15<el2.offset().top||top>el2.offset().top+el2.height()+10||left+15<el2.offset().left||left>el2.offset().left+el2.width()+10)$("tip").hide();else $("tip").show()}String.prototype.rtrim=function(s){if(s==void 0)s="\\s";try{return this.replace(new RegExp("["+s+"]+$"),"")}catch{return this.replace(new RegExp("[\\"+s+"]+$"),"")}};String.prototype.ltrim=function(s){if(s==void 0)s="\\s";try{return this.replace(new RegExp("^["+s+"]+"),"")}catch{return this.replace(new RegExp("^[\\"+s+"]+"),"")}};
|
|
34
|
+
</div>`;if(!al)al="topCenter";if(!ty)ty="";if(!$("[notify]").length)$("body").append("<div notify class='"+al+"'></div>");else $("[notify]").attr("class","").addClass(al);$("[notify]").prepend(notify2.split("{{Title}}").join(ti!=""?"<h5>"+ti+"</h5>":"").split("{{Icon}}").join(i2).split("{{Text}}").join(tx).split("{{Type}}").join(ty).split("{{Type}}").join(ti).split("{{Type}}").join(ti));$(".notify").fadeIn();setTimeout(function(){$("[close-notify]:last").click()},5e3)}function _isScrollable(el2){let o1=el2.css("overflow-y")=="scroll"||el2.css("overflow-y")=="auto"&&el2[0].scrollHeight>el2.height()+15;let o2=el2.css("overflow-x")=="scroll"||el2.css("overflow-x")=="auto"&&el2[0].scrollWidth>el2.width()+15;return o1||o2}function _setPos(self,p,el2){var left=self.offset().left;var top=self.offset().top;if(p==""||p=="bottom"){left+=self.innerWidth()/2;top+=self.innerHeight()}else if(p=="left"){top+=self.innerHeight()/2}else if(p=="top"){left+=self.innerWidth()/2}else{left+=self.innerWidth();top+=self.innerHeight()/2}$("tip").css({left,top,right:"unset",bottom:"unset"});if(top+15<el2.offset().top||top>el2.offset().top+el2.height()+10||left+15<el2.offset().left||left>el2.offset().left+el2.width()+10)$("tip").hide();else $("tip").show()}String.prototype.rtrim=function(s){if(s==void 0)s="\\s";try{return this.replace(new RegExp("["+s+"]+$"),"")}catch{return this.replace(new RegExp("[\\"+s+"]+$"),"")}};String.prototype.ltrim=function(s){if(s==void 0)s="\\s";try{return this.replace(new RegExp("^["+s+"]+"),"")}catch{return this.replace(new RegExp("^[\\"+s+"]+"),"")}};function paramsToObj(url){try{var entries=new URL(url).searchParams.entries();const result={};for(const[key,value]of entries){result[key]=value}return result}catch(x2){return{}}}function Arr2Obj(arr,key){if(!Array.isArray(arr))return{};return Object.assign({},...arr.map(x2=>({[x2[key]]:x2})))}function ObjFromArr(a,v,k="objectId"){let obj;try{obj=a.find(x2=>x2[k]==v)}catch(e){obj={}}return obj}
|
|
35
35
|
|
|
36
36
|
class AbstractWebSocket{constructor(url,connectionTimeout=5e3){this.url=url;this.socket=null;this.reconnectInterval=3e3;this.reconnectTimeout=null;this.connectionTimeout=connectionTimeout;this.connectionTimeoutId=null;this.connected=false;this.messageQueue=[]}connect(){this.socket=new WebSocket(this.url);this.connectionTimeoutId=setTimeout(()=>{this.handleConnectionTimeout()},this.connectionTimeout);this.socket.onopen=()=>{clearTimeout(this.connectionTimeoutId);this.connected=true;this.onOpen();this.processMessageQueue()};this.socket.onmessage=event=>{this.onMessage(event.data)};this.socket.onclose=event=>{clearTimeout(this.connectionTimeoutId);this.connected=false;this.onClose(event.code);this.reconnect()};this.socket.onerror=error=>{clearTimeout(this.connectionTimeoutId);this.onError(error)}}send(message){cl("Sending ",message);if(this.connected){this.socket.send(message)}else{this.messageQueue.push(message);console.error("WebSocket is not open. Unable to send message.")}}processMessageQueue(){while(this.messageQueue.length>0){const message=this.messageQueue.shift();cl("Sending From Queue ",message);this.socket.send(message)}}handleConnectionTimeout(){this.socket.close()}disconnect(){if(this.socket){this.socket.close()}clearTimeout(this.reconnectTimeout)}onOpen(){}onMessage(message){}onClose(code){}onError(error){}reconnect(){clearTimeout(this.reconnectTimeout);this.reconnectTimeout=setTimeout(()=>{this.connect()},this.reconnectInterval)}}class MyWebSocket extends AbstractWebSocket{constructor(url){super(url)}onOpen(){super.onOpen()}onMessage(message){super.onMessage(message)}onClose(code){super.onClose(code)}onError(error){super.onError(error)}}class Nuclear{_iter=0;reconnectAttempts=0;timeoutInterval=4e3;cbs={};_cbs={};lstnrs={};_ws;srvr=void 0;constructor(srvr){this.srvr=srvr;this.init();return this}on(e,cb){if(!this.lstnrs.hasOwnProperty(e))this.lstnrs[e]=[];this.lstnrs[e].push(cb);if(e=="open"&&this._ws?.readyState==1){this.trigger("open",this._ws)}return this}off(e){if(e=="connect")return this;if(this.lstnrs.hasOwnProperty(e))delete this.lstnrs[e];return this}subscribe(e,cb){return this.on(e,cb)}unsubscribe(e,cb){return this.off(e,cb)}trigger(n,e){if(this.lstnrs.hasOwnProperty(n)){for(let x=0;x<this.lstnrs[n].length;x++){this.lstnrs[n][x](e)}}return this}emit(e,data,cb){try{this._iter++;if(cb)this.cbs["cb_"+this._iter]=cb;if(this.ready()){this._ws.send(JSON.stringify({e,payload:data,_iter:this._iter}))}else{this._send(JSON.stringify({e,payload:data,_iter:this._iter}))}}catch(error){if(_debugMode)cl(error)}return this}_emit(e,data){this._iter++;let prom=defer();this._cbs["cb_"+this._iter]=prom;if(this.ready()){this._ws.send(JSON.stringify({e,payload:data,_iter:this._iter}))}else{this._send(JSON.stringify({e,payload:data,_iter:this._iter}))}return prom}_send(m){let _s=this;setTimeout(function(){if(_s.ready())_s._ws.send(m);else _s._send(m)},500)}ready(){return this._ws!==void 0&&this._ws.readyState==WebSocket.OPEN}connecting(){return this._ws!==void 0&&this._ws.readyState==WebSocket.CONNECTING}init(){var _s=this;this._ws=new ReconnectingWebSocket(this.srvr?this.srvr:"wss://www.beaapis.com/");this._ws.addEventListener("error",event=>{return false});this._ws.onopen=function(e){_s.trigger("connect",e);_s.trigger("open",e)};this._ws.onclose=function(e){_s._iter=0;_s.cbs={};_gn=0;barSet(1,200);_s.reconnectAttempts++};this._ws.onmessage=function(e){try{let data=JSON.parse(e.data);if(data.hasOwnProperty("e")){let event=data["e"];let iter=data["_iter"];const customEvent=new CustomEvent(event,{detail:data["payload"]});customEvent.data=data["payload"];if(event!="rooms")_s.trigger(event,customEvent);if(_s.cbs["cb_"+iter])_s.cbs["cb_"+iter](customEvent);if(_s._cbs["cb_"+iter])_s._cbs["cb_"+iter].resolve(customEvent)}}catch(e2){if(_debugMode)cl(e2)}};this._ws.onerror=function(e){_gn=0;barSet(1,200)}}}class _Ticker{id="";tick=1e3;duration=1e4;data={};status="created";user=void 0;channel=void 0;_cbs={};constructor(obj,channel,user){this.id=obj.id;this.tick=obj?.tick??1e3;this.duration=obj?.duration??1e4;this.data=obj?.data??{};this.user=user;this.channel=channel;this.user.id=this.user.id;this.init();return this}init(opts,lstnrs){let t=this.tick;let d=this.duration;let data=this.data;if(opts){if(opts.hasOwnProperty("tick"))t=opts.tick;if(opts.hasOwnProperty("duration"))d=opts.duration;if(opts.hasOwnProperty("data"))data=opts.data}this.user.nuke.emit("subscribe",{type:"ticker",ticker:this.id,channel:this.channel.id,user:this.user.id,data:{tick:t,duration:d,data}});if(!this.user.nuke._tickers.hasOwnProperty(this.channel.id))this.user.nuke._tickers[this.channel.id]={};this.user.nuke._tickers[this.channel.id][this.id]=this;if(!lstnrs){var self=this;this.on("create.class",function(e){self.status="created"});this.on("start.class",function(e){self.status="started"});this.on("tick.class",function(e){self.status="started"});this.on("pause.class",function(e){self.status="paused"});this.on("finish.class",function(e){self.status="finished"})}}start(){if(this.status=="started"){setError(null,`This ticker is already started`);return this}if(this.status=="finished"){setError(null,`This ticker is finished`);return this}this.user.nuke.emit("ticker",{ticker:this.id,channel:this.channel.id,user:this.user.id,ev:"start"})}pause(){if(this.status=="paused"){setError(null,`This ticker is already paused`);return this}if(this.status!="started"){setError(null,`This ticker is not started yet!`);return this}this.user.nuke.emit("ticker",{ticker:this.id,channel:this.channel.id,user:this.user.id,ev:"pause"})}restart(opts){if(this.status!="finished"){setError(null,`This ticker is not finished yet!`);return this}this.init(opts,true)}delete(){this.user.nuke.emit("unsubscribe",{type:"ticker",ticker:this.id,channel:this.channel.id,user:this.user.id,ev:"delete"})}extend(t){this.user.nuke.emit("ticker",{ticker:this.id,channel:this.channel.id,user:this.user.id,ev:"extend",data:{time:t}})}on(e,cb){let myRef2=document.createElement("live");myRef2.dataset["cb"]=cb;document.body.append(myRef2);if(this._cbs.hasOwnProperty(e)){this._cbs[e].push(cb)}else this._cbs[e]=[cb];return this}off(e){if(this._cbs.hasOwnProperty(e))delete this._cbs[e];return this}trigger(e,customEvent){if(this._cbs.hasOwnProperty(e)){for(let i=0;i<this._cbs[e].length;i++){const cb=this._cbs[e][i];cb(customEvent)}}return this}}class _Channel{id="/";user=void 0;type="room";_cbs={};constructor(id,type,user){this.id=id;this.type=type;this.user=user;this.user.id=this.user.id??"Guest";return this}trigger(e,customEvent){if(this._cbs.hasOwnProperty(e)){for(let i=0;i<this._cbs[e].length;i++){const cb=this._cbs[e][i];cb(customEvent)}}return this}join(){this.user.nuke.emit("subscribe",{type:this.type,channel:this.id,user:this.user.id});if(!this.user.nuke._chnls.hasOwnProperty(this.user.id))this.user.nuke._chnls[this.user.id]={};this.user.nuke._chnls[this.user.id][this.id]=this}leave(){this.user.nuke.emit("unsubscribe",{type:this.type,channel:this.id,user:this.user.id,ev:"leave"});if(this.user.nuke._chnls.hasOwnProperty(this.user.id)){delete this.user.nuke._chnls[this.user.id][this.id]}}broadcast(ev,options){this.user.nuke.emit("broadcast",{type:"room",channel:this.id,user:this.user.id,ev,includeMe:options?.includeMe??true,data:options?.data??{}})}off(e){if(e=="connect")return this;if(this._cbs.hasOwnProperty(e))delete this._cbs[e];return this}on(e,cb){let myRef2=document.createElement("live");myRef2.dataset["cb"]=cb;document.body.append(myRef2);if(this._cbs.hasOwnProperty(e)){this._cbs[e].push(cb)}else this._cbs[e]=[cb];return this}createTicker(obj){if(!this.user.nuke._tickers.hasOwnProperty(this.id)){this.user.nuke._tickers[this.id]={}}let t=new _Ticker(obj,this,this.user);return t}getTicker(id){this.user.nuke.emit("get",{type:"ticker",channel:this.id,user:this.user.id,ticker:id})}}class _User{id="";nuke=void 0;_cbs={};constructor(id,nuke){this.id=id;this.nuke=nuke;this.init();return this}init(){this.nuke.emit("subscribe",{type:"user",channel:this.id,user:this.id});if(!this.nuke._users.hasOwnProperty("/"+this.id))this.nuke._users["/"+this.id]=this}on(e,cb){if(this.nuke._users["/"+this.id]._cbs.hasOwnProperty(e)){this.nuke._users["/"+this.id]._cbs[e].push(cb)}else this.nuke._users["/"+this.id]._cbs[e]=[cb];return this}off(e){if(this._cbs.hasOwnProperty(e))delete this._cbs[e];return this}broadcast(ev,options){this.nuke.emit("broadcast",{type:"user",channel:this.id,user:this.id,ev,includeMe:options?.includeMe??true,data:options?.data??{}})}trigger(e,customEvent){if(this._cbs.hasOwnProperty(e)){for(let i=0;i<this._cbs[e].length;i++){const cb=this._cbs[e][i];cb(customEvent)}}return this}_broadcastToAll(IDs,e,d,t){this.nuke.emit("broadcast",{type:t=="u"?"user":"room",user:this.id,ev:e,includeMe:d["includeMe"]??true,data:d["data"],...t=="u"?{users:IDs.join(",")}:{channels:IDs.join(",")}})}broadcastToUsers(uIDs,e,d){this._broadcastToAll(uIDs,e,d,"u")}broadcastToChannels(cIDs,e,d){this._broadcastToAll(cIDs,e,d,"c")}unsubscribe(c){if(this.nuke._chnls.hasOwnProperty(this.id)){if(this.nuke._chnls[this.id].hasOwnProperty(c))this.nuke._chnls[this.id][c].leave()}}subscribe(e,cb){if(!this.nuke._chnls.hasOwnProperty(this.id)){this.nuke._chnls[this.id]={}}let channel=new _Channel(e,"room",this);channel.join();return channel}destroy(){this._cbs={};if(this.nuke._chnls.hasOwnProperty(this.id)){let chnls=this.nuke._chnls[this.id];for(const chnl in chnls){this.unsubscribe(chnl)}}}}class _Live{_chnls={};_users={};_tickers={};_iter=0;reconnectAttempts=0;timeoutInterval=4e3;cbs={};_cbs={};lstnrs={};_ws;srvr=void 0;constructor(srvr){this.srvr=srvr;this.init();return this}on(e,cb){if(!this.lstnrs.hasOwnProperty(e))this.lstnrs[e]=[];this.lstnrs[e].push(cb);if(e=="open"&&this._ws?.readyState==1){this.trigger("open",this._ws)}return this}off(e){if(e=="connect")return this;if(this.lstnrs.hasOwnProperty(e))delete this.lstnrs[e];return this}createUser(id){let user=new _User(id,this);return user}subscribe(e,cb){return this.on(e,cb)}unsubscribe(e,cb){return this.off(e,cb)}trigger(n,e){if(this.lstnrs.hasOwnProperty(n)){for(let x=0;x<this.lstnrs[n].length;x++){this.lstnrs[n][x](e)}}return this}emit(e,data,cb){try{this._iter++;if(cb)this.cbs["cb_"+this._iter]=cb;if(this.ready()){this._ws.send(JSON.stringify({e,payload:data,_iter:this._iter}))}else{this._send(JSON.stringify({e,payload:data,_iter:this._iter}))}}catch(error){if(_debugMode)cl(error)}return this}_emit(e,data){this._iter++;let prom=defer();this._cbs["cb_"+this._iter]=prom;if(this.ready()){this._ws.send(JSON.stringify({e,payload:data,_iter:this._iter}))}else{this._send(JSON.stringify({e,payload:data,_iter:this._iter}))}return prom}_send(m){let _s=this;setTimeout(function(){if(_s.ready())_s._ws.send(m);else _s._send(m)},500)}ready(){return this._ws!==void 0&&this._ws.readyState==WebSocket.OPEN}connecting(){return this._ws!==void 0&&this._ws.readyState==WebSocket.CONNECTING}init(){var _s=this;if(_s.ready()||_s.connecting()){return}this._ws=new ReconnectingWebSocket(this.srvr?this.srvr:"wss://www.beaapis.com/");this._ws.addEventListener("error",event=>{});this._ws.onopen=function(e){_s.trigger("connect",e);_s.trigger("open",e)};this._ws.onclose=function(e){_s._iter=0;_s.cbs={};_gn=0;barSet(1,200);_s.reconnectAttempts++};this._ws.onmessage=function(e){try{let data=JSON.parse(e.data);if(data.hasOwnProperty("for")){let t=data["type"]??"room";let ev=data["ev"]??"message";const customEvent=new CustomEvent(ev,{detail:data["payload"]});customEvent.data=data["payload"];let payload=data["payload"];if(payload.hasOwnProperty("user")){if(t=="user"){_s._users[data["for"]].trigger(ev,customEvent)}else if(t=="room")_s._chnls[payload.user.id][data["for"]].trigger(ev,customEvent);else if(t=="ticker"){_s._tickers[data["for"]][payload?.ticker?.id].trigger(ev,customEvent);_s._tickers[data["for"]][payload?.ticker?.id].trigger(ev+".class",customEvent)}}}else if(data.hasOwnProperty("e")){let event=data["e"];let iter=data["_iter"];const customEvent=new CustomEvent(event,{detail:data["payload"]});customEvent.data=data["payload"];if(event!="rooms")_s.trigger(event,customEvent);if(_s.cbs["cb_"+iter])_s.cbs["cb_"+iter](customEvent);if(_s._cbs["cb_"+iter])_s._cbs["cb_"+iter].resolve(customEvent)}}catch(e2){if(_debugMode)cl(e2)}};this._ws.onerror=function(e){_gn=0;barSet(1,200)}}}let LIVE;let Nuke;LIVE=new _Live("wss://www.beaapis.com/");Nuke=new Nuclear(_beaTn?void 0:(window.location.protocol==="https:"?"wss://":"ws://")+window.location.hostname+(window.location.port?":"+window.location.port:""));let _ovcD,_vcD;function syncViewFiles(){Nuke.emit("getfiles",{},function(e){var _files=e.data;let views=_files["views"];let layouts=_files["layouts"];_vcD=_files;if(!_ovcD)_ovcD=clone(_vcD);else{for(var key in views){if(_ovcD["views"].hasOwnProperty(key)){if(!deepCompare(clone(_ovcD["views"][key]),clone(views[key]))){cl("Changed the view "+atob(key));let n=atob(key).split("src/views/").join("").split(".view").join("");let nodes=getURLNodes();_ovcD["views"][key]=views[key];cl("view",n,atob(key));if(n.indexOf("widgets/")===0){let changedWidgetName=n.split("widgets/").join("");for(let regionName in _vt.Widgets){if(_vt.Widgets[regionName]._resolvedFile===changedWidgetName){_vt.Widgets[regionName]._resolvedFile=void 0}}renderView(nodes[0],null,View.props??{})}else if(nodes[0]==n){renderView(nodes[0],null,View.props??{})}else{renderView(n,true,{})}}}}for(var key in layouts){if(_ovcD["layouts"].hasOwnProperty(key)){if(!deepCompare(clone(_ovcD["layouts"][key]),clone(layouts[key]))){cl("Changed the layout "+atob(key));let n=atob(key).split("src/layouts/").join("").split(".layout").join("");let nodes=getURLNodes();_ovcD["layouts"][key]=layouts[key];cl("layout",n,atob(key));renderView(n,false,{},"layouts")}}}}})}Nuke.on("connect",function(){if(_beaTn){Nuke.emit("get_uniquer",{beajsToken:_beaTn,uniquer:globals.uniquer},function(e){let d=e.data;let data=d.uniquer;globals.uniquer=data})}else{syncViewFiles()}});Nuke.on("files-changed",function(){if(!_beaTn)syncViewFiles()});var API={get:function(u,d,h,a,opts){return this.req(u,d,h,"GET",a,opts)},put:function(u,d,h,a,opts){return this.req(u,d,h,"PUT",a,opts)},post:function(u,d,h,a,opts){return this.req(u,d,h,"POST",a,opts)},delete:function(u,d,h,a,opts){return this.req(u,d,h,"DELETE",a,opts)},patch:function(u,d,h,a,opts){return this.req(u,d,h,"PATCH",a,opts)},req:function(u,d,h,m,a,opts,_prom){if(!opts)opts={full:false,progress:true};let prog=opts.hasOwnProperty("progress")?opts.progress:true;let full=opts.hasOwnProperty("full")?opts.full:false;let prom=_prom?_prom:defer();try{return prom}finally{if(Nuke&&Nuke._ws&&Nuke._ws.readyState==1&&(_beaTn?globals.uniquer>0:true)){if(prog){_gn=0;_work()}Nuke.emit("request",{body:{method:m,path:u,api:a??0,headers:h,full},uniquer:globals.uniquer??0,data:d},function(e){if(prog){_gn=0;barSet(1,200)}var r=e.data;prom.resolve(r)})}else{if(_beaTn&&_beaTn!=""){$.ajax({"url":"https://www.beaapis.com/req",headers:{},type:"POST",dataType:"json",data:{body:{method:m,path:u,api:a??0,headers:h,full},uniquer:globals.uniquer??0,_beaTn,data:d},cache:false,success:function(r,s){prom.resolve(r)},error:function(){prom.reject("error")}})}else{setTimeout(()=>{this.req(u,d,h,m,a,opts,prom)},_tickTime)}}}}};
|
|
37
37
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lmjs/core",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "LumenJS reactive core runtime — the reactive engine, HTML/JS AST compiler, realtime socket client, and delegated event listeners powering LumenJS applications.",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/",
|
package/src/_re.js
CHANGED
|
@@ -325,6 +325,35 @@ let _vt = _x({
|
|
|
325
325
|
"Widgets": {}
|
|
326
326
|
});
|
|
327
327
|
|
|
328
|
+
// 2026-09-21: real, confirmed gap found migrating a real V1 project — the
|
|
329
|
+
// reactive Proxy (_x()) only fires its update-dispatch on a direct write
|
|
330
|
+
// to a tracked variable itself (_vt.Global.vars["x"] = ...); a NESTED
|
|
331
|
+
// mutation on an object a tracked variable happens to hold
|
|
332
|
+
// (_vt.Global.vars["x"].y = ...., or the bare-identifier-mirrored
|
|
333
|
+
// equivalent x.y = ...) never triggers anything, because it's an ordinary
|
|
334
|
+
// property write on a plain object, not a write through the Proxy's own
|
|
335
|
+
// `set` trap. This is a genuinely common real pattern — BEA's own
|
|
336
|
+
// Locale.get()/Section.get() below do exactly this
|
|
337
|
+
// (globals["locale"] = {...}, globals["sections"] = {...}), and any
|
|
338
|
+
// hand-written index.js/view script doing the equivalent for its own data
|
|
339
|
+
// would hit the identical silent "renders once, never updates" symptom.
|
|
340
|
+
// touch(name) is the fix for that: reassigning a tracked var to itself is
|
|
341
|
+
// still a real write through the `set` trap (confirmed — same object
|
|
342
|
+
// reference, but the trap doesn't skip same-reference writes), so this
|
|
343
|
+
// forces exactly the re-check a real reassignment would have triggered,
|
|
344
|
+
// without needing to actually clone/rebuild the object. Deliberately NOT
|
|
345
|
+
// a deeper fix (making _x() recursively proxy every nested object it
|
|
346
|
+
// returns, so ANY nested mutation anywhere is caught automatically) — that
|
|
347
|
+
// changes the core reactivity model's semantics for everything already
|
|
348
|
+
// built on it (widgets, per-instance subview scoping, HST versioning),
|
|
349
|
+
// real architectural weight, not something to change incidentally while
|
|
350
|
+
// fixing BEA's two known call sites.
|
|
351
|
+
function touch(name) {
|
|
352
|
+
if (_vt.Global.vars.hasOwnProperty(name)) {
|
|
353
|
+
_vt.Global.vars[name] = _vt.Global.vars[name];
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
328
357
|
// 2026-09-18: shared by getVal()/evalExp()/concatVarsAtLevel() below, so the
|
|
329
358
|
// "first-declared widget wins on a name collision" rule is defined exactly
|
|
330
359
|
// once. Object key iteration order for string keys is real insertion order,
|
package/src/dom-shim.js
CHANGED
|
@@ -334,6 +334,21 @@
|
|
|
334
334
|
}
|
|
335
335
|
return h;
|
|
336
336
|
};
|
|
337
|
+
// 2026-09-21, real bug found and fixed: never implemented at all —
|
|
338
|
+
// a real V1 page's own scroll-spy code (`$(this).offset().top -
|
|
339
|
+
// window.pageYOffset`, comparing each <section>'s position against
|
|
340
|
+
// the viewport) crashed outright the moment it ran. Real jQuery's own
|
|
341
|
+
// implementation (getBoundingClientRect() + the page's scroll offset,
|
|
342
|
+
// adjusted for a nonzero <html> border/margin via clientTop/Left).
|
|
343
|
+
$.fn.offset = function () {
|
|
344
|
+
if (!this[0]) return null;
|
|
345
|
+
var rect = this[0].getBoundingClientRect();
|
|
346
|
+
var docEl = document.documentElement;
|
|
347
|
+
return {
|
|
348
|
+
top: rect.top + (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0),
|
|
349
|
+
left: rect.left + (window.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0)
|
|
350
|
+
};
|
|
351
|
+
};
|
|
337
352
|
$.fn.parent = function () { return $(this[0] ? this[0].parentElement : null); };
|
|
338
353
|
$.fn.next = function () { return $(this[0] ? this[0].nextElementSibling : null); };
|
|
339
354
|
$.fn.closest = function (sel) { return $(this[0] ? this[0].closest(sel) : null); };
|
|
@@ -736,6 +736,19 @@ function updateLocalVariable(k) {
|
|
|
736
736
|
function setGlobals(x) {
|
|
737
737
|
localStorage.setItem("globals", JSON.stringify(x));
|
|
738
738
|
globals = clone(JSON.parse(localStorage.getItem("globals")));
|
|
739
|
+
// 2026-09-21 fix: this reassigns the BARE `globals` identifier —
|
|
740
|
+
// which, before this line, only ever updated the one-way mirror copy
|
|
741
|
+
// on `window` (see touch()'s own comment in _re.js for the fuller
|
|
742
|
+
// picture: _vt.Global.vars.globals is the real, tracked, reactive
|
|
743
|
+
// slot; writes to it mirror OUT to `window.globals` for real V1
|
|
744
|
+
// code's convenience, but the reverse was never true). Any mustache/
|
|
745
|
+
// expression reading globals.* rendered once and never updated after
|
|
746
|
+
// a real setGlobals() call, the platform's own documented way to
|
|
747
|
+
// update this variable. Writing the SAME new value into the real
|
|
748
|
+
// tracked slot too is what actually makes this reactive.
|
|
749
|
+
if (typeof _vt !== 'undefined' && _vt.Global && _vt.Global.vars) {
|
|
750
|
+
_vt.Global.vars.globals = globals;
|
|
751
|
+
}
|
|
739
752
|
}
|
|
740
753
|
|
|
741
754
|
function setRX(x) {
|
|
@@ -3810,10 +3823,24 @@ class Section {
|
|
|
3810
3823
|
this.tsdk.request("/Sections", d, true, "GET").then((r) => {
|
|
3811
3824
|
cl("HEiii", r);
|
|
3812
3825
|
if (r.results) {
|
|
3813
|
-
globals["sections"]
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3826
|
+
// 2026-09-21 fix: this used to mutate globals["sections"]
|
|
3827
|
+
// directly — a nested mutation, invisible to the reactive
|
|
3828
|
+
// Proxy (only a write to the tracked slot itself,
|
|
3829
|
+
// _vt.Global.vars.globals, triggers anything — see that
|
|
3830
|
+
// fix's own comment in setGlobals() below). Routing
|
|
3831
|
+
// through the real, documented setGlobals() instead of a
|
|
3832
|
+
// direct mutation fixes reactivity AND correctly persists
|
|
3833
|
+
// to localStorage, matching what globals' own design
|
|
3834
|
+
// already intends — a plain direct mutation never did
|
|
3835
|
+
// either. Merges onto the current globals rather than
|
|
3836
|
+
// replacing it outright, since setGlobals() overwrites
|
|
3837
|
+
// the whole object.
|
|
3838
|
+
setGlobals(Object.assign({}, globals, {
|
|
3839
|
+
sections: Object.assign(
|
|
3840
|
+
{},
|
|
3841
|
+
...r.results.map((x) => ({ [x?.Section]: x }))
|
|
3842
|
+
)
|
|
3843
|
+
}));
|
|
3817
3844
|
} else cl("Sections", r);
|
|
3818
3845
|
this._prom.resolve(r);
|
|
3819
3846
|
});
|
|
@@ -3834,10 +3861,15 @@ class Locale {
|
|
|
3834
3861
|
var d = { fields: "Key," + this.tsdk.l, limit: -1 };
|
|
3835
3862
|
this.tsdk.request("/_Locale", d, true, "GET").then((r) => {
|
|
3836
3863
|
if (r.results) {
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
3840
|
-
|
|
3864
|
+
// 2026-09-21 fix — see the identical comment in
|
|
3865
|
+
// Section.get() just above; same nested-mutation gap,
|
|
3866
|
+
// same setGlobals()-routed fix.
|
|
3867
|
+
setGlobals(Object.assign({}, globals, {
|
|
3868
|
+
locale: Object.assign(
|
|
3869
|
+
{},
|
|
3870
|
+
...r.results.map((x) => ({ [x?.Key]: x }))
|
|
3871
|
+
)
|
|
3872
|
+
}));
|
|
3841
3873
|
} else cl("_Locale", r);
|
|
3842
3874
|
this._prom.resolve(r);
|
|
3843
3875
|
});
|
|
@@ -4140,4 +4172,47 @@ String.prototype.ltrim = function (s) {
|
|
|
4140
4172
|
}
|
|
4141
4173
|
};
|
|
4142
4174
|
|
|
4175
|
+
// 2026-09-21: three real V1 global utilities (beajs/core.js), confirmed
|
|
4176
|
+
// missing here while migrating a real V1 project (Arr2Obj is actively used
|
|
4177
|
+
// in that project's own index.js) — a full audit against every one of
|
|
4178
|
+
// core.js's other 61 top-level functions (plus re.js/listeners.js) found
|
|
4179
|
+
// no other gaps; everything else was already ported or is V1 engine-
|
|
4180
|
+
// internal code V2's own rewritten engine already supersedes.
|
|
4181
|
+
function paramsToObj(url) {
|
|
4182
|
+
try {
|
|
4183
|
+
var entries = new URL(url).searchParams.entries();
|
|
4184
|
+
const result = {}
|
|
4185
|
+
for (const [key, value] of entries) {
|
|
4186
|
+
result[key] = value;
|
|
4187
|
+
}
|
|
4188
|
+
return result;
|
|
4189
|
+
} catch (x) {
|
|
4190
|
+
return {};
|
|
4191
|
+
}
|
|
4192
|
+
}
|
|
4193
|
+
|
|
4194
|
+
function Arr2Obj(arr, key) {
|
|
4195
|
+
// Real improvement over the V1 original, which threw on anything but
|
|
4196
|
+
// a real array (arr.map on undefined/null/a single object) — every
|
|
4197
|
+
// other small utility in this immediate area (paramsToObj/ObjFromArr
|
|
4198
|
+
// above/below) already fails safe to {} the same way; this one just
|
|
4199
|
+
// hadn't caught up. Observable behavior for any already-correct V1
|
|
4200
|
+
// call site is unchanged.
|
|
4201
|
+
if (!Array.isArray(arr)) return {};
|
|
4202
|
+
return Object.assign(
|
|
4203
|
+
{},
|
|
4204
|
+
...arr.map((x) => ({ [x[key]]: x }))
|
|
4205
|
+
);
|
|
4206
|
+
}
|
|
4207
|
+
|
|
4208
|
+
function ObjFromArr(a, v, k = 'objectId') {
|
|
4209
|
+
let obj;
|
|
4210
|
+
try {
|
|
4211
|
+
obj = a.find((x) => x[k] == v);
|
|
4212
|
+
} catch (e) {
|
|
4213
|
+
obj = {};
|
|
4214
|
+
}
|
|
4215
|
+
return obj;
|
|
4216
|
+
}
|
|
4217
|
+
|
|
4143
4218
|
|