/*! * filename: ej.widget.ko.min.js * version : 18.3.0.35 * Copyright Syncfusion Inc. 2001 - 2018. All rights reserved. * Use of this code is subject to the terms of our license. * A copy of the current license can be obtained at any time by e-mailing * licensing@syncfusion.com. Any infringement will be prosecuted under * applicable laws. */ (function(n){typeof define=="function"&&define.amd?define(["knockout","./ej.core.min"],n):n()})(function(n){return function(n,t,i,r,u){"use strict";var f={binder:function(t,i,u,e,s,h,c){var d=n(t).data(c),p=!d,l=o(i,h["ob.ignore"],!p),w,b,v,k,y,a;if(!p&&JSON)for(y in l)v=l[y],v instanceof Array&&(k=d.model[y])instanceof Array&&v.length===k.length&&JSON.stringify(v)===JSON.stringify(k)&&delete l[y];p&&h.type==="editor"&&r.isObservable(l.value)&&(b=l.value,w=f.modelChange(b),l=n.extend({},l,{value:l.value()}));n(t)[c](l);a=n(t).data(c);"tmpl.$bindingContext"in a&&f.refreshTemplate(t,a["tmpl.$bindingContext"]);n(t).on(c+"refresh",function(){"tmpl.$bindingContext"in a&&f.refreshTemplate(t,a["tmpl.$bindingContext"])});w&&(n(t).data(c).kosubscribe=b.subscribe(f.valueChange(n(t)[c]("model._change",w).data(c))))},modelChange:function(n){return function(t){n(t.value)}},valueChange:function(n){return function(t){n.option("value",f.processData(t))}},processData:function(n){return n==="true"?!0:n==="false"?!1:+n+""===n?+n:n},bindKoHandler:function(t,i){i["ob.ignore"]=[];[].push.apply(i["ob.ignore"],i.observables||[]);r.bindingHandlers[t]={init:function(i){r.utils.domNodeDisposal.addDisposeCallback(i,function(){var o,e,s,r,u,f;n(i).off(t+"refresh");o=n(i).data(t);e=o["tmpl.$bindingContext"]||{};for(s in e)delete e[s];if(r=n(i).data(t).kosubscribe,r)if(typeof r.dispose=="function")r.dispose();else for(u in r)for(f in r[u])r[u].hasOwnProperty(f)&&(r[u][f].dispose(),delete r[u][f]);n(i)[t]("destroy")})},update:function(n,r,u,e,o){f.binder(n,r,u,e,o,i,t)}};r.bindingHandlers.ejTemplate={init:function(){return{controlsDescendantBindings:!0}}}},refreshTemplate:function(t,i){var o=n(t).find(".ej-knockout-template"),u,e,f;for(u in i){if(e=o.filter("."+i[u].key),!e.length){delete i[u];continue}for(f=0;f<\/div>"};t.widget.observables=t.extensions.ko}(window.jQuery,window.Syncfusion,window.Syncfusion.widget,n||window.ko),n||window.ko});