{"version":3,"file":"kendo.reorderable.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoreorderable","js","this","$","undefined$1","kendo","window","outerWidth","_outerWidth","outerHeight","_outerHeight","getOffset","Widget","ui","CHANGE","Reorderable","extend","init","element","options","draggable","that","group","guid","fn","call","addClass","Draggable","autoScroll","filter","hint","dropFilter","reorderDropCue","find","kendoDropTarget","dragenter","e","externalDraggableInstance","_externalDraggable","_draggable","_handleExternalDraggable","offset","dropTarget","denied","_isPartOfSortable","_dropTargetAllowed","_isLastDraggable","toggleHintClass","cueOffset","top","left","isHorizontal","orientation","smartPosition","inSameContainer","source","target","sourceIndex","_index","targetIndex","_dropTarget","css","height","zIndex","appendTo","document","body","positionDropCue","dragleave","remove","drop","dropIndex","isAfter","trigger","oldIndex","newIndex","position","bind","dragcancel","_dragcancel","dragend","_dragend","dragstart","_dragstart","drag","_drag","name","deniedIcon","allowIcon","events","length","icon","eq","draggableFilter","trimStart","substring","_dragcancelHandler","_dragendHandler","_dragstartHandler","_dragHandler","currentTarget","closest","_draggableInstance","_elements","unbind","is","sender","dropStartOffset","width","pageX","dropStartTop","pageY","dragOverContainers","clickMoveClick","hasClass","elementUnderCursor","index","externalDraggable","item","elements","get","found","pop","destroy","each","data","plugin","jQuery"],"sources":["kendo.reorderable.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.draganddrop.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.draganddrop', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoreorderable = global.kendoreorderable || {}, global.kendoreorderable.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"reorderable\",\n name: \"Reorderable\",\n category: \"framework\",\n depends: [ \"core\", \"draganddrop\", \"icons\" ],\n advanced: true\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n outerWidth = kendo._outerWidth,\n outerHeight = kendo._outerHeight,\n getOffset = kendo.getOffset,\n Widget = kendo.ui.Widget,\n CHANGE = \"change\",\n KREORDERABLE = \"k-reorderable\";\n\n var Reorderable = Widget.extend({\n init: function(element, options) {\n var that = this,\n draggable,\n group = kendo.guid() + \"-reorderable\";\n\n Widget.fn.init.call(that, element, options);\n\n element = that.element.addClass(KREORDERABLE);\n options = that.options;\n\n that.draggable = draggable = options.draggable || new kendo.ui.Draggable(element, {\n group: group,\n autoScroll: true,\n filter: options.filter,\n hint: options.hint\n });\n\n if (!that.options.dropFilter) {\n that.options.dropFilter = draggable.options.filter;\n }\n\n that.reorderDropCue = that.options.reorderDropCue;\n\n element.find(options.dropFilter).kendoDropTarget({\n group: draggable.options.group,\n dragenter: function(e) {\n var externalDraggableInstance = that._externalDraggable(e);\n\n if (!that._draggable && !externalDraggableInstance) {\n return;\n }\n\n if (externalDraggableInstance) {\n that._handleExternalDraggable(externalDraggableInstance);\n }\n\n var dropTarget = this.element, offset;\n\n var denied = that._isPartOfSortable(that._draggable) ? (!that._dropTargetAllowed(dropTarget) || that._isLastDraggable()) : false;\n\n that.toggleHintClass(e.draggable.hint, denied);\n\n if (!denied) {\n offset = getOffset(dropTarget);\n var cueOffset = { top: offset.top, left: offset.left };\n var isHorizontal = options.orientation === \"horizontal\";\n\n if (!options.smartPosition || (options.inSameContainer && !options.inSameContainer({\n source: dropTarget,\n target: that._draggable,\n sourceIndex: that._index(dropTarget),\n targetIndex: that._index(that._draggable)\n }))) {\n that._dropTarget = dropTarget;\n } else {\n if (that._index(dropTarget) > that._index(that._draggable) && options.smartPosition) {\n cueOffset[isHorizontal ? \"left\" : \"top\"] += isHorizontal ? outerWidth(dropTarget) : outerHeight(dropTarget);\n }\n }\n\n that.reorderDropCue.css({\n height: outerHeight(dropTarget),\n top: cueOffset.top,\n left: cueOffset.left,\n zIndex: 19000\n })\n .appendTo(document.body);\n\n if (options.positionDropCue) {\n options.positionDropCue(that.reorderDropCue, dropTarget);\n }\n }\n },\n dragleave: function(e) {\n that.toggleHintClass(e.draggable.hint, true);\n that.reorderDropCue.remove();\n that._dropTarget = null;\n },\n drop: function() {\n that._dropTarget = null;\n\n if (!that._draggable) {\n return;\n }\n var dropTarget = this.element;\n var draggable = that._draggable;\n var dropIndex = that._index(dropTarget);\n\n var isAfter = that.options.orientation === \"horizontal\" ?\n getOffset(that.reorderDropCue).left > getOffset(dropTarget).left :\n getOffset(that.reorderDropCue).top > getOffset(dropTarget).top;\n\n dropIndex = isAfter ? dropIndex + 1 : dropIndex;\n\n if (that._dropTargetAllowed(dropTarget) && !that._isLastDraggable() && that._index(draggable) !== dropIndex) {\n that.trigger(CHANGE, {\n element: that._draggable,\n target: dropTarget,\n oldIndex: that._index(draggable),\n newIndex: that._index(dropTarget),\n position: isAfter ? \"after\" : \"before\"\n });\n }\n\n if (that.reorderDropCue) {\n that.reorderDropCue.remove();\n }\n }\n });\n\n draggable.bind([ \"dragcancel\", \"dragend\", \"dragstart\", \"drag\" ], {\n dragcancel: that._dragcancel.bind(that),\n dragend: that._dragend.bind(that),\n dragstart: that._dragstart.bind(that),\n drag: that._drag.bind(that)\n });\n },\n\n options: {\n name: \"Reorderable\",\n filter: \"*\",\n orientation: \"horizontal\",\n deniedIcon: \"cancel\",\n allowIcon: \"plus\",\n reorderDropCue: $('
'),\n smartPosition: true\n },\n\n events: [\n CHANGE\n ],\n\n toggleHintClass: function(hint, denied) {\n var that = this,\n options = that.options;\n\n hint = $(hint);\n\n if (hint.find(\".k-drag-status\").length > 0) {\n kendo.ui.icon(hint.find(\".k-drag-status\").eq(0), { icon: denied ? options.deniedIcon : options.allowIcon });\n }\n },\n\n _handleExternalDraggable: function(draggable) {\n var that = this;\n var draggableFilter = that.options.dropFilter.trimStart();\n\n // make direct child selectors compatible with .closest()\n if (draggableFilter && draggableFilter[0] == \">\") {\n draggableFilter = draggableFilter.substring(1);\n }\n\n that._dragcancelHandler = that._dragcancel.bind(that);\n that._dragendHandler = that._dragend.bind(that);\n that._dragstartHandler = that._dragstart.bind(that);\n that._dragHandler = that._drag.bind(that);\n\n that._draggable = draggable.currentTarget.closest(draggableFilter);\n that._draggableInstance = draggable;\n that._elements = that.element.find(that.options.dropFilter);\n\n draggable.bind([ \"dragcancel\", \"dragend\", \"dragstart\", \"drag\" ], {\n dragcancel: that._dragcancelHandler,\n dragend: that._dragendHandler,\n dragstart: that._dragstartHandler,\n drag: that._dragHandler\n });\n },\n\n _dragcancel: function() {\n var that = this;\n\n if (that._draggableInstance && (that._dragcancelHandler || that._dragendHandler ||\n that._dragstartHandler || that._dragHandler)) {\n\n that._draggableInstance.unbind({\n dragcancel: that._dragcancelHandler,\n dragend: that._dragendHandler,\n dragstart: that._dragstartHandler,\n drag: that._dragHandler\n });\n }\n\n if (that.reorderDropCue) {\n that.reorderDropCue.remove();\n }\n\n that._draggable = null;\n that._elements = null;\n\n },\n _dragend: function() {\n var that = this;\n\n if (that._draggableInstance && (that._dragcancelHandler || that._dragendHandler ||\n that._dragstartHandler || that._dragHandler)) {\n\n that._draggableInstance.unbind({\n dragcancel: that._dragcancelHandler,\n dragend: that._dragendHandler,\n dragstart: that._dragstartHandler,\n drag: that._dragHandler\n });\n }\n\n if (that.reorderDropCue) {\n that.reorderDropCue.remove();\n }\n\n that._draggable = null;\n that._elements = null;\n },\n _dragstart: function(e) {\n var that = this;\n var target = $(e.currentTarget);\n var draggableFilter = that.options.dropFilter.trimStart();\n\n // make direct child selectors compatible with .closest()\n if (draggableFilter && draggableFilter[0] == \">\") {\n draggableFilter = draggableFilter.substring(1);\n }\n\n that._draggable = target.is(draggableFilter) ? target : target.closest(draggableFilter);\n that._elements = that.element.find(that.options.dropFilter);\n },\n _drag: function(e) {\n var that = this,\n dropIndex, sourceIndex, denied,\n offset = {},\n target,\n draggableFilter = that.options.dropFilter.trimStart();\n\n // make direct child selectors compatible with .closest()\n if (draggableFilter && draggableFilter[0] == \">\") {\n draggableFilter = draggableFilter.substring(1);\n }\n\n target = $(e.currentTarget).closest(draggableFilter);\n\n if (!that._dropTarget || (that.options.smartPosition && e.sender.hint.find(\".k-drag-status\").is(\".k-i-cancel,.k-svg-i-cancel\"))) {\n return;\n }\n\n dropIndex = that._index(that._dropTarget);\n sourceIndex = that._index(target);\n sourceIndex = dropIndex > sourceIndex ? sourceIndex + 1 : sourceIndex;\n\n if (that.options.orientation === \"horizontal\") {\n var dropStartOffset = getOffset(that._dropTarget).left;\n var width = outerWidth(that._dropTarget);\n\n if (e.pageX > dropStartOffset + width / 2) {\n offset.left = dropStartOffset + width;\n dropIndex += 1;\n } else {\n offset.left = dropStartOffset;\n }\n } else {\n var dropStartTop = getOffset(that._dropTarget).top;\n var height = outerHeight(that._dropTarget);\n\n if (e.pageY > dropStartTop + height / 2) {\n offset.top = dropStartTop + height;\n dropIndex += 1;\n } else {\n offset.top = dropStartTop;\n }\n }\n\n that.reorderDropCue.css(offset);\n\n if (that.options.positionDropCue) {\n that.options.positionDropCue(that.reorderDropCue, that._dropTarget);\n }\n\n if (that._isPartOfSortable(target)) {\n\n denied = sourceIndex === dropIndex ||\n (that.options.dragOverContainers && !that.options.dragOverContainers(sourceIndex, dropIndex)) ||\n e.clickMoveClick && e.currentTarget.hasClass(\"k-drag-cell\") && $(e.elementUnderCursor).closest(\".k-drag-cell\").length === 0;\n\n that.toggleHintClass(e.sender.hint, denied);\n }\n },\n\n _isPartOfSortable: function(draggable) {\n var that = this;\n\n return that._elements.index(draggable) >= 0;\n },\n\n _externalDraggable: function(e) {\n var that = this,\n options = that.options;\n\n if (!that._draggable && options.externalDraggable) {\n return options.externalDraggable(e);\n }\n\n return null;\n },\n\n _isLastDraggable: function() {\n var inSameContainer = this.options.inSameContainer,\n draggable = this._draggable[0],\n elements = this._elements.get(),\n found = false,\n item;\n\n if (!inSameContainer) {\n return false;\n }\n\n while (!found && elements.length > 0) {\n item = elements.pop();\n found = draggable !== item && inSameContainer({\n source: draggable,\n target: item,\n sourceIndex: this._index(draggable),\n targetIndex: this._index(item)\n });\n }\n\n return !found;\n },\n\n _dropTargetAllowed: function(dropTarget) {\n var inSameContainer = this.options.inSameContainer,\n dragOverContainers = this.options.dragOverContainers,\n draggable = this._draggable;\n\n if (draggable[0] === dropTarget[0]) {\n return false;\n }\n\n if (!inSameContainer || !dragOverContainers) {\n return true;\n }\n\n if (inSameContainer({ source: draggable,\n target: dropTarget,\n sourceIndex: this._index(draggable),\n targetIndex: this._index(dropTarget)\n })) {\n return true;\n }\n\n return dragOverContainers(this._index(draggable), this._index(dropTarget));\n },\n\n _index: function(element) {\n return this._elements.index(element);\n },\n\n destroy: function() {\n var that = this;\n\n\n Widget.fn.destroy.call(that);\n\n that.element.find(that.options.dropFilter).each(function() {\n var item = $(this);\n if (item.data(\"kendoDropTarget\")) {\n item.data(\"kendoDropTarget\").destroy();\n }\n });\n\n if (that.draggable) {\n that.draggable.destroy();\n\n that.draggable.element = that.draggable = null;\n }\n\n that.reorderDropCue.remove();\n that.elements = that.reorderDropCue = that._elements = that._draggable = null;\n }\n });\n\n kendo.ui.plugin(Reorderable);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}