/*! * filename: ej.widget.angular.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(["angular","./ej.core.min"],n):n()})(function(){(function(n,t,i,r,u){"use strict";var s=r.module("ejangular",[]),o,f,h,c,l,e,a;t.module=s;o=u;f={firstCap:function(n){return n.charAt(0).toUpperCase()+n.slice(1)},generatePropMap:function(n,i,r,u){var o,s,e;typeof i!="string"||t.isNullOrUndefined(n)||(n.name=i,i={});o=i||{};u?u+=".":u="";r=r||"";for(e in n)s=r+f.firstCap(e.toLowerCase()),t.isPlainObject(n[e])&&f.generatePropMap(n[e],o,s,u+e,name),o[s]=u+e,t.isNullOrUndefined(n.name)||(o.ejCtlname=n.name);return o},generateAttr:function(n,i,r,e){var o,s;if(t.isPlainObject(n))for(o in n)s=o.toLowerCase(),f.generateAttr(n[o],i,(r||"e")+f.firstCap(s),(e||"e")+"-"+s);else r&&i[r]===u&&typeof n!="object"&&typeof n!="function"&&typeof n!="undefined"&&(i[r]=n.toString(),i.$attr[r]=e)},getModel:function(i,r,e,o,s,h,c){var p={},a,l,it=r.$attr||r,d=!i,y,w,g,ft,nt,v,k,b,rt,ut,tt;i=i||(r===it?{}:it);c=c||"";ft=f.getDirectiveName(i.ejCtlname||"");nt=r[ft];t.isNullOrUndefined(nt)||nt==""||(p=t.getObject(nt,e)||{},f.generateAttr(p,r));for(v in it)if(y=!0,w=g=null,d||v[0]==="e"&&/[A-Z]/.test(v[1])){if(l=r[v]||"",d||(v=v.slice(1)),typeof l=="object"){if(k=d?i[v]||v:v,l instanceof Array)for(b=0;b0&&i>t?!0:!1},childRaise:function(n,i,r){var e,u;i!==r&&(e=t.getArrayObject(n.watch.value,n.control.model),e!==i||e instanceof Array)&&(t.setArrayObject(n.watch.value,i,n.control.model),u=f.parseFnAndIndex(n.watch.value),n.control[u[0]]&&n.control[u[0]](u[1],u[2],i,r))},parseFnAndIndex:function(n){for(var r="",e=n.lastIndexOf("]"),i=f.getAllFnIndices(n,[]),u={},t=0;t<\/div>"}},defaults:{terminal:!0}};c=function(i,r){l[i]=f.generatePropMap(r.defaults,i);r.observables=r.observables||[];r._notifyArrayChange=function(){};var e=n.extend({},h[r.type]||h.defaults,r.angular);s.directive(f.getDirectiveName(i),["$compile","$parse","$timeout",function(s,h,c){return o=h,n.extend({restrict:"CEA",compile:function(o){var v;if(i!==""&&o.attr("e-directive-name",i),v=!isNaN(o.attr("e-value"))||/^['"].+['"]$/.test(o.attr("e-value")),e.require&&e.require.length&&!v){var h=o.attr("ng-model"),a=o.attr("e-value"),y=o.attr("ng-model-options");if((!h||!a)&&(h||a)&&(a&&o.attr("ng-model",a),h&&o.attr("e-value",h),y||o.attr("ng-model-options","{updateOn: ' '}"),!o.attr("data-compile")))return function(n,t){n.$watch(t.attr("e-directive-name"),function(){t.attr("data-compile",!0);s(t)(n)})};o.addClass("ng-pristine").addClass("ng-valid")}return{pre:function(n,t,i,r){if(f.setscope(t,n),r&&r.length&&r[0]){var o=r[0],e=r[1],u=r[2];e&&e.$addControl(o);u&&!t.attr("ng-model-options")&&(u.$options.updateOn="",u.$options.updateOnDefault=!1)}},post:function(o,h,a,v){var g=[],nt=r.type==="editor",b=f.getModel(l[i],a,o,g,r.observables,nt),k=[],d=a[f.getDirectiveName(i)]||a.id,tt=h.attr("e-deepwatch")==="true",it,w,y,p;if(r._tags&&r._tags.length&&(it=r["ob.tags"]=f.loadTags(r["ob.tags"],r._tags),w=f.getTagValues(it,h),w=f.iterateAndGetModel(w,k,o,""),delete w.$attr,t.copyObject(b,w)),r._rootCSS=="e-button"&&(b._click=function(){f.applyScope(o)}),e.requireFormatters&&v&&v.length&&v[0]&&(b._change=function(n){(f.isExpression(a.eValue)||a.eValue in o)&&n.value!==f.getObject(a.eValue,o)&&f.createObject(a.eValue,n.value,o)}),e.requireParser&&v&&v.length&&v[0]&&(v[0].$$parserName="number",v[0].$parsers.push(function(n){return v[0].$isEmpty(n)?null:/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/.test(n)?parseFloat(n):u})),y=n(h)[i](b).data(i),!d||d in o||(o[d]=y,y.scopeId=d),f.addWatches(o,g,y,f.raise,tt),k.length&&(f.addWatches(o,k,y,f.childRaise,tt),f.addChildTwoway(y,k,o)),v&&v.length&&v[0]){p=v[0];p.$setPristine(!0);e.requireFormatters&&p.$formatters.push(function(){return y.element.val()});h.on(i+"_change",function(t){if(t.source!=="source"){var r=n(t.target),i=t.value;e.requireParser&&p.$$parserName=="number"&&(i=t.value!=null?t.value.toString():"");p.$setViewValue(i);p.$modelValue=t.model.value;p.$commitViewValue();f.applyScope(o)}})}nt&&f.modelChange.apply(y,[o,a.eValue]);"tmpl.$newscope"in y&&f.refreshTemplate(h,s,y["tmpl.$newscope"]);y.element.on(i+"refresh",function(){"tmpl.$newscope"in y&&f.refreshTemplate(h,s,y["tmpl.$newscope"])});o.$on("$destroy",function(){t.angularMobileSettings&&t.angularMobileSettings.enableAnimation?c(function(){f.destroyWidget(y)},t.angularMobileSettings.animationTime):f.destroyWidget(y)})}}}},e)}])};s.directive("ejTemplate",["$compile",function(n){return{restrict:"EA",priority:999,terminal:!0,link:function(t,i,r){var u=t.$parent.$new(!0);t.ejObject&&(u.ejId=t.ejId,u.ejObject=t.ejObject,u.items=t.items,u.model=t.model,u.data=t.items[r.ejProp],n(i.children(),t)(u),t.$parent.$$phase||t.$root.$$phase||u.$digest())}}}]);l={};e=i.registeredWidgets;for(a in e)c(e[a].name,e[a].proto);t.widget.extensions={registerWidget:function(n){c(n,e[n].proto)}};Array.prototype.map=Array.prototype.map||function(n,t){for(var i=[],r=0;r"+s+"<\/div>"};t.template.render=t.template["text/ng-template"]})(window.jQuery,window.Syncfusion,window.Syncfusion.widget,window.angular)});