{"version":3,"sources":["kendo.treeview.js"],"names":["f","define","$","undefined","contentChild","filter","node","result","children","length","templateNoWith","code","kendo","template","useWithBlock","checkboxes","find","insertAction","indexOffset","nodeData","referenceNode","closest","NODE","parentNode","group","parent","is","this","_dataSourceMove","dataSource","model","_insert","data","index","moveContents","container","tmp","nodeName","toLowerCase","nextSibling","nodeType","nodeValue","trim","spriteRe","test","className","insertBefore","firstChild","appendChild","updateNodeHtml","wrapper","toggleButton","checkbox","innerWrapper","hasClass","prependTo","remove","appendTo","append","eq","addClass","TreeView","subGroup","nodeContents","nodeIcon","window","ui","extend","isArray","Widget","HierarchicalDataSource","proxy","keys","NS","SELECT","CHECK","NAVIGATE","EXPAND","CHANGE","ERROR","CHECKED","INDETERMINATE","COLLAPSE","DRAGSTART","DRAG","DROP","DRAGEND","DATABOUND","CLICK","UNDEFINED","KSTATEHOVER","KTREEVIEW","VISIBLE","STRING","ARIASELECTED","ARIADISABLED","bindings","text","url","spriteCssClass","imageUrl","isDomElement","o","HTMLElement","DataBoundWidget","init","element","options","list","that","inferred","hasDataSource","loadOnDemand","prototype","call","_animation","_accessors","_templates","root","_wrapper","_group","_tabindex","attr","_dataSource","_attachEvents","_dragging","_syncHtmlAndDataSource","autoBind","_progress","fetch","checkChildren","updateIndeterminate","id","_ariaId","format","notify","clickableItems","MOUSEENTER","on","e","preventDefault","removeClass","_click","_toggleButtonClick","_keydown","_focus","_blur","_mousedown","_checkboxChange","_checkboxClick","_checkboxLabelClick","_retryRequest","target","focus","prop","previousSibling","click","i","item","dataItem","uid","itemCheckbox","view","uidAttr","expandedAttr","checkboxesEnabled","items","expanded","checked","next","animationOptions","animation","hasCollapseAnimation","collapse","expand","reverse","effects","hide","widget","enabled","dragAndDrop","dragging","HierarchicalDragAndDrop","reorderable","$angular","autoScroll","allowedContainers","itemSelector","hintText","_hintText","contains","source","destination","dropHintContainer","itemFromTarget","content","first","last","dropPositionFrom","dropHint","prevAll","dragstart","trigger","sourceNode","drag","originalEvent","dropTarget","pageY","pageX","statusClass","status","setStatusClass","setStatus","drop","destinationNode","valid","setValid","state","dropPosition","position","dragend","triggerDragEnd","insertAfter","destroy","templates","dragClue","treeview","fieldAccessor","_fieldAccessor","_checkboxes","wrapperCssClass","firstLevel","cssClass","groupLength","textClass","isLink","selected","toggleButtonClass","groupAttributes","attributes","groupCssClass","itemContent","itemElement","loading","retry","setDataSource","one","_bindDataSource","_refreshHandler","refresh","_errorHandler","_error","bind","_unbindDataSource","unbind","silentRead","recursiveRead","_initChildren","fields","field","create","events","name","duration","messages","requestFailed","dataTextField","textField","fieldName","fieldBindings","count","map","x","expr","join","setOptions","fn","_trigger","eventName","_setChecked","datasource","value","isFunction","nodes","_setIndeterminate","siblings","all","indeterminate","subnodes","_bubbleIndeterminate","set","isChecked","currentTarget","toggle","_clickTarget","current","_focusable","select","clickTarget","support","touch","_nextVisible","scrollContainer","containers","offsets","documentElement","document","scrollHeight","clientHeight","push","scrollTop","_enabled","skipSelf","wrapperRe","itemRe","nextParent","_expanded","_previousVisible","lastChild","prev","key","keyCode","focused","rtl","isRtl","RIGHT","LEFT","DOWN","UP","HOME","END","ENTER","SPACEBAR","shouldNavigate","contents","href","indexOf","wrapperClasses","wrap","groupElement","css","_nodes","groupData","each","_updateNodeClasses","defaultTemplate","textWrap","_processNodes","callback","getByUid","_insertNode","insertCallback","collapsed","childrenData","updatedGroupLength","nodeHtml","_renderItem","angular","elements","get","_renderGroup","hasChildren","_updateNodes","setCheckedState","nodeWrapper","isCollapsed","context","render","findByUid","toggleClass","end","html","_toggle","removeAttr","ns","_appendItems","_refreshChildren","child","empty","_refreshRoot","groupHtml","_angularItems","bubble","action","level","_remove","load","retryHtml","loaded","enable","arguments","_current","direction","height","kendoStop","kendoAnimate","reset","complete","off","showProgress","loadingText","Math","min","_objectOrSelf","referenceDataItem","destTreeview","destDataSource","loadPromise","Deferred","resolve","promise","_toObservableData","jQuery","ObservableArray","toJSON","splice","apply","concat","success","loadModel","add","max","inserted","done","noop","keepData","prevSibling","detach","findByText","getAttribute","expandPath","path","proceed","nodeIds","shift","then","slice","_parentIds","parents","unshift","expandTo","Node","r","renderItems","len","plugin","amd","a1","a2","a3"],"mappings":"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","file":"kendo.treeview.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.treeview', [\n 'kendo.data',\n 'kendo.treeview.draganddrop'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'treeview',\n name: 'TreeView',\n category: 'web',\n description: 'The TreeView widget displays hierarchical data in a traditional tree structure,with support for interactive drag-and-drop operations.',\n depends: ['data'],\n features: [{\n id: 'treeview-dragging',\n name: 'Drag & Drop',\n description: 'Support for drag & drop',\n depends: ['treeview.draganddrop']\n }]\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, data = kendo.data, extend = $.extend, template = kendo.template, isArray = $.isArray, Widget = ui.Widget, HierarchicalDataSource = data.HierarchicalDataSource, proxy = $.proxy, keys = kendo.keys, NS = '.kendoTreeView', SELECT = 'select', CHECK = 'check', NAVIGATE = 'navigate', EXPAND = 'expand', CHANGE = 'change', ERROR = 'error', CHECKED = 'checked', INDETERMINATE = 'indeterminate', COLLAPSE = 'collapse', DRAGSTART = 'dragstart', DRAG = 'drag', DROP = 'drop', DRAGEND = 'dragend', DATABOUND = 'dataBound', CLICK = 'click', UNDEFINED = 'undefined', KSTATEHOVER = 'k-state-hover', KTREEVIEW = 'k-treeview', VISIBLE = ':visible', NODE = '.k-item', STRING = 'string', ARIASELECTED = 'aria-selected', ARIADISABLED = 'aria-disabled', TreeView, subGroup, nodeContents, nodeIcon, spriteRe, bindings = {\n text: 'dataTextField',\n url: 'dataUrlField',\n spriteCssClass: 'dataSpriteCssClassField',\n imageUrl: 'dataImageUrlField'\n }, isDomElement = function (o) {\n return typeof HTMLElement === 'object' ? o instanceof HTMLElement : o && typeof o === 'object' && o.nodeType === 1 && typeof o.nodeName === STRING;\n };\n function contentChild(filter) {\n return function (node) {\n var result = node.children('.k-animation-container');\n if (!result.length) {\n result = node;\n }\n return result.children(filter);\n };\n }\n function templateNoWith(code) {\n return kendo.template(code, { useWithBlock: false });\n }\n subGroup = contentChild('.k-group');\n nodeContents = contentChild('.k-group,.k-content');\n nodeIcon = function (node) {\n return node.children('div').children('.k-icon');\n };\n function checkboxes(node) {\n return node.find('> div .k-checkbox-wrapper [type=checkbox]');\n }\n function insertAction(indexOffset) {\n return function (nodeData, referenceNode) {\n referenceNode = referenceNode.closest(NODE);\n var group = referenceNode.parent(), parentNode;\n if (group.parent().is('li')) {\n parentNode = group.parent();\n }\n return this._dataSourceMove(nodeData, group, parentNode, function (dataSource, model) {\n return this._insert(dataSource.data(), model, referenceNode.index() + indexOffset);\n });\n };\n }\n spriteRe = /k-sprite/;\n function moveContents(node, container) {\n var tmp;\n while (node && node.nodeName.toLowerCase() != 'ul') {\n tmp = node;\n node = node.nextSibling;\n if (tmp.nodeType == 3) {\n tmp.nodeValue = $.trim(tmp.nodeValue);\n }\n if (spriteRe.test(tmp.className)) {\n container.insertBefore(tmp, container.firstChild);\n } else {\n container.appendChild(tmp);\n }\n }\n }\n function updateNodeHtml(node) {\n var wrapper = node.children('div'), group = node.children('ul'), toggleButton = wrapper.children('.k-icon'), checkbox = node.children(':checkbox'), innerWrapper = wrapper.children('.k-in');\n if (node.hasClass('k-treeview')) {\n return;\n }\n if (!wrapper.length) {\n wrapper = $('
').prependTo(node);\n }\n if (!toggleButton.length && group.length) {\n toggleButton = $('').prependTo(wrapper);\n } else if (!group.length || !group.children().length) {\n toggleButton.remove();\n group.remove();\n }\n if (checkbox.length) {\n $('').appendTo(wrapper).append(checkbox);\n }\n if (!innerWrapper.length) {\n innerWrapper = node.children('a').eq(0).addClass('k-in k-link');\n if (!innerWrapper.length) {\n innerWrapper = $('');\n }\n innerWrapper.appendTo(wrapper);\n if (wrapper.length) {\n moveContents(wrapper[0].nextSibling, innerWrapper[0]);\n }\n }\n }\n TreeView = kendo.ui.DataBoundWidget.extend({\n init: function (element, options) {\n var that = this, inferred = false, hasDataSource = options && !!options.dataSource, list;\n if (isArray(options)) {\n options = { dataSource: options };\n }\n if (options && typeof options.loadOnDemand == UNDEFINED && isArray(options.dataSource)) {\n options.loadOnDemand = false;\n }\n Widget.prototype.init.call(that, element, options);\n element = that.element;\n options = that.options;\n list = element.is('ul') && element || element.hasClass(KTREEVIEW) && element.children('ul');\n inferred = !hasDataSource && list.length;\n if (inferred) {\n options.dataSource.list = list;\n }\n that._animation();\n that._accessors();\n that._templates();\n if (!element.hasClass(KTREEVIEW)) {\n that._wrapper();\n if (list) {\n that.root = element;\n that._group(that.wrapper);\n }\n } else {\n that.wrapper = element;\n that.root = element.children('ul').eq(0);\n }\n that._tabindex();\n that.root.attr('role', 'tree');\n that._dataSource(inferred);\n that._attachEvents();\n that._dragging();\n if (!inferred) {\n if (options.autoBind) {\n that._progress(true);\n that.dataSource.fetch();\n }\n } else {\n that._syncHtmlAndDataSource();\n }\n if (options.checkboxes && options.checkboxes.checkChildren) {\n that.updateIndeterminate();\n }\n if (that.element[0].id) {\n that._ariaId = kendo.format('{0}_tv_active', that.element[0].id);\n }\n kendo.notify(that);\n },\n _attachEvents: function () {\n var that = this, clickableItems = '.k-in:not(.k-state-selected,.k-state-disabled)', MOUSEENTER = 'mouseenter';\n that.wrapper.on(MOUSEENTER + NS, '.k-in.k-state-selected', function (e) {\n e.preventDefault();\n }).on(MOUSEENTER + NS, clickableItems, function () {\n $(this).addClass(KSTATEHOVER);\n }).on('mouseleave' + NS, clickableItems, function () {\n $(this).removeClass(KSTATEHOVER);\n }).on(CLICK + NS, clickableItems, proxy(that._click, that)).on('dblclick' + NS, '.k-in:not(.k-state-disabled)', proxy(that._toggleButtonClick, that)).on(CLICK + NS, '.k-i-expand,.k-i-collapse', proxy(that._toggleButtonClick, that)).on('keydown' + NS, proxy(that._keydown, that)).on('focus' + NS, proxy(that._focus, that)).on('blur' + NS, proxy(that._blur, that)).on('mousedown' + NS, '.k-in,.k-checkbox-wrapper :checkbox,.k-i-expand,.k-i-collapse', proxy(that._mousedown, that)).on('change' + NS, '.k-checkbox-wrapper :checkbox', proxy(that._checkboxChange, that)).on('click' + NS, '.k-checkbox-wrapper :checkbox', proxy(that._checkboxClick, that)).on('click' + NS, '.k-checkbox-label', proxy(that._checkboxLabelClick, that)).on('click' + NS, '.k-request-retry', proxy(that._retryRequest, that)).on('click' + NS, function (e) {\n if (!$(e.target).is(':kendoFocusable')) {\n that.focus();\n }\n });\n },\n _checkboxClick: function (e) {\n var checkbox = $(e.target);\n if (checkbox.data(INDETERMINATE)) {\n checkbox.data(INDETERMINATE, false).prop(INDETERMINATE, false).prop(CHECKED, true);\n this._checkboxChange(e);\n }\n },\n _checkboxLabelClick: function (e) {\n e.target.previousSibling.click();\n },\n _syncHtmlAndDataSource: function (root, dataSource) {\n root = root || this.root;\n dataSource = dataSource || this.dataSource;\n var data = dataSource.view(), uidAttr = kendo.attr('uid'), expandedAttr = kendo.attr('expanded'), checkboxesEnabled = this.options.checkboxes, items = root.children('li'), i, item, dataItem, uid, itemCheckbox;\n for (i = 0; i < items.length; i++) {\n dataItem = data[i];\n uid = dataItem.uid;\n item = items.eq(i);\n item.attr('role', 'treeitem').attr(uidAttr, uid);\n dataItem.expanded = item.attr(expandedAttr) === 'true';\n if (checkboxesEnabled) {\n itemCheckbox = checkboxes(item);\n dataItem.checked = itemCheckbox.prop(CHECKED);\n itemCheckbox.attr('id', '_' + uid);\n itemCheckbox.next('.k-checkbox-label').attr('for', '_' + uid);\n }\n this._syncHtmlAndDataSource(item.children('ul'), dataItem.children);\n }\n },\n _animation: function () {\n var options = this.options, animationOptions = options.animation, hasCollapseAnimation = animationOptions.collapse && 'effects' in animationOptions.collapse, collapse = extend({}, animationOptions.expand, animationOptions.collapse);\n if (!hasCollapseAnimation) {\n collapse = extend(collapse, { reverse: true });\n }\n if (animationOptions === false) {\n animationOptions = {\n expand: { effects: {} },\n collapse: {\n hide: true,\n effects: {}\n }\n };\n }\n animationOptions.collapse = extend(collapse, { hide: true });\n options.animation = animationOptions;\n },\n _dragging: function () {\n var enabled = this.options.dragAndDrop;\n var dragging = this.dragging;\n if (enabled && !dragging) {\n var widget = this;\n this.dragging = new ui.HierarchicalDragAndDrop(this.element, {\n reorderable: true,\n $angular: this.options.$angular,\n autoScroll: this.options.autoScroll,\n filter: 'div:not(.k-state-disabled) .k-in',\n allowedContainers: '.k-treeview',\n itemSelector: '.k-treeview .k-item',\n hintText: proxy(this._hintText, this),\n contains: function (source, destination) {\n return $.contains(source, destination);\n },\n dropHintContainer: function (item) {\n return item;\n },\n itemFromTarget: function (target) {\n var item = target.closest('.k-top,.k-mid,.k-bot');\n return {\n item: item,\n content: target.closest('.k-in'),\n first: item.hasClass('k-top'),\n last: item.hasClass('k-bot')\n };\n },\n dropPositionFrom: function (dropHint) {\n return dropHint.prevAll('.k-in').length > 0 ? 'after' : 'before';\n },\n dragstart: function (source) {\n return widget.trigger(DRAGSTART, { sourceNode: source[0] });\n },\n drag: function (options) {\n widget.trigger(DRAG, {\n originalEvent: options.originalEvent,\n sourceNode: options.source[0],\n dropTarget: options.target[0],\n pageY: options.pageY,\n pageX: options.pageX,\n statusClass: options.status,\n setStatusClass: options.setStatus\n });\n },\n drop: function (options) {\n return widget.trigger(DROP, {\n originalEvent: options.originalEvent,\n sourceNode: options.source,\n destinationNode: options.destination,\n valid: options.valid,\n setValid: function (state) {\n this.valid = state;\n options.setValid(state);\n },\n dropTarget: options.dropTarget,\n dropPosition: options.position\n });\n },\n dragend: function (options) {\n var source = options.source;\n var destination = options.destination;\n var position = options.position;\n function triggerDragEnd(source) {\n widget.updateIndeterminate();\n widget.trigger(DRAGEND, {\n originalEvent: options.originalEvent,\n sourceNode: source && source[0],\n destinationNode: destination[0],\n dropPosition: position\n });\n }\n if (position == 'over') {\n widget.append(source, destination, triggerDragEnd);\n } else {\n if (position == 'before') {\n source = widget.insertBefore(source, destination);\n } else if (position == 'after') {\n source = widget.insertAfter(source, destination);\n }\n triggerDragEnd(source);\n }\n }\n });\n } else if (!enabled && dragging) {\n dragging.destroy();\n this.dragging = null;\n }\n },\n _hintText: function (node) {\n return this.templates.dragClue({\n item: this.dataItem(node),\n treeview: this.options\n });\n },\n _templates: function () {\n var that = this, options = that.options, fieldAccessor = proxy(that._fieldAccessor, that);\n if (options.template && typeof options.template == STRING) {\n options.template = template(options.template);\n } else if (!options.template) {\n options.template = templateNoWith('# var text = ' + fieldAccessor('text') + '(data.item); #' + '# if (typeof data.item.encoded != \\'undefined\\' && data.item.encoded === false) {#' + '#= text #' + '# } else { #' + '#: text #' + '# } #');\n }\n that._checkboxes();\n that.templates = {\n wrapperCssClass: function (group, item) {\n var result = 'k-item', index = item.index;\n if (group.firstLevel && index === 0) {\n result += ' k-first';\n }\n if (index == group.length - 1) {\n result += ' k-last';\n }\n return result;\n },\n cssClass: function (group, item) {\n var result = '', index = item.index, groupLength = group.length - 1;\n if (group.firstLevel && index === 0) {\n result += 'k-top ';\n }\n if (index === 0 && index != groupLength) {\n result += 'k-top';\n } else if (index == groupLength) {\n result += 'k-bot';\n } else {\n result += 'k-mid';\n }\n return result;\n },\n textClass: function (item, isLink) {\n var result = 'k-in';\n if (isLink) {\n result += ' k-link';\n }\n if (item.enabled === false) {\n result += ' k-state-disabled';\n }\n if (item.selected === true) {\n result += ' k-state-selected';\n }\n return result;\n },\n toggleButtonClass: function (item) {\n var result = 'k-icon';\n if (item.expanded !== true) {\n result += ' k-i-expand';\n } else {\n result += ' k-i-collapse';\n }\n return result;\n },\n groupAttributes: function (group) {\n var attributes = '';\n if (!group.firstLevel) {\n attributes = 'role=\\'group\\'';\n }\n return attributes + (group.expanded !== true ? ' style=\\'display:none\\'' : '');\n },\n groupCssClass: function (group) {\n var cssClass = 'k-group';\n if (group.firstLevel) {\n cssClass += ' k-treeview-lines';\n }\n return cssClass;\n },\n dragClue: templateNoWith('#= data.treeview.template(data) #'),\n group: templateNoWith('