@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 25.1 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.data.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.data.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Binder={}),e.kendo._globals.Core,e.kendo._globals.Data))})(this,function(e,t,n){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let r={id:`binder`,name:`MVVM`,category:`framework`,description:`Model View ViewModel (MVVM) is a design pattern which helps developers separate the Model (the data) from the View (the UI).`,depends:[`core`,`data`]};(function(e,t){var n=window.kendo,r=n.htmlEncode,i=n.Observable,a=n.data.ObservableObject,o=n.data.ObservableArray,s={}.toString,c={},l=n.Class,u=`value`,d=`source`,f=`events`,p=`checked`,m=`css`,h=!0,g=`function`,_=`change`;(function(){var e=document.createElement(`a`);try{delete e.test}catch{h=!1}})();var v=i.extend({init:function(e,t){var n=this;i.fn.init.call(n),n.source=e[0],n.parents=e,n.path=t,n.dependencies={},n.dependencies[t]=!0,n.observable=n.source instanceof i,n._access=function(e){n.dependencies[e.field]=!0},n.observable&&(n._change=function(e){n.change(e)},n.source.bind(_,n._change))},_parents:function(){var t=this.parents,n=this.get();if(n&&typeof n.parent==`function`){var r=n.parent();e.inArray(r,t)<0&&(t=[r].concat(t))}return t},change:function(e){var t,n,r=e.field,i=this;if(i.path===`this`)i.trigger(_,e);else for(t in i.dependencies)if(t.indexOf(r)===0&&(n=t.charAt(r.length),!n||n===`.`||n===`[`)){i.trigger(_,e);break}},start:function(e){e.bind(`get`,this._access)},stop:function(e){e.unbind(`get`,this._access)},get:function(){var e=this,n=e.source,r=0,i=e.path,o=n;if(!e.observable)return o;for(e.start(e.source),o=n.get(i);o===t&&n;)n=e.parents[++r],n instanceof a&&(o=n.get(i));if(o===t)for(n=e.source;o===t&&n;)n=n.parent(),n instanceof a&&(o=n.get(i));return typeof o==`function`&&(r=i.lastIndexOf(`.`),r>0&&(n=n.get(i.substring(0,r))),e.start(n),o=n===e.source?o.call(n):o.call(n,e.source),e.stop(n)),n&&n!==e.source&&(e.currentSource=n,n.unbind(_,e._change).bind(_,e._change)),e.stop(e.source),o},set:function(e){var t=this.currentSource||this.source,r=n.getter(this.path)(t);typeof r==`function`?t===this.source?r.call(t,e):r.call(t,this.source,e):t.set(this.path,e)},destroy:function(){this.observable&&(this.source.unbind(_,this._change),this.currentSource&&this.currentSource.unbind(_,this._change)),this.unbind()}}),y=v.extend({get:function(){for(var e=this.source,t=this.path,n=0,r=e.get(t);!r&&e;)e=this.parents[++n],e instanceof a&&(r=e.get(t));if(r)return r.bind(e)}}),b=v.extend({init:function(e,t,n){var r=this;v.fn.init.call(r,e,t),r.template=n},render:function(e){var t;return this.start(this.source),t=n.render(this.template,e),this.stop(this.source),t}}),x=l.extend({init:function(e,t,n){this.element=e,this.bindings=t,this.options=n},bind:function(e,t){var n=this;e=t?e[t]:e,e.bind(_,function(e){n.refresh(t||e)}),n.refresh(t)},destroy:function(){}}),S=x.extend({dataType:function(){return(this.element.getAttribute(`data-`+n.ns+`type`)||this.element.type||`text`).toLowerCase()},parsedValue:function(){return this._parseValue(this.element.value,this.dataType())},_parseValue:function(e,t){return t==`date`?e=n.parseDate(e,`yyyy-MM-dd`):t==`datetime-local`?e=n.parseDate(e,[`yyyy-MM-ddTHH:mm:ss`,`yyyy-MM-ddTHH:mm`]):t==`number`?e=n.parseFloat(e):t==`boolean`&&(e=e.toLowerCase(),e=n.parseFloat(e)===null?e.toLowerCase()===`true`:!!n.parseFloat(e)),e}});c.attr=x.extend({refresh:function(e){this.element.setAttribute(e,this.bindings.attr[e].get())}}),c.css=x.extend({init:function(e,t,n){x.fn.init.call(this,e,t,n),this.classes={}},refresh:function(t){var n=e(this.element),r=this.bindings.css[t];(this.classes[t]=r.get())?n.addClass(t):n.removeClass(t)}}),c.style=x.extend({refresh:function(e){this.element.style[e]=this.bindings.style[e].get()||``}}),c.enabled=x.extend({refresh:function(){this.bindings.enabled.get()?this.element.removeAttribute(`disabled`):this.element.setAttribute(`disabled`,`disabled`)}}),c.readonly=x.extend({refresh:function(){this.bindings.readonly.get()?this.element.setAttribute(`readonly`,`readonly`):this.element.removeAttribute(`readonly`)}}),c.disabled=x.extend({refresh:function(){this.bindings.disabled.get()?this.element.setAttribute(`disabled`,`disabled`):this.element.removeAttribute(`disabled`)}}),c.events=x.extend({init:function(e,t,n){x.fn.init.call(this,e,t,n),this.handlers={}},refresh:function(t){var n=e(this.element),r=this.bindings.events[t],i=this.handlers[t];i&&n.off(t,i),i=this.handlers[t]=r.get(),n.on(t,r.source,i)},destroy:function(){var t=e(this.element),n;for(n in this.handlers)t.off(n,this.handlers[n])}}),c.text=x.extend({refresh:function(){var t=this.bindings.text.get(),r=this.element.getAttribute(`data-`+n.ns+`format`)||``;t??=``,e(this.element).text(n.toString(t,r))}}),c.visible=x.extend({refresh:function(){this.bindings.visible.get()?this.element.style.display=``:this.element.style.display=`none`}}),c.invisible=x.extend({refresh:function(){this.bindings.invisible.get()?this.element.style.display=`none`:this.element.style.display=``}}),c.html=x.extend({refresh:function(){this.element.innerHTML=this.bindings.html.get()}}),c.value=S.extend({init:function(t,n,r){S.fn.init.call(this,t,n,r),this._change=this.change.bind(this),this.eventName=r.valueUpdate||_,e(this.element).on(this.eventName,this._change),this._initChange=!1},change:function(){this._initChange=this.eventName!=_,this.bindings[u].set(this.parsedValue()),this._initChange=!1},refresh:function(){if(!this._initChange){var e=this.bindings[u].get();e??=``;var t=this.dataType();t==`date`?e=n.toString(e,`yyyy-MM-dd`):t==`datetime-local`&&(e=n.toString(e,`yyyy-MM-ddTHH:mm:ss`)),this.element.value=e}this._initChange=!1},destroy:function(){e(this.element).off(this.eventName,this._change)}}),c.source=x.extend({init:function(e,t,r){x.fn.init.call(this,e,t,r);var i=this.bindings.source.get();i instanceof n.data.DataSource&&r.autoBind!==!1&&i.fetch()},refresh:function(e){var t=this,r=t.bindings.source.get();r instanceof o||r instanceof n.data.DataSource?(e||={},e.action==`add`?t.add(e.index,e.items):e.action==`remove`?t.remove(e.index,e.items):e.action!=`itemchange`&&t.render()):t.render()},container:function(){var e=this.element;return e.nodeName.toLowerCase()==`table`&&(e.tBodies[0]||e.appendChild(document.createElement(`tbody`)),e=e.tBodies[0]),e},template:function(){var e=this.options,t=e.template,i=this.container().nodeName.toLowerCase();return t||=(t=i==`select`?e.valueField||e.textField?t=>{let i=n.getter(e.valueField||e.textField)(t),a=n.getter(e.textField||e.valueField)(t);return`<option value="${r(i)}">${r(a)}</option>`}:e=>`<option>${r(e)}</option>`:i==`tbody`?e=>`<tr><td>${r(e)}</td></tr>`:i==`ul`||i==`ol`?e=>`<li>${r(e)}</li>`:e=>`${r(e)}`,n.template(t)),t},add:function(t,r){var i=this.container(),a,o,s,c,l=i.cloneNode(!1),u=i.children[t];if(e(l).html(n.render(this.template(),r)),l.children.length)for(a=this.bindings.source._parents(),o=0,s=r.length;o<s;o++)c=l.children[0],i.insertBefore(c,u||null),M(c,r[o],this.options.roles,[r[o]].concat(a))},remove:function(e,t){var n,r=this.container();for(n=0;n<t.length;n++){var i=r.children[e];F(i,!0),i.parentNode==r&&r.removeChild(i)}},render:function(){var t=this.bindings.source.get(),r,i,a,c=this.container(),l=this.template();if(t!=null)if(t instanceof n.data.DataSource&&(t=t.view()),!(t instanceof o)&&s.call(t)!==`[object Array]`&&(t=[t]),this.bindings.template){if(I(c,!0),e(c).html(this.bindings.template.render(t)),c.children.length)for(r=this.bindings.source._parents(),i=0,a=t.length;i<a;i++)M(c.children[i],t[i],this.options.roles,[t[i]].concat(r))}else e(c).html(n.render(l,t))}}),c.input={checked:S.extend({init:function(t,n,r){S.fn.init.call(this,t,n,r),this._change=this.change.bind(this),e(this.element).change(this._change)},change:function(){var e=this.element,t=this.value();if(e.type==`radio`)t=this.parsedValue(),this.bindings[p].set(t);else if(e.type==`checkbox`){var n=this.bindings[p].get(),r;if(n instanceof o){if(t=this.parsedValue(),t instanceof Date){for(var i=0;i<n.length;i++)if(n[i]instanceof Date&&+n[i]==+t){r=i;break}}else r=n.indexOf(t);r>-1?n.splice(r,1):n.push(t)}else this.bindings[p].set(t)}},refresh:function(){var e=this.bindings[p].get(),t=e,r=this.dataType(),i=this.element;if(i.type==`checkbox`)if(t instanceof o){var a=-1;if(e=this.parsedValue(),e instanceof Date){for(var s=0;s<t.length;s++)if(t[s]instanceof Date&&+t[s]==+e){a=s;break}}else a=t.indexOf(e);i.checked=a>=0}else i.checked=t;else i.type==`radio`&&(r==`date`?e=n.toString(e,`yyyy-MM-dd`):r==`datetime-local`&&(e=n.toString(e,`yyyy-MM-ddTHH:mm:ss`)),e!=null&&i.value===e.toString()?i.checked=!0:i.checked=!1)},value:function(){var e=this.element,t=e.value;return e.type==`checkbox`&&(t=e.checked),t},destroy:function(){e(this.element).off(_,this._change)}})},c.select={source:c.source.extend({refresh:function(r){var i=this,a=i.bindings.source.get();if(a instanceof o||a instanceof n.data.DataSource){if(r||={},r.action==`add`)i.add(r.index,r.items);else if(r.action==`remove`)i.remove(r.index,r.items);else if((r.action==`itemchange`||r.action===t)&&(i.render(),i.bindings.value&&i.bindings.value)){var s=z(i.bindings.value.get(),e(i.element).data(`valueField`));s===null?i.element.selectedIndex=-1:i.element.value=s}}else i.render()}}),value:S.extend({init:function(t,n,r){S.fn.init.call(this,t,n,r),this._change=this.change.bind(this),e(this.element).change(this._change)},parsedValue:function(){var e=this.dataType(),t=[],n,r,i,a;for(i=0,a=this.element.options.length;i<a;i++)r=this.element.options[i],r.selected&&(n=r.attributes.value,n=n&&n.specified?r.value:r.text,t.push(this._parseValue(n,e)));return t},change:function(){var e=[],r=this.element,i,s=this.options.valueField||this.options.textField,c=this.options.valuePrimitive,l,d,f,p,m;for(p=0,m=r.options.length;p<m;p++)l=r.options[p],l.selected&&(f=l.attributes.value,f=f&&f.specified?l.value:l.text,s?e.push(f):e.push(this._parseValue(f,this.dataType())));if(s)for(i=this.bindings.source.get(),i instanceof n.data.DataSource&&(i=i.view()),d=0;d<e.length;d++)for(p=0,m=i.length;p<m;p++){var h=i[p].get(s);if(String(h)===e[d]){e[d]=i[p];break}}f=this.bindings[u].get(),f instanceof o?f.splice.apply(f,[0,f.length].concat(e)):!c&&(f instanceof a||f===null||f===t||!s)?this.bindings[u].set(e[0]):this.bindings[u].set(e[0].get(s))},refresh:function(){var e,t=this.element,r=t.options,i=this.bindings[u].get(),s=i,c=this.options.valueField||this.options.textField,l=this.dataType(),d;s instanceof o||(s=new o([i])),t.selectedIndex=-1;for(var f=0;f<s.length;f++)for(i=s[f],c&&i instanceof a&&(i=i.get(c)),l==`date`?i=n.toString(s[f],`yyyy-MM-dd`):l==`datetime-local`&&(i=n.toString(s[f],`yyyy-MM-ddTHH:mm:ss`)),e=0;e<r.length;e++)d=r[e].value,d===``&&i!==``&&(d=r[e].text),i!=null&&d==i.toString()&&(r[e].selected=!0)},destroy:function(){e(this.element).off(_,this._change)}})};function C(t,r,i){return x.extend({init:function(e,t,n){var r=this;x.fn.init.call(r,e.element[0],t,n),r.widget=e,r._dataBinding=r.dataBinding.bind(r),r._dataBound=r.dataBound.bind(r),r._itemChange=r.itemChange.bind(r)},itemChange:function(e){M(e.item[0],e.data,this._ns(e.ns),[e.data].concat(this.bindings[t]._parents()))},dataBinding:function(e){var t,n,r=this.widget,i=e.removedItems||r.items();for(t=0,n=i.length;t<n;t++)F(i[t],!1)},_ns:function(t){t||=n.ui;var r=[n.ui,n.dataviz.ui,n.mobile.ui];return r.splice(e.inArray(t,r),1),r.unshift(t),n.rolesFromNamespaces(r)},dataBound:function(e){var i,a,o=this.widget,s=e.addedItems||o.items(),c=o[r],l,u,d=n.data.HierarchicalDataSource;if(!(d&&c instanceof d)&&s.length)for(l=e.addedDataItems||c.flatView(),u=this.bindings[t]._parents(),i=0,a=l.length;i<a;i++)s[i]&&M(s[i],l[i],this._ns(e.ns),[l[i]].concat(u))},refresh:function(e){var a=this,o,s=a.widget,c,l,u;e||={},e.action||(a.destroy(),s.bind(`dataBinding`,a._dataBinding),s.bind(`dataBound`,a._dataBound),s.bind(`itemChange`,a._itemChange),o=a.bindings[t].get(),s[r]instanceof n.data.DataSource&&s[r]!=o&&o&&(o instanceof n.data.DataSource?s[i](o):o._dataSource?s[i](o._dataSource):(c=n.ui.Select&&s instanceof n.ui.Select,l=n.ui.MultiSelect&&s instanceof n.ui.MultiSelect,u=n.ui.DropDownTree&&s instanceof n.ui.DropDownTree,u?s.treeview[r].data(o):s[r].data(o),a.bindings.value&&(c||l)&&s.value(z(a.bindings.value.get(),s.options.dataValueField)))))},destroy:function(){var e=this.widget;e.unbind(`dataBinding`,this._dataBinding),e.unbind(`dataBound`,this._dataBound),e.unbind(`itemChange`,this._itemChange)}})}c.widget={events:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this.handlers={}},refresh:function(e){var t=this.bindings.events[e],n=this.handlers[e];n&&this.widget.unbind(e,n),n=t.get(),n&&(this.handlers[e]=function(e){e.data=t.source,n(e),e.data===t.source&&delete e.data},this.widget.bind(e,this.handlers[e]))},destroy:function(){for(var e in this.handlers)this.widget.unbind(e,this.handlers[e])}}),checked:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this._change=this.change.bind(this),this.widget.bind(_,this._change)},change:function(){this.bindings[p].set(this.value())},refresh:function(){var e=this.bindings[p].get();this.element.type===`radio`?e===t?this.widget.check(!1):this.widget.check(e.toString()===this.value()):this.widget.check(e===!0)},value:function(){var e=this.element,t=e.value;return(t==`on`||t==`off`||this.element.type==`checkbox`)&&(t=e.checked),t},destroy:function(){this.widget.unbind(_,this._change)}}),start:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this._change=this.change.bind(this),this.widget=e,this.widget.bind(_,this._change)},change:function(){this.bindings.start.set(this.widget.range().start)},refresh:function(){var e=this,t=this.bindings.start.get(),n=e.widget._range?e.widget._range.end:null;this.widget.range({start:t,end:n})},destroy:function(){this.widget.unbind(_,this._change)}}),end:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this._change=this.change.bind(this),this.widget=e,this.widget.bind(_,this._change)},change:function(){this.bindings.end.set(this.widget.range().end)},refresh:function(){var e=this,t=this.bindings.end.get(),n=e.widget._range?e.widget._range.start:null;this.widget.range({start:n,end:t})},destroy:function(){this.widget.unbind(_,this._change)}}),visible:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e},refresh:function(){var e=this.bindings.visible.get();this.widget.wrapper[0].style.display=e?``:`none`}}),invisible:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e},refresh:function(){var e=this.bindings.invisible.get();this.widget.wrapper[0].style.display=e?`none`:``}}),floatingLabel:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),e.floatingLabel&&e.floatingLabel.refresh()}}),enabled:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this.readonly=this.element.readOnly},refresh:function(){this.widget.enable&&this.widget.enable(this.bindings.enabled.get()),this.readonly&&this.widget.readonly&&this.widget.readonly(this.readonly)}}),disabled:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e},refresh:function(){this.widget.enable&&this.widget.enable(!this.bindings.disabled.get())}}),source:C(`source`,`dataSource`,`setDataSource`),value:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this._change=this.change.bind(this),this.widget.first(_,this._change);var r=this.bindings.value.get();this._valueIsObservableObject=!n.valuePrimitive&&(r==null||r instanceof a),this._valueIsObservableArray=r instanceof o,this._initChange=!1},_source:function(){var e;return this.widget.dataItem&&(e=this.widget.dataItem(),e&&e instanceof a)?[e]:(this.bindings.source&&(e=this.bindings.source.get()),(!e||e instanceof n.data.DataSource)&&(e=this.widget.dataSource.flatView()),e)},change:function(){var e=this.widget.value(),t=this.options.dataValueField||this.options.dataTextField,n=s.call(e)===`[object Array]`,r=this._valueIsObservableObject,i,a,o=[],c,l,u,d,f;if(this._initChange=!0,t)if(e===``&&(r||this.options.valuePrimitive))e=null;else{for(f=this._source(),n&&(a=e.length,o=e.slice(0)),u=0,d=f.length;u<d;u++)if(c=f[u],l=c.get(t),n){for(i=0;i<a;i++)if(l==o[i]){o[i]=c;break}}else if(l==e){e=r?c:l;break}o[0]&&(e=this._valueIsObservableArray?o:r||!t?o[0]:o[0].get(t))}this.bindings.value.set(e),this._initChange=!1},refresh:function(){if(!this._initChange){var e=this.widget,n=e.options,r=n.dataTextField,i=n.dataValueField||r,s=this.bindings.value.get(),c=n.text||``,l=0,u,d=[];if(s===t&&(s=null),i)if(s instanceof o){for(u=s.length;l<u;l++)d[l]=s[l].get(i);s=d}else s instanceof a&&(c=s.get(r),s=s.get(i));n.autoBind===!1&&!n.cascadeFrom&&e.listView&&!e.listView.bound()?(r===i&&!c&&(c=s),!c&&(s||s===0)&&n.valuePrimitive?e.value(s):e._preselect(s,c)):e.options.name!=`Upload`&&e.value(s)}this._initChange=!1},destroy:function(){this.widget.unbind(_,this._change)}}),dropdowntree:{value:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this._change=this.change.bind(this),this.widget.first(_,this._change),this._initChange=!1},change:function(){var e=this,n=e.bindings[u].get(),r=e.options.valuePrimitive,i=e.widget.treeview.select(),a=e.widget._isMultipleSelection()?e.widget._getAllChecked():e.widget.treeview.dataItem(i)||e.widget.value(),s=r||e.widget.options.autoBind===!1?e.widget.value():a,c=this.options.dataValueField||this.options.dataTextField;if(s=s.slice?s.slice(0):s,e._initChange=!0,n instanceof o){for(var l=[],d=s.length,f=0,p=0,m=n[f],h=!1,g,_,v;m!==t;){for(v=!1,p=0;p<d;p++)if(r?h=s[p]==m:(_=s[p],_=_.get?_.get(c):_,h=_==(m.get?m.get(c):m)),h){s.splice(p,1),--d,v=!0;break}v?f+=1:(l.push(m),w(n,f,1),g=f),m=n[f]}w(n,n.length,0,s),l.length&&n.trigger(`change`,{action:`remove`,items:l,index:g}),s.length&&n.trigger(`change`,{action:`add`,items:s,index:n.length-1})}else e.bindings[u].set(s);e._initChange=!1},refresh:function(){if(!this._initChange){var e=this.options,t=this.widget,n=e.dataValueField||e.dataTextField,r=this.bindings.value.get(),i=r,s=0,c,l=[],u;if(n)if(r instanceof o){for(c=r.length;s<c;s++)u=r[s],l[s]=u.get?u.get(n):u;r=l}else r instanceof a&&(r=r.get(n));e.autoBind===!1&&e.valuePrimitive!==!0?t._preselect(i,r):t.value(r)}},destroy:function(){this.widget.unbind(_,this._change)}})},gantt:{dependencies:C(`dependencies`,`dependencies`,`setDependenciesDataSource`)},multiselect:{value:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e,this._change=this.change.bind(this),this.widget.first(_,this._change),this._initChange=!1},change:function(){var e=this,n=e.bindings[u].get(),r=e.options.valuePrimitive,i=r?e.widget.value():e.widget.dataItems(),a=this.options.dataValueField||this.options.dataTextField;if(i=i.slice(0),e._initChange=!0,n instanceof o){for(var s=[],c=i.length,l=0,d=0,f=n[l],p=!1,m,h,g;f!==t;){for(g=!1,d=0;d<c;d++)if(r?p=i[d]==f:(h=i[d],h=h.get?h.get(a):h,p=h==(f.get?f.get(a):f)),p){i.splice(d,1),--c,g=!0;break}g?l+=1:(s.push(f),w(n,l,1),m=l),f=n[l]}w(n,n.length,0,i),s.length&&n.trigger(`change`,{action:`remove`,items:s,index:m}),i.length&&n.trigger(`change`,{action:`add`,items:i,index:n.length-1})}else e.bindings[u].set(i);e._initChange=!1},refresh:function(){if(!this._initChange){var e=this.options,n=this.widget,r=e.dataValueField||e.dataTextField,i=this.bindings.value.get(),s=i,c=0,l,u=[],d;if(i===t&&(i=null),r)if(i instanceof o){for(l=i.length;c<l;c++)d=i[c],u[c]=d.get?d.get(r):d;i=u}else i instanceof a&&(i=i.get(r));e.autoBind===!1&&e.valuePrimitive!==!0&&!n._isBound()?n._preselect(s,i):n.value(i)}},destroy:function(){this.widget.unbind(_,this._change)}})},scheduler:{source:C(`source`,`dataSource`,`setDataSource`).extend({dataBound:function(e){var t,n,r=this.widget,i=e.addedItems||r.items(),a,o;if(i.length)for(a=e.addedDataItems||r.dataItems(),o=this.bindings.source._parents(),t=0,n=a.length;t<n;t++)M(i[t],a[t],this._ns(e.ns),[a[t]].concat(o))}})},grid:{source:C(`source`,`dataSource`,`setDataSource`).extend({dataBound:function(e){var t,n,r=this.widget,i=e.addedItems||r.items(),a,o;if(i.length)for(o=e.addedDataItems||r.dataItems(),a=this.bindings.source._parents(),t=0,n=o.length;t<n;t++)M(i[t],o[t],this._ns(e.ns),[o[t]].concat(a))}})},badge:{text:x.extend({init:function(e,t,n){x.fn.init.call(this,e.element[0],t,n),this.widget=e},refresh:function(){var e=this.bindings.text.get();e??=``,this.widget.text(e)}})}};var w=function(e,t,n,r){r||=[],n||=0;var i=r.length,a=e.length,o=[].slice.call(e,t+n),s=o.length,c;if(i){for(i=t+i,c=0;t<i;t++)e[t]=r[c],c++;e.length=i}else if(n)for(e.length=t,n+=t;t<n;)delete e[--n];if(s){for(s=t+s,c=0;t<s;t++)e[t]=o[c],c++;e.length=s}for(t=e.length;t<a;)delete e[t],t++},T=l.extend({init:function(e,t){this.target=e,this.options=t,this.toDestroy=[]},bind:function(e){var t,n,r,i,a,o,s=this instanceof E,c=this.binders();for(t in e)t==u?n=!0:t==d?r=!0:t==f&&!s?i=!0:t==p?a=!0:t==m?o=!0:this.applyBinding(t,e,c);r&&this.applyBinding(d,e,c),n&&this.applyBinding(u,e,c),a&&this.applyBinding(p,e,c),i&&!s&&this.applyBinding(f,e,c),o&&!s&&this.applyBinding(m,e,c),s&&this.target&&this.target.floatingLabel&&this.applyBinding(`floatingLabel`,e,c)},binders:function(){return c[this.target.nodeName.toLowerCase()]||{}},applyBinding:function(e,t,n){var r=n[e]||c[e],i=this.toDestroy,a,o=t[e];if(r)if(r=new r(this.target,t,this.options),i.push(r),o instanceof v)r.bind(o),i.push(o);else for(a in o)r.bind(o,a),i.push(o[a]);else if(e!==`template`)throw Error(`The `+e+` binding is not supported by the `+this.target.nodeName.toLowerCase()+` element`)},destroy:function(){var e,t,n=this.toDestroy;for(e=0,t=n.length;e<t;e++)n[e].destroy()}}),E=T.extend({binders:function(){return c.widget[this.target.options.name.toLowerCase()]||{}},applyBinding:function(e,t,n){var r=n[e]||c.widget[e],i=this.toDestroy,a,o=t[e];if(r)if(r=new r(this.target,t,this.target.options),i.push(r),o instanceof v)r.bind(o),i.push(o);else for(a in o)r.bind(o,a),i.push(o[a]);else throw Error(`The `+e+` binding is not supported by the `+this.target.options.name+` widget`)}});function D(e,t,r){var i=n.initWidget(e,{},t,r);if(i)return new E(i)}var O=/[A-Za-z0-9_\-]+:(\{([^}]*)\}|[^,}]+)/g,k=/\s/g;function A(e){var t={},n,r,i,a,o,s,c=e.match(O);for(n=0,r=c.length;n<r;n++)i=c[n],a=i.indexOf(`:`),o=i.substring(0,a),s=i.substring(a+1),s.charAt(0)==`{`&&(s=A(s)),t[o]=s;return t}function j(e,t,n){var r,i={};for(r in e)i[r]=new n(t,e[r]);return i}function M(e,t,r,i){if(!(!e||e.getAttribute(`data-`+n.ns+`stop`))){var a=e.getAttribute(`data-`+n.ns+`role`),o,s=e.getAttribute(`data-`+n.ns+`bind`),c=[],l=!0,u,d={},f;i||=[t],(a||s)&&P(e,!1),a&&(f=D(e,r,t)),s&&(s=A(s.replace(k,``)),f||=(d=n.parseOptions(e,{textField:``,valueField:``,template:``,valueUpdate:_,valuePrimitive:!1,autoBind:!0},t),d.roles=r,new T(e,d)),f.source=t,u=j(s,i,v),d.template&&(u.template=new b(i,``,d.template)),u.click&&(s.events=s.events||{},s.events.click=s.click,u.click.destroy(),delete u.click),u.source&&(l=!1),s.attr&&(u.attr=j(s.attr,i,v)),s.style&&(u.style=j(s.style,i,v)),s.events&&(u.events=j(s.events,i,y)),s.css&&(u.css=j(s.css,i,v)),f.bind(u)),f&&(e.kendoBindingTarget=f);var p=e.children;if(l&&p&&!e.getAttribute(`data-`+n.ns+`stop`)){for(o=0;o<p.length;o++)c[o]=p[o];for(o=0;o<c.length;o++)M(c[o],t,r,i)}}}function N(t,r){var i,a,o,s=n.rolesFromNamespaces([].slice.call(arguments,2));for(r=n.observable(r),t=e(t),i=0,a=t.length;i<a;i++)o=t[i],o.nodeType===1&&M(o,r,s)}function P(t,r){var i=t.kendoBindingTarget;if(i&&(i.destroy(),h?delete t.kendoBindingTarget:t.removeAttribute?t.removeAttribute(`kendoBindingTarget`):t.kendoBindingTarget=null),r){var a=n.widgetInstance(e(t));a&&typeof a.destroy===g&&a.destroy()}}function F(e,t){e&&(P(e,t),I(e,t))}function I(e,t){var n=e.children;if(n)for(var r=0,i=n.length;r<i;r++)F(n[r],t)}function L(t){var n,r;for(t=e(t),n=0,r=t.length;n<r;n++)F(t[n],!1)}function R(e,t){var n=e.element,r=n[0].kendoBindingTarget;r&&N(n,r.source,t)}function z(e,t){var n=[],r=0,i,s;if(!t)return e;if(e instanceof o){for(i=e.length;r<i;r++)s=e[r],n[r]=s.get?s.get(t):s[t];e=n}else e instanceof a&&(e=e.get(t));return e}n.unbind=L,n.bind=N,n.data.binders=c,n.data.Binder=x,n.notify=R,n.observable=function(e){return e instanceof a||(e=new a(e)),e},n.observableHierarchy=function(e){var t=n.data.HierarchicalDataSource.create(e);function r(e){var t,n;for(t=0;t<e.length;t++)e[t]._initChildren(),n=e[t].children,n.fetch(),e[t].items=n.data(),r(e[t].items)}return t.fetch(),r(t.data()),t._data._dataSource=t,t._data}})(window.kendo.jQuery);var i=kendo;e.__meta__=r,e.default=i});
//# sourceMappingURL=kendo.binder.min.js.map