File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/calendar/ui/tools/draganddrop/dist/draganddrop.bundle.js.map
Back
{"version":3,"file":"draganddrop.bundle.js","sources":["../src/draganddropinterface.js","../src/eventdraganddrop.js","../src/resizedraganddrop.js"],"sourcesContent":["/**\n * @interface\n */\nexport default class DragAndDropInterface\n{\n\tonDragStart() {}\n\n\tgetDragBoundary() {}\n\n\tgetFinalFrom() {}\n\n\tgetFinalTo() {}\n}\n","import DragAndDropInterface from './draganddropinterface';\nimport { Util } from 'calendar.util';\n\n/**\n * @implements DragAndDropInterface\n */\nexport class EventDragAndDrop implements DragAndDropInterface\n{\n\tmaxTryDuration = 50;\n\t// stickDistanceInMinutes = 30;\n\tstickDistanceInPercents = 34;\n\tmagnetizeDistanceInMinutes = 15;\n\n\tconstructor(getDateByPos, getPosByDate, getEvents)\n\t{\n\t\tthis.getDateByPos = getDateByPos;\n\t\tthis.getPosByDate = getPosByDate;\n\t\tthis.getEvents = getEvents;\n\t}\n\n\tsetFinalTimeInterval(from, to)\n\t{\n\t\tthis.finalFrom = new Date(from.getTime());\n\t\tthis.finalTo = new Date(to.getTime());\n\t}\n\n\tgetFinalFrom()\n\t{\n\t\treturn this.finalFrom;\n\t}\n\n\tgetFinalTo()\n\t{\n\t\treturn this.finalTo;\n\t}\n\n\tonDragStart(duration, startPosition = 0)\n\t{\n\t\tthis.savedDuration = duration;\n\t\tthis.tryDuration = 0;\n\t\tthis.startBoundary = this.getBoundaryFromPositionAndDuration(startPosition, duration);\n\t\tthis.setFinalTimeInterval(this.startBoundary.from, this.startBoundary.to);\n\t}\n\n\tgetDragBoundary(position)\n\t{\n\t\tconst diff = this.previousPosition ? this.previousPosition - position : 0;\n\t\tthis.previousPosition = position;\n\t\tthis.calculateTryDuration(diff);\n\t\tthis.resetMagnetStamps(diff);\n\n\t\tlet boundary = this.getBoundaryFromPositionAndDuration(position, this.savedDuration);\n\t\tif (this.doMagnetize())\n\t\t{\n\t\t\tboundary = this.getMagnetizedBoundary(boundary, diff);\n\t\t}\n\t\tboundary.size = this.getPosByDate(boundary.to) - this.getPosByDate(boundary.from);\n\n\t\tthis.finalFrom = boundary.from;\n\t\tthis.finalTo = boundary.to;\n\t\treturn boundary;\n\t}\n\n\tgetBoundaryFromPositionAndDuration(position, duration)\n\t{\n\t\tconst from = this.getDateByPos(position);\n\t\tconst to = from ? new Date(from.getTime() + duration) : null;\n\t\treturn { from, to, position, wasMagnetized: false };\n\t}\n\n\tgetMagnetizedBoundary(boundary, diff)\n\t{\n\t\tlet position = boundary.position;\n\t\tlet duration = this.savedDuration;\n\n\t\tconst magnetizedTimeInterval = this.getMagnetizedTimeInterval(boundary.from, boundary.to);\n\t\tconst magnetizedFromPosition = this.getPosByDate(magnetizedTimeInterval.from);\n\t\tconst wasMagnetized = magnetizedTimeInterval.wasMagnetizedTo || magnetizedTimeInterval.wasMagnetizedFrom;\n\t\tif (wasMagnetized)\n\t\t{\n\t\t\tposition = magnetizedFromPosition;\n\t\t\tduration = magnetizedTimeInterval.to.getTime() - magnetizedTimeInterval.from.getTime();\n\t\t}\n\n\t\t// stabilize magnets\n\t\tif (!this.endMagnetStamp && boundary.to.getTime() < magnetizedTimeInterval.to.getTime() && diff < 0)\n\t\t{\n\t\t\tthis.endMagnetStamp = position;\n\t\t}\n\t\tif (this.endMagnetStamp)\n\t\t{\n\t\t\tif (this.endMagnetStamp + 5 < position)\n\t\t\t{\n\t\t\t\tthis.endMagnetStamp = null;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tposition = this.endMagnetStamp;\n\t\t\t}\n\t\t}\n\t\tif (!this.startMagnetStamp && boundary.from.getTime() > magnetizedTimeInterval.from.getTime() && diff > 0)\n\t\t{\n\t\t\tthis.startMagnetStamp = position;\n\t\t}\n\t\tif (this.startMagnetStamp)\n\t\t{\n\t\t\tif (magnetizedFromPosition < this.startMagnetStamp)\n\t\t\t{\n\t\t\t\tthis.startMagnetStamp = null;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tposition = this.startMagnetStamp;\n\t\t\t}\n\t\t}\n\n\t\tconst from = this.getDateByPos(position);\n\t\tconst to = new Date(from.getTime() + duration);\n\t\treturn { from, to, position, wasMagnetized };\n\t}\n\n\t/**\n\t * stick - behavior when dragged event intersects with another event\n\t * and we push dragged event to top or to bottom of another event\n\t *\n\t * magnetize - behavior when dragged event is close to another event\n\t * and we move it closer to another event\n\t */\n\tgetMagnetizedTimeInterval(fromDate, toDate)\n\t{\n\t\tlet wasMagnetizedFrom = false;\n\t\tlet wasMagnetizedTo = false;\n\t\tlet from = new Date(fromDate.getTime());\n\t\tlet to = new Date(toDate.getTime());\n\t\tconst duration = to.getTime() - from.getTime();\n\t\tconst magnetDistance = this.magnetizeDistanceInMinutes * 60 * 1000;\n\t\tconst stickDistance = (this.stickDistanceInPercents / 100) * this.savedDuration;\n\n\t\t// find lowest fromDate and highest toDate\n\t\tlet fromDateMax = new Date(from.getTime());\n\t\tfromDateMax.setHours(0, 0, 0, 0);\n\t\tlet toDateMin = new Date(to.getTime());\n\t\ttoDateMin.setHours(23, 59, 0, 0);\n\n\t\tconst events = this.getEvents();\n\t\tfor (const event of events)\n\t\t{\n\t\t\tconst eventFrom = event.from.getTime();\n\t\t\tconst eventTo = event.to.getTime();\n\n\t\t\tif (eventTo > fromDateMax.getTime() && eventTo <= to.getTime())\n\t\t\t{\n\t\t\t\tfromDateMax = new Date(eventTo);\n\t\t\t}\n\n\t\t\tif (eventFrom < toDateMin.getTime() && eventFrom >= from.getTime())\n\t\t\t{\n\t\t\t\ttoDateMin = new Date(eventFrom);\n\t\t\t}\n\t\t}\n\n\t\t// if too many events\n\t\tif (fromDateMax.getTime() >= toDateMin.getTime())\n\t\t{\n\t\t\treturn { from, to, wasMagnetizedFrom, wasMagnetizedTo };\n\t\t}\n\n\t\t// stick\n\t\tif (fromDateMax.getTime() > from.getTime() && (fromDateMax.getTime() - from.getTime() <= stickDistance))\n\t\t{\n\t\t\tfrom = new Date(fromDateMax.getTime());\n\t\t\tto = new Date(from.getTime() + duration);\n\t\t\twasMagnetizedFrom = true;\n\t\t}\n\t\tif (toDateMin.getTime() < to.getTime() && (to.getTime() - toDateMin.getTime() <= stickDistance))\n\t\t{\n\t\t\tto = new Date(toDateMin.getTime());\n\t\t\tfrom = new Date(to.getTime() - duration);\n\t\t\twasMagnetizedTo = true;\n\t\t}\n\t\tif (fromDateMax.getTime() > from.getTime() && (fromDateMax.getTime() - from.getTime() <= stickDistance))\n\t\t{\n\t\t\tfrom = new Date(fromDateMax.getTime());\n\t\t\tto = new Date(from.getTime() + duration);\n\t\t\twasMagnetizedFrom = true;\n\t\t}\n\t\tif (wasMagnetizedFrom && wasMagnetizedTo)\n\t\t{\n\t\t\tfrom = new Date(fromDateMax.getTime());\n\t\t\tto = new Date(toDateMin.getTime());\n\t\t}\n\n\t\t// magnetize\n\t\tif (!wasMagnetizedFrom && !wasMagnetizedTo)\n\t\t{\n\t\t\tif (from.getTime() > fromDateMax.getTime() && (from.getTime() - fromDateMax.getTime() <= magnetDistance))\n\t\t\t{\n\t\t\t\twasMagnetizedFrom = true;\n\t\t\t}\n\t\t\tif (toDateMin.getTime() > to.getTime() && (toDateMin.getTime() - to.getTime() <= magnetDistance))\n\t\t\t{\n\t\t\t\twasMagnetizedTo = true;\n\t\t\t}\n\t\t\tif (wasMagnetizedFrom && !wasMagnetizedTo)\n\t\t\t{\n\t\t\t\tfrom = new Date(fromDateMax.getTime());\n\t\t\t\tto = new Date(from.getTime() + duration);\n\t\t\t}\n\t\t\tif (wasMagnetizedTo && !wasMagnetizedFrom)\n\t\t\t{\n\t\t\t\tto = new Date(toDateMin.getTime());\n\t\t\t\tfrom = new Date(to.getTime() - duration);\n\t\t\t}\n\t\t}\n\n\t\treturn { from, to, wasMagnetizedFrom, wasMagnetizedTo };\n\t}\n\n\tresetMagnetStamps(diff)\n\t{\n\t\tif (diff > 0)\n\t\t{\n\t\t\tthis.endMagnetStamp = null;\n\t\t}\n\t\tif (diff < 0)\n\t\t{\n\t\t\tthis.startMagnetStamp = null;\n\t\t}\n\t}\n\n\tcalculateTryDuration(diff)\n\t{\n\t\tif (Math.abs(diff) < 1)\n\t\t{\n\t\t\tthis.tryDuration++;\n\t\t}\n\t\tif (Math.abs(diff) > 3)\n\t\t{\n\t\t\tthis.tryDuration = 0;\n\t\t}\n\t}\n\n\tdoMagnetize()\n\t{\n\t\treturn !Util.isAnyModifierKeyPressed() && !this.isUserTryingToTurnOffMagnet();\n\t}\n\n\tisUserTryingToTurnOffMagnet()\n\t{\n\t\treturn this.tryDuration > this.maxTryDuration;\n\t}\n\n}\n","import DragAndDropInterface from './draganddropinterface';\n\n/**\n * @implements DragAndDropInterface\n */\nexport class ResizeDragAndDrop implements DragAndDropInterface\n{\n\n\tconstructor(getDateByPos, getPosByDate)\n\t{\n\t\tthis.getDateByPos = getDateByPos;\n\t\tthis.getPosByDate = getPosByDate;\n\t}\n\n\tgetFinalFrom()\n\t{\n\t\treturn this.from;\n\t}\n\n\tgetFinalTo()\n\t{\n\t\treturn this.to;\n\t}\n\n\tonDragStart(timeInterval, minSize = 0, isStartResizer = false)\n\t{\n\t\tthis.from = timeInterval.from;\n\t\tthis.to = timeInterval.to;\n\t\tthis.isStartResizer = isStartResizer;\n\t\tthis.direction = isStartResizer ? -1 : 1;\n\n\t\tthis.positionStart = this.getPosByDate(this.from);\n\t\tthis.positionEnd = this.getPosByDate(this.to);\n\t\tthis.size = this.positionEnd - this.positionStart;\n\t\tthis.minSize = minSize;\n\t}\n\n\tgetDragBoundary(dy)\n\t{\n\t\tconst size = Math.max(this.size + dy * this.direction, this.minSize);\n\n\t\tif (this.isStartResizer)\n\t\t{\n\t\t\tthis.positionStart = this.positionEnd - size;\n\t\t\tconst timeFrom = this.getDateByPos(this.positionStart);\n\t\t\tthis.from.setHours(timeFrom.getHours(), timeFrom.getMinutes(), 0, 0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.positionEnd = this.positionStart + size;\n\t\t\tconst timeTo = this.getDateByPos(this.positionEnd);\n\t\t\tthis.to.setHours(timeTo.getHours(), timeTo.getMinutes(), 0, 0);\n\t\t}\n\n\t\treturn { from: this.from, to: this.to, position: this.positionStart, size };\n\t}\n\n}\n"],"names":["EventDragAndDrop","constructor","getDateByPos","getPosByDate","getEvents","maxTryDuration","stickDistanceInPercents","magnetizeDistanceInMinutes","setFinalTimeInterval","from","to","finalFrom","Date","getTime","finalTo","getFinalFrom","getFinalTo","onDragStart","duration","startPosition","savedDuration","tryDuration","startBoundary","getBoundaryFromPositionAndDuration","getDragBoundary","position","diff","previousPosition","calculateTryDuration","resetMagnetStamps","boundary","doMagnetize","getMagnetizedBoundary","size","wasMagnetized","magnetizedTimeInterval","getMagnetizedTimeInterval","magnetizedFromPosition","wasMagnetizedTo","wasMagnetizedFrom","endMagnetStamp","startMagnetStamp","fromDate","toDate","magnetDistance","stickDistance","fromDateMax","setHours","toDateMin","events","event","eventFrom","eventTo","Math","abs","Util","isAnyModifierKeyPressed","isUserTryingToTurnOffMagnet","ResizeDragAndDrop","timeInterval","minSize","isStartResizer","direction","positionStart","positionEnd","dy","max","timeFrom","getHours","getMinutes","timeTo"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings