{"version":3,"file":"kendo.treeview.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotreeview","js","this","$","undefined$1","TreeView","subGroup","nodeContents","nodeIcon","spriteRe","kendo","window","ui","data","encode","htmlEncode","extend","template","isArray","Array","Widget","HierarchicalDataSource","keys","NS","TEMP_NS","SELECT","CHECK","NAVIGATE","CHANGE","ERROR","CHECKED","INDETERMINATE","DRAGSTART","DRAG","DROP","DRAGEND","DATABOUND","ITEMSLOADED","LOADCOMPLETED","REQUESTEND","CLICK","UNDEFINED","KSTATEHOVER","KTREEVIEW","NODE","ICON","TOGGLE_ICON_ELM","STRING","ARIA_CHECKED","ARIA_SELECTED","ARIA_DISABLED","ARIA_EXPANDED","ARIA_ACTIVEDESCENDANT","ARIA_BUSY","DISABLED","bindings","text","url","spriteCssClass","imageUrl","isDomElement","o","HTMLElement","nodeType","nodeName","contentChild","filter","node","result","children","length","checkboxes","find","insertAction","indexOffset","nodeData","referenceNode","parentNode","group","closest","parent","is","_dataSourceMove","dataSource","model","referenceItem","dataItem","referenceNodeIndex","indexOf","index","_insert","updateNodeHtml","wrapper","toggleButton","checkbox","innerWrapper","hasClass","prependTo","remove","removeAttr","appendTo","append","eq","addClass","container","tmp","toLowerCase","nextSibling","nodeValue","trim","test","className","insertBefore","firstChild","appendChild","moveContents","DataBoundWidget","init","element","options","inferred","list","that","hasDataSource","loadOnDemand","prototype","call","_dataSourceUids","_animation","_accessors","_templates","root","_wrapper","_group","_applyCssClasses","_tabindex","attr","_dataSource","_attachEvents","_dragging","_syncHtmlAndDataSource","autoBind","_progress","fetch","_attemptLoadCompleted","bind","checkChildren","updateIndeterminate","id","_ariaId","format","guid","notify","clickableItems","MOUSEENTER","_clickHandler","_click","on","e","preventDefault","removeClass","_toggleButtonClick","_keydown","_keypress","_focus","_blur","_mousedown","_checkboxChange","_retryRequest","target","focus","i","item","uid","itemCheckbox","view","uidAttr","expandedAttr","checkboxesEnabled","items","expanded","hasChildren","checked","prop","next","animationOptions","animation","hasCollapseAnimation","collapse","expand","reverse","effects","hide","enabled","dragAndDrop","dragging","widget","HierarchicalDragAndDrop","reorderable","autoScroll","allowedContainers","itemSelector","hintText","_hintText","clickMoveClick","contains","source","destination","dropHintContainer","itemFromTarget","content","first","last","dropPositionFrom","dropHint","prevAll","dragstart","trigger","sourceNode","drag","originalEvent","dropTarget","pageY","pageX","statusClass","status","setStatusClass","setStatus","drop","navigationTarget","_tempPreventNavigation","destinationNode","valid","setValid","state","dropPosition","position","dragend","triggerDragEnd","current","insertAfter","destroy","ev","off","templates","dragClue","treeview","fieldAccessor","_fieldAccessor","encoded","_checkboxes","setAttributes","attributes","hasOwnProperty","cssClass","groupLength","firstLevel","textClass","isLink","selected","checkboxClass","toggleButtonClass","toggleIcon","icon","support","isRtl","groupAttributes","groupCssClass","r","renderItems","itemContent","itemElement","tag","textAttr","toJSON","loading","messages","retry","requestFailed","setDataSource","one","_bindDataSource","_refreshHandler","refresh","_errorHandler","_error","_loadCompletedHandler","_loadCompleted","_requestEndHandler","_dsRequestEnd","_loadedNodes","setTimeout","type","_loadCompletedFired","concat","nodes","_unbindDataSource","unbind","silentRead","fields","field","create","recursiveRead","_initChildren","events","name","duration","dataTextField","size","textField","fieldName","fieldBindings","count","getter","map","x","d","Math","min","level","setOptions","fn","_trigger","eventName","_setChecked","datasource","value","isFunction","_setCheckedValue","_setIndeterminate","siblings","all","indeterminate","subnodes","_bubbleIndeterminate","skipDownward","_skip","set","isChecked","_preventChange","currentTarget","toggle","browser","msie","edge","_clickTarget","_focusable","select","clickTarget","touch","_nextVisible","scrollContainer","containers","offsets","documentElement","document","scrollHeight","clientHeight","push","scrollTop","focusElement","_enabled","skipSelf","wrapperRe","itemRe","_expanded","nextParent","_previousVisible","lastChild","prev","scrollTo","scrollIntoView","block","key","keyCode","focused","rtl","RIGHT","LEFT","DOWN","UP","HOME","END","ENTER","SPACEBAR","matchToFocus","focusedNode","get","_match","clearTimeout","_matchTimer","_matchNextByText","startIndex","contents","href","wrap","_getSelectedNode","groupElement","css","_nodes","groupData","each","_updateNodeClasses","defaultTemplate","html","renderCheckBox","rounded","replace","textWrap","_processNodes","callback","getByUid","_dataItem","_insertNode","insertCallback","collapsed","childrenData","updatedGroupLength","nodeHtml","_renderItem","_renderGroup","applyStylesFromKendoAttributes","_updateNodes","nodeWrapper","isCollapsed","context","render","setCheckedState","findByUid","toggleClass","end","elements","_toggle","ns","_appendItems","dataItems","viewItems","rootItems","_refreshChildren","child","empty","_refreshRoot","groupHtml","parentElement","action","bubble","_remove","_loaded","load","retryHtml","replaceWith","loaded","enable","arguments","_current","_updateActiveDescendant","direction","height","kendoStop","kendoAnimate","reset","complete","force","showProgress","loadingText","_objectOrSelf","referenceDataItem","destTreeview","destDataSource","loadPromise","Deferred","resolve","promise","_toObservableData","obj","jQuery","ObservableArray","splice","apply","success","loadModel","inserted","done","max","add","noop","keepData","prevSibling","detach","findByText","getAttribute","expandPath","path","nodeIds","slice","nodeElement","then","proceed","shift","_parentIds","parents","unshift","expandTo","Node","len","cssProperties","registerPrefix","plugin"],"sources":["kendo.treeview.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.data.js'), require('kendo.treeview.draganddrop.js'), require('kendo.html.input.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.data', 'kendo.treeview.draganddrop', 'kendo.html.input', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotreeview = global.kendotreeview || {}, global.kendotreeview.js = factory()));\n})(this, (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\", \"html.input\", \"icons\" ],\n features: [{\n id: \"treeview-dragging\",\n name: \"Drag & Drop\",\n description: \"Support for drag & drop\",\n depends: [ \"treeview.draganddrop\" ]\n }]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n data = kendo.data,\n encode = kendo.htmlEncode,\n extend = $.extend,\n template = kendo.template,\n isArray = Array.isArray,\n Widget = ui.Widget,\n HierarchicalDataSource = data.HierarchicalDataSource,\n keys = kendo.keys,\n NS = \".kendoTreeView\",\n TEMP_NS = \".kendoTreeViewTemp\",\n SELECT = \"select\",\n CHECK = \"check\",\n NAVIGATE = \"navigate\",\n EXPAND = \"expand\",\n CHANGE = \"change\",\n ERROR = \"error\",\n CHECKED = \"checked\",\n INDETERMINATE = \"indeterminate\",\n COLLAPSE = \"collapse\",\n DRAGSTART = \"dragstart\",\n DRAG = \"drag\",\n DROP = \"drop\",\n DRAGEND = \"dragend\",\n DATABOUND = \"dataBound\",\n ITEMSLOADED = \"itemsLoaded\",\n LOADCOMPLETED = \"loadCompleted\",\n REQUESTEND = \"requestEnd\",\n CLICK = \"click\",\n KENDOKEYDOWN = \"kendoKeydown\",\n UNDEFINED = \"undefined\",\n KSTATEHOVER = \"k-hover\",\n KTREEVIEW = \"k-treeview\",\n VISIBLE = \":visible\",\n NODE = \".k-treeview-item\",\n ICON = \"k-icon\",\n TOGGLE_ICON_ELM = ``,\n STRING = \"string\",\n ARIA_CHECKED = \"aria-checked\",\n ARIA_SELECTED = \"aria-selected\",\n ARIA_DISABLED = \"aria-disabled\",\n ARIA_EXPANDED = \"aria-expanded\",\n ARIA_ACTIVEDESCENDANT = \"aria-activedescendant\",\n ARIA_BUSY = \"aria-busy\",\n DISABLED = \"k-disabled\",\n TreeView,\n subGroup, nodeContents, nodeIcon,\n spriteRe,\n bindings = {\n text: \"dataTextField\",\n url: \"dataUrlField\",\n spriteCssClass: \"dataSpriteCssClassField\",\n imageUrl: \"dataImageUrlField\"\n },\n isJQueryInstance = function(obj) {\n return (obj instanceof kendo.jQuery) || (window.jQuery && obj instanceof window.jQuery);\n },\n isDomElement = function(o) {\n return (\n typeof HTMLElement === \"object\" ? o instanceof HTMLElement : //DOM2\n o && typeof o === \"object\" && o.nodeType === 1 && typeof o.nodeName === STRING\n );\n };\n\n function contentChild(filter) {\n return function(node) {\n var result = node.children(\".k-animation-container\");\n\n if (!result.length) {\n result = node;\n }\n\n return result.children(filter);\n };\n }\n\n function templateNoWith(code) {\n return kendo.template(code, { useWithBlock: false });\n }\n\n subGroup = contentChild(\".k-treeview-group\");\n nodeContents = contentChild(\".k-treeview-group,.k-content\");\n nodeIcon = function(node) {\n return node.children(\"div\").find(`.k-treeview-toggle > span:first`);\n };\n\n function checkboxes(node) {\n return node.find(\".k-checkbox-wrap:first input[type=checkbox]\");\n }\n\n function insertAction(indexOffset) {\n return function(nodeData, referenceNode) {\n referenceNode = referenceNode.closest(NODE);\n\n var group = referenceNode.parent(),\n parentNode;\n\n if (group.parent().is(\"li\")) {\n parentNode = group.parent();\n }\n\n return this._dataSourceMove(nodeData, group, parentNode, function(dataSource, model) {\n var referenceItem = this.dataItem(referenceNode);\n var referenceNodeIndex = referenceItem && referenceNode.parent().children().length !== referenceItem.parent().length ? referenceItem.parent().indexOf(referenceItem) : referenceNode.index();\n\n return this._insert(dataSource.data(), model, referenceNodeIndex + indexOffset);\n });\n };\n }\n\n spriteRe = /k-sprite/;\n\n function moveContents(node, container) {\n var tmp;\n\n while (node && node.nodeName.toLowerCase() != \"ul\") {\n tmp = node;\n node = node.nextSibling;\n\n if (tmp.nodeType == 3) {\n tmp.nodeValue = kendo.trim(tmp.nodeValue);\n }\n\n if (spriteRe.test(tmp.className)) {\n container.insertBefore(tmp, container.firstChild);\n } else {\n container.appendChild(tmp);\n }\n }\n }\n\n function updateNodeHtml(node) {\n var wrapper = node.children(\"div\"),\n group = node.children(\"ul\"),\n toggleButton = wrapper.find(`.k-treeview-toggle > span`),\n checkbox = node.children(\"input[type=checkbox]\"),\n innerWrapper = wrapper.children(\".k-treeview-leaf\");\n\n if (node.hasClass(\"k-treeview\")) {\n return;\n }\n\n if (!wrapper.length) {\n wrapper = $(\"
\").prependTo(node);\n }\n\n if (!toggleButton.length && group.length) {\n toggleButton = $(`${TOGGLE_ICON_ELM}`).prependTo(wrapper);\n } else if (!group.length || !group.children().length) {\n toggleButton.parent().remove();\n group.remove();\n node.removeAttr(ARIA_EXPANDED);\n }\n\n if (checkbox.length) {\n $(\"\").appendTo(wrapper).append(checkbox);\n }\n\n if (!innerWrapper.length) {\n innerWrapper = node.children(\"a\").eq(0).addClass(\"k-treeview-leaf k-link\");\n\n if (!innerWrapper.length) {\n innerWrapper = $(\"\");\n }\n\n innerWrapper.appendTo(wrapper);\n\n if (wrapper.length) {\n moveContents(wrapper[0].nextSibling, innerWrapper[0]);\n }\n }\n }\n\n TreeView = kendo.ui.DataBoundWidget.extend({\n init: function(element, options) {\n var that = this,\n inferred = false,\n hasDataSource = options && !!options.dataSource,\n list;\n\n if (isArray(options)) {\n options = { dataSource: options };\n }\n\n if (options && typeof options.loadOnDemand == UNDEFINED && isArray(options.dataSource)) {\n options.loadOnDemand = false;\n }\n\n Widget.prototype.init.call(that, element, options);\n\n element = that.element;\n options = that.options;\n\n that._dataSourceUids = {};\n\n list = (element.is(\"ul\") && element) ||\n (element.hasClass(KTREEVIEW) && element.children(\"ul\"));\n\n inferred = !hasDataSource && list.length;\n\n if (inferred) {\n options.dataSource.list = list;\n }\n\n that._animation();\n\n that._accessors();\n\n that._templates();\n\n // render treeview if it's not already rendered\n if (!element.hasClass(KTREEVIEW)) {\n that._wrapper();\n\n if (list) {\n that.root = element;\n that._group(that.wrapper);\n }\n } else {\n // otherwise just initialize properties\n that.wrapper = element;\n that.root = element.children(\"ul\").eq(0);\n }\n\n that._applyCssClasses();\n that._tabindex();\n\n that.wrapper.find(\">ul\").attr(\"role\", \"tree\");\n\n that._dataSource(inferred);\n\n that._attachEvents();\n\n that._dragging();\n\n if (!inferred) {\n if (options.autoBind) {\n that._progress(true);\n that.dataSource.fetch(this._attemptLoadCompleted.bind(this));\n }\n } else {\n that._syncHtmlAndDataSource();\n }\n\n if (options.checkboxes && options.checkboxes.checkChildren) {\n that.updateIndeterminate();\n }\n\n if (that.element[0].id) {\n that._ariaId = kendo.format(\"{0}_tv_active\", that.element[0].id);\n } else {\n that._ariaId = kendo.guid() + \"_tv_active\";\n }\n\n kendo.notify(that);\n },\n\n _attachEvents: function() {\n var that = this,\n clickableItems = \".k-treeview-leaf:not(.k-selected,.k-disabled)\",\n MOUSEENTER = \"mouseenter\";\n\n that._clickHandler = that._click.bind(that);\n\n that.wrapper\n .on(MOUSEENTER + NS, \".k-treeview-leaf.k-selected\", function(e) { e.preventDefault(); })\n .on(MOUSEENTER + NS, clickableItems, function() { $(this).addClass(KSTATEHOVER); })\n .on(\"mouseleave\" + NS, clickableItems, function() { $(this).removeClass(KSTATEHOVER); })\n .on(CLICK + NS, clickableItems, that._clickHandler)\n .on(\"dblclick\" + NS, \".k-treeview-leaf:not(.k-disabled)\", that._toggleButtonClick.bind(that))\n .on(CLICK + NS, `.k-treeview-toggle .${ICON}`, that._toggleButtonClick.bind(that))\n .on(\"keydown\" + NS, that, that._keydown.bind(that))\n .on(\"keypress\" + NS, that._keypress.bind(that))\n .on(\"focus\" + NS, that._focus.bind(that))\n .on(\"blur\" + NS, that._blur.bind(that))\n .on(\"mousedown\" + NS, `.k-treeview-leaf,.k-checkbox-wrap :checkbox,.k-treeview-toggle .${ICON}`, that._mousedown.bind(that))\n .on(\"change\" + NS, \".k-checkbox-wrap :checkbox\", that._checkboxChange.bind(that))\n .on(\"click\" + NS, \".k-request-retry\", that._retryRequest.bind(that))\n .on(\"click\" + NS, \".k-link.k-disabled\", function(e) { e.preventDefault(); })\n .on(\"click\" + NS, function(e) {\n var target = $(e.target);\n\n if (!target.is(\":kendoFocusable\") && !target.find(\"input,select,textarea,button,object\").is(\":kendoFocusable\")) {\n that.focus();\n }\n });\n },\n\n _syncHtmlAndDataSource: function(root, dataSource) {\n root = root || this.root;\n dataSource = dataSource || this.dataSource;\n var data = dataSource.view(),\n uidAttr = kendo.attr(\"uid\"),\n expandedAttr = kendo.attr(\"expanded\"),\n checkboxesEnabled = this.options.checkboxes,\n items = root.children(\"li\"),\n i,\n item,\n dataItem,\n uid,\n itemCheckbox;\n\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\")\n .attr(uidAttr, uid)\n .attr(ARIA_SELECTED, item.hasClass(\"k-selected\"));\n\n dataItem.expanded = item.attr(expandedAttr) === \"true\";\n\n if (dataItem.hasChildren) {\n item.attr(ARIA_EXPANDED, dataItem.expanded);\n }\n\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 item.attr(ARIA_CHECKED, item.checked);\n }\n\n this._syncHtmlAndDataSource(item.children(\"ul\"), dataItem.children);\n }\n },\n\n _animation: function() {\n var options = this.options,\n animationOptions = options.animation,\n hasCollapseAnimation = animationOptions.collapse && \"effects\" in animationOptions.collapse,\n collapse = extend({}, animationOptions.expand, animationOptions.collapse);\n\n if (!hasCollapseAnimation) {\n collapse = extend(collapse, { reverse: true });\n }\n\n if (animationOptions === false) {\n animationOptions = {\n expand: { effects: {} },\n collapse: { hide: true, effects: {} }\n };\n }\n\n animationOptions.collapse = extend(collapse, { hide: true });\n options.animation = animationOptions;\n },\n\n _dragging: function() {\n var enabled = this.options.dragAndDrop;\n var dragging = this.dragging;\n\n if (enabled && !dragging) {\n var widget = this;\n\n this.dragging = new ui.HierarchicalDragAndDrop(this.element, {\n reorderable: true,\n autoScroll: this.options.autoScroll,\n filter: \"div:not(.k-disabled) .k-treeview-leaf\",\n allowedContainers: \".k-treeview\",\n itemSelector: \".k-treeview .k-treeview-item\",\n hintText: this._hintText.bind(this),\n clickMoveClick: this.options.dragAndDrop.clickMoveClick === true ? true : false,\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-treeview-top,.k-treeview-mid,.k-treeview-bot\");\n return {\n item: item,\n content: target.closest(\".k-treeview-leaf\"),\n first: item.hasClass(\"k-treeview-top\"),\n last: item.hasClass(\"k-treeview-bot\")\n };\n },\n dropPositionFrom: function(dropHint) {\n return dropHint.prevAll(\".k-treeview-leaf\").length > 0 ? \"after\" : \"before\";\n },\n dragstart: function(source) {\n widget.wrapper.attr(kendo.attr(\"scrollable\"), false);\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 var dropTarget = $(options.dropTarget);\n var navigationTarget = dropTarget.closest(\"a\");\n\n if (navigationTarget && navigationTarget.attr(\"href\")) {\n widget._tempPreventNavigation(navigationTarget);\n }\n\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\n widget.wrapper.removeAttr(kendo.attr(\"scrollable\"));\n\n function triggerDragEnd(source) {\n if (widget.options.checkboxes && widget.options.checkboxes.checkChildren) {\n widget.updateIndeterminate();\n }\n\n widget.current(source);\n widget.element.focus();\n\n widget.trigger(DRAGEND, {\n originalEvent: options.originalEvent,\n sourceNode: source && source[0],\n destinationNode: destination[0],\n dropPosition: position\n });\n }\n\n // perform reorder / move\n // different handling is necessary because append might be async in remote bound tree\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\n triggerDragEnd(source);\n }\n }\n });\n } else if (!enabled && dragging) {\n dragging.destroy();\n this.dragging = null;\n }\n },\n\n _tempPreventNavigation: function(node) {\n node.on(CLICK + NS + TEMP_NS, function(ev) {\n ev.preventDefault();\n node.off(CLICK + NS + TEMP_NS);\n });\n },\n\n _hintText: function(node) {\n return this.templates.dragClue({\n item: this.dataItem(node),\n treeview: this.options\n });\n },\n\n _templates: function() {\n var that = this,\n options = that.options,\n fieldAccessor = that._fieldAccessor.bind(that);\n\n if (options.template && typeof options.template == STRING) {\n options.template = template(options.template);\n } else if (!options.template) {\n options.template = ({ item }) => {\n var text = fieldAccessor(\"text\")(item);\n\n if (typeof item.encoded != 'undefined' && item.encoded === false) {\n return `${text}`;\n }\n\n return `${encode(text)}`;\n };\n }\n\n that._checkboxes();\n\n that.templates = {\n setAttributes: function(item) {\n var result = \"\";\n var attributes = item.attr || {};\n\n for (var attr in attributes) {\n if (attributes.hasOwnProperty(attr) && attr !== \"class\") {\n result += attr + \"=\\\"\" + attributes[attr] + \"\\\" \";\n }\n }\n\n return result;\n },\n cssClass: function(group, item) {\n var result = \"\",\n index = item.index,\n groupLength = group.length - 1;\n\n if (group.firstLevel && index === 0) {\n result += \"k-treeview-top \";\n }\n\n if (index === 0 && index != groupLength) {\n result += (result.indexOf(\"k-treeview-top\") != -1) ? \"\" : \"k-treeview-top\";\n } else if (index == groupLength) {\n result += \"k-treeview-bot\";\n } else {\n result += \"k-treeview-mid\";\n }\n\n return result;\n },\n textClass: function(item, isLink) {\n var result = \"k-treeview-leaf\";\n\n if (isLink) {\n result += \" k-link\";\n }\n\n if (item.enabled === false) {\n result += \" k-disabled\";\n }\n\n if (item.selected === true) {\n result += \" k-selected\";\n }\n\n return result;\n },\n checkboxClass: function(item) {\n var result = \"k-checkbox\";\n\n if (item.enabled === false) {\n result += \" k-disabled\";\n }\n\n return result;\n },\n toggleButtonClass: function(item) {\n var result = \"k-treeview-toggle\";\n\n if (item.enabled === false) {\n result += \" k-disabled\";\n }\n\n return result;\n },\n toggleIcon: function(icon, item) {\n if (item.expanded !== true) {\n return ui.icon(icon, { icon: `caret-alt-${kendo.support.isRtl(that.element) ? 'left' : 'right'}` });\n } else {\n return ui.icon(icon, { icon: 'caret-alt-down' });\n }\n },\n groupAttributes: function(group) {\n var attributes = \"\";\n\n if (!group.firstLevel) {\n attributes = \"role='group'\";\n }\n\n return attributes + (group.expanded !== true ? ` ${kendo.attr(\"style-display\")}=\"none\"` : \"\");\n },\n groupCssClass: function(group) {\n var cssClass = \"k-treeview-group\";\n\n if (group.firstLevel) {\n cssClass += \" k-treeview-lines\";\n }\n\n return cssClass;\n },\n dragClue: (data) => data.treeview.template(data),\n group: (data) =>\n `