-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdragresize.js
2 lines (2 loc) · 13.3 KB
/
dragresize.js
1
2
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("react"));else if("function"==typeof define&&define.amd)define(["react"],t);else{var r=t("object"==typeof exports?require("react"):e.React);for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,function(e){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),s=r(6),u=n(s),p=r(5),d=n(p),c=r(1),f=void 0,m=void 0,h=void 0,_=void 0,b=void 0,v=void 0,g="",y=function(e){function t(e){o(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n=r.props,i=n.elmX,l=n.elmY,s=n.elmW,u=n.elmH;return r.state={elmX:i,elmY:l,elmW:s,elmH:u},r.mouseDown=function(e){0===e.button&&r.props.isDrag&&(e.stopPropagation(),r.cacheMoustDownAttrs(e),document.addEventListener("mousemove",r.mouseMove),r.props.onMouseDown&&r.props.onMouseDown())},r.mouseMove=function(e){e.preventDefault();var t=r.limitDragScopeX(b+(e.pageX-f)),n=r.limitDragScopeY(v+(e.pageY-m));r.setState({elmX:t,elmY:n}),document.addEventListener("mouseup",r.mouseUp),r.props.onMouseMove&&r.props.onMouseMove({elmX:t,elmY:n})},r.mouseUp=function(){document.removeEventListener("mousemove",r.mouseMove),document.removeEventListener("mousemove",r.moveResize)},r.resizeHandle=function(e){if(r.props.isResize)return function(t){t.stopPropagation(),g=e,r.cacheMoustDownAttrs(t),document.addEventListener("mousemove",r.moveResize)}},r.moveResize=function(e){e.preventDefault();var t=r.props.isRatio,n=_/h,o=b,a=v,i=b+h,l=v+_,s=0,u=0;switch(g){case"br":if(s=f-(b+h),u=m-(v+_),i=e.pageX-s>=b?e.pageX-s:b,l=e.pageY-u>=v?e.pageY-u:v,t){var p=r.limitScope({ax:o,ay:a,bx:i,cy:l}).bx;l=a+(p-o)*n;var d=r.limitScope({ax:o,ay:a,bx:i,cy:l}).cy;i=(d-a)/n+o}break;case"tl":if(s=f-b,u=m-v,o=e.pageX-s<=b+h?e.pageX-s:b+h,a=e.pageY-u<=v+_?e.pageY-u:v+_,t){var y=r.limitScope({ax:o,ay:a,bx:i,cy:l}).ax;a=l-(i-y)*n;var x=r.limitScope({ax:o,ay:a,bx:i,cy:l}).ay;o=i-(l-x)/n}break;case"tr":if(s=f-(b+h),u=m-v,i=e.pageX-s>=b?e.pageX-s:b,a=e.pageY-u<=v+_?e.pageY-u:v+_,t){var w=r.limitScope({ax:o,ay:a,bx:i,cy:l}).bx;a=l-(w-o)*n;var R=r.limitScope({ax:o,ay:a,bx:i,cy:l}).ay;i=(l-R)/n+o}break;case"bl":if(s=f-b,u=m-(v+_),o=e.pageX-s<=b+h?e.pageX-s:b+h,l=e.pageY-u>=v?e.pageY-u:v,t){var L=r.limitScope({ax:o,ay:a,bx:i,cy:l}).ax;l=a+(i-L)*n;var X=r.limitScope({ax:o,ay:a,bx:i,cy:l}).cy;o=i-(X-a)/n}}var z=(0,c.computeAttr)(r.limitScope({ax:o,ay:a,bx:i,cy:l}));r.setState(z),r.props.onResize&&r.props.onResize(z)},r}return i(t,e),l(t,[{key:"componentDidMount",value:function(){document.addEventListener("mouseup",this.mouseUp)}},{key:"componentWillReceiveProps",value:function(e){var t=e.elmX,r=e.elmY,n=e.elmW,o=e.elmH;this.setState({elmX:t,elmY:r,elmW:n,elmH:o})}},{key:"componentWillUnmount",value:function(){document.removeEventListener("mouseup",this.mouseUp)}},{key:"cacheMoustDownAttrs",value:function(e){f=e.pageX,m=e.pageY,b=this.state.elmX,v=this.state.elmY,h=this.state.elmW,_=this.state.elmH}},{key:"limitDragScopeX",value:function(e){var t=this.props,r=t.maxLeft,n=t.minLeft,o=null!==r?r-h:null,a=n;return(0,c.getScopeValue)(e,o,a)}},{key:"limitDragScopeY",value:function(e){var t=this.props,r=t.maxTop,n=t.minTop,o=null!==r?r-_:null,a=n;return(0,c.getScopeValue)(e,o,a)}},{key:"limitScope",value:function(e){var t=e.ax,r=e.ay,n=e.bx,o=e.cy,a=this.props,i=a.maxLeft,l=a.minLeft,s=a.maxTop,u=a.minTop,p=this.props,d=p.minWidth,f=p.minHeight,m=p.maxWidth,g=p.maxHeight,y=null!==d?b+h-d:b+h,x=null!==m?b+h-m:l,w=null!==f?v+_-f:v+_,R=null!==g?v+_-g:u,L=null!==m?(0,c.getltValue)(i,b+m):i,X=null!==d?b+d:b,z=null!==g?(0,c.getltValue)(s,v+g):s,T=null!==f?v+f:v;return{ax:(0,c.getScopeValue)(t,y,x),ay:(0,c.getScopeValue)(r,w,R),bx:(0,c.getScopeValue)(n,L,X),cy:(0,c.getScopeValue)(o,z,T)}}},{key:"render",value:function(){var e=this.props.isChecked,t=this.state,r=t.elmX,n=t.elmY,o=t.elmW,a=t.elmH,i=this.props.isResize&&e||!1,l={left:r,top:n,width:o,height:a},s=i?u["default"].createElement("div",{className:d["default"].handle_list},u["default"].createElement("div",{className:d["default"].handle_btn+" "+d["default"].handle_tl,onMouseDown:this.resizeHandle("tl")}),u["default"].createElement("div",{className:d["default"].handle_btn+" "+d["default"].handle_tr,onMouseDown:this.resizeHandle("tr")}),u["default"].createElement("div",{className:d["default"].handle_btn+" "+d["default"].handle_bl,onMouseDown:this.resizeHandle("bl")}),u["default"].createElement("div",{className:d["default"].handle_btn+" "+d["default"].handle_br,onMouseDown:this.resizeHandle("br")})):null,p=e?u["default"].createElement("div",null,u["default"].createElement("div",{className:d["default"].border_line+" "+d["default"].border_top}),u["default"].createElement("div",{className:d["default"].border_line+" "+d["default"].border_left}),u["default"].createElement("div",{className:d["default"].border_line+" "+d["default"].border_right}),u["default"].createElement("div",{className:d["default"].border_line+" "+d["default"].border_bottom})):null;return u["default"].createElement("div",{className:d["default"].dragresize_wrapper,style:l,onMouseDown:this.mouseDown},u["default"].createElement("div",{className:d["default"].content},this.props.children),s,p)}}]),t}(s.Component);y.propTypes={children:s.PropTypes.element,elmX:s.PropTypes.number.isRequired,elmY:s.PropTypes.number.isRequired,elmW:s.PropTypes.number.isRequired,elmH:s.PropTypes.number.isRequired,isDrag:s.PropTypes.bool,isRatio:s.PropTypes.bool,isResize:s.PropTypes.bool,isChecked:s.PropTypes.bool,minLeft:u["default"].PropTypes.number,minTop:u["default"].PropTypes.number,maxLeft:u["default"].PropTypes.number,maxTop:u["default"].PropTypes.number,minWidth:u["default"].PropTypes.number,minHeight:u["default"].PropTypes.number,maxWidth:u["default"].PropTypes.number,maxHeight:u["default"].PropTypes.number,onMouseMove:s.PropTypes.func,onResize:s.PropTypes.func,onMouseDown:s.PropTypes.func},y.defaultProps={elmX:10,elmY:10,elmW:100,elmH:150,isDrag:!0,isResize:!0,isRatio:!1,isChecked:!0,minLeft:null,minTop:null,maxLeft:null,maxTop:null,minWidth:10,minHeight:10,maxWidth:null,maxHeight:null,onMouseMove:null,onResize:null,onMouseDown:null},t["default"]=y},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.getScopeValue=function(e,t,r){return null!==t&&e>=t?t:null!==r&&e<=r?r:e},t.getltValue=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t){return null===t?e:Math.min(e,t)},1e7)},t.computeAttr=function(e){var t=e.ax,r=e.ay,n=e.bx,o=e.cy;return{elmX:t,elmY:r,elmW:n-t,elmH:o-r}}},function(e,t,r){t=e.exports=r(3)(),t.push([e.id,".dragresize_wrapper__LZRJ4IOHXe{position:absolute;cursor:all-scroll;background-color:rgba(117,207,190,.38)}.dragresize_wrapper__LZRJ4IOHXe .content__37lP5Blmce{width:100%;height:100%;overflow:hidden}.dragresize_wrapper__LZRJ4IOHXe .handle_btn__3okSjf9hoh{width:8px;height:8px;background-color:#ff6a00;position:absolute;border-radius:3px}.dragresize_wrapper__LZRJ4IOHXe .border_line__2hik-gNtqF{position:absolute;display:block}.dragresize_wrapper__LZRJ4IOHXe .border_top__pWNmUbWnwT{width:100%;height:0;top:0;border-top:1px dashed red}.dragresize_wrapper__LZRJ4IOHXe .border_left__1Y2haF4Cfi{width:0;height:100%;top:0;border-left:1px dashed red}.dragresize_wrapper__LZRJ4IOHXe .border_bottom__frJReemNTD{width:100%;height:0;bottom:0;left:0;border-bottom:1px dashed red}.dragresize_wrapper__LZRJ4IOHXe .border_right__swxWADuhfs{width:0;height:100%;top:0;right:0;border-right:1px dashed red}.dragresize_wrapper__LZRJ4IOHXe .handle_tl__125vawv7k1{top:0;left:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:nw-resize}.dragresize_wrapper__LZRJ4IOHXe .handle_tr__2tj46wty2o{top:0;right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.dragresize_wrapper__LZRJ4IOHXe .handle_tr__2tj46wty2o,.dragresize_wrapper__LZRJ4IOHXe .handle_tr__2tj46wty2o:link{cursor:ne-resize}.dragresize_wrapper__LZRJ4IOHXe .handle_bl__370E1_y9Qf{bottom:0;left:0;cursor:sw-resize;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.dragresize_wrapper__LZRJ4IOHXe .handle_br__2LnRncIICL{bottom:0;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.dragresize_wrapper__LZRJ4IOHXe .handle_br__2LnRncIICL,.dragresize_wrapper__LZRJ4IOHXe .handle_br__2LnRncIICL:active,.dragresize_wrapper__LZRJ4IOHXe .handle_br__2LnRncIICL:link{cursor:se-resize}",""]),t.locals={dragresize_wrapper:"dragresize_wrapper__LZRJ4IOHXe",content:"content__37lP5Blmce",handle_btn:"handle_btn__3okSjf9hoh",border_line:"border_line__2hik-gNtqF",border_top:"border_top__pWNmUbWnwT",border_left:"border_left__1Y2haF4Cfi",border_bottom:"border_bottom__frJReemNTD",border_right:"border_right__swxWADuhfs",handle_tl:"handle_tl__125vawv7k1",handle_tr:"handle_tr__2tj46wty2o",handle_bl:"handle_bl__370E1_y9Qf",handle_br:"handle_br__2LnRncIICL"}},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t<this.length;t++){var r=this[t];r[2]?e.push("@media "+r[2]+"{"+r[1]+"}"):e.push(r[1])}return e.join("")},e.i=function(t,r){"string"==typeof t&&(t=[[null,t,""]]);for(var n={},o=0;o<this.length;o++){var a=this[o][0];"number"==typeof a&&(n[a]=!0)}for(o=0;o<t.length;o++){var i=t[o];"number"==typeof i[0]&&n[i[0]]||(r&&!i[2]?i[2]=r:r&&(i[2]="("+i[2]+") and ("+r+")"),e.push(i))}},e}},function(e,t,r){function n(e,t){for(var r=0;r<e.length;r++){var n=e[r],o=f[n.id];if(o){o.refs++;for(var a=0;a<o.parts.length;a++)o.parts[a](n.parts[a]);for(;a<n.parts.length;a++)o.parts.push(u(n.parts[a],t))}else{for(var i=[],a=0;a<n.parts.length;a++)i.push(u(n.parts[a],t));f[n.id]={id:n.id,refs:1,parts:i}}}}function o(e){for(var t=[],r={},n=0;n<e.length;n++){var o=e[n],a=o[0],i=o[1],l=o[2],s=o[3],u={css:i,media:l,sourceMap:s};r[a]?r[a].parts.push(u):t.push(r[a]={id:a,parts:[u]})}return t}function a(e,t){var r=_(),n=g[g.length-1];if("top"===e.insertAt)n?n.nextSibling?r.insertBefore(t,n.nextSibling):r.appendChild(t):r.insertBefore(t,r.firstChild),g.push(t);else{if("bottom"!==e.insertAt)throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");r.appendChild(t)}}function i(e){e.parentNode.removeChild(e);var t=g.indexOf(e);t>=0&&g.splice(t,1)}function l(e){var t=document.createElement("style");return t.type="text/css",a(e,t),t}function s(e){var t=document.createElement("link");return t.rel="stylesheet",a(e,t),t}function u(e,t){var r,n,o;if(t.singleton){var a=v++;r=b||(b=l(t)),n=p.bind(null,r,a,!1),o=p.bind(null,r,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(r=s(t),n=c.bind(null,r),o=function(){i(r),r.href&&URL.revokeObjectURL(r.href)}):(r=l(t),n=d.bind(null,r),o=function(){i(r)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}function p(e,t,r,n){var o=r?"":n.css;if(e.styleSheet)e.styleSheet.cssText=y(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function d(e,t){var r=t.css,n=t.media;if(n&&e.setAttribute("media",n),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}function c(e,t){var r=t.css,n=t.sourceMap;n&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */");var o=new Blob([r],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(o),a&&URL.revokeObjectURL(a)}var f={},m=function(e){var t;return function(){return"undefined"==typeof t&&(t=e.apply(this,arguments)),t}},h=m(function(){return/msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())}),_=m(function(){return document.head||document.getElementsByTagName("head")[0]}),b=null,v=0,g=[];e.exports=function(e,t){t=t||{},"undefined"==typeof t.singleton&&(t.singleton=h()),"undefined"==typeof t.insertAt&&(t.insertAt="bottom");var r=o(e);return n(r,t),function(e){for(var a=[],i=0;i<r.length;i++){var l=r[i],s=f[l.id];s.refs--,a.push(s)}if(e){var u=o(e);n(u,t)}for(var i=0;i<a.length;i++){var s=a[i];if(0===s.refs){for(var p=0;p<s.parts.length;p++)s.parts[p]();delete f[s.id]}}}};var y=function(){var e=[];return function(t,r){return e[t]=r,e.filter(Boolean).join("\n")}}()},function(e,t,r){var n=r(2);"string"==typeof n&&(n=[[e.id,n,""]]);r(4)(n,{});n.locals&&(e.exports=n.locals)},function(t,r){t.exports=e}])});
//# sourceMappingURL=dragresize.js.map