@tycoonsystems/tycoon-modules
Version:
www.tv.tycoon.systems/documentation
1 lines • 2.18 kB
JavaScript
function _extends(){return(_extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n,a=arguments[t];for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}import React from"react";import Close from"@mui/icons-material/Close";import{Survey}from".";const Module=t=>{const[e,n]=React.useState(!1);var[a,,]=React.useState(!1),[,,]=React.useState(null);const[r,,]=React.useState(!1),[c,u]=React.useState(!1),[l,o]=React.useState(!1),s=React.useRef(),i=React.useRef(),m=(React.useEffect(()=>{e||(s.current.addEventListener("mouseover",m),n(!0))},[e]),()=>{t._LocalEventEmitter.dispatch(t?.handleName,{dispatch:"mouseOver"})});t._LocalEventEmitter.unsubscribe(t?.handleName),t._LocalEventEmitter.subscribe(t?.handleName,e=>{e&&(console.log("Notification Update",e),"mouseOver"===e.dispatch)&&(console.log("Did mouse over",t,l),t?._openMenu?.currentMenu===t?.handleName)&&!l&&t._toggleSingleOpenMenu&&t._toggleSingleOpenMenu(null,t?.handleName,!0)}),React.useEffect(()=>{var e;t?._openMenu?.currentMenu!==t?.handleName&&!r||c?t?._openMenu?.currentMenu!==t?.handleName&&!r&&c&&(o(!0),e=setTimeout(()=>{o(!1),u(!1),i.current=null},500),i.current=e):(u(!0),o(!1),i?.current&&clearTimeout(i.current))},[t?._openMenu?.currentMenu,l,c,i?.current]);var g=React.useCallback(e=>{o(!0),t._toggleSingleOpenMenu(null,t?.handleName,!1)});return React.createElement(React.Fragment,null,React.createElement("div",{className:`Misc_Container Misc_Container_Bigger ${t.className} `+(t.open||c&&!l?"Misc_Container_Visible":""),ref:s,style:{top:t?.menuConfig?.height&&!isNaN(Number(t.menuConfig.height))?Number(t.menuConfig.height)+"px":""}},t.open||c?React.createElement(React.Fragment,null,React.createElement("div",{className:a?"fetchNotBusy fetchBusy":"fetchNotBusy"}),React.createElement("div",{style:{position:"sticky",top:".5rem",right:0,zIndex:10}},React.createElement(Close,{className:"Misc_Icon_Button",style:{margin:"0rem 0",position:"absolute",right:".5rem"},onClick:g})),React.createElement("div",null,React.createElement(Survey,_extends({survey:t?.survey,height:250,close:g},t)))):null))};export default Module;