2 lines
8.4 KiB
JavaScript
2 lines
8.4 KiB
JavaScript
this.primereact=this.primereact||{},this.primereact.overlaypanel=function(e,t,n,i,r,o,l,s){"use strict";function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(t),u=a(s);function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},p(e,t)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function m(e,t){if(t&&("object"===y(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(e)}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function k(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}var C,E,L,g=function(e){v(E,e);var t,s,a,p,y,C=(t=E,s=k(),function(){var e,n=b(t);if(s){var i=b(this).constructor;e=Reflect.construct(n,arguments,i)}else e=n.apply(this,arguments);return m(this,e)});function E(e){var t;return f(this,E),(t=C.call(this,e)).state={visible:!1},t.onCloseClick=t.onCloseClick.bind(h(t)),t.onPanelClick=t.onPanelClick.bind(h(t)),t.onEnter=t.onEnter.bind(h(t)),t.onEntered=t.onEntered.bind(h(t)),t.onExit=t.onExit.bind(h(t)),t.onExited=t.onExited.bind(h(t)),t.onContentClick=t.onContentClick.bind(h(t)),t.attributeSelector=n.UniqueComponentId(),t.overlayRef=c.default.createRef(),t}return a=E,(p=[{key:"bindDocumentClickListener",value:function(){var e=this;!this.documentClickListener&&this.props.dismissable&&(this.documentClickListener=function(t){!e.isPanelClicked&&e.isOutsideClicked(t.target)&&e.hide(),e.isPanelClicked=!1},document.addEventListener("click",this.documentClickListener))}},{key:"unbindDocumentClickListener",value:function(){this.documentClickListener&&(document.removeEventListener("click",this.documentClickListener),this.documentClickListener=null)}},{key:"bindScrollListener",value:function(){var e=this;this.scrollHandler||(this.scrollHandler=new n.ConnectedOverlayScrollHandler(this.target,(function(){e.state.visible&&e.hide()}))),this.scrollHandler.bindScrollListener()}},{key:"unbindScrollListener",value:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}},{key:"bindResizeListener",value:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.state.visible&&!n.DomHandler.isTouchDevice()&&e.hide()},window.addEventListener("resize",this.resizeListener))}},{key:"unbindResizeListener",value:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}},{key:"isOutsideClicked",value:function(e){return this.overlayRef&&this.overlayRef.current&&!(this.overlayRef.current.isSameNode(e)||this.overlayRef.current.contains(e))}},{key:"hasTargetChanged",value:function(e,t){return null!=this.target&&this.target!==(t||e.currentTarget||e.target)}},{key:"onCloseClick",value:function(e){this.hide(),e.preventDefault()}},{key:"onPanelClick",value:function(e){this.isPanelClicked=!0,o.OverlayService.emit("overlay-click",{originalEvent:e,target:this.target})}},{key:"onContentClick",value:function(){this.isPanelClicked=!0}},{key:"toggle",value:function(e,t){var n=this;this.state.visible?(this.hide(),this.hasTargetChanged(e,t)&&(this.target=t||e.currentTarget||e.target,setTimeout((function(){n.show(e,n.target)}),200))):this.show(e,t)}},{key:"show",value:function(e,t){var n=this;this.target=t||e.currentTarget||e.target,this.state.visible?this.align():this.setState({visible:!0},(function(){n.overlayEventListener=function(e){n.isOutsideClicked(e.target)||(n.isPanelClicked=!0)},o.OverlayService.on("overlay-click",n.overlayEventListener)}))}},{key:"hide",value:function(){var e=this;this.setState({visible:!1},(function(){o.OverlayService.off("overlay-click",e.overlayEventListener),e.overlayEventListener=null}))}},{key:"onEnter",value:function(){n.ZIndexUtils.set("overlay",this.overlayRef.current,u.default.autoZIndex,u.default.zIndex.overlay),this.overlayRef.current.setAttribute(this.attributeSelector,""),this.align()}},{key:"onEntered",value:function(){this.bindDocumentClickListener(),this.bindScrollListener(),this.bindResizeListener(),this.props.onShow&&this.props.onShow()}},{key:"onExit",value:function(){this.unbindDocumentClickListener(),this.unbindScrollListener(),this.unbindResizeListener()}},{key:"onExited",value:function(){n.ZIndexUtils.clear(this.overlayRef.current),this.props.onHide&&this.props.onHide()}},{key:"align",value:function(){if(this.target){n.DomHandler.absolutePosition(this.overlayRef.current,this.target);var e=n.DomHandler.getOffset(this.overlayRef.current),t=n.DomHandler.getOffset(this.target),i=0;e.left<t.left&&(i=t.left-e.left),this.overlayRef.current.style.setProperty("--overlayArrowLeft","".concat(i,"px")),e.top<t.top&&n.DomHandler.addClass(this.overlayRef.current,"p-overlaypanel-flipped")}}},{key:"createStyle",value:function(){if(!this.styleElement){this.styleElement=n.DomHandler.createInlineStyle(u.default.nonce);var e="";for(var t in this.props.breakpoints)e+="\n @media screen and (max-width: ".concat(t,") {\n .p-overlaypanel[").concat(this.attributeSelector,"] {\n width: ").concat(this.props.breakpoints[t]," !important;\n }\n }\n ");this.styleElement.innerHTML=e}}},{key:"componentDidMount",value:function(){this.props.breakpoints&&this.createStyle()}},{key:"componentWillUnmount",value:function(){this.unbindDocumentClickListener(),this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.styleElement=n.DomHandler.removeInlineStyle(this.styleElement),this.overlayEventListener&&(o.OverlayService.off("overlay-click",this.overlayEventListener),this.overlayEventListener=null),n.ZIndexUtils.clear(this.overlayRef.current)}},{key:"renderCloseIcon",value:function(){return this.props.showCloseIcon?c.default.createElement("button",{type:"button",className:"p-overlaypanel-close p-link",onClick:this.onCloseClick,"aria-label":this.props.ariaCloseLabel},c.default.createElement("span",{className:"p-overlaypanel-close-icon pi pi-times"}),c.default.createElement(r.Ripple,null)):null}},{key:"renderElement",value:function(){var e=n.classNames("p-overlaypanel p-component",this.props.className),t=this.renderCloseIcon();return c.default.createElement(i.CSSTransition,{nodeRef:this.overlayRef,classNames:"p-overlaypanel",in:this.state.visible,timeout:{enter:120,exit:100},options:this.props.transitionOptions,unmountOnExit:!0,onEnter:this.onEnter,onEntered:this.onEntered,onExit:this.onExit,onExited:this.onExited},c.default.createElement("div",{ref:this.overlayRef,id:this.props.id,className:e,style:this.props.style,onClick:this.onPanelClick},c.default.createElement("div",{className:"p-overlaypanel-content",onClick:this.onContentClick,onMouseDown:this.onContentClick},this.props.children),t))}},{key:"render",value:function(){var e=this.renderElement();return c.default.createElement(l.Portal,{element:e,appendTo:this.props.appendTo})}}])&&d(a.prototype,p),y&&d(a,y),Object.defineProperty(a,"prototype",{writable:!1}),E}(t.Component);return L={id:null,dismissable:!0,showCloseIcon:!1,style:null,className:null,appendTo:null,breakpoints:null,ariaCloseLabel:"close",transitionOptions:null,onShow:null,onHide:null},(E="defaultProps")in(C=g)?Object.defineProperty(C,E,{value:L,enumerable:!0,configurable:!0,writable:!0}):C[E]=L,e.OverlayPanel=g,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.utils,primereact.csstransition,primereact.ripple,primereact.overlayservice,primereact.portal,primereact.api);
|