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