File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/calendar/ui/tools/draganddrop/dist/draganddrop.bundle.min.js
Back
this.BX=this.BX||{};this.BX.Calendar=this.BX.Calendar||{};this.BX.Calendar.Ui=this.BX.Calendar.Ui||{};(function(t,e){"use strict";class i{constructor(t,e,i){this.maxTryDuration=50;this.stickDistanceInPercents=34;this.magnetizeDistanceInMinutes=15;this.getDateByPos=t;this.getPosByDate=e;this.getEvents=i}setFinalTimeInterval(t,e){this.finalFrom=new Date(t.getTime());this.finalTo=new Date(e.getTime())}getFinalFrom(){return this.finalFrom}getFinalTo(){return this.finalTo}onDragStart(t,e=0){this.savedDuration=t;this.tryDuration=0;this.startBoundary=this.getBoundaryFromPositionAndDuration(e,t);this.setFinalTimeInterval(this.startBoundary.from,this.startBoundary.to)}getDragBoundary(t){const e=this.previousPosition?this.previousPosition-t:0;this.previousPosition=t;this.calculateTryDuration(e);this.resetMagnetStamps(e);let i=this.getBoundaryFromPositionAndDuration(t,this.savedDuration);if(this.doMagnetize()){i=this.getMagnetizedBoundary(i,e)}i.size=this.getPosByDate(i.to)-this.getPosByDate(i.from);this.finalFrom=i.from;this.finalTo=i.to;return i}getBoundaryFromPositionAndDuration(t,e){const i=this.getDateByPos(t);const s=i?new Date(i.getTime()+e):null;return{from:i,to:s,position:t,wasMagnetized:false}}getMagnetizedBoundary(t,e){let i=t.position;let s=this.savedDuration;const n=this.getMagnetizedTimeInterval(t.from,t.to);const a=this.getPosByDate(n.from);const o=n.wasMagnetizedTo||n.wasMagnetizedFrom;if(o){i=a;s=n.to.getTime()-n.from.getTime()}if(!this.endMagnetStamp&&t.to.getTime()<n.to.getTime()&&e<0){this.endMagnetStamp=i}if(this.endMagnetStamp){if(this.endMagnetStamp+5<i){this.endMagnetStamp=null}else{i=this.endMagnetStamp}}if(!this.startMagnetStamp&&t.from.getTime()>n.from.getTime()&&e>0){this.startMagnetStamp=i}if(this.startMagnetStamp){if(a<this.startMagnetStamp){this.startMagnetStamp=null}else{i=this.startMagnetStamp}}const r=this.getDateByPos(i);const g=new Date(r.getTime()+s);return{from:r,to:g,position:i,wasMagnetized:o}}getMagnetizedTimeInterval(t,e){let i=false;let s=false;let n=new Date(t.getTime());let a=new Date(e.getTime());const o=a.getTime()-n.getTime();const r=this.magnetizeDistanceInMinutes*60*1e3;const g=this.stickDistanceInPercents/100*this.savedDuration;let m=new Date(n.getTime());m.setHours(0,0,0,0);let h=new Date(a.getTime());h.setHours(23,59,0,0);const T=this.getEvents();for(const t of T){const e=t.from.getTime();const i=t.to.getTime();if(i>m.getTime()&&i<=a.getTime()){m=new Date(i)}if(e<h.getTime()&&e>=n.getTime()){h=new Date(e)}}if(m.getTime()>=h.getTime()){return{from:n,to:a,wasMagnetizedFrom:i,wasMagnetizedTo:s}}if(m.getTime()>n.getTime()&&m.getTime()-n.getTime()<=g){n=new Date(m.getTime());a=new Date(n.getTime()+o);i=true}if(h.getTime()<a.getTime()&&a.getTime()-h.getTime()<=g){a=new Date(h.getTime());n=new Date(a.getTime()-o);s=true}if(m.getTime()>n.getTime()&&m.getTime()-n.getTime()<=g){n=new Date(m.getTime());a=new Date(n.getTime()+o);i=true}if(i&&s){n=new Date(m.getTime());a=new Date(h.getTime())}if(!i&&!s){if(n.getTime()>m.getTime()&&n.getTime()-m.getTime()<=r){i=true}if(h.getTime()>a.getTime()&&h.getTime()-a.getTime()<=r){s=true}if(i&&!s){n=new Date(m.getTime());a=new Date(n.getTime()+o)}if(s&&!i){a=new Date(h.getTime());n=new Date(a.getTime()-o)}}return{from:n,to:a,wasMagnetizedFrom:i,wasMagnetizedTo:s}}resetMagnetStamps(t){if(t>0){this.endMagnetStamp=null}if(t<0){this.startMagnetStamp=null}}calculateTryDuration(t){if(Math.abs(t)<1){this.tryDuration++}if(Math.abs(t)>3){this.tryDuration=0}}doMagnetize(){return!e.Util.isAnyModifierKeyPressed()&&!this.isUserTryingToTurnOffMagnet()}isUserTryingToTurnOffMagnet(){return this.tryDuration>this.maxTryDuration}}class s{constructor(t,e){this.getDateByPos=t;this.getPosByDate=e}getFinalFrom(){return this.from}getFinalTo(){return this.to}onDragStart(t,e=0,i=false){this.from=t.from;this.to=t.to;this.isStartResizer=i;this.direction=i?-1:1;this.positionStart=this.getPosByDate(this.from);this.positionEnd=this.getPosByDate(this.to);this.size=this.positionEnd-this.positionStart;this.minSize=e}getDragBoundary(t){const e=Math.max(this.size+t*this.direction,this.minSize);if(this.isStartResizer){this.positionStart=this.positionEnd-e;const t=this.getDateByPos(this.positionStart);this.from.setHours(t.getHours(),t.getMinutes(),0,0)}else{this.positionEnd=this.positionStart+e;const t=this.getDateByPos(this.positionEnd);this.to.setHours(t.getHours(),t.getMinutes(),0,0)}return{from:this.from,to:this.to,position:this.positionStart,size:e}}}t.EventDragAndDrop=i;t.ResizeDragAndDrop=s})(this.BX.Calendar.Ui.Tools=this.BX.Calendar.Ui.Tools||{},BX.Calendar); //# sourceMappingURL=draganddrop.bundle.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings