{"version":3,"file":"kendo.binder.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendobinder","js","this","$","undefined$1","kendo","window","encode","htmlEncode","Observable","ObservableObject","data","ObservableArray","toString","binders","Class","VALUE","SOURCE","EVENTS","CHECKED","deleteExpando","FUNCTION","CHANGE","a","document","createElement","test","e","Binding","extend","init","parents","path","that","fn","call","source","dependencies","observable","_access","field","_change","change","bind","_parents","value","get","parent","inArray","concat","dependency","ch","trigger","indexOf","charAt","length","start","stop","unbind","index","result","lastIndexOf","substring","currentSource","set","getter","destroy","EventBinding","handler","TemplateBinding","template","render","html","Binder","element","bindings","options","binding","attribute","refresh","TypedBinder","dataType","getAttribute","ns","type","toLowerCase","parsedValue","_parseValue","parseDate","parseFloat","Boolean","dataSourceBinding","bindingName","fieldName","setter","widget","_dataBinding","dataBinding","_dataBound","dataBound","_itemChange","itemChange","bindElement","item","_ns","idx","items","removedItems","unbindElementTree","ui","all","dataviz","mobile","splice","unshift","rolesFromNamespaces","view","addedItems","dataSource","hds","HierarchicalDataSource","addedDataItems","flatView","select","multiselect","action","DataSource","_dataSource","Select","MultiSelect","DropDownTree","treeview","retrievePrimitiveValues","dataValueField","attr","key","setAttribute","css","classes","className","addClass","removeClass","style","enabled","removeAttribute","readonly","disabled","events","handlers","off","on","text","dataFormat","visible","display","invisible","innerHTML","eventName","valueUpdate","_initChange","autoBind","fetch","add","remove","container","nodeName","tBodies","appendChild","valueField","textField","valueAttr","innerText","child","clone","cloneNode","reference","children","insertBefore","roles","parentNode","removeChild","unbindElementChildren","input","checked","Date","i","push","val","selectedIndex","target","option","values","selected","attributes","specified","valueIndex","valuePrimitive","sourceValue","String","apply","optionIndex","optionValue","check","range","end","_range","wrapper","floatingLabel","readOnly","enable","first","_valueIsObservableObject","_valueIsObservableArray","_source","dataItem","valueLength","sourceItem","dataTextField","isArray","isObservableObject","slice","cascadeFrom","listView","bound","_preselect","dropdowntree","oldValues","selectedNode","nonPrimitiveValues","_isMultipleSelection","_getAllChecked","newValues","removeIndex","newValue","found","newLength","j","old","arraySplice","selectedValue","gantt","dataItems","_isBound","scheduler","elements","grid","badge","arr","addLength","oldLength","shifted","shiftedLength","BindingTarget","toDestroy","hasValue","hasSource","hasEvents","hasChecked","hasCss","widgetBinding","WidgetBindingTarget","specificBinders","applyBinding","name","binder","Error","keyValueRegExp","whiteSpaceRegExp","parseBindings","token","colonIndex","tokens","match","createBindings","role","childrenCopy","deep","unbindElement","initWidget","bindingTargetForRole","replace","parseOptions","click","kendoBindingTarget","dom","object","node","arguments","nodeType","destroyWidget","bindingTarget","widgetInstance","destroyWidgets","notify","namespace","observableHierarchy","array","create","recursiveRead","_initChildren","_data","jQuery"],"sources":["kendo.binder.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.core.js'), require('kendo.data.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.core', 'kendo.data'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendobinder = global.kendobinder || {}, global.kendobinder.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"binder\",\n name: \"MVVM\",\n category: \"framework\",\n description: \"Model View ViewModel (MVVM) is a design pattern which helps developers separate the Model (the data) from the View (the UI).\",\n depends: [ \"core\", \"data\" ]\n };\n\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n encode = kendo.htmlEncode,\n Observable = kendo.Observable,\n ObservableObject = kendo.data.ObservableObject,\n ObservableArray = kendo.data.ObservableArray,\n toString = {}.toString,\n binders = {},\n Class = kendo.Class,\n VALUE = \"value\",\n SOURCE = \"source\",\n EVENTS = \"events\",\n CHECKED = \"checked\",\n CSS = \"css\",\n deleteExpando = true,\n FUNCTION = \"function\",\n CHANGE = \"change\";\n\n (function() {\n var a = document.createElement(\"a\");\n\n try {\n delete a.test;\n } catch (e) {\n deleteExpando = false;\n }\n })();\n\n var Binding = Observable.extend( {\n init: function(parents, path) {\n var that = this;\n\n Observable.fn.init.call(that);\n\n that.source = parents[0];\n that.parents = parents;\n that.path = path;\n that.dependencies = {};\n that.dependencies[path] = true;\n that.observable = that.source instanceof Observable;\n\n that._access = function(e) {\n that.dependencies[e.field] = true;\n };\n\n if (that.observable) {\n that._change = function(e) {\n that.change(e);\n };\n\n that.source.bind(CHANGE, that._change);\n }\n },\n\n _parents: function() {\n var parents = this.parents;\n var value = this.get();\n\n if (value && typeof value.parent == \"function\") {\n var parent = value.parent();\n\n if ($.inArray(parent, parents) < 0) {\n parents = [parent].concat(parents);\n }\n }\n\n return parents;\n },\n\n change: function(e) {\n var dependency,\n ch,\n field = e.field,\n that = this;\n\n if (that.path === \"this\") {\n that.trigger(CHANGE, e);\n } else {\n for (dependency in that.dependencies) {\n if (dependency.indexOf(field) === 0) {\n ch = dependency.charAt(field.length);\n\n if (!ch || ch === \".\" || ch === \"[\") {\n that.trigger(CHANGE, e);\n break;\n }\n }\n }\n }\n },\n\n start: function(source) {\n source.bind(\"get\", this._access);\n },\n\n stop: function(source) {\n source.unbind(\"get\", this._access);\n },\n\n get: function() {\n\n var that = this,\n source = that.source,\n index = 0,\n path = that.path,\n result = source;\n\n if (!that.observable) {\n return result;\n }\n\n that.start(that.source);\n\n result = source.get(path);\n\n // Traverse the observable hierarchy if the binding is not resolved at the current level.\n while (result === undefined$1 && source) {\n\n source = that.parents[++index];\n\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n\n // second pass try to get the parent from the object hierarchy\n if (result === undefined$1) {\n source = that.source; //get the initial source\n\n while (result === undefined$1 && source) {\n source = source.parent();\n\n if (source instanceof ObservableObject) {\n result = source.get(path);\n }\n }\n }\n\n // If the result is a function - invoke it\n if (typeof result === \"function\") {\n index = path.lastIndexOf(\".\");\n\n // If the function is a member of a nested observable object make that nested observable the context (this) of the function\n if (index > 0) {\n source = source.get(path.substring(0, index));\n }\n\n // Invoke the function\n that.start(source);\n\n if (source !== that.source) {\n result = result.call(source, that.source);\n } else {\n result = result.call(source);\n }\n\n that.stop(source);\n }\n\n // If the binding is resolved by a parent object\n if (source && source !== that.source) {\n\n that.currentSource = source; // save parent object\n\n // Listen for changes in the parent object\n source.unbind(CHANGE, that._change)\n .bind(CHANGE, that._change);\n }\n\n that.stop(that.source);\n\n return result;\n },\n\n set: function(value) {\n var source = this.currentSource || this.source;\n\n var field = kendo.getter(this.path)(source);\n\n if (typeof field === \"function\") {\n if (source !== this.source) {\n field.call(source, this.source, value);\n } else {\n field.call(source, value);\n }\n } else {\n source.set(this.path, value);\n }\n },\n\n destroy: function() {\n if (this.observable) {\n this.source.unbind(CHANGE, this._change);\n if (this.currentSource) {\n this.currentSource.unbind(CHANGE, this._change);\n }\n }\n\n this.unbind();\n }\n });\n\n var EventBinding = Binding.extend( {\n get: function() {\n var source = this.source,\n path = this.path,\n index = 0,\n handler;\n\n handler = source.get(path);\n\n while (!handler && source) {\n source = this.parents[++index];\n\n if (source instanceof ObservableObject) {\n handler = source.get(path);\n }\n }\n\n if (!handler) {\n return;\n }\n\n return handler.bind(source);\n }\n });\n\n var TemplateBinding = Binding.extend( {\n init: function(source, path, template) {\n var that = this;\n\n Binding.fn.init.call(that, source, path);\n\n that.template = template;\n },\n\n render: function(value) {\n var html;\n\n this.start(this.source);\n\n html = kendo.render(this.template, value);\n\n this.stop(this.source);\n\n return html;\n }\n });\n\n var Binder = Class.extend({\n init: function(element, bindings, options) {\n this.element = element;\n this.bindings = bindings;\n this.options = options;\n },\n\n bind: function(binding, attribute) {\n var that = this;\n\n binding = attribute ? binding[attribute] : binding;\n\n binding.bind(CHANGE, function(e) {\n that.refresh(attribute || e);\n });\n\n that.refresh(attribute);\n },\n\n destroy: function() {\n }\n });\n\n var TypedBinder = Binder.extend({\n dataType: function() {\n var dataType = this.element.getAttribute(\"data-\" + kendo.ns + \"type\") || this.element.type || \"text\";\n return dataType.toLowerCase();\n },\n\n parsedValue: function() {\n return this._parseValue(this.element.value, this.dataType());\n },\n\n _parseValue: function(value, dataType) {\n if (dataType == \"date\") {\n value = kendo.parseDate(value, \"yyyy-MM-dd\");\n } else if (dataType == \"datetime-local\") {\n value = kendo.parseDate(value, [\"yyyy-MM-ddTHH:mm:ss\", \"yyyy-MM-ddTHH:mm\"] );\n } else if (dataType == \"number\") {\n value = kendo.parseFloat(value);\n } else if (dataType == \"boolean\") {\n value = value.toLowerCase();\n if (kendo.parseFloat(value) !== null) {\n value = Boolean(kendo.parseFloat(value));\n } else {\n value = (value.toLowerCase() === \"true\");\n }\n }\n return value;\n }\n });\n\n binders.attr = Binder.extend({\n refresh: function(key) {\n this.element.setAttribute(key, this.bindings.attr[key].get());\n }\n });\n\n binders.css = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.classes = {};\n },\n refresh: function(className) {\n var element = $(this.element),\n binding = this.bindings.css[className],\n hasClass = this.classes[className] = binding.get();\n if (hasClass) {\n element.addClass(className);\n } else {\n element.removeClass(className);\n }\n }\n });\n\n binders.style = Binder.extend({\n refresh: function(key) {\n this.element.style[key] = this.bindings.style[key].get() || \"\";\n }\n });\n\n binders.enabled = Binder.extend({\n refresh: function() {\n if (this.bindings.enabled.get()) {\n this.element.removeAttribute(\"disabled\");\n } else {\n this.element.setAttribute(\"disabled\", \"disabled\");\n }\n }\n });\n\n binders.readonly = Binder.extend({\n refresh: function() {\n if (this.bindings.readonly.get()) {\n this.element.setAttribute(\"readonly\", \"readonly\");\n } else {\n this.element.removeAttribute(\"readonly\");\n }\n }\n });\n\n binders.disabled = Binder.extend({\n refresh: function() {\n if (this.bindings.disabled.get()) {\n this.element.setAttribute(\"disabled\", \"disabled\");\n } else {\n this.element.removeAttribute(\"disabled\");\n }\n }\n });\n\n binders.events = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n this.handlers = {};\n },\n\n refresh: function(key) {\n var element = $(this.element),\n binding = this.bindings.events[key],\n handler = this.handlers[key];\n\n if (handler) {\n element.off(key, handler);\n }\n\n handler = this.handlers[key] = binding.get();\n\n element.on(key, binding.source, handler);\n },\n\n destroy: function() {\n var element = $(this.element),\n handler;\n\n for (handler in this.handlers) {\n element.off(handler, this.handlers[handler]);\n }\n }\n });\n\n binders.text = Binder.extend({\n refresh: function() {\n var text = this.bindings.text.get();\n var dataFormat = this.element.getAttribute(\"data-\" + kendo.ns + \"format\") || \"\";\n if (text == null) {\n text = \"\";\n }\n\n $(this.element).text(kendo.toString(text, dataFormat));\n }\n });\n\n binders.visible = Binder.extend({\n refresh: function() {\n if (this.bindings.visible.get()) {\n this.element.style.display = \"\";\n } else {\n this.element.style.display = \"none\";\n }\n }\n });\n\n binders.invisible = Binder.extend({\n refresh: function() {\n if (!this.bindings.invisible.get()) {\n this.element.style.display = \"\";\n } else {\n this.element.style.display = \"none\";\n }\n }\n });\n\n binders.html = Binder.extend({\n refresh: function() {\n this.element.innerHTML = this.bindings.html.get();\n }\n });\n\n binders.value = TypedBinder.extend({\n init: function(element, bindings, options) {\n TypedBinder.fn.init.call(this, element, bindings, options);\n\n this._change = this.change.bind(this);\n this.eventName = options.valueUpdate || CHANGE;\n\n $(this.element).on(this.eventName, this._change);\n\n this._initChange = false;\n },\n\n change: function() {\n this._initChange = this.eventName != CHANGE;\n\n this.bindings[VALUE].set(this.parsedValue());\n\n this._initChange = false;\n },\n\n refresh: function() {\n if (!this._initChange) {\n var value = this.bindings[VALUE].get();\n\n if (value == null) {\n value = \"\";\n }\n\n var type = this.dataType();\n\n if (type == \"date\") {\n value = kendo.toString(value, \"yyyy-MM-dd\");\n } else if (type == \"datetime-local\") {\n value = kendo.toString(value, \"yyyy-MM-ddTHH:mm:ss\");\n }\n\n this.element.value = value;\n }\n\n this._initChange = false;\n },\n\n destroy: function() {\n $(this.element).off(this.eventName, this._change);\n }\n });\n\n binders.source = Binder.extend({\n init: function(element, bindings, options) {\n Binder.fn.init.call(this, element, bindings, options);\n\n var source = this.bindings.source.get();\n\n if (source instanceof kendo.data.DataSource && options.autoBind !== false) {\n source.fetch();\n }\n },\n\n refresh: function(e) {\n var that = this,\n source = that.bindings.source.get();\n\n if (source instanceof ObservableArray || source instanceof kendo.data.DataSource) {\n e = e || {};\n\n if (e.action == \"add\") {\n that.add(e.index, e.items);\n } else if (e.action == \"remove\") {\n that.remove(e.index, e.items);\n } else if (e.action != \"itemchange\") {\n that.render();\n }\n } else {\n that.render();\n }\n },\n\n container: function() {\n var element = this.element;\n\n if (element.nodeName.toLowerCase() == \"table\") {\n if (!element.tBodies[0]) {\n element.appendChild(document.createElement(\"tbody\"));\n }\n element = element.tBodies[0];\n }\n\n return element;\n },\n\n template: function() {\n var options = this.options,\n template = options.template,\n nodeName = this.container().nodeName.toLowerCase();\n\n if (!template) {\n if (nodeName == \"select\") {\n if (options.valueField || options.textField) {\n template = (data) => {\n const valueAttr = kendo.getter(options.valueField || options.textField)(data);\n const innerText = kendo.getter(options.textField || options.valueField)(data);\n return ``;\n };\n } else {\n template = (data) => ``;\n }\n } else if (nodeName == \"tbody\") {\n template = (data) => `