{"version":3,"file":"Modal.bundle.js","sources":["../../../Static/src/react/components/modal/Modal.jsx"],"sourcesContent":["import React, {Component, createRef} from 'react';\r\nimport * as settings from \"../search/settings\";\r\n\r\nexport default class Modal extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.modalContentRef = createRef();\r\n\r\n this.state = {\r\n isActive: this.props.isActive,\r\n data: this.props.modalContent,\r\n hasScrollbar: this.props.hasScrollbar != null ? this.props.hasScrollbar : true\r\n };\r\n\r\n this.closeModal = this.closeModal.bind(this);\r\n this.updateScrollbar = this.updateScrollbar.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if(this.state.hasScrollbar) {\r\n // Add a custom scrollbar for modal content\r\n this.scrollbar = new PerfectScrollbar(\r\n this.modalContentRef.current,\r\n settings.scrollbarOptions\r\n );\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if(this.state.hasScrollbar) {\r\n this.updateScrollbar();\r\n }\r\n\r\n // Allow for setting modal visibility from parent component\r\n if(prevProps.isActive !== this.props.isActive\r\n && this.props.isActive !== this.state.isActive) {\r\n this.setState({\r\n isActive: this.props.isActive,\r\n });\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.setState({\r\n isActive: false,\r\n });\r\n\r\n // Send feedback to parent if needed\r\n if(this.props.setModalActive) {\r\n this.props.setModalActive(false);\r\n }\r\n\r\n this.props.onCloseCallback ? this.props.onCloseCallback() : null;\r\n }\r\n\r\n updateScrollbar() {\r\n this.scrollbar.element.scrollTop = 0;\r\n this.scrollbar.update();\r\n }\r\n\r\n render() {\r\n let modalContent;\r\n\r\n if(this.props.modalContent) {\r\n modalContent = this.props.modalContent;\r\n } else {\r\n modalContent = (\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n"],"names":["Modal","Component","props","createRef","settings.scrollbarOptions","prevProps","modalContent","jsx","jsxs"],"mappings":"wFAGA,MAAqBA,UAAcC,EAAAA,SAAU,CACzC,YAAYC,EAAO,CACf,MAAMA,CAAK,EAEX,KAAK,gBAAkBC,EAAAA,YAEvB,KAAK,MAAQ,CACT,SAAU,KAAK,MAAM,SACrB,KAAM,KAAK,MAAM,aACjB,aAAc,KAAK,MAAM,cAAgB,KAAO,KAAK,MAAM,aAAe,EAAA,EAG9E,KAAK,WAAa,KAAK,WAAW,KAAK,IAAI,EAC3C,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,IAAI,CACzD,CAEA,mBAAoB,CACb,KAAK,MAAM,eAEV,KAAK,UAAY,IAAI,iBACjB,KAAK,gBAAgB,QACrBC,CAAS,EAGrB,CAEA,mBAAmBC,EAAW,CACvB,KAAK,MAAM,cACV,KAAK,gBAAgB,EAItBA,EAAU,WAAa,KAAK,MAAM,UAC9B,KAAK,MAAM,WAAa,KAAK,MAAM,UACtC,KAAK,SAAS,CACV,SAAU,KAAK,MAAM,QAAA,CACxB,CAET,CAEA,YAAa,CACT,KAAK,SAAS,CACV,SAAU,EAAA,CACb,EAGE,KAAK,MAAM,gBACL,KAAA,MAAM,eAAe,EAAK,EAGnC,KAAK,MAAM,iBAAkB,KAAK,MAAM,gBAAoB,CAChE,CAEA,iBAAkB,CACT,KAAA,UAAU,QAAQ,UAAY,EACnC,KAAK,UAAU,QACnB,CAEA,QAAS,CACD,IAAAC,EAED,OAAA,KAAK,MAAM,aACVA,EAAe,KAAK,MAAM,aAGtBA,EAAAC,EAAAA,IAAC,OAAI,UAAU,sBACX,eAAC,MAAI,CAAA,UAAU,cAAc,CAAA,CACjC,CAAA,EAKJC,EAAA,KAAC,QAAA,CAAM,UAAW,KAAK,MAAM,UAAY,oBAAsB,KAAK,MAAM,SAAW,gBAAkB,IAChG,KAAK,SACL,cAAa,CAAC,KAAK,MAAM,SAC5B,SAAA,CAAAA,EAAA,KAAC,MAAA,CAAI,UAAU,uBACV,KAAK,SACL,YAAU,SACX,SAAA,CAAAD,EAAA,IAAC,SAAA,CAAO,UAAU,yBACV,aAAW,cACX,QAAS,KAAK,UAAA,CAAY,EAClCA,EAAA,IAAC,MAAA,CAAI,UAAW,6BACC,KAAK,MAAM,gBAAkB,kCAAoC,IAC7E,IAAK,KAAK,gBACV,SAAAD,CAAA,CACL,CAAA,CAAA,CACJ,EACAC,EAAA,IAAC,MAAA,CAAI,UAAU,sBACV,QAAS,KAAK,UAAA,CAAY,CAAA,CAAA,CAAA,CAG3C,CACJ"}