{"version":3,"sources":["kendo.tilelayout.js"],"names":["f","define","$","containsOrEqualTo","parent","child","contains","e","kendo","window","ui","Widget","Draggable","keys","selector","selectorFromClasses","RESIZE","REORDER","NS","DOWNCURSOR","RIGHTCURSOR","DIAGONALCURSOR","RTLDIAGONALCURSOR","GRABCURSOR","GRABBINGCURSOR","MINIMALSPAN","CURSORCLASSES","tileLayoutStyles","wrapper","item","itemHeader","itemHeaderTitle","itemBody","reorderHint","resizeHint","TileLayout","extend","init","element","options","that","this","fn","call","cssNumber","gridColumnStart","gridColumnEnd","gridRowStart","gridRowEnd","addClass","styles","_setWrapperStyles","_initContainers","_resizable","_navigatable","_reorderable","events","name","columns","gap","rows","containers","resizable","reorderable","navigatable","columnsWidth","rowsHeight","height","width","destroy","_draggableInstance","find","each","data","draggable","resizeHandle","off","remove","setOptions","deepExtend","empty","getOptions","result","items","id","container","header","headerSettings","body","containerSettings","headerContent","i","containerElements","children","hasElements","length","itemsMap","guid","current","attr","_addContainer","template","text","append","appendTo","bodyTemplate","Error","index","order","_setContainerCoordinates","push","css","grid-template-columns","format","grid-auto-rows","column-gap","padding","row-gap","settings","grid-column-end","colSpan","grid-row-end","rowSpan","_updateContainers","_createResizeHandle","side","down","_isresizing","_positionResizeHandle","cursorClass","leftBorderWidth","parseFloat","bottomBorderWidth","containerHeight","containerWidth","top","left","support","isRtl","removeClass","show","_createResizeHint","hint","insertAfter","_removeResizeHint","_positionHint","_removeAbsoluteStyles","_positionAbsolutely","position","outerWidth","outerHeight","on","proxy","_keyDown","target","canHandle","is","ctrlKey","keyCode","LEFT","_resizeItem","RIGHT","UP","DOWN","shiftKey","_reorderItem","preventDefault","dir","delta","newSpan","maxSpan","parseInt","replace","split","newOrder","oldOrder","maxOrder","_updateDOM","focus","_sortContainers","indexAttr","sort","a","b","indexA","indexB","undefined","fractionWidth","fractionHeight","currentContainer","rowsCount","lastXLocation","lastYLocation","initialWidth","initialHeight","startColSpan","startRowSpan","itemsMaxSpace","rectPosition","getBoundingClientRect","rightPosition","Math","abs","right","clientX","downPosition","bottom","clientY","Resizable","handle","start","currentTarget","_calculateFractionWidth","_calculateRightEndSide","x","location","scrollHeight","y","resize","overflowsLayout","isBeyondMinimum","hintColumns","hintRows","mouseDeltaX","mouseDeltaY","deltaFromStart","resizeRowsCount","resizeColumnsCount","clientRect","scrollX","floor","max","scrollY","resizeend","trigger","first","totalWidth","columnGap","_createDropHint","dropHint","columnEnd","rowEnd","direction","_insertDropHint","insertBefore","_removeDropHint","originalElement","itemSelector","headerSelector","group","filter","autoScroll","closest","clone","dragstart","drag","dropContainer","containerBoundaries","pixelsToLeftBorder","pixelsToRightBorder","futureContainer","elementUnderCursor","sender","draggedItem","hide","hasClass","next","prev","dragend","itemId","end","min","newIndex","oldIndex","kendoDropTarget","dragenter","dropContainerBoundaries","dropTarget","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.tilelayout.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.tilelayout', [\n 'kendo.core',\n 'kendo.draganddrop',\n 'kendo.resizable'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'tilelayout',\n name: 'TileLayout',\n category: 'web',\n depends: ['core']\n };\n (function ($) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, Draggable = ui.Draggable, keys = kendo.keys, selector = kendo.selectorFromClasses, RESIZE = 'resize', REORDER = 'reorder', NS = '.kendoTileLayout', DOWNCURSOR = 'k-cursor-ns-resize', RIGHTCURSOR = 'k-cursor-ew-resize', DIAGONALCURSOR = 'k-cursor-nwse-resize', RTLDIAGONALCURSOR = 'k-cursor-nesw-resize', GRABCURSOR = 'k-cursor-grab', GRABBINGCURSOR = 'k-cursor-grabbing', MINIMALSPAN = 1, CURSORCLASSES = 'k-cursor-nesw-resize k-cursor-nwse-resize k-cursor-ew-resize k-cursor-ns-resize';\n var tileLayoutStyles = {\n wrapper: 'k-widget k-tilelayout',\n item: 'k-tilelayout-item k-card',\n itemHeader: 'k-tilelayout-item-header k-card-header',\n itemHeaderTitle: 'k-card-title',\n itemBody: 'k-tilelayout-item-body k-card-body',\n reorderHint: 'k-layout-item-hint k-layout-item-hint-reorder',\n resizeHint: 'k-layout-item-hint k-layout-item-hint-resize'\n };\n var TileLayout = Widget.extend({\n init: function (element, options) {\n var that = this;\n Widget.fn.init.call(that, element, options);\n $.cssNumber.gridColumnStart = true;\n $.cssNumber.gridColumnEnd = true;\n $.cssNumber.gridRowStart = true;\n $.cssNumber.gridRowEnd = true;\n that.element = $(element).addClass(TileLayout.styles.wrapper);\n that._setWrapperStyles();\n that._initContainers();\n that._resizable();\n that._navigatable();\n that._reorderable();\n },\n events: [\n RESIZE,\n REORDER\n ],\n options: {\n name: 'TileLayout',\n columns: null,\n gap: {\n columns: 16,\n rows: 16\n },\n containers: [],\n resizable: false,\n reorderable: false,\n navigatable: false,\n columnsWidth: '1fr',\n rowsHeight: '1fr',\n height: '',\n width: ''\n },\n destroy: function () {\n Widget.fn.destroy.call(this);\n if (this._draggableInstance) {\n this.element.find('.k-tilelayout-item').each(function () {\n var item = $(this);\n if (item.data('kendoDropTarget')) {\n item.data('kendoDropTarget').destroy();\n }\n });\n this._draggableInstance.destroy();\n this._draggableInstance.element = this._draggableInstance.draggable = null;\n }\n if (this.resizable) {\n this.resizable.destroy();\n this.resizable = null;\n }\n if (this.resizeHandle) {\n this.resizeHandle.off(NS).remove();\n this.resizeHandle = null;\n }\n this.element.off(NS);\n },\n setOptions: function (options) {\n this.destroy();\n kendo.deepExtend(this.options, options);\n this.element.empty();\n this.init(this.element, this.options);\n },\n getOptions: function () {\n var result = $.extend(true, {}, this.options);\n result.containers = kendo.deepExtend([], this.items);\n return result;\n },\n _initContainers: function () {\n var that = this;\n var containers = that.options.containers;\n var containerElements = that.element.children();\n var hasElements = !!containerElements.length;\n var id;\n var container;\n var header;\n var headerSettings;\n var body;\n var containerSettings;\n var headerContent;\n that.items = [];\n that.itemsMap = {};\n if (hasElements) {\n containerElements.each(function (i, element) {\n id = kendo.guid();\n var current = $(element).addClass(TileLayout.styles.item).attr('id', id);\n that._addContainer(current, containers[i], i, id);\n });\n } else {\n for (var i = 0; i < containers.length; i++) {\n id = kendo.guid();\n containerSettings = containers[i];\n container = $('
').addClass(TileLayout.styles.item).attr('id', id);\n headerSettings = containerSettings.header;\n if (headerSettings && (headerSettings.template || headerSettings.text)) {\n header = $('
').addClass(TileLayout.styles.itemHeader);\n if (that.options.reorderable) {\n header.addClass(GRABCURSOR);\n }\n if (headerSettings.text) {\n headerContent = '
' + headerSettings.text + '
';\n }\n header.append(headerContent || kendo.template(headerSettings.template)({}));\n header.appendTo(container);\n }\n body = $('
').addClass(TileLayout.styles.itemBody);\n if (!containerSettings.bodyTemplate) {\n throw new Error('Having a bodyTemplate for the container is mandatory');\n }\n body.append(kendo.template(containerSettings.bodyTemplate)({}));\n body.appendTo(container);\n container.appendTo(that.element);\n that._addContainer(container, containerSettings, i, id);\n }\n }\n },\n _addContainer: function (element, item, index, id) {\n var that = this;\n item.order = typeof item.order == 'number' ? item.order : index;\n element.attr(kendo.attr('index'), item.order);\n item.id = id;\n that._setContainerCoordinates(element, item);\n that.itemsMap[id] = item;\n that.items.push(that.itemsMap[id]);\n },\n _setWrapperStyles: function () {\n var that = this;\n var options = that.options;\n that.element.css({\n 'grid-template-columns': kendo.format('repeat({0}, minmax(0, {1}))', options.columns, typeof options.columnsWidth === 'string' ? options.columnsWidth : options.columnsWidth + 'px'),\n 'grid-auto-rows': kendo.format('minmax(0, {0})', typeof options.rowsHeight === 'string' ? options.rowsHeight : options.rowsHeight + 'px'),\n 'column-gap': options.gap.columns,\n 'width': typeof options.width === 'string' ? options.width : options.width + 'px',\n 'height': typeof options.height === 'string' ? options.height : options.height + 'px',\n 'padding': options.gap.rows + 'px ' + options.gap.columns + 'px ',\n 'row-gap': options.gap.rows\n });\n },\n _setContainerCoordinates: function (element, settings) {\n if (!settings) {\n return;\n }\n element.css({\n 'order': settings.order,\n 'grid-column-end': kendo.format('span {0}', settings.colSpan),\n 'grid-row-end': kendo.format('span {0}', settings.rowSpan)\n }).attr(kendo.attr('index'), settings.order);\n },\n _updateContainers: function () {\n var that = this;\n for (var i = 0; i < that.items.length; i++) {\n that._setContainerCoordinates(that.element.find('#' + that.items[i].id), that.items[i]);\n }\n },\n _createResizeHandle: function (container, side, down) {\n var that = this;\n if (that._isresizing) {\n return;\n }\n if (that.resizeHandle && that.resizeHandle.data('div')[0] !== container[0]) {\n that.resizeHandle.off(NS).remove();\n that.resizeHandle = null;\n }\n if (!that.resizeHandle) {\n that.resizeHandle = $('
');\n that.resizeHandle.appendTo(container);\n }\n that._positionResizeHandle(container, side, down);\n },\n _positionResizeHandle: function (container, side, down) {\n var that = this;\n var leftBorderWidth = parseFloat(container.css('borderRightWidth'));\n var bottomBorderWidth = parseFloat(container.css('borderBottomWidth'));\n var containerHeight = container.height();\n var containerWidth = container.width();\n var top = down ? containerHeight - 6.5 - bottomBorderWidth : 0;\n var left = side ? containerWidth - 4.5 - leftBorderWidth : 0;\n var width = 9;\n var height = 9;\n var cursorClass;\n if (side && down) {\n height = width = 25;\n top -= 12.5;\n left -= 12.5;\n cursorClass = kendo.support.isRtl(that.element) ? RTLDIAGONALCURSOR : DIAGONALCURSOR;\n } else if (side && !down) {\n height = containerHeight;\n cursorClass = RIGHTCURSOR;\n } else if (!side && down) {\n width = containerWidth;\n cursorClass = DOWNCURSOR;\n }\n that.resizeHandle.css({\n top: top,\n left: left,\n height: height,\n width: width\n }).attr('side', side).attr('down', down).removeClass(CURSORCLASSES).addClass(cursorClass).data('div', container).show();\n },\n _createResizeHint: function (container) {\n var that = this;\n if (that.hint) {\n return;\n }\n var colSpan = container.css('grid-column-end');\n var rowSpan = container.css('grid-row-end');\n var order = container.css('order');\n that.hint = $('
').css({\n 'order': order,\n 'grid-column-end': colSpan,\n 'grid-row-end': rowSpan\n }).insertAfter(container);\n },\n _removeResizeHint: function () {\n if (this._isresizing) {\n return;\n }\n if (this.hint) {\n this.hint.remove();\n this.hint = null;\n }\n },\n _positionHint: function (colSpan, rowSpan) {\n var that = this;\n if (colSpan) {\n that.hint.css('grid-column-end', kendo.format('span {0}', colSpan));\n }\n if (rowSpan) {\n that.hint.css('grid-row-end', kendo.format('span {0}', rowSpan));\n }\n },\n _removeAbsoluteStyles: function (container) {\n container.css('position', '');\n container.css('left', '');\n container.css('top', '');\n container.css('width', '');\n container.css('height', '');\n container.css('z-index', '');\n },\n _positionAbsolutely: function (container) {\n if (container.css('position') == 'absolute') {\n return;\n }\n var position = container.position();\n var width = container.outerWidth();\n var height = container.outerHeight();\n container.css('position', 'absolute');\n container.css('left', position.left);\n container.css('top', position.top);\n container.css('width', width);\n container.css('height', height);\n container.css('z-index', 2);\n },\n _navigatable: function () {\n if (!this.options.navigatable) {\n return;\n }\n var that = this;\n that.element.children().attr('tabindex', 0);\n that.element.on('keydown' + NS, that, $.proxy(that._keyDown, that));\n },\n _keyDown: function (e) {\n var target = $(e.target);\n var canHandle = false;\n if (!target.is('.k-tilelayout-item.k-card')) {\n return;\n }\n if (e.ctrlKey && e.keyCode == keys.LEFT) {\n canHandle = true;\n this._resizeItem(target, 'horizontal', -1);\n }\n if (e.ctrlKey && e.keyCode == keys.RIGHT) {\n canHandle = true;\n this._resizeItem(target, 'horizontal', 1);\n }\n if (e.ctrlKey && e.keyCode == keys.UP) {\n canHandle = true;\n this._resizeItem(target, 'vertical', -1);\n }\n if (e.ctrlKey && e.keyCode == keys.DOWN) {\n canHandle = true;\n this._resizeItem(target, 'vertical', 1);\n }\n if (e.shiftKey && e.keyCode == keys.LEFT) {\n canHandle = true;\n this._reorderItem(target, -1);\n }\n if (e.shiftKey && e.keyCode == keys.RIGHT) {\n canHandle = true;\n this._reorderItem(target, 1);\n }\n if (canHandle) {\n e.preventDefault();\n }\n },\n _resizeItem: function (item, dir, delta) {\n var that = this;\n var id = item.attr('id');\n var newSpan;\n var maxSpan;\n if (!that.options.resizable) {\n return;\n }\n if (dir === 'horizontal') {\n newSpan = parseInt(item.css('grid-column-end').replace('span', ''), 10) + delta;\n maxSpan = that.element.css('grid-template-columns').split(' ').length;\n if (maxSpan >= newSpan && newSpan > 0) {\n that.itemsMap[id].colSpan = newSpan;\n item.css({ 'grid-column-end': kendo.format('span {0}', newSpan) });\n }\n } else {\n newSpan = parseInt(item.css('grid-row-end').replace('span', ''), 10) + delta;\n maxSpan = that.element.css('grid-template-rows').split(' ').length;\n if (maxSpan >= newSpan && newSpan > 0) {\n that.itemsMap[id].rowSpan = newSpan;\n item.css({ 'grid-row-end': kendo.format('span {0}', newSpan) });\n }\n }\n },\n _reorderItem: function (item, newOrder) {\n if (!this.options.reorderable) {\n return;\n }\n var oldOrder = parseInt(item.css('order'), 10);\n var maxOrder = this.element.children().length;\n newOrder = oldOrder + newOrder;\n if (newOrder >= 0 && newOrder < maxOrder) {\n var target = this.element.find('> [' + kendo.attr('index') + '=\\'' + newOrder + '\\']');\n this.itemsMap[item.attr('id')].order = newOrder;\n this.itemsMap[target.attr('id')].order = oldOrder;\n this._updateContainers();\n this._updateDOM();\n item.focus();\n }\n },\n _sortContainers: function (containers) {\n var indexAttr = kendo.attr('index');\n return containers.sort(function (a, b) {\n a = $(a);\n b = $(b);\n var indexA = a.attr(indexAttr);\n var indexB = b.attr(indexAttr);\n if (indexA === undefined) {\n indexA = $(a).index();\n }\n if (indexB === undefined) {\n indexB = $(b).index();\n }\n indexA = parseInt(indexA, 10);\n indexB = parseInt(indexB, 10);\n return indexA > indexB ? 1 : indexA < indexB ? -1 : 0;\n });\n },\n _updateDOM: function () {\n var that = this;\n var containers = that.element.children(':visible');\n containers = that._sortContainers(containers);\n containers.each(function () {\n $(this).appendTo(that.element);\n });\n },\n _resizable: function () {\n var that = this;\n var side;\n var down;\n var id;\n var fractionWidth;\n var fractionHeight;\n var currentContainer;\n var lastXLocation = 0;\n var lastYLocation = 0;\n var initialWidth = 0;\n var initialHeight = 0;\n var startColSpan = 0;\n var startRowSpan = 0;\n var itemsMaxSpace = 0;\n var rowsCount;\n if (that.options.resizable) {\n that.element.on('mousemove' + NS, selector(TileLayout.styles.item), function (e) {\n var rightPosition;\n var downPosition;\n var container = $(this);\n var rectPosition = container[0].getBoundingClientRect();\n rightPosition = Math.abs(rectPosition.right - e.clientX) < 16;\n downPosition = Math.abs(rectPosition.bottom - e.clientY) < 16;\n if (rightPosition && downPosition) {\n that._createResizeHandle(container, true, true);\n } else if (rightPosition) {\n that._createResizeHandle(container, true, false);\n } else if (downPosition) {\n that._createResizeHandle(container, false, true);\n }\n });\n that.resizable = new ui.Resizable(that.element, {\n handle: 'div.k-tilelayout-item > .k-resize-handle',\n start: function (e) {\n var resizeHandle = $(e.currentTarget);\n currentContainer = resizeHandle.data('div');\n id = currentContainer.attr('id');\n side = resizeHandle.attr('side');\n down = resizeHandle.attr('down');\n rowsCount = that.element.css('grid-template-rows').split(' ').length;\n if (side) {\n fractionWidth = that._calculateFractionWidth();\n itemsMaxSpace = that._calculateRightEndSide(fractionWidth);\n lastXLocation = e.x.location;\n initialWidth = currentContainer.width();\n startColSpan = parseInt(currentContainer.css('grid-column-end').replace('span', ''), 10);\n }\n if (down) {\n fractionHeight = (that.element[0].scrollHeight - (rowsCount + 1) * that.options.gap.rows) / rowsCount;\n lastYLocation = e.y.location;\n initialHeight = currentContainer.height();\n startRowSpan = parseInt(currentContainer.css('grid-row-end').replace('span', ''), 10);\n }\n that._isresizing = true;\n },\n resize: function (e) {\n var hintColumns = 0;\n var hintRows = 0;\n var mouseDeltaX = 0;\n var mouseDeltaY = 0;\n var overflowsLayout;\n var isBeyondMinimum;\n var deltaFromStart = 0;\n var resizeRowsCount = 0;\n var resizeColumnsCount = 0;\n var clientRect = that.element[0].getBoundingClientRect();\n that._positionAbsolutely(currentContainer);\n that._createResizeHint(currentContainer);\n if (side == 'true') {\n mouseDeltaX = e.x.location - lastXLocation;\n overflowsLayout = clientRect.left + itemsMaxSpace - window.scrollX - e.x.location < that.options.gap.columns;\n isBeyondMinimum = initialWidth + mouseDeltaX < fractionWidth;\n if (!overflowsLayout && !isBeyondMinimum) {\n resizeColumnsCount = mouseDeltaX / (fractionWidth + that.options.gap.columns);\n deltaFromStart = mouseDeltaX - Math.floor(resizeColumnsCount) * (fractionWidth + that.options.gap.columns);\n hintColumns = startColSpan + Math.floor(resizeColumnsCount) + (deltaFromStart >= fractionWidth / 2 ? 1 : 0);\n that.itemsMap[id].colSpan = Math.max(hintColumns, MINIMALSPAN);\n } else {\n mouseDeltaX = 0;\n }\n }\n if (down == 'true') {\n mouseDeltaY = e.y.location - lastYLocation;\n overflowsLayout = clientRect.bottom + window.scrollY - e.y.location < that.options.gap.rows;\n isBeyondMinimum = initialHeight + mouseDeltaY <= fractionHeight;\n if (!overflowsLayout && !isBeyondMinimum) {\n resizeRowsCount = mouseDeltaY / (fractionHeight + that.options.gap.rows);\n deltaFromStart = mouseDeltaY - Math.floor(resizeRowsCount) * (fractionHeight + that.options.gap.rows);\n hintRows = startRowSpan + Math.floor(resizeRowsCount) + (deltaFromStart >= fractionHeight / 2 ? 1 : 0);\n that.itemsMap[id].rowSpan = Math.max(hintRows, MINIMALSPAN);\n } else {\n mouseDeltaY = 0;\n }\n }\n that._positionHint(hintColumns, hintRows);\n that._positionResizeHandle(currentContainer, side == 'true', down == 'true');\n if (mouseDeltaY) {\n currentContainer.css('height', initialHeight + mouseDeltaY);\n }\n if (mouseDeltaX) {\n currentContainer.css('width', initialWidth + mouseDeltaX);\n }\n },\n resizeend: function () {\n that._isresizing = false;\n that._setContainerCoordinates(currentContainer, that.itemsMap[id]);\n that._removeAbsoluteStyles(currentContainer);\n that._removeResizeHint();\n that.trigger(RESIZE, { container: currentContainer });\n }\n });\n }\n },\n _calculateFractionWidth: function () {\n var that = this;\n var container = that.element.children().first();\n var colSpan = that.itemsMap[container.attr('id')].colSpan;\n var totalWidth = container.outerWidth();\n return (totalWidth - (colSpan - 1) * that.options.gap.columns) / colSpan;\n },\n _calculateRightEndSide: function (fractionWidth) {\n var that = this;\n var columns = that.options.columns;\n var columnGap = that.options.gap.columns;\n return columns * (fractionWidth + columnGap) + columnGap;\n },\n _createDropHint: function (settings) {\n this.dropHint = $('
').css({\n 'order': settings.order,\n 'grid-column-end': settings.columnEnd,\n 'grid-row-end': settings.rowEnd\n }).attr(kendo.attr('index'), settings.order).attr('direction', settings.direction);\n },\n _insertDropHint: function (container, direction) {\n if (direction == 'right') {\n this.dropHint.insertAfter(container);\n } else {\n this.dropHint.insertBefore(container);\n }\n },\n _removeDropHint: function () {\n if (this.dropHint) {\n this.dropHint.remove();\n this.dropHint = null;\n }\n },\n _reorderable: function () {\n if (!this.options.reorderable) {\n return;\n }\n var that = this;\n var element = that.element;\n var originalElement;\n var itemSelector = selector(TileLayout.styles.item);\n var headerSelector = selector(TileLayout.styles.itemHeader);\n var group = kendo.guid();\n this._draggableInstance = new Draggable(this.element, {\n filter: headerSelector,\n autoScroll: true,\n group: group,\n hint: function (target) {\n var item = target.closest(itemSelector);\n var width = item.width();\n var height = item.height();\n var clone = item.clone();\n clone.find(headerSelector).removeClass(GRABCURSOR).addClass(GRABBINGCURSOR);\n return clone.width(width).height(height);\n },\n dragstart: function (e) {\n originalElement = $(e.currentTarget).closest(itemSelector);\n },\n drag: function (e) {\n var elementUnderCursor = kendo.elementUnderCursor(e);\n var hint = e.sender.hint;\n var dropContainer;\n var containerBoundaries;\n var pixelsToLeftBorder;\n var pixelsToRightBorder;\n var direction;\n var draggedItem = that._draggableInstance.currentTarget.closest(itemSelector);\n var newOrder;\n if (containsOrEqualTo(hint[0], elementUnderCursor)) {\n hint.hide();\n elementUnderCursor = kendo.elementUnderCursor(e);\n if (!containsOrEqualTo(originalElement[0], elementUnderCursor)) {\n if (that.dropHint && that.dropHint[0] == elementUnderCursor[0]) {\n hint.show();\n return;\n }\n dropContainer = $(elementUnderCursor);\n dropContainer = dropContainer.hasClass(TileLayout.styles.item) ? dropContainer : dropContainer.closest(itemSelector);\n if (dropContainer.hasClass(TileLayout.styles.item)) {\n containerBoundaries = dropContainer[0].getBoundingClientRect();\n pixelsToLeftBorder = e.clientX - containerBoundaries.left;\n pixelsToRightBorder = containerBoundaries.right - e.clientX;\n direction = pixelsToLeftBorder > pixelsToRightBorder ? 'right' : 'left';\n newOrder = dropContainer.css('order');\n if (that.dropHint && that.dropHint.attr('direction') !== direction) {\n var clone = that.dropHint.clone();\n clone.css('order', newOrder);\n that.dropHint.remove();\n that.dropHint = clone;\n that._insertDropHint(dropContainer, direction);\n that.dropHint.attr('direction', direction).attr(kendo.attr('index'), newOrder);\n } else if (!that.dropHint) {\n var futureContainer = direction == 'right' ? dropContainer.next() : dropContainer.prev();\n if (futureContainer[0] != originalElement[0]) {\n that._createDropHint({\n order: newOrder,\n columnEnd: draggedItem.css('grid-column-end'),\n rowEnd: draggedItem.css('grid-row-end'),\n direction: direction\n });\n originalElement.hide();\n that._insertDropHint(dropContainer, direction);\n }\n }\n }\n }\n hint.show();\n }\n },\n dragend: function (e) {\n if (!that.dropHint) {\n e.sender.hint.remove();\n that._removeDropHint();\n return;\n }\n var newOrder = parseInt(that.dropHint.css('order'), 10);\n var container = e.currentTarget.closest(itemSelector);\n var items = that.element.find(itemSelector);\n var oldOrder = parseInt(container.css('order'), 10);\n var itemId = container.attr('id');\n var containers = that.element.children(':visible');\n var start;\n var end;\n var item;\n var direction;\n containers = that._sortContainers(containers);\n newOrder = containers.index(that.dropHint[0]);\n end = Math.max(newOrder, oldOrder);\n start = Math.min(newOrder, oldOrder);\n that.itemsMap[itemId].order = newOrder;\n direction = newOrder > oldOrder ? 'right' : 'left';\n if (direction == 'left') {\n end--;\n } else {\n start++;\n }\n for (var i = start; i <= end; i++) {\n item = items.filter('[' + kendo.attr('index') + '=\\'' + i + '\\']');\n that.itemsMap[item.attr('id')].order += direction == 'left' ? 1 : -1;\n }\n container.show();\n that._updateContainers();\n e.sender.hint.remove();\n that._removeDropHint();\n if (that.options.navigatable) {\n that._updateDOM();\n }\n that.trigger(REORDER, {\n newIndex: newOrder,\n oldIndex: oldOrder,\n container: container\n });\n }\n });\n element.find(itemSelector).kendoDropTarget({\n group: group,\n dragenter: function (e) {\n if (that._isresizing) {\n return;\n }\n var dropContainer = $(e.dropTarget);\n var target = that._draggableInstance.currentTarget.closest(itemSelector);\n var dropContainerBoundaries;\n var pixelsToLeftBorder;\n var pixelsToRightBorder;\n var futureContainer;\n var direction;\n if (originalElement[0] != dropContainer[0]) {\n dropContainerBoundaries = dropContainer[0].getBoundingClientRect();\n pixelsToLeftBorder = e.clientX - dropContainerBoundaries.left;\n pixelsToRightBorder = dropContainerBoundaries.right - e.clientX;\n direction = pixelsToLeftBorder > pixelsToRightBorder ? 'right' : 'left';\n futureContainer = direction == 'right' ? dropContainer.next() : dropContainer.prev();\n if (futureContainer[0] == originalElement[0]) {\n return;\n }\n that._removeDropHint();\n originalElement.hide();\n that._createDropHint({\n order: dropContainer.css('order'),\n columnEnd: target.css('grid-column-end'),\n rowEnd: target.css('grid-row-end'),\n direction: direction\n });\n originalElement.hide();\n that._insertDropHint(dropContainer, direction);\n }\n }\n });\n }\n });\n function containsOrEqualTo(parent, child) {\n try {\n return $.contains(parent, child) || parent == child;\n } catch (e) {\n return false;\n }\n }\n ui.plugin(TileLayout);\n $.extend(true, TileLayout, { styles: tileLayoutStyles });\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}