{"version":3,"file":"kendo.dropdowntree.min.js","names":["factory","define","amd","$","undefined$1","subGroup","filter","kendo","window","ui","keys","DISABLED","SELECT","CHECKED","INDETERMINATE","TreeView","node","result","children","length","Tree","extend","init","element","options","dropdowntree","that","this","fn","call","_isMultipleSelection","wrapper","on","CLICK","_clickSelectedItem","bind","_checkOnSelect","e","isDefaultPrevented","dataItem","set","checked","_setCheckedValue","value","_click","one","currentTarget","_trigger","defaultrefresh","i","action","items","parentNode","loadOnDemand","checkChildren","checkboxes","_skip","field","level","_updateNodes","findByUid","uid","_progress","bubble","_appendItems","index","_remove","_refreshChildren","_refreshRoot","expanded","load","attr","find","trigger","_treeViewDataBound","sender","updateIndeterminate","_previousVisible","lastChild","prev","root","last","_expanded","parent","checkAll","is","filterInput","_keydown","target","key","keyCode","focused","current","checkbox","first","rtl","support","isRtl","RIGHT","LEFT","_nextVisible","hasClass","expand","collapse","_enabled","DOWN","UP","altKey","HOME","END","ENTER","SPACEBAR","prop","data","_checkboxChange","ESC","_closePopup","TAB","preventDefault","select","close","refresh","skipUpdateOnBind","_checkValue","selected","_selectValue","_dropdowntree","jQuery","html","Widget","ObservableArray","ObservableObject","activeElement","_activeElement","ns","HIDDENCLASS","WIDTH","browser","outerWidth","_outerWidth","DOT","READONLY","STATEDISABLED","ARIA_DISABLED","FOCUSED","HOVEREVENTS","TABINDEX","OPEN","CLOSE","CHANGE","quotRegExp","CHIP","DropDownTree","_selection","_getSelection","_focusInputHandler","_focusInput","_initial","val","_values","_noInitialValue","_isNullorUndefined","_valueMethodCalled","Array","isArray","slice","_inputTemplate","_accessors","_setTreeViewOptions","_dataSource","_initWrapper","_applyCssClasses","_placeholder","_tabindex","tree","tabIndex","list","append","_header","_noData","_footer","_reset","_popup","popup","_popupOpen","_clearButton","_filterHeader","_treeview","_renderFooter","_checkAll","_enable","_toggleCloseVisibility","autoBind","text","_textAccessor","placeholder","_preselect","parents","enable","label","_label","_aria","notify","labelOptions","isPlainObject","content","Label","widget","floatCheck","_floatCheck","_inputLabel","visible","_refreshFloatingLabel","floatingLabel","treeviewOptions","dataImageUrlField","dataSpriteCssClassField","dataTextField","dataUrlField","size","treeview","template","rootDataSource","dataSource","HierarchicalDataSource","create","wrap","_altname","MultipleSelection","SingleSelection","setDataSource","_isDataSourceSet","_tags","setValue","empty","span","show","_multipleTags","name","animation","autoClose","autoWidth","clearButton","dataValueField","delay","enabled","enforceMinLength","height","ignoreCase","messages","singleTag","clear","deleteTag","noData","minLength","noDataTemplate","checkAllTemplate","tagMode","valuePrimitive","footerTemplate","headerTemplate","valueTemplate","filterLabel","fillMode","rounded","events","focus","readonly","_editable","disable","toggle","open","_toggle","_isFilterEnabled","_search","fetch","_allowOpening","addClass","_hovered","search","word","clearTimeout","_typingTimeout","_getFilter","_filtering","operator","flatView","_renderNoData","setOptions","console","warn","css","_unwrapFloating","remove","destroy","off","_clear","tagList","unbind","_form","_resetHandler","_filter","_setValue","loweredText","toLowerCase","_selectItemByText","input","role","_activeId","guid","_ariaLabel","id","header","_angularElement","prepend","angular","elements","appendTo","instance","footer","disabled","_adjustListWidth","computedStyle","computedWidth","width","style","getComputedStyle","parseFloat","msie","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","fontFamily","minWidth","whiteSpace","formId","form","closest","setTimeout","this$1$1","Popup","anchor","_openHandler","_closeHandler","autosize","deactivate","activate","toggleClass","trim","removeAttr","_currentValue","currentValue","_value","indexOfValue","isMultiple","_level","indexOf","grep","item","_tagUid","itemToAdd","toJSON","push","hide","itemToRemove","idx","_treeViewCheckAllCheck","splice","_preventChangeTrigger","position","_updateSelectedOptions","tagName","selectedItems","_option","_text","dataValue","dataText","option","replace","htmlEncode","_accessor","_clearClick","stopPropagation","_clearTextAndValue","_clearValue","_clearInput","_clearText","useWithBlock","_assignInstance","assign","split","removeClass","getElements","get","getter","textField","valueField","getterFunction","count","levels","map","x","d","Math","min","_accessorInput","clearTitle","insertAfter","isReadOnly","hasValue","valueDoesNotEqualPlaceHolder","_hideClear","_showClear","_prev","_deselectItem","rootItem","subItems","_checkLoadedItems","rootItems","_valueComparer","_checkLoadedItem","_getAllChecked","_checkCheckAll","_uncheckCheckAll","checkAllCheckbox","_allItemsAreChecked","_allItemsAreUnchecked","_disableCheckChildren","title","_filterChange","insertBefore","renderCheckBox","_changeCheckAll","_keydownCheckAll","_disabledCheckedItems","_disabledUnCheckedItems","isChecked","_updateCheckAll","_toggleCheckAllItems","edge","_clickCheckAll","_dfs","_traverceChildren","_uncheckItemByUid","_uncheckItemEqualsUid","_itemEqualsText","_selectItemByValue","_itemEqualsValue","_checkItemByValue","dataItems","_checkItemEqualsValue","itemText","itemValue","newValue","_allCheckedItems","_getAllCheckedItems","_childrenOptions","schema","_checkAllCheckItem","add","dropDownWrapper","_focusinHandler","_focusoutHandler","_toggleHover","_wrapperClick","_removeTagClick","_prevent","_focused","type","preventScroll","_ie11PreventScrollOnFocus","version","_toggleResize","isFilterInputActive","isWrapperActive","tagItem","isPopupVisible","_focusPrevTag","_focusNextTag","_focusFirstTag","_focusLastTag","DELETE","_removeTag","BACKSPACE","_clearFilter","activedescendant","next","_clearDisabledTag","firstTag","lastTag","fields","lastIndex","plugin","cssProperties","registerPrefix","registerValues","values","roundedValues","concat","Class","view","_wrapper","_span","DOMelement","cssText","className","accesskey","unselectable","SELECTOR","renderButton","icon","shape","_arrow","_arrowIcon","selectedNode","dropdowntreeHasValue","triggerChange","tempItem","_tagTemplate","_tagList","valueToSelect","tagTemplate","renderChip","themeColor","removable","removeIcon","removableAttr","tagCollection","renderChipList","viewModel","observable","multipleTag","tags","oldValues","_removeValues","removedValues","_getNewValues","j","tagsArray","_findTag","tempItemValue"],"sources":["kendo.dropdowntree.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.treeview', 'kendo.popup', 'kendo.binder', 'kendo.html.chip', 'kendo.html.chiplist', 'kendo.html.button', 'kendo.html.input', 'kendo.label'], factory) :\n factory();\n})((function () {\n (function($, undefined$1) {\n\n var kendo = window.kendo,\n ui = kendo.ui,\n keys = kendo.keys,\n DISABLED = \"k-disabled\",\n SELECT = \"select\",\n CHECKED = \"checked\",\n DATABOUND = \"dataBound\",\n CLICK = \"click\",\n NS = \".kendoTreeView\",\n INDETERMINATE = \"indeterminate\",\n NAVIGATE = \"navigate\",\n subGroup,\n TreeView = ui.TreeView;\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 subGroup = contentChild(\".k-group\");\n\n var Tree = TreeView.extend({\n init: function(element, options, dropdowntree) {\n var that = this;\n\n that.dropdowntree = dropdowntree;\n\n TreeView.fn.init.call(that, element, options);\n if (that.dropdowntree._isMultipleSelection()) {\n that.wrapper.on(CLICK + NS, '.k-in.k-selected', that._clickSelectedItem.bind(that));\n }\n },\n\n _checkOnSelect: function(e) {\n if (!e.isDefaultPrevented()) {\n var dataItem = this.dataItem(e.node);\n\n dataItem.set(\"checked\", !dataItem.checked);\n }\n },\n\n _setCheckedValue: function(node, value) {\n node.set(CHECKED, value);\n },\n\n _click: function(e) {\n var that = this;\n\n if (that.dropdowntree._isMultipleSelection()) {\n that.one(\"select\", that._checkOnSelect);\n }\n TreeView.fn._click.call(that, e);\n },\n\n _clickSelectedItem: function(e) {\n var that = this,\n node = $(e.currentTarget);\n\n that.one(\"select\", that._checkOnSelect);\n if (!that._trigger(SELECT, node)) {\n that.dataItem(node).set(\"selected\", false);\n }\n },\n\n defaultrefresh: function(e) {\n var that = this;\n var node = e.node;\n var action = e.action;\n var items = e.items;\n var parentNode = this.wrapper;\n var options = this.options;\n var loadOnDemand = options.loadOnDemand;\n var checkChildren = options.checkboxes && options.checkboxes.checkChildren;\n var i;\n\n if (this._skip) {\n return;\n }\n\n if (e.field) {\n if (!items[0] || !items[0].level) {\n return;\n }\n\n return this._updateNodes(items, e.field);\n }\n\n if (node) {\n parentNode = this.findByUid(node.uid);\n this._progress(parentNode, false);\n }\n\n if (checkChildren && action != \"remove\") {\n var bubble = false;\n\n for (i = 0; i < items.length; i++) {\n if (\"checked\" in items[i]) {\n bubble = true;\n break;\n }\n }\n\n if (!bubble && node && node.checked) {\n for (i = 0; i < items.length; i++) {\n items[i].checked = true;\n }\n }\n }\n\n if (action == \"add\") {\n this._appendItems(e.index, items, parentNode);\n } else if (action == \"remove\") {\n this._remove(this.findByUid(items[0].uid), false);\n } else if (action == \"itemchange\") {\n this._updateNodes(items);\n } else if (action == \"itemloaded\") {\n this._refreshChildren(parentNode, items, e.index);\n } else {\n this._refreshRoot(items);\n }\n\n if (action != \"remove\") {\n for (i = 0; i < items.length; i++) {\n if (!loadOnDemand || items[i].expanded) {\n items[i].load();\n }\n }\n }\n\n that.wrapper.attr(\"role\", \"tree\");\n that.wrapper.find(\">ul\").attr(\"role\", \"none\");\n\n this.trigger(DATABOUND, { node: node ? parentNode : undefined$1 });\n this.dropdowntree._treeViewDataBound({ node: node ? parentNode : undefined$1, sender: this });\n if (this.options.checkboxes.checkChildren) {\n this.updateIndeterminate();\n }\n },\n\n _previousVisible: function(node) {\n var that = this,\n lastChild,\n result;\n\n if (!node.length || node.prev().length) {\n if (node.length) {\n result = node.prev();\n } else {\n result = that.root.children().last();\n }\n\n while (that._expanded(result)) {\n lastChild = subGroup(result).children().last();\n\n if (!lastChild.length) {\n break;\n }\n\n result = lastChild;\n }\n } else {\n result = that.parent(node) || node;\n\n if (!result.length) {\n if (that.dropdowntree.checkAll && that.dropdowntree.checkAll.is(\":visible\")) {\n that.dropdowntree.checkAll.find(\".k-checkbox\").trigger(\"focus\");\n } else if (that.dropdowntree.filterInput) {\n that.dropdowntree.filterInput.trigger(\"focus\");\n } else {\n that.dropdowntree.wrapper.trigger(\"focus\");\n }\n }\n }\n\n return result;\n },\n\n _keydown: function(e) {\n var that = this,\n key = e.keyCode,\n target,\n focused = that.current(),\n expanded = that._expanded(focused),\n checkbox = focused.find(\".k-checkbox-wrapper\").first().find(\":checkbox\"),\n rtl = kendo.support.isRtl(that.element);\n\n if (e.target != e.currentTarget) {\n return;\n }\n\n if ((!rtl && key == keys.RIGHT) || (rtl && key == keys.LEFT)) {\n if (expanded) {\n target = that._nextVisible(focused);\n } else if (!focused.find(\".k-in\").first().hasClass(DISABLED)) {\n that.expand(focused);\n }\n } else if ((!rtl && key == keys.LEFT) || (rtl && key == keys.RIGHT)) {\n if (expanded && !focused.find(\".k-in\").first().hasClass(DISABLED)) {\n that.collapse(focused);\n } else {\n target = that.parent(focused);\n\n if (!that._enabled(target)) {\n target = undefined$1;\n }\n }\n } else if (key == keys.DOWN) {\n target = that._nextVisible(focused);\n } else if (key == keys.UP && !e.altKey) {\n target = that._previousVisible(focused);\n } else if (key == keys.HOME) {\n target = that._nextVisible($());\n } else if (key == keys.END) {\n target = that._previousVisible($());\n } else if (key == keys.ENTER && !focused.find(\".k-in\").first().hasClass(DISABLED)) {\n if (!focused.find(\".k-in\").first().hasClass(\"k-selected\")) {\n if (!that._trigger(SELECT, focused)) {\n that.select(focused);\n }\n }\n } else if (key == keys.SPACEBAR && checkbox.length && !focused.find(\".k-in\").first().hasClass(DISABLED)) {\n checkbox.prop(CHECKED, !checkbox.prop(CHECKED))\n .data(INDETERMINATE, false)\n .prop(INDETERMINATE, false);\n\n that._checkboxChange({ target: checkbox });\n\n target = focused;\n } else if ((e.altKey && key === keys.UP) || key === keys.ESC) {\n that._closePopup();\n } else if ( key === keys.TAB) {\n e.preventDefault();\n that._closePopup();\n }\n\n if (target) {\n e.preventDefault();\n\n if (focused[0] != target[0]) {\n that._trigger(NAVIGATE, target);\n that.current(target);\n }\n }\n },\n\n _closePopup: function() {\n this.dropdowntree.close();\n this.dropdowntree.wrapper.trigger(\"focus\");\n },\n\n refresh: function(e) {\n this.defaultrefresh(e);\n\n if (this.dropdowntree.options.skipUpdateOnBind) {\n return;\n }\n\n if (e.action === \"itemchange\") {\n if (this.dropdowntree._isMultipleSelection()) {\n if (e.field === \"checked\") {\n this.dropdowntree._checkValue(e.items[0]);\n }\n } else {\n if (e.field !== \"checked\" && e.field !== \"expanded\" && e.items[0].selected) {\n this.dropdowntree._selectValue(e.items[0]);\n }\n }\n } else {\n this.dropdowntree.refresh(e);\n }\n }\n\n });\n\n kendo.ui._dropdowntree = Tree;\n\n })(window.kendo.jQuery);\n\n var __meta__ = {\n id: \"dropdowntree\",\n name: \"DropDownTree\",\n category: \"web\",\n description: \"The DropDownTree widget displays a hierarchy of items and allows the selection of single or multiple items.\",\n depends: [ \"treeview\", \"popup\", \"binder\", \"html.chip\", \"html.chiplist\", \"html.button\", \"html.input\", \"label\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n html = kendo.html,\n Widget = ui.Widget,\n TreeView = ui._dropdowntree,\n ObservableArray = kendo.data.ObservableArray,\n ObservableObject = kendo.data.ObservableObject,\n extend = $.extend,\n activeElement = kendo._activeElement,\n ns = \".kendoDropDownTree\",\n keys = kendo.keys,\n support = kendo.support,\n HIDDENCLASS = \"k-hidden\",\n WIDTH = \"width\",\n browser = support.browser,\n outerWidth = kendo._outerWidth,\n DOT = \".\",\n DISABLED = \"disabled\",\n READONLY = \"readonly\",\n STATEDISABLED = \"k-disabled\",\n ARIA_DISABLED = \"aria-disabled\",\n HOVER = \"k-hover\",\n FOCUSED = \"k-focus\",\n HOVEREVENTS = \"mouseenter\" + ns + \" mouseleave\" + ns,\n TABINDEX = \"tabindex\",\n CLICK = \"click\",\n OPEN = \"open\",\n CLOSE = \"close\",\n CHANGE = \"change\",\n quotRegExp = /\"/g,\n\n CHIP = \".k-chip\";\n\n var DropDownTree = kendo.ui.Widget.extend( {\n init: function(element, options) {\n this.ns = ns;\n\n kendo.ui.Widget.fn.init.call(this, element, options);\n this._selection = this._getSelection();\n this._focusInputHandler = this._focusInput.bind(this);\n this._initial = this.element.val();\n\n this._values = [];\n\n var value = this.options.value;\n\n if (value === null || !value.length) {\n this._noInitialValue = true;\n }\n\n if (!this._isNullorUndefined(value)) {\n this._valueMethodCalled = true;\n this._values = Array.isArray(value) ? value.slice(0) : [value];\n }\n\n this._inputTemplate();\n\n this._accessors();\n this._setTreeViewOptions(this.options);\n this._dataSource();\n this._selection._initWrapper();\n this._applyCssClasses();\n this._placeholder(true);\n this._tabindex();\n this.wrapper.data(TABINDEX, this.wrapper.attr(TABINDEX));\n\n this.tree = $('
')\n .attr({\n tabIndex: -1,\n \"aria-hidden\": true\n });\n\n this.list = $(\"\")\n .append(this.tree);\n\n this._header();\n this._noData();\n this._footer();\n this._reset();\n this._popup();\n this.popup.one(\"open\", this._popupOpen.bind(this));\n this._clearButton();\n this._filterHeader();\n this._treeview();\n\n this._renderFooter();\n\n this._checkAll();\n this._enable();\n this._toggleCloseVisibility();\n\n if (!this.options.autoBind) {\n var text = options.text || \"\";\n if (!this._isNullorUndefined(options.value)) {\n this._preselect(options.value);\n } else if (text) {\n this._textAccessor(text);\n } else if (options.placeholder) {\n this._placeholder(true);\n }\n }\n\n var disabled = $(this.element).parents(\"fieldset\").is(':disabled');\n\n if (disabled) {\n this.enable(false);\n }\n this._valueMethodCalled = false;\n\n if (this.options.label) {\n this._label();\n }\n\n this._aria();\n\n kendo.notify(this);\n },\n\n _label: function() {\n var that = this;\n var options = that.options;\n var labelOptions = $.isPlainObject(options.label) ? options.label : {\n content: options.label\n };\n\n that.label = new kendo.ui.Label(null, $.extend({}, labelOptions, {\n widget: that,\n floatCheck: that._floatCheck.bind(that)\n }));\n\n that._inputLabel = that.label.element;\n },\n\n _floatCheck: function() {\n var hasValue = (this.value() && !this._isMultipleSelection()) || this.value().length || this.text();\n return !hasValue && !this.popup.visible();\n },\n\n _refreshFloatingLabel: function() {\n var that = this;\n\n if (that.label && that.label.floatingLabel) {\n that.label.floatingLabel.refresh();\n }\n },\n\n _preselect: function(data, value) {\n this._selection._preselect(data, value);\n },\n\n _setTreeViewOptions: function(options) {\n var treeviewOptions = {\n autoBind: options.autoBind,\n checkboxes: options.checkboxes,\n dataImageUrlField: options.dataImageUrlField,\n dataSpriteCssClassField: options.dataSpriteCssClassField,\n dataTextField: options.dataTextField,\n dataUrlField: options.dataUrlField,\n loadOnDemand: options.loadOnDemand,\n size: options.size\n };\n\n this.options.treeview = $.extend({}, treeviewOptions, this.options.treeview);\n\n if (options.template) {\n this.options.treeview.template = options.template;\n }\n\n if (options.size) {\n this.options.treeview.size = options.size;\n }\n },\n\n _dataSource: function() {\n var rootDataSource = this.options.dataSource;\n\n this.dataSource = kendo.data.HierarchicalDataSource.create(rootDataSource);\n if (rootDataSource) {\n $.extend(this.options.treeview,{\n dataSource: this.dataSource\n });\n }\n },\n\n _popupOpen: function() {\n var popup = this.popup;\n popup.wrapper = kendo.wrap(popup.element);\n },\n\n _getSelection: function() {\n if (this._isMultipleSelection()) {\n this.options._altname = \"MultiSelectDropDownTree\";\n return new ui.DropDownTree.MultipleSelection(this);\n } else {\n return new ui.DropDownTree.SingleSelection(this);\n }\n },\n\n setDataSource: function(dataSource) {\n this._isDataSourceSet = true;\n if (this._tags) {\n this._noInitialValue = true;\n this.setValue([]);\n this._tags.empty();\n this.span.show();\n this._multipleTags.empty();\n }\n this.dataSource = dataSource;\n this.treeview.setDataSource(dataSource);\n this._isDataSourceSet = false;\n },\n\n _isMultipleSelection: function() {\n return this.options && (this.options.treeview.checkboxes || this.options.checkboxes);\n },\n\n options: {\n name: \"DropDownTree\",\n animation: {},\n autoBind: true,\n autoClose: true,\n autoWidth: false,\n clearButton: true,\n dataTextField: \"\",\n dataValueField: \"\",\n dataImageUrlField: \"\",\n dataSpriteCssClassField: \"\",\n dataUrlField: \"\",\n delay: 500,\n enabled: true,\n enforceMinLength: false,\n filter: \"none\",\n height: 200,\n ignoreCase: true,\n index: 0,\n loadOnDemand: false,\n messages: {\n \"singleTag\": \"item(s) selected\",\n \"clear\": \"clear\",\n \"deleteTag\": \"delete\",\n \"noData\": \"No data found.\"\n },\n minLength: 1,\n checkboxes: false,\n noDataTemplate: true,\n placeholder: \"\",\n checkAll: false,\n checkAllTemplate: \"Check all\",\n tagMode: \"multiple\",\n template: null,\n text: null,\n treeview: {},\n valuePrimitive: false,\n footerTemplate: \"\",\n headerTemplate: \"\",\n value: null,\n valueTemplate: null,\n popup: null,\n filterLabel: null,\n size: \"medium\",\n fillMode: \"solid\",\n rounded: \"medium\",\n label: null\n },\n\n events: [\n \"open\",\n \"close\",\n \"dataBound\",\n CHANGE,\n \"select\",\n \"filtering\"\n ],\n\n focus: function() {\n this.wrapper.trigger(\"focus\");\n },\n\n dataItem: function(node) {\n return this.treeview.dataItem(node);\n },\n\n readonly: function(readonly) {\n this._editable({\n readonly: readonly === undefined$1 ? true : readonly,\n disable: false\n });\n this._toggleCloseVisibility();\n\n if (this.label && this.label.floatingLabel) {\n this.label.floatingLabel.readonly(readonly === undefined$1 ? true : readonly);\n }\n },\n\n enable: function(enable) {\n this._editable({\n readonly: false,\n disable: !(enable = enable === undefined$1 ? true : enable)\n });\n this._toggleCloseVisibility();\n\n if (this.label && this.label.floatingLabel) {\n this.label.floatingLabel.enable(enable = enable === undefined$1 ? true : enable);\n }\n },\n\n toggle: function(open) {\n this._toggle(open);\n },\n\n open: function() {\n var popup = this.popup;\n\n if (!this.options.autoBind && !this.dataSource.data().length) {\n this.treeview._progress(true);\n if (this._isFilterEnabled()) {\n this._search();\n } else {\n this.dataSource.fetch();\n }\n }\n\n if (popup.visible() || !this._allowOpening()) {\n return;\n }\n\n if (this._isMultipleSelection()) {\n popup.element.addClass(\"k-multiple-selection\");\n }\n popup.element.addClass(\"k-popup-dropdowntree\");\n\n popup.one(\"activate\", this._focusInputHandler);\n popup._hovered = true;\n popup.open();\n },\n\n close: function() {\n this.popup.close();\n },\n\n search: function(word) {\n var options = this.options;\n var filter;\n clearTimeout(this._typingTimeout);\n\n if ((!options.enforceMinLength && !word.length) || word.length >= options.minLength) {\n filter = this._getFilter(word);\n if (this.trigger(\"filtering\", { filter: filter }) ||\n Array.isArray(this.options.dataTextField)) {\n return;\n }\n\n this._filtering = true;\n this.treeview.dataSource.filter(filter);\n }\n },\n\n _getFilter: function(word) {\n return {\n field: this.options.dataTextField,\n operator: this.options.filter,\n value: word,\n ignoreCase: this.options.ignoreCase\n };\n },\n\n refresh: function() {\n var data = this.treeview.dataSource.flatView();\n this._renderFooter();\n this._renderNoData();\n if (this.filterInput && this.checkAll) {\n this.checkAll.toggle(!this.filterInput.val().length);\n }\n\n this.tree.toggle(!!data.length);\n $(this.noData).toggle(!data.length);\n },\n\n setOptions: function(options) {\n if (this.options.checkboxes != options.checkboxes) {\n delete options.checkboxes;\n window.console.warn('setOptions method can not be used to set the checkboxes option in DropDownTree');\n }\n\n Widget.fn.setOptions.call(this, options);\n\n this._setTreeViewOptions(options);\n this._dataSource();\n if (this.options.treeview || options.size) {\n this.treeview.setOptions(this.options.treeview);\n }\n\n if (options.height && this.tree) {\n this.tree.css('max-height', options.height);\n }\n\n this._header();\n this._noData();\n this._footer();\n\n this._renderFooter();\n this._renderNoData();\n if (this.span && (this._isMultipleSelection() || this.span.hasClass(\"k-readonly\"))) {\n this._placeholder(true);\n }\n this._inputTemplate();\n this._accessors();\n this._filterHeader();\n this._checkAll();\n this._enable();\n if (options && (options.enable || options.enabled)) {\n this.enable(true);\n }\n this._clearButton();\n\n if (options === undefined$1 || options === null) {\n options = {};\n }\n\n if (options.label && this._inputLabel) {\n this.label.setOptions(options.label);\n } else if (options.label === false) {\n this.label._unwrapFloating();\n this._inputLabel.remove();\n delete this._inputLabel;\n } else if (options.label) {\n this._label();\n }\n },\n\n destroy: function() {\n kendo.ui.Widget.fn.destroy.call(this);\n if (this.treeview) {\n this.treeview.destroy();\n }\n this.popup.destroy();\n\n this.wrapper.off(ns);\n this._clear.off(ns);\n if (this.filterInput) {\n this.filterInput.off(ns);\n }\n\n if (this.tagList) {\n this.tagList.off(ns);\n }\n\n kendo.unbind(this.tagList);\n if (this.options.checkAll && this.checkAll) {\n this.checkAll.off(ns);\n }\n\n if (this._form) {\n this._form.off(\"reset\", this._resetHandler);\n }\n\n if (this.label) {\n this.label.destroy();\n }\n },\n\n setValue: function(value) {\n value = Array.isArray(value) || value instanceof ObservableArray ? value.slice(0) : [value];\n\n this._values = value;\n },\n\n items: function() {\n return this.treeview.items();\n },\n\n value: function(value) {\n var that = this;\n\n if (value) {\n if (that.filterInput && that.dataSource._filter) {\n that._filtering = true;\n that.dataSource.filter({});\n } else if (!that.dataSource.data().length || !that.treeview.dataSource.data().length) {\n if (!that.options.loadOnDemand) {\n that.treeview.one('loadCompleted', function() {\n that._selection._setValue(value);\n });\n\n if (!that.options.autoBind && that.options.valuePrimitive) {\n that.dataSource.fetch();\n }\n } else {\n that.dataSource.fetch(function() {\n that._selection._setValue(value);\n });\n }\n\n return;\n }\n }\n\n return that._selection._setValue(value);\n },\n\n text: function(text) {\n var loweredText;\n var ignoreCase = this.options.ignoreCase;\n\n text = text === null ? \"\" : text;\n\n if (text !== undefined$1 && !this._isMultipleSelection()) {\n if (typeof text !== \"string\") {\n this._textAccessor(text);\n return;\n }\n\n loweredText = ignoreCase ? text : text.toLowerCase();\n\n this._selectItemByText(loweredText);\n\n this._textAccessor(loweredText);\n this._refreshFloatingLabel();\n } else {\n return this._textAccessor();\n }\n\n },\n\n _aria: function() {\n var input = this.wrapper.find(\"span.k-input-inner\");\n\n this.wrapper.attr({\n \"aria-haspopup\": \"tree\",\n \"aria-expanded\": false,\n \"aria-controls\": this.treeview.element.attr(\"id\"),\n \"role\": \"listbox\"\n });\n\n this._activeId = kendo.guid();\n this._ariaLabel(this.wrapper);\n\n if (this.filterInput && this.options.filterLabel) {\n this.filterInput.attr(\"aria-label\", this.options.filterLabel);\n }\n\n if (!this.options.checkboxes && input.text().length) {\n input.attr(\"role\", \"option\");\n input.attr(\"aria-selected\", \"true\");\n input.attr(\"id\", this._activeId);\n\n this.wrapper.attr(\"aria-activedescendant\", this._activeId);\n } else if (this.options.checkboxes) {\n this.wrapper.attr({\n \"aria-multiselectable\": true,\n \"aria-describedby\": this.tagList[0].id\n });\n\n this.tagList.attr(\"role\", \"none\");\n }\n },\n\n _header: function() {\n var list = this;\n var header = $(list.header);\n var template = list.options.headerTemplate;\n\n this._angularElement(header, \"cleanup\");\n kendo.destroy(header);\n header.remove();\n\n if (!template) {\n list.header = null;\n return;\n }\n\n var headerTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n header = $(headerTemplate({}));\n\n list.header = header[0] ? header : null;\n list.list.prepend(header);\n\n this._angularElement(list.header, \"compile\");\n },\n\n _noData: function() {\n var list = this;\n var noData = $(list.noData);\n var template = list.options.noDataTemplate === true ? list.options.messages.noData : list.options.noDataTemplate;\n\n list.angular(\"cleanup\", function() { return { elements: noData }; });\n kendo.destroy(noData);\n noData.remove();\n\n if (!template) {\n list.noData = null;\n return;\n }\n\n list.noData = $('').appendTo(list.list);\n list.noDataTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n },\n\n _renderNoData: function() {\n var list = this;\n var noData = list.noData;\n\n if (!noData) {\n return;\n }\n\n this._angularElement(noData, \"cleanup\");\n noData.html(list.noDataTemplate({ instance: list }));\n this._angularElement(noData, \"compile\");\n },\n\n _footer: function() {\n var list = this;\n var footer = $(list.footer);\n var template = list.options.footerTemplate;\n\n this._angularElement(footer, \"cleanup\");\n kendo.destroy(footer);\n footer.remove();\n\n if (!template) {\n list.footer = null;\n return;\n }\n\n list.footer = $('').appendTo(list.list);\n list.footerTemplate = typeof template !== \"function\" ? kendo.template(template) : template;\n },\n\n _renderFooter: function() {\n var list = this;\n var footer = list.footer;\n\n if (!footer) {\n return;\n }\n\n this._angularElement(footer, \"cleanup\");\n footer.html(list.footerTemplate({ instance: list }));\n this._angularElement(footer, \"compile\");\n },\n\n _enable: function() {\n var that = this,\n options = that.options,\n disabled = that.element.is(\"[disabled]\");\n\n if (options.enable !== undefined$1) {\n options.enabled = options.enable;\n }\n\n if (!options.enabled || disabled) {\n that.enable(false);\n } else {\n that.readonly(that.element.is(\"[readonly]\"));\n }\n },\n\n _adjustListWidth: function() {\n var that = this,\n list = that.list,\n width = list[0].style.width,\n wrapper = that.wrapper,\n computedStyle, computedWidth;\n\n if (!list.data(WIDTH) && width) {\n return;\n }\n\n computedStyle = window.getComputedStyle ? window.getComputedStyle(wrapper[0], null) : 0;\n computedWidth = parseFloat(computedStyle && computedStyle.width) || outerWidth(wrapper);\n\n if (computedStyle && browser.msie) { // getComputedStyle returns different box in IE.\n computedWidth += parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight) + parseFloat(computedStyle.borderLeftWidth) + parseFloat(computedStyle.borderRightWidth);\n }\n\n if (list.css(\"box-sizing\") !== \"border-box\") {\n width = computedWidth - (outerWidth(list) - list.width());\n } else {\n width = computedWidth;\n }\n\n list.css({\n fontFamily: wrapper.css(\"font-family\"),\n width: that.options.autoWidth ? \"auto\" : width,\n minWidth: width,\n whiteSpace: that.options.autoWidth ? \"nowrap\" : \"normal\"\n })\n .data(WIDTH, width);\n\n return true;\n },\n\n _reset: function() {\n var that = this,\n element = that.element,\n formId = element.attr(\"form\"),\n form = formId ? $(\"#\" + formId) : element.closest(\"form\");\n\n if (form[0]) {\n that._resetHandler = function() {\n setTimeout(function() {\n that.value(that._initial);\n });\n };\n\n that._form = form.on(\"reset\", that._resetHandler);\n }\n },\n\n _popup: function() {\n var this$1$1 = this;\n\n var list = this;\n\n if (list.options.checkboxes && list.options.checkAll) {\n list.list.attr(\"role\", \"application\");\n }\n\n list.popup = new ui.Popup(list.list, extend({}, list.options.popup, {\n anchor: list.wrapper,\n open: list._openHandler.bind(list),\n close: list._closeHandler.bind(list),\n animation: list.options.animation,\n isRtl: support.isRtl(list.wrapper),\n autosize: list.options.autoWidth,\n deactivate: function () {\n this$1$1._refreshFloatingLabel();\n },\n activate: function () {\n this$1$1._refreshFloatingLabel();\n }\n }));\n },\n\n _angularElement: function(element, action) {\n if (!element) {\n return;\n }\n\n this.angular(action, function() {\n return { elements: element };\n });\n },\n\n _allowOpening: function() {\n return this.options.noDataTemplate || this.treeview.dataSource.flatView().length;\n },\n\n _placeholder: function(show) {\n if (this.span) {\n this.span.toggleClass(\"k-readonly\", show).text(show ? this.options.placeholder : \"\");\n }\n\n if (this.span.text().trim().length > 0) {\n this.span.parent().attr({\n role: \"option\",\n \"aria-selected\": true\n });\n } else {\n this.span.parent().removeAttr(\"role\");\n this.span.parent().removeAttr(\"aria-selected\");\n }\n },\n\n _currentValue: function(dataItem) {\n var currentValue = this._value(dataItem);\n if (!currentValue && currentValue !== 0) {\n currentValue = dataItem;\n }\n\n return currentValue;\n },\n\n _checkValue: function(dataItem) {\n var value = \"\";\n var indexOfValue = -1;\n var currentValue = this.value();\n var isMultiple = this.options.tagMode === \"multiple\";\n\n if (dataItem || dataItem === 0) {\n if (dataItem.level) {\n dataItem._level = dataItem.level();\n }\n\n value = this._currentValue(dataItem);\n\n indexOfValue = currentValue.indexOf(value);\n }\n\n if (dataItem.checked) {\n var alreadyAddedTag = $.grep(this._tags, function( item ) {\n return item.uid === dataItem._tagUid;\n });\n\n if (alreadyAddedTag.length) {\n return;\n }\n\n var itemToAdd = new ObservableObject(dataItem.toJSON());\n dataItem._tagUid = itemToAdd.uid;\n this._tags.push(itemToAdd);\n\n if (this._tags.length === 1) {\n this.span.hide();\n\n if (!isMultiple) {\n this._multipleTags.push(itemToAdd);\n }\n }\n\n if (indexOfValue === -1) {\n currentValue.push(value);\n this.setValue(currentValue);\n }\n } else {\n var itemToRemove = this._tags.find(function(item) {\n return item.uid === dataItem._tagUid;\n });\n\n var idx = this._tags.indexOf(itemToRemove);\n\n if (idx !== -1) {\n this._tags.splice(idx, 1);\n } else {\n this._treeViewCheckAllCheck(dataItem);\n return;\n }\n\n if (this._tags.length === 0) {\n this.span.show();\n if (!isMultiple) {\n this._multipleTags.splice(0, 1);\n }\n }\n if (indexOfValue !== -1) {\n currentValue.splice(indexOfValue, 1);\n this.setValue(currentValue);\n }\n }\n\n this._treeViewCheckAllCheck(dataItem);\n if (!this._preventChangeTrigger && !this._valueMethodCalled && !this._noInitialValue) {\n this.trigger(CHANGE);\n }\n\n if (this.options.autoClose && this.popup.visible()) {\n this.close();\n this.wrapper.trigger(\"focus\");\n }\n this.popup.position();\n this._toggleCloseVisibility();\n this._updateSelectedOptions();\n },\n\n _updateSelectedOptions: function() {\n if (this.element[0].tagName.toLowerCase() !== 'select') {\n return;\n }\n\n var selectedItems = this._tags;\n var options = '';\n var dataItem = null;\n var value = null;\n\n if (selectedItems.length) {\n for (var idx = 0; idx < selectedItems.length; idx++) {\n dataItem = selectedItems[idx];\n\n value = this._value(dataItem);\n options += this._option(value, this._text(dataItem), true);\n }\n }\n\n this.element.html(options);\n },\n\n _option: function(dataValue, dataText, selected) {\n var option = \"\";\n },\n\n _selectValue: function(dataItem) {\n var value = \"\";\n var text = \"\";\n\n if (dataItem || dataItem === 0) {\n if (dataItem.level) {\n dataItem._level = dataItem.level();\n }\n text = this._text(dataItem) || dataItem;\n value = this._currentValue(dataItem);\n }\n\n if (value === null) {\n value = \"\";\n }\n this.setValue(value);\n this._textAccessor(text, dataItem);\n this._accessor(value);\n\n if (!this._preventChangeTrigger && !this._valueMethodCalled) {\n this.trigger(CHANGE);\n }\n this._valueMethodCalled = false;\n\n if (this.options.autoClose && this.popup.visible()) {\n this.close();\n this.wrapper.trigger(\"focus\");\n }\n this.popup.position();\n this._toggleCloseVisibility();\n },\n\n _clearClick: function(e) {\n e.stopPropagation();\n this.wrapper.trigger(\"focus\");\n this._clearTextAndValue();\n },\n\n _clearTextAndValue: function() {\n this._selection._clearValue();\n this.setValue([]);\n this._clearInput();\n this._clearText();\n this.popup.position();\n this._toggleCloseVisibility();\n this._refreshFloatingLabel();\n },\n\n _clearText: function() {\n if (this.options.placeholder) {\n this._placeholder(true);\n } else {\n if (this.span) {\n this.span.html(\"\");\n }\n }\n },\n\n _inputTemplate: function() {\n var template = this.options.valueTemplate;\n\n if (!template) {\n template = kendo.template('#:this._text(data)#', { useWithBlock: false }).bind(this);\n } else {\n template = kendo.template(template);\n }\n\n this.valueTemplate = template;\n },\n\n _assignInstance: function(text, value) {\n var dataTextField = this.options.dataTextField;\n var dataItem = {};\n\n if (dataTextField) {\n assign(dataItem, dataTextField.split(DOT), text);\n assign(dataItem, this.options.dataValueField.split(DOT), value);\n dataItem = new ObservableObject(dataItem);\n } else {\n dataItem = text;\n }\n\n return dataItem;\n },\n\n _textAccessor: function(text, dataItem) {\n var valueTemplate = this.valueTemplate;\n var span = this.span;\n\n if (text === undefined$1) {\n return span.text();\n }\n\n span.removeClass(\"k-readonly\");\n\n if (!dataItem && ($.isPlainObject(text) || text instanceof ObservableObject)) {\n dataItem = text;\n }\n\n if (!dataItem) {\n dataItem = this._assignInstance(text, this._accessor());\n }\n\n var getElements = function() {\n return {\n elements: span.get(),\n data: [ { dataItem: dataItem } ]\n };\n };\n\n this.angular(\"cleanup\", getElements);\n\n try {\n span.html(valueTemplate(dataItem));\n } catch (e) {\n //dataItem has missing fields required in custom template\n if (span) {\n span.html(\"\");\n }\n }\n\n this.angular(\"compile\", getElements);\n },\n\n _accessors: function() {\n var element = this.element;\n var options = this.options;\n var getter = kendo.getter;\n var textField = element.attr(kendo.attr(\"text-field\"));\n var valueField = element.attr(kendo.attr(\"value-field\"));\n\n var getterFunction = function(field) {\n if (Array.isArray(field)) {\n var count = field.length;\n var levels = $.map(field, function(x) {\n return function(d) { return d[x];};\n });\n\n return function(dataItem) {\n var level = dataItem._level;\n\n if (!level && level !== 0) {\n return;\n }\n\n return levels[Math.min(level, count - 1)](dataItem);\n };\n } else {\n return getter(field);\n }\n };\n\n if (!options.dataTextField && textField) {\n options.dataTextField = textField;\n }\n\n if (!options.dataValueField && valueField) {\n options.dataValueField = valueField;\n }\n\n options.dataTextField = options.dataTextField || \"text\";\n options.dataValueField = options.dataValueField || \"value\";\n\n this._text = getterFunction(options.dataTextField);\n this._value = getterFunction(options.dataValueField);\n },\n\n _accessor: function(value, idx) {\n return this._accessorInput(value, idx);\n },\n\n _accessorInput: function(value) {\n var element = this.element[0];\n\n if (value === undefined$1) {\n return element.value;\n } else {\n if (value === null) {\n value = \"\";\n }\n element.value = value;\n }\n },\n\n _clearInput: function() {\n var element = this.element[0];\n element.value = \"\";\n },\n\n _clearButton: function() {\n var clearTitle = this.options.messages.clear;\n\n if (!this._clear) {\n this._clear = $('').attr({\n \"role\": \"button\",\n \"tabIndex\": -1\n });\n }\n\n if (this.options.clearButton) {\n this._clear.insertAfter(this.tagList || this.span.parent());\n this.wrapper.addClass(\"k-dropdowntree-clearable\");\n } else {\n if (!this.options.clearButton) {\n this._clear.remove();\n }\n }\n },\n\n _toggleCloseVisibility: function() {\n var isReadOnly = this.element.attr(READONLY);\n var hasValue = (this.value() && !this._isMultipleSelection()) || this.value().length;\n var valueDoesNotEqualPlaceHolder = this.element.val() && this.element.val() !== this.options.placeholder;\n\n if ((!isReadOnly && (hasValue || valueDoesNotEqualPlaceHolder))) {\n this._showClear();\n } else {\n this._hideClear();\n }\n },\n\n _showClear: function() {\n if (this._clear) {\n this._clear.removeClass(HIDDENCLASS);\n }\n },\n\n _hideClear: function() {\n if (this._clear) {\n this._clear.addClass(HIDDENCLASS);\n }\n },\n\n _openHandler: function(e) {\n this._adjustListWidth();\n\n if (this.trigger(OPEN)) {\n e.preventDefault();\n } else {\n this.wrapper.attr(\"aria-expanded\", true);\n this.tree.attr(\"aria-hidden\", false).attr(\"role\", \"tree\");\n }\n },\n\n _closeHandler: function(e) {\n if (this.trigger(CLOSE)) {\n e.preventDefault();\n } else {\n this.wrapper.attr(\"aria-expanded\", false);\n this.tree.attr(\"aria-hidden\", true);\n }\n },\n\n _treeview: function() {\n var that = this;\n if (that.options.height) {\n that.tree.css('max-height',that.options.height);\n }\n that.tree.attr('id', kendo.guid());\n that.treeview = new TreeView(that.tree, extend({ size: that.options.size }, that.options.treeview), that);\n that.dataSource = that.treeview.dataSource;\n\n that.treeview.bind(\"select\",function(e) {\n that.trigger(\"select\", e);\n });\n },\n\n _treeViewDataBound: function(e) {\n if (e.node && this._prev && this._prev.length) {\n e.sender.expand(e.node);\n }\n\n if (this._filtering) {\n if (!e.node) {\n this._filtering = false;\n }\n\n if (!this._isMultipleSelection()) {\n this._deselectItem(e);\n }\n return;\n }\n\n if (!this.treeview) {\n this.treeview = e.sender;\n }\n\n if (!e.node) {\n var rootItems = e.sender.dataSource.data();\n\n this._checkLoadedItems(rootItems);\n if (this._noInitialValue) {\n this._noInitialValue = false;\n }\n } else {\n var rootItem = e.sender.dataItem(e.node);\n if (rootItem) {\n var subItems = rootItem.children.data();\n this._checkLoadedItems(subItems);\n }\n }\n this.trigger(\"dataBound\", e);\n },\n\n _deselectItem: function(e) {\n var items = [];\n if (!e.node) {\n items = e.sender.dataSource.data();\n } else {\n var rootItem = e.sender.dataItem(e.node);\n if (rootItem) {\n items = rootItem.children.data();\n }\n }\n\n for (var i = 0; i < items.length; i++) {\n if (items[i].selected &&\n !this._valueComparer(items[i], this.value())) {\n items[i].set(\"selected\", false);\n }\n }\n },\n\n _checkLoadedItems: function(items) {\n var value = this.value();\n\n if (!items) {\n return;\n }\n\n for (var idx = 0; idx < items.length; idx++) {\n this._selection._checkLoadedItem(items[idx], value);\n }\n },\n\n _treeViewCheckAllCheck: function(dataItem) {\n if (this.options.checkAll && this.checkAll) {\n this._getAllChecked();\n\n if (dataItem.checked) {\n this._checkCheckAll();\n } else {\n this._uncheckCheckAll();\n }\n }\n },\n\n _checkCheckAll: function() {\n var checkAllCheckbox = this.checkAll.find('.k-checkbox');\n\n if (this._allItemsAreChecked) {\n checkAllCheckbox.prop('checked', true)\n .prop('indeterminate', false);\n } else {\n checkAllCheckbox.prop('indeterminate', true);\n }\n },\n\n _uncheckCheckAll: function() {\n var checkAllCheckbox = this.checkAll.find('.k-checkbox');\n\n if (this._allItemsAreUnchecked) {\n checkAllCheckbox.prop('checked', false)\n .prop('indeterminate', false);\n } else {\n checkAllCheckbox.prop('indeterminate', true);\n }\n },\n\n _filterHeader: function() {\n var filterTemplate = '