katoikia-app/web-ui/web-react/node_modules/primereact/scrollpanel/scrollpanel.esm.min.js

2 lines
6.4 KiB
JavaScript

import e,{Component as t}from"react";import{DomHandler as o,classNames as n}from"primereact/utils";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}function l(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&&s(e,t)}function c(e){return c="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},c(e)}function u(e,t){if(t&&("object"===c(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function h(){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 m,d,f,v=function(s){l(b,t);var c,m,d,f,v,y=(c=b,m=h(),function(){var e,t=p(c);if(m){var o=p(this).constructor;e=Reflect.construct(t,arguments,o)}else e=t.apply(this,arguments);return u(this,e)});function b(e){var t;return r(this,b),(t=y.call(this,e)).moveBar=t.moveBar.bind(a(t)),t.onXBarMouseDown=t.onXBarMouseDown.bind(a(t)),t.onYBarMouseDown=t.onYBarMouseDown.bind(a(t)),t.onDocumentMouseMove=t.onDocumentMouseMove.bind(a(t)),t.onDocumentMouseUp=t.onDocumentMouseUp.bind(a(t)),t}return d=b,(f=[{key:"calculateContainerHeight",value:function(){var e=getComputedStyle(this.container),t=getComputedStyle(this.xBar),n=o.getHeight(this.container)-parseInt(t.height,10);"none"!==e["max-height"]&&0===n&&(this.container.style.height=this.content.offsetHeight+parseInt(t.height,10)>parseInt(e["max-height"],10)?e["max-height"]:this.content.offsetHeight+parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)+parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth)+"px")}},{key:"moveBar",value:function(){var e=this,t=this.content.scrollWidth,n=-1*(this.container.clientHeight-this.xBar.clientHeight);this.scrollXRatio=this.content.clientWidth/t;var r=this.content.scrollHeight,i=-1*(this.container.clientWidth-this.yBar.clientWidth);this.scrollYRatio=this.content.clientHeight/r,this.frame=this.requestAnimationFrame((function(){e.scrollXRatio>=1?o.addClass(e.xBar,"p-scrollpanel-hidden"):(o.removeClass(e.xBar,"p-scrollpanel-hidden"),e.xBar.style.cssText="width:"+Math.max(100*e.scrollXRatio,10)+"%; left:"+e.content.scrollLeft/t*100+"%;bottom:"+n+"px;"),e.scrollYRatio>=1?o.addClass(e.yBar,"p-scrollpanel-hidden"):(o.removeClass(e.yBar,"p-scrollpanel-hidden"),e.yBar.style.cssText="height:"+Math.max(100*e.scrollYRatio,10)+"%; top: calc("+e.content.scrollTop/r*100+"% - "+e.xBar.clientHeight+"px);right:"+i+"px;")}))}},{key:"onYBarMouseDown",value:function(e){this.isYBarClicked=!0,this.lastPageY=e.pageY,o.addClass(this.yBar,"p-scrollpanel-grabbed"),o.addClass(document.body,"p-scrollpanel-grabbed"),document.addEventListener("mousemove",this.onDocumentMouseMove),document.addEventListener("mouseup",this.onDocumentMouseUp),e.preventDefault()}},{key:"onXBarMouseDown",value:function(e){this.isXBarClicked=!0,this.lastPageX=e.pageX,o.addClass(this.xBar,"p-scrollpanel-grabbed"),o.addClass(document.body,"p-scrollpanel-grabbed"),document.addEventListener("mousemove",this.onDocumentMouseMove),document.addEventListener("mouseup",this.onDocumentMouseUp),e.preventDefault()}},{key:"onDocumentMouseMove",value:function(e){this.isXBarClicked?this.onMouseMoveForXBar(e):(this.isYBarClicked||this.onMouseMoveForXBar(e),this.onMouseMoveForYBar(e))}},{key:"onMouseMoveForXBar",value:function(e){var t=this,o=e.pageX-this.lastPageX;this.lastPageX=e.pageX,this.frame=this.requestAnimationFrame((function(){t.content.scrollLeft+=o/t.scrollXRatio}))}},{key:"onMouseMoveForYBar",value:function(e){var t=this,o=e.pageY-this.lastPageY;this.lastPageY=e.pageY,this.frame=this.requestAnimationFrame((function(){t.content.scrollTop+=o/t.scrollYRatio}))}},{key:"onDocumentMouseUp",value:function(e){o.removeClass(this.yBar,"p-scrollpanel-grabbed"),o.removeClass(this.xBar,"p-scrollpanel-grabbed"),o.removeClass(document.body,"p-scrollpanel-grabbed"),document.removeEventListener("mousemove",this.onDocumentMouseMove),document.removeEventListener("mouseup",this.onDocumentMouseUp),this.isXBarClicked=!1,this.isYBarClicked=!1}},{key:"requestAnimationFrame",value:function(e){return(window.requestAnimationFrame||this.timeoutFrame)(e)}},{key:"refresh",value:function(){this.moveBar()}},{key:"componentDidMount",value:function(){this.moveBar(),this.moveBar=this.moveBar.bind(this),window.addEventListener("resize",this.moveBar),this.calculateContainerHeight(),this.initialized=!0}},{key:"componentWillUnmount",value:function(){this.initialized&&window.removeEventListener("resize",this.moveBar),this.frame&&window.cancelAnimationFrame(this.frame)}},{key:"render",value:function(){var t=this,o=n("p-scrollpanel p-component",this.props.className);return e.createElement("div",{ref:function(e){return t.container=e},id:this.props.id,className:o,style:this.props.style},e.createElement("div",{className:"p-scrollpanel-wrapper"},e.createElement("div",{ref:function(e){return t.content=e},className:"p-scrollpanel-content",onScroll:this.moveBar,onMouseEnter:this.moveBar},this.props.children)),e.createElement("div",{ref:function(e){return t.xBar=e},className:"p-scrollpanel-bar p-scrollpanel-bar-x",onMouseDown:this.onXBarMouseDown}),e.createElement("div",{ref:function(e){return t.yBar=e},className:"p-scrollpanel-bar p-scrollpanel-bar-y",onMouseDown:this.onYBarMouseDown}))}}])&&i(d.prototype,f),v&&i(d,v),Object.defineProperty(d,"prototype",{writable:!1}),b}();f={id:null,style:null,className:null},(d="defaultProps")in(m=v)?Object.defineProperty(m,d,{value:f,enumerable:!0,configurable:!0,writable:!0}):m[d]=f;export{v as ScrollPanel};