@syncfusion/ej2-angular-base 22.2.5 → 23.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +4 -1
  2. package/dist/ej2-angular-base.umd.min.js +2 -2
  3. package/dist/ej2-angular-base.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-angular-base.es2015.js +9 -5
  5. package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
  6. package/dist/es6/ej2-angular-base.es5.js +9 -5
  7. package/dist/es6/ej2-angular-base.es5.js.map +1 -1
  8. package/dist/global/ej2-angular-base.min.js +2 -2
  9. package/dist/global/ej2-angular-base.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +8 -8
  12. package/src/component-base.js +1 -1
  13. package/src/form-base.d.ts +2 -1
  14. package/src/form-base.js +4 -0
  15. package/src/template.js +1 -1
  16. package/src/util.js +3 -3
  17. package/styles/bootstrap-dark.scss +1 -1
  18. package/styles/bootstrap.scss +1 -1
  19. package/styles/bootstrap4.scss +1 -1
  20. package/styles/bootstrap5-dark.scss +1 -1
  21. package/styles/bootstrap5.scss +1 -1
  22. package/styles/fabric-dark.scss +1 -1
  23. package/styles/fabric.scss +1 -1
  24. package/styles/fluent-dark.scss +1 -1
  25. package/styles/fluent.scss +1 -1
  26. package/styles/highcontrast-light.scss +1 -1
  27. package/styles/highcontrast.scss +1 -1
  28. package/styles/material-dark.css +0 -1
  29. package/styles/material-dark.scss +1 -1
  30. package/styles/material.css +0 -1
  31. package/styles/material.scss +1 -1
  32. package/styles/material3-dark.css +0 -1
  33. package/styles/material3-dark.scss +1 -1
  34. package/styles/material3.css +0 -1
  35. package/styles/material3.scss +1 -1
  36. package/styles/tailwind-dark.css +0 -1
  37. package/styles/tailwind-dark.scss +1 -1
  38. package/styles/tailwind.css +0 -1
  39. package/styles/tailwind.scss +1 -1
package/CHANGELOG.md CHANGED
@@ -6,7 +6,10 @@
6
6
 
7
7
  #### Bug Fixes
8
8
 
9
- - `#I473940` - DropdownList Item Template not initially rendered for `OnPush` strategy.
9
+ - `#I486549` - Provided `clearTemplates` support for `Accordion` Component.
10
+ - `#F45098` - Resolved the `Complex Directives` property changes not being applied properly.
11
+ - `#I496453` - Resolved the `Template` binding not working properly in Form Base.
12
+ - `#I473932` - Resolved the `Angular Form` states not working properly for the `OnPush` strategy.
10
13
 
11
14
  ## 22.1.34 (2023-06-21)
12
15
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * filename: ej2-angular-base.umd.min.js
3
- * version : 22.2.5
3
+ * version : 23.1.36
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
7
7
  * licensing@syncfusion.com. Any infringement will be prosecuted under
8
8
  * applicable laws.
9
9
  */
10
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@syncfusion/ej2-base"),require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@syncfusion/ej2-base","@angular/core"],t):t(e.ej={},e.ej2Base,e.core)}(this,function(e,t,n){"use strict";function i(e,t){t.forEach(function(t){Object.getOwnPropertyNames(t.prototype).forEach(function(n){(!e.prototype.hasOwnProperty(n)||t.isFormBase&&"constructor"!==n)&&(e.prototype[n]=t.prototype[n])})})}function s(e,t,i){var s={};if(e&&e.length){for(var r=0,a=e;r<a.length;r++){var o=a[r];!0===i?(t.propCollection[o]=new n.EventEmitter(!1),t[o]=t.propCollection[o]):s[o]=new n.EventEmitter(!1)}!0!==i&&t.setProperties(s,!0)}}function r(e,n,i){var s=Object.keys(e.registeredTemplate);if(s.length)for(var r=n&&n.filter(function(e){return!/\./g.test(e)}),a="tab"===e.getModuleName(),o=0,l=r&&r||s;o<l.length;o++){var p=l[o];if(i&&i.length)for(var h=0;h<i.length;h++)if(a)for(var u=0;u<e.registeredTemplate[p].length;u++){(c=e.registeredTemplate[p][u])&&c===i[h]&&(c.destroy(),e.registeredTemplate[p].splice(u,1))}else for(u=0;u<e.registeredTemplate.template.length;u++){var c;if((c=e.registeredTemplate.template[u].rootNodes[0])===i[h]){(d=e.registeredTemplate[p])[u].destroy()}}else if(e.registeredTemplate[p])for(var g=0,f=e.registeredTemplate[p];g<f.length;g++){var d;if(!(d=f[g]).destroyed){if(d._view){var v=d._view.renderer.parentNode(d.rootNodes[0]);if(!t.isNullOrUndefined(v))for(u=0;u<d.rootNodes.length;u++)v.appendChild(d.rootNodes[u])}d.destroy()}}a&&i||delete e.registeredTemplate[p]}for(var m=function(e){e.instance&&e.instance.clearTemplate(n&&n.filter(function(t){return!!new RegExp(e.name).test(t)}))},y=0,C=e.tagObjects;y<C.length;y++){m(C[y])}}function a(e,n){if("string"==typeof e||"function"==typeof e&&e.prototype&&e.prototype.CSPTemplate)return c(e,n);var i=e.elementRef.nativeElement._viewContainerRef,s=e.elementRef.nativeElement.propName;return function(n,r,a){var o={$implicit:n},l=i||r.viewContainerRef,p=l.createEmbeddedView(e,o);p.detectChanges();var h=r&&r.registeredTemplate?r.registeredTemplate:t.getValue("currentInstance.registeredTemplate",l);return a=a&&r.registeredTemplate?a:s,void 0===h[a]&&(h[a]=[]),h[a].push(p),p.rootNodes}}var o=/Ref$/,l=function(){function e(){this.hasChanges=!1,this.propCollection={},this.dataSource={},this.tags=[],this.tagObjects=[]}return e.prototype.ngOnInit=function(){this.registeredTemplate={};for(var e=0,n=this.tags;e<n.length;e++){var i=n[e],s=t.getValue("child"+i.substring(0,1).toUpperCase()+i.substring(1),this);s&&this.tagObjects.push({instance:s,name:i})}for(var r=Object.keys(this),a=0;a<r.length;a++){var o=t.getValue(r[a],this);"object"==typeof o&&o&&o.elementRef&&(t.getValue(-1!==r[a].indexOf("Ref")?r[a]:r[a]+"Ref",this)||t.setValue(-1!==r[a].indexOf("Ref")?r[a]:r[a]+"Ref",o,this),!t.getValue("viewContainerRef",this)||t.getValue("_viewContainerRef",o.elementRef.nativeElement)||t.getValue("propName",o.elementRef.nativeElement)||(t.setValue("_viewContainerRef",t.getValue("viewContainerRef",this),o.elementRef.nativeElement),t.setValue("propName",r[a].replace("Ref",""),o.elementRef.nativeElement)))}for(var l=0,p=r=(r=Object.keys(this)).filter(function(e){return/Ref$/i.test(e)});l<p.length;l++){var h=p[l].replace("Ref","");t.setValue(h.replace("_","."),t.getValue(h,this),this.propCollection)}var u=Object.keys(this);if(this.directivePropList){for(var c=0;c<this.directivePropList.length;c++){var g=this.directivePropList[c];-1===u.indexOf(g)||!1!==t.getValue(g,this)&&!t.getValue(g,this)||t.setValue(g,t.getValue(g,this),this.propCollection)}this.hasChanges=!0}this.isInitChanges=!0},e.prototype.registerEvents=function(e){s(e,this,!0)},e.prototype.ngOnChanges=function(e){for(var t=0,n=Object.keys(e);t<n.length;t++){var i=n[t],s=e[i];this.propCollection[i]=s.currentValue}this.isUpdated=!1,this.hasChanges=!0},e.prototype.clearTemplate=function(e){r(this,e)},e.prototype.getProperties=function(){for(var e=0,t=this.tagObjects;e<t.length;e++){var n=t[e];this.propCollection[n.name]=n.instance.getProperties()}return this.propCollection},e.prototype.isChanged=function(){var e=this.hasChanges;if(!t.isNullOrUndefined(this.propCollection[this.property]))for(var n=this.propCollection[this.property],i=Object.keys(n[0]),s=0;s<i.length;s++)if(!t.isNullOrUndefined(this.propCollection[i[s]])){var r=t.getValue(i[s],this),a=this.propCollection[this.property][0][i[s]];t.isNullOrUndefined(r)||this.propCollection[i[s]]===r||a===r||(t.setValue(i[s],r,this.propCollection[this.property][0]),t.setValue(i[s],r,this.propCollection),this.hasChanges=!0,this.isUpdated=!1)}for(var o=0,l=this.tagObjects;o<l.length;o++){var p=l[o];e=e||p.instance.hasChanges}return e||this.hasChanges},e.prototype.ngAfterContentChecked=function(){if(this.hasChanges=this.isChanged(),this.isInitChanges||this.hasChanges)for(var e=Object.keys(this),n=0,i=e=e.filter(function(e){return o.test(e)});n<i.length;n++){var s=i[n].replace("Ref","");t.setValue(s.replace("_","."),t.getValue(s,this),this.propCollection)}},e.prototype.ngAfterViewChecked=function(){this.isUpdated&&(this.hasChanges=!1)},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.directivePropList=[]},e}(),p=function(){function e(e){this.list=[],this.hasChanges=!1,this.propertyName=e}return e.prototype.ngOnInit=function(){this.isInitChanges=!0},e.prototype.ngAfterContentInit=function(){var e=this,t=0;this.list=this.children.map(function(n){return n.dirIndex=t++,n.property=e.propertyName,n}),this.hasChanges=!0},e.prototype.getProperties=function(){for(var e=[],t=0,n=this.list;t<n.length;t++){var i=n[t];e.push(i.getProperties())}return e},e.prototype.isChanged=function(){var e=this,t=!1,n=0,i=!1,s=this.children.map(function(e){return e});if(this.list.length===this.children.length)for(var r=0;r<this.list.length;r++)this.list[r].propCollection.dataSource&&(this.list[r].dataSource&&this.list[r].propCollection.dataSource!==this.list[r].dataSource&&(this.list[r].propCollection.dataSource=this.list[r].dataSource,this.list[r].hasChanges=!0),i=JSON.stringify(this.list[r].propCollection.dataSource)!==JSON.stringify(s[r].propCollection.dataSource)),i=this.list[r].hasChanges!==s[r].hasChanges;this.hasNewChildren=!(this.list.length===this.children.length&&!i)||null,this.hasNewChildren&&(this.list=this.children.map(function(t){return t.dirIndex=n++,t.property=e.propertyName,t}));for(var a=0,o=this.list;a<o.length;a++){var l=o[a];t=t||l.hasChanges}return!!this.list.length&&t},e.prototype.clearTemplate=function(e){for(var t=this,n=0,i=this.list;n<i.length;n++){i[n].clearTemplate(e&&e.map(function(e){return new RegExp(t.propertyName).test(e)?e.replace(t.propertyName+".",""):e}))}},e.prototype.ngAfterContentChecked=function(){this.hasChanges=this.isChanged();for(var e=0;e<this.list.length;e++)t.getValue("childColumns",this.list[e])&&"columns"===t.getValue("property",this.list[e])&&t.setValue("columns",t.getValue("childColumns",this.list[e]).getProperties(),this.list[e].propCollection),this.list[e].isUpdated=!0},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.list=[]},e}(),h=function(){function e(){this.isProtectedOnChange=!0,this.isFormInit=!0}return e.prototype.saveChanges=function(e,t,n){if(!this.isProtectedOnChange){this.oldProperties[e]=n,this.changedProperties[e]=t,this.finalUpdate();var i=setTimeout(this.dataBind.bind(this));this.finalUpdate=function(){clearTimeout(i)}}},e.prototype.ngOnInit=function(e){var n=e||this;n.registeredTemplate={},n.ngBoundedEvents={},n.isAngular=!0,n.isFormInit=!0,e&&(this.tags=e.tags),n.tags=this.tags||[],n.complexTemplate=this.complexTemplate||[],n.tagObjects=[],n.ngAttr=this.getAngularAttr(n.element),n.createElement=function(e,i){var s=n.srenderer?n.srenderer.createElement(e):t.createElement(e);return void 0===i?s:(s.innerHTML=i.innerHTML?i.innerHTML:"",void 0!==i.className&&(s.className=i.className),void 0!==i.id&&(s.id=i.id),void 0!==i.styles&&s.setAttribute("style",i.styles),void 0!==n.ngAttr&&s.setAttribute(n.ngAttr,""),void 0!==i.attrs&&t.attributes(s,i.attrs),s)};for(var i=0,s=n.tags;i<s.length;i++){var r=s[i],a={instance:t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),n),name:r};n.tagObjects.push(a)}for(var o=Object.keys(n),l=0;l<o.length;l++){var p=t.getValue(o[l],n);"object"==typeof p&&p&&p.elementRef&&("object"==typeof p&&p&&p.elementRef&&-1!==o[l].indexOf("_")&&-1===o[l].indexOf("Ref")&&t.setValue(o[l]+"Ref",p,n),!n.viewContainerRef||t.getValue("_viewContainerRef",p.elementRef.nativeElement)||t.getValue("propName",p.elementRef.nativeElement)||(t.setValue("_viewContainerRef",n.viewContainerRef,p.elementRef.nativeElement),t.setValue("propName",o[l].replace("Ref",""),p.elementRef.nativeElement)))}for(var h=0,u=o=(o=Object.keys(n)).filter(function(e){return/Ref$/i.test(e)&&/\_/i.test(e)});h<u.length;h++){var c=u[h].replace("Ref",""),g={};t.setValue(c.replace("_","."),t.getValue(c,n),g),n.setProperties(g,!0)}},e.prototype.getAngularAttr=function(e){for(var t,n=e.attributes,i=n.length,s=0;s<i;s++)/_ngcontent/g.test(n[s].name)&&(t=n[s].name);return t},e.prototype.ngAfterViewInit=function(e){var n=e||this;/ejs-tab|ejs-accordion/g.test(n.ngEle.nativeElement.outerHTML)&&(n.ngEle.nativeElement.style.visibility="hidden");var i=Object.keys(n);i=i.filter(function(e){return/Ref$/i.test(e)});for(var s="DocumentEditor"===n.getModuleName(),r=0,a=i;r<a.length;r++){var o=a[r].replace("Ref","");t.setValue(o.replace("_","."),t.getValue(o+"Ref",n),n)}var l=function(e){("undefined"!=typeof window&&e.element||e.getModuleName().includes("btn"))&&(e.appendTo(e.element),e.ngEle.nativeElement.style.visibility="")};s?l(n):setTimeout(function(){l(n)})},e.prototype.ngOnDestroy=function(e){var t=e||this;setTimeout(function(){"undefined"!=typeof window&&t.element.classList.contains("e-control")&&(t.destroy(),t.clearTemplate(null),setTimeout(function(){for(var e=0,n=Object.keys(t);e<n.length;e++){var i=n[e],s=t[i];if(s&&/object/.test(typeof s)&&0!==Object.keys(s).length)if(/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(i))for(var r=0,a=Object.keys(t[i]);r<a.length;r++){var o=a[r],l=s[o];l&&/object/.test(typeof l)&&0!==Object.keys(l).length&&(l.parent||l.parentObj)&&(t[i][o]=null)}else(s.parent||s.parentObj)&&(t[i]=null)}}))})},e.prototype.clearTemplate=function(e,t){r(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var n=e||this,i=0,s=n.tagObjects;i<s.length;i++){var r=s[i];if(!t.isUndefined(r.instance)&&(r.instance.isInitChanges||r.instance.hasChanges||r.instance.hasNewChildren))if(r.instance.isInitChanges){var a={},o=void 0;(m=t.getValue("instance.list",r))&&m.length&&(o=m[0].directivePropList);var l=!0;if(n.getModuleName&&"gantt"===n.getModuleName()&&(l=!1),o&&l&&-1===o.indexOf(r.instance.propertyName))for(var p=Object.keys(r.instance.list[0].propCollection),h=0;h<r.instance.list.length;h++){r.instance.list[h].propCollection[r.instance.propertyName]=[];for(var u={},c=0;c<p.length;c++){u[E=p[c]]=r.instance.list[h].propCollection[E]}for(var g=function(e){var n=r.instance.list[h].tags[e],i=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),r.instance.list[h]);if(i){var s=r.instance.list[h]["child"+n.substring(0,1).toUpperCase()+n.substring(1)],a=function(e){var n=[];if(e)for(var i=0;i<e.list.length;i++){var s=e.list[0].tags[0];if(s){var r=t.getValue("child"+s.substring(0,1).toUpperCase()+s.substring(1),e.list[i]);r&&(e.list[i].tagObjects.push({instance:r,name:s}),n.push(r))}}if(0!==n.length)for(var o=0;o<n.length;o++)a(n[o])};a(s),r.instance.list[h].tagObjects.push({instance:i,name:n})}},f=0;f<r.instance.list[h].tags.length;f++)g(f);r.instance.list[h].propCollection[r.instance.propertyName].push(u)}a[r.name]=r.instance.getProperties(),n.setProperties(a,r.instance.isInitChanges)}else{(n[r.name].length!==r.instance.list.length||/diagram|tab|DashboardLayout/.test(n.getModuleName()))&&(n[r.name]=r.instance.list);for(var d=0,v=r.instance.list;d<v.length;d++){var m=v[d],y=r.instance.list.indexOf(m),C=t.getValue(r.name,n)[y],b=Object.keys(C);if(b=b.filter(function(e){return/Ref$/i.test(e)}),C.properties&&0!==Object.keys(C.properties).length)for(var V=0,O=b;V<O.length;V++){var E;E=(E=O[V]).replace(/Ref/,""),C.properties[E]=C.properties[E]?C.properties[E]:C.propCollection[E]}t.isUndefined(C)||t.isUndefined(C.setProperties)||(/diagram|DashboardLayout/.test(n.getModuleName())?C.setProperties(m.getProperties(),!0):C.setProperties(m.getProperties())),m.isUpdated=!0}}}},e.prototype.registerEvents=function(e){s(e,this)},e.prototype.twoWaySetter=function(e,n){var i=t.getValue(n,this.properties);i!==e&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.addTwoWay=function(e){for(var i=this,s=function(e){t.getValue(e,r),Object.defineProperty(r,e,{get:function(){return t.getValue(e,i.properties)},set:function(t){return i.twoWaySetter(t,e)}}),t.setValue(e+"Change",new n.EventEmitter,r)},r=this,a=0,o=e;a<o.length;a++){s(o[a])}},e.prototype.addEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||(this.ngBoundedEvents[e]||(this.ngBoundedEvents[e]=new Map),this.ngBoundedEvents[e].set(n,i.subscribe(n)))},e.prototype.removeEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||this.ngBoundedEvents[e].get(n).unsubscribe()},e.prototype.trigger=function(e,n,i){var s=t.getValue(e,this),r=this.isProtectedOnChange;this.isProtectedOnChange=!1,n&&(n.name=e),t.isUndefined(s)||s.next(n);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,n),this.isProtectedOnChange=r,i&&(this.preventChange=this.isPreventChange,i.call(this,n)),this.isPreventChange=!1},e}(),u=function(){function e(){}return e.prototype.propagateChange=function(e){},e.prototype.propagateTouch=function(){},e.prototype.localChange=function(e){var n=void 0===e.checked?e.value:e.checked;if(this.objCheck=t.isObject(n),!0===this.isUpdated&&(this.angularValue=this.oldValue),!0===this.objCheck)this.duplicateValue=JSON.stringify(n),this.duplicateAngularValue=JSON.stringify(this.angularValue),this.duplicateValue!==this.duplicateAngularValue&&void 0!==this.propagateChange&&void 0!==n&&(this.propagateChange(n),this.angularValue=n);else if(n!==this.angularValue&&void 0!==this.propagateChange&&void 0!==n)if(""!==n&&null!==n)this.propagateChange(n),this.angularValue=n;else{var i=n;this.propagateChange(i),this.angularValue=n}},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){this.propagateTouch=e},e.prototype.twoWaySetter=function(e,n){var i=this.oldValue||t.getValue(n,this.properties),s=this.inputElement||this.element;(!s||i!==e||this.value!==e||void 0!==s.value&&""!==s.value)&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.ngAfterViewInit=function(e){var t=e||this;if("undefined"!=typeof window){t.appendTo(t.element);var n=t.inputElement||t.element;n.addEventListener("focus",t.ngOnFocus.bind(t)),n.addEventListener("blur",t.ngOnBlur.bind(t))}this.isFormInit=!1},e.prototype.setDisabledState=function(e){this.enabled=!e,this.disabled=e},e.prototype.writeValue=function(e){void 0===this.checked?this.value=e:this.ngEle&&("boolean"==typeof e?/ejs-radiobutton/g.test(this.ngEle.nativeElement.outerHTML)?this.checked=e===this.value:this.checked=e:this.checked=e===this.value),this.angularValue=e,this.isUpdated=!0,this.preventChange=!this.isFormInit},e.prototype.ngOnFocus=function(e){!0!==this.skipFromEvent&&this.focus.emit(e)},e.prototype.ngOnBlur=function(e){this.propagateTouch(),!0!==this.skipFromEvent&&this.blur.emit(e)},e.isFormBase=!0,e}(),c=t.getTemplateEngine();t.setTemplateEngine({compile:a}),e.ComplexBase=l,e.ArrayBase=p,e.ComponentBase=h,e.FormBase=u,e.applyMixins=i,e.ComponentMixins=function(e){return function(t){i(t,e)}},e.registerEvents=s,e.clearTemplate=r,e.setValue=function(e,t,n){for(var i=e.replace(/\[/g,".").replace(/\]/g,"").split("."),s=n||{},r=0;r<i.length;r++){var a=i[r];r+1===i.length?s[a]=void 0===t?{}:t:void 0===s[a]&&(s[a]={}),s=s[a]}return s},e.compile=a,e.Template=function(e){return function(n,i){var s={set:function(e){return function(n){void 0!==n&&(t.setValue(e+"Ref",n,this),"string"!=typeof n?(n.elementRef.nativeElement._viewContainerRef=this.viewContainerRef,n.elementRef.nativeElement.propName=e):this.saveChanges&&(this.saveChanges(e,n,void 0),this.dataBind()))}}(i),get:function(e,n){return function(){return t.getValue(e+"Ref",this)||n}}(i,e),enumerable:!0,configurable:!0};Object.defineProperty(n,i,s)}},Object.defineProperty(e,"__esModule",{value:!0})});
10
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@syncfusion/ej2-base"),require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@syncfusion/ej2-base","@angular/core"],t):t(e.ej={},e.ej2Base,e.core)}(this,function(e,t,i){"use strict";function n(e,t){t.forEach(function(t){Object.getOwnPropertyNames(t.prototype).forEach(function(i){(!e.prototype.hasOwnProperty(i)||t.isFormBase&&"constructor"!==i)&&(e.prototype[i]=t.prototype[i])})})}function r(e,t,n){var r={};if(e&&e.length){for(var s=0,a=e;s<a.length;s++){var o=a[s];!0===n?(t.propCollection[o]=new i.EventEmitter(!1),t[o]=t.propCollection[o]):r[o]=new i.EventEmitter(!1)}!0!==n&&t.setProperties(r,!0)}}function s(e,i,n){var r=Object.keys(e.registeredTemplate);if(r.length)for(var s=i&&i.filter(function(e){return!/\./g.test(e)}),a=/tab|accordion|toolbar/.test(e.getModuleName()),o=0,l=s&&s||r;o<l.length;o++){var h=l[o];if(n&&n.length)for(var p=0;p<n.length;p++)if(a)for(var c=0;c<e.registeredTemplate[h].length;c++){(u=e.registeredTemplate[h][c])&&u===n[p]&&(u.destroy(),e.registeredTemplate[h].splice(c,1))}else for(c=0;c<e.registeredTemplate.template.length;c++){var u;if((u=e.registeredTemplate.template[c].rootNodes[0])===n[p]){(d=e.registeredTemplate[h])[c].destroy()}}else if(e.registeredTemplate[h])for(var g=0,f=e.registeredTemplate[h];g<f.length;g++){var d;if(!(d=f[g]).destroyed){if(d._view){var v=d._view.renderer.parentNode(d.rootNodes[0]);if(!t.isNullOrUndefined(v))for(c=0;c<d.rootNodes.length;c++)v.appendChild(d.rootNodes[c])}d.destroy()}}a&&n||delete e.registeredTemplate[h]}for(var m=function(e){e.instance&&e.instance.clearTemplate(i&&i.filter(function(t){return!!new RegExp(e.name).test(t)}))},y=0,C=e.tagObjects;y<C.length;y++){m(C[y])}}function a(e,i){if("string"==typeof e||"function"==typeof e&&e.prototype&&e.prototype.CSPTemplate)return u(e,i);var n=e.elementRef.nativeElement._viewContainerRef,r=e.elementRef.nativeElement.propName;return function(i,s,a){var o={$implicit:i},l=n||s.viewContainerRef,h=l.createEmbeddedView(e,o);h.markForCheck();var p=s&&s.registeredTemplate?s.registeredTemplate:t.getValue("currentInstance.registeredTemplate",l);return a=a&&s.registeredTemplate?a:r,void 0===p[a]&&(p[a]=[]),p[a].push(h),h.rootNodes}}var o=/Ref$/,l=function(){function e(){this.hasChanges=!1,this.propCollection={},this.dataSource={},this.tags=[],this.tagObjects=[]}return e.prototype.ngOnInit=function(){this.registeredTemplate={};for(var e=0,i=this.tags;e<i.length;e++){var n=i[e],r=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),this);r&&this.tagObjects.push({instance:r,name:n})}for(var s=Object.keys(this),a=0;a<s.length;a++){var o=t.getValue(s[a],this);"object"==typeof o&&o&&o.elementRef&&(t.getValue(-1!==s[a].indexOf("Ref")?s[a]:s[a]+"Ref",this)||t.setValue(-1!==s[a].indexOf("Ref")?s[a]:s[a]+"Ref",o,this),!t.getValue("viewContainerRef",this)||t.getValue("_viewContainerRef",o.elementRef.nativeElement)||t.getValue("propName",o.elementRef.nativeElement)||(t.setValue("_viewContainerRef",t.getValue("viewContainerRef",this),o.elementRef.nativeElement),t.setValue("propName",s[a].replace("Ref",""),o.elementRef.nativeElement)))}for(var l=0,h=s=(s=Object.keys(this)).filter(function(e){return/Ref$/i.test(e)});l<h.length;l++){var p=h[l].replace("Ref","");t.setValue(p.replace("_","."),t.getValue(p,this),this.propCollection)}var c=Object.keys(this);if(this.directivePropList){for(var u=0;u<this.directivePropList.length;u++){var g=this.directivePropList[u];-1===c.indexOf(g)||!1!==t.getValue(g,this)&&!t.getValue(g,this)||t.setValue(g,t.getValue(g,this),this.propCollection)}this.hasChanges=!0}this.isInitChanges=!0},e.prototype.registerEvents=function(e){r(e,this,!0)},e.prototype.ngOnChanges=function(e){for(var t=0,i=Object.keys(e);t<i.length;t++){var n=i[t],r=e[n];this.propCollection[n]=r.currentValue}this.isUpdated=!1,this.hasChanges=!0},e.prototype.clearTemplate=function(e){s(this,e)},e.prototype.getProperties=function(){for(var e=0,t=this.tagObjects;e<t.length;e++){var i=t[e];this.propCollection[i.name]=i.instance.getProperties()}return this.propCollection},e.prototype.isChanged=function(){var e=this.hasChanges;if(!t.isNullOrUndefined(this.propCollection[this.property]))for(var i=this.propCollection[this.property],n=Object.keys(i[0]),r=0;r<n.length;r++)if(!t.isNullOrUndefined(this.propCollection[n[r]])){var s=t.getValue(n[r],this),a=this.propCollection[this.property][0][n[r]];t.isNullOrUndefined(s)||this.propCollection[n[r]]===s||a===s||(t.setValue(n[r],s,this.propCollection[this.property][0]),t.setValue(n[r],s,this.propCollection),this.hasChanges=!0,this.isUpdated=!1)}for(var o=0,l=this.tagObjects;o<l.length;o++){var h=l[o];e=e||h.instance.hasChanges}return e||this.hasChanges},e.prototype.ngAfterContentChecked=function(){if(this.hasChanges=this.isChanged(),this.isInitChanges||this.hasChanges)for(var e=Object.keys(this),i=0,n=e=e.filter(function(e){return o.test(e)});i<n.length;i++){var r=n[i].replace("Ref","");t.setValue(r.replace("_","."),t.getValue(r,this),this.propCollection)}},e.prototype.ngAfterViewChecked=function(){this.isUpdated&&(this.hasChanges=!1)},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.directivePropList=[]},e}(),h=function(){function e(e){this.list=[],this.hasChanges=!1,this.propertyName=e}return e.prototype.ngOnInit=function(){this.isInitChanges=!0},e.prototype.ngAfterContentInit=function(){var e=this,t=0;this.list=this.children.map(function(i){return i.dirIndex=t++,i.property=e.propertyName,i}),this.hasChanges=!0},e.prototype.getProperties=function(){for(var e=[],t=0,i=this.list;t<i.length;t++){var n=i[t];e.push(n.getProperties())}return e},e.prototype.isChanged=function(){var e=this,t=!1,i=0,n=!1,r=this.children.map(function(e){return e});if(this.list.length===this.children.length)for(var s=0;s<this.list.length;s++)this.list[s].propCollection.dataSource&&(this.list[s].dataSource&&this.list[s].propCollection.dataSource!==this.list[s].dataSource&&(this.list[s].propCollection.dataSource=this.list[s].dataSource,this.list[s].hasChanges=!0),n=JSON.stringify(this.list[s].propCollection.dataSource)!==JSON.stringify(r[s].propCollection.dataSource)),n=this.list[s].hasChanges!==r[s].hasChanges;this.hasNewChildren=!(this.list.length===this.children.length&&!n)||null,this.hasNewChildren&&(this.list=this.children.map(function(t){return t.dirIndex=i++,t.property=e.propertyName,t}));for(var a=0,o=this.list;a<o.length;a++){var l=o[a];t=t||l.hasChanges}return!!this.list.length&&t},e.prototype.clearTemplate=function(e){for(var t=this,i=0,n=this.list;i<n.length;i++){n[i].clearTemplate(e&&e.map(function(e){return new RegExp(t.propertyName).test(e)?e.replace(t.propertyName+".",""):e}))}},e.prototype.ngAfterContentChecked=function(){this.hasChanges=this.isChanged();for(var e=0;e<this.list.length;e++)t.getValue("childColumns",this.list[e])&&"columns"===t.getValue("property",this.list[e])&&t.setValue("columns",t.getValue("childColumns",this.list[e]).getProperties(),this.list[e].propCollection),this.list[e].isUpdated=!0},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.list=[]},e}(),p=function(){function e(){this.isProtectedOnChange=!0,this.isFormInit=!0}return e.prototype.saveChanges=function(e,t,i){if(!this.isProtectedOnChange){this.oldProperties[e]=i,this.changedProperties[e]=t,this.finalUpdate();var n=setTimeout(this.dataBind.bind(this));this.finalUpdate=function(){clearTimeout(n)}}},e.prototype.ngOnInit=function(e){var i=e||this;i.registeredTemplate={},i.ngBoundedEvents={},i.isAngular=!0,i.isFormInit=!0,e&&(this.tags=e.tags),i.tags=this.tags||[],i.complexTemplate=this.complexTemplate||[],i.tagObjects=[],i.ngAttr=this.getAngularAttr(i.element),i.createElement=function(e,n){var r=i.srenderer?i.srenderer.createElement(e):t.createElement(e);return void 0===n?r:(r.innerHTML=n.innerHTML?n.innerHTML:"",void 0!==n.className&&(r.className=n.className),void 0!==n.id&&(r.id=n.id),void 0!==n.styles&&r.setAttribute("style",n.styles),void 0!==i.ngAttr&&r.setAttribute(i.ngAttr,""),void 0!==n.attrs&&t.attributes(r,n.attrs),r)};for(var n=0,r=i.tags;n<r.length;n++){var s=r[n],a={instance:t.getValue("child"+s.substring(0,1).toUpperCase()+s.substring(1),i),name:s};i.tagObjects.push(a)}for(var o=Object.keys(i),l=0;l<o.length;l++){var h=t.getValue(o[l],i);"object"==typeof h&&h&&h.elementRef&&("object"==typeof h&&h&&h.elementRef&&-1!==o[l].indexOf("_")&&-1===o[l].indexOf("Ref")&&t.setValue(o[l]+"Ref",h,i),!i.viewContainerRef||t.getValue("_viewContainerRef",h.elementRef.nativeElement)||t.getValue("propName",h.elementRef.nativeElement)||(t.setValue("_viewContainerRef",i.viewContainerRef,h.elementRef.nativeElement),t.setValue("propName",o[l].replace("Ref",""),h.elementRef.nativeElement)))}for(var p=0,c=o=(o=Object.keys(i)).filter(function(e){return/Ref$/i.test(e)&&/\_/i.test(e)});p<c.length;p++){var u=c[p].replace("Ref",""),g={};t.setValue(u.replace("_","."),t.getValue(u,i),g),i.setProperties(g,!0)}},e.prototype.getAngularAttr=function(e){for(var t,i=e.attributes,n=i.length,r=0;r<n;r++)/_ngcontent/g.test(i[r].name)&&(t=i[r].name);return t},e.prototype.ngAfterViewInit=function(e){var i=e||this;/ejs-tab|ejs-accordion/g.test(i.ngEle.nativeElement.outerHTML)&&(i.ngEle.nativeElement.style.visibility="hidden");var n=Object.keys(i);n=n.filter(function(e){return/Ref$/i.test(e)});for(var r="DocumentEditor"===i.getModuleName(),s=0,a=n;s<a.length;s++){var o=a[s].replace("Ref","");t.setValue(o.replace("_","."),t.getValue(o+"Ref",i),i)}var l=function(e){("undefined"!=typeof window&&e.element||e.getModuleName().includes("btn"))&&(e.appendTo(e.element),e.ngEle.nativeElement.style.visibility="")};r?l(i):setTimeout(function(){l(i)})},e.prototype.ngOnDestroy=function(e){var t=e||this;setTimeout(function(){"undefined"!=typeof window&&t.element.classList.contains("e-control")&&(t.destroy(),t.clearTemplate(null),setTimeout(function(){for(var e=0,i=Object.keys(t);e<i.length;e++){var n=i[e],r=t[n];if(r&&/object/.test(typeof r)&&0!==Object.keys(r).length)if(/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(n))for(var s=0,a=Object.keys(t[n]);s<a.length;s++){var o=a[s],l=r[o];l&&/object/.test(typeof l)&&0!==Object.keys(l).length&&(l.parent||l.parentObj)&&(t[n][o]=null)}else(r.parent||r.parentObj)&&(t[n]=null)}}))})},e.prototype.clearTemplate=function(e,t){s(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var i=e||this,n=0,r=i.tagObjects;n<r.length;n++){var s=r[n];if(!t.isUndefined(s.instance)&&(s.instance.isInitChanges||s.instance.hasChanges||s.instance.hasNewChildren))if(s.instance.isInitChanges){var a={},o=void 0;(m=t.getValue("instance.list",s))&&m.length&&(o=m[0].directivePropList);var l=!0;if(i.getModuleName&&"gantt"===i.getModuleName()&&(l=!1),o&&l&&-1===o.indexOf(s.instance.propertyName))for(var h=Object.keys(s.instance.list[0].propCollection),p=0;p<s.instance.list.length;p++){s.instance.list[p].propCollection[s.instance.propertyName]=[];for(var c={},u=0;u<h.length;u++){c[E=h[u]]=s.instance.list[p].propCollection[E]}for(var g=function(e){var i=s.instance.list[p].tags[e],n=t.getValue("child"+i.substring(0,1).toUpperCase()+i.substring(1),s.instance.list[p]);if(n){var r=s.instance.list[p]["child"+i.substring(0,1).toUpperCase()+i.substring(1)],a=function(e){var i=[];if(e)for(var n=0;n<e.list.length;n++){var r=e.list[0].tags[0];if(r){var s=t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),e.list[n]);s&&(e.list[n].tagObjects.push({instance:s,name:r}),i.push(s))}}if(0!==i.length)for(var o=0;o<i.length;o++)a(i[o])};a(r),s.instance.list[p].tagObjects.push({instance:n,name:i})}},f=0;f<s.instance.list[p].tags.length;f++)g(f);s.instance.list[p].propCollection[s.instance.propertyName].push(c)}a[s.name]=s.instance.getProperties(),i.setProperties(a,s.instance.isInitChanges)}else{(i[s.name].length!==s.instance.list.length||/diagram|DashboardLayout/.test(i.getModuleName()))&&(i[s.name]=s.instance.list);for(var d=0,v=s.instance.list;d<v.length;d++){var m=v[d],y=s.instance.list.indexOf(m),C=t.getValue(s.name,i)[y],b=Object.keys(C);if(b=b.filter(function(e){return/Ref$/i.test(e)}),C.properties&&0!==Object.keys(C.properties).length)for(var V=0,O=b;V<O.length;V++){var E;E=(E=O[V]).replace(/Ref/,""),C.properties[E]=C.properties[E]?C.properties[E]:C.propCollection[E]}t.isUndefined(C)||t.isUndefined(C.setProperties)||(/diagram|DashboardLayout/.test(i.getModuleName())?C.setProperties(m.getProperties(),!0):C.setProperties(m.getProperties())),m.isUpdated=!0}}}},e.prototype.registerEvents=function(e){r(e,this)},e.prototype.twoWaySetter=function(e,i){var n=t.getValue(i,this.properties);n!==e&&(this.saveChanges(i,e,n),t.setValue(i,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(i+"Change",this).emit(e))},e.prototype.addTwoWay=function(e){for(var n=this,r=function(e){t.getValue(e,s),Object.defineProperty(s,e,{get:function(){return t.getValue(e,n.properties)},set:function(t){return n.twoWaySetter(t,e)}}),t.setValue(e+"Change",new i.EventEmitter,s)},s=this,a=0,o=e;a<o.length;a++){r(o[a])}},e.prototype.addEventListener=function(e,i){var n=t.getValue(e,this);t.isUndefined(n)||(this.ngBoundedEvents[e]||(this.ngBoundedEvents[e]=new Map),this.ngBoundedEvents[e].set(i,n.subscribe(i)))},e.prototype.removeEventListener=function(e,i){var n=t.getValue(e,this);t.isUndefined(n)||this.ngBoundedEvents[e].get(i).unsubscribe()},e.prototype.trigger=function(e,i,n){var r=t.getValue(e,this),s=this.isProtectedOnChange;this.isProtectedOnChange=!1,i&&(i.name=e),t.isUndefined(r)||r.next(i);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,i),this.isProtectedOnChange=s,n&&(this.preventChange=this.isPreventChange,n.call(this,i)),this.isPreventChange=!1},e}(),c=function(){function e(){}return e.prototype.propagateChange=function(e){},e.prototype.propagateTouch=function(){},e.prototype.localChange=function(e){var i=void 0===e.checked?e.value:e.checked;if(this.objCheck=t.isObject(i),!0===this.isUpdated&&(this.angularValue=this.oldValue),!0===this.objCheck)this.duplicateValue=JSON.stringify(i),this.duplicateAngularValue=JSON.stringify(this.angularValue),this.duplicateValue!==this.duplicateAngularValue&&void 0!==this.propagateChange&&void 0!==i&&(this.propagateChange(i),this.angularValue=i);else if(i!==this.angularValue&&void 0!==this.propagateChange&&void 0!==i)if(""!==i&&null!==i)this.propagateChange(i),this.angularValue=i;else{var n=i;this.propagateChange(n),this.angularValue=i}this.cdr.markForCheck()},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){this.propagateTouch=e},e.prototype.twoWaySetter=function(e,i){var n=this.oldValue||t.getValue(i,this.properties),r=this.inputElement||this.element;(!r||n!==e||this.value!==e||void 0!==r.value&&""!==r.value)&&(this.saveChanges(i,e,n),t.setValue(i,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(i+"Change",this).emit(e))},e.prototype.ngAfterViewInit=function(e){var t=e||this;if("undefined"!=typeof window){t.appendTo(t.element);var i=t.inputElement||t.element;i.addEventListener("focus",t.ngOnFocus.bind(t)),i.addEventListener("blur",t.ngOnBlur.bind(t))}this.isFormInit=!1},e.prototype.setDisabledState=function(e){this.enabled=!e,this.disabled=e},e.prototype.writeValue=function(e){void 0===this.checked?this.value=e:this.ngEle&&("boolean"==typeof e?/ejs-radiobutton/g.test(this.ngEle.nativeElement.outerHTML)?this.checked=e===this.value:this.checked=e:this.checked=e===this.value),this.angularValue=e,this.isUpdated=!0,this.preventChange=!this.isFormInit,this.cdr.markForCheck()},e.prototype.ngOnFocus=function(e){!0!==this.skipFromEvent&&this.focus.emit(e),this.cdr.markForCheck()},e.prototype.ngOnBlur=function(e){this.propagateTouch(),!0!==this.skipFromEvent&&this.blur.emit(e),this.cdr.markForCheck()},e.isFormBase=!0,e}(),u=t.getTemplateEngine();t.setTemplateEngine({compile:a}),e.ComplexBase=l,e.ArrayBase=h,e.ComponentBase=p,e.FormBase=c,e.applyMixins=n,e.ComponentMixins=function(e){return function(t){n(t,e)}},e.registerEvents=r,e.clearTemplate=s,e.setValue=function(e,t,i){for(var n=e.replace(/\[/g,".").replace(/\]/g,"").split("."),r=i||{},s=0;s<n.length;s++){var a=n[s];s+1===n.length?r[a]=void 0===t?{}:t:void 0===r[a]&&(r[a]={}),r=r[a]}return r},e.compile=a,e.Template=function(e){return function(i,n){var r={set:function(e){return function(i){void 0!==i&&(t.setValue(e+"Ref",i,this),"string"!=typeof i?(i.elementRef.nativeElement._viewContainerRef=this.viewContainerRef,i.elementRef.nativeElement.propName=e):this.saveChanges&&(this.saveChanges(e,i,void 0),this.dataBind()))}}(n),get:function(e,i){return function(){return t.getValue(e+"Ref",this)||i}}(n,e),enumerable:!0,configurable:!0};Object.defineProperty(i,n,r)}},Object.defineProperty(e,"__esModule",{value:!0})});
11
11
  //# sourceMappingURL=ej2-angular-base.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-angular-base.umd.min.js","sources":["../src/util.js","../src/template.js","../src/complex-array-base.js","../src/component-base.js","../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabTemp = _this.getModuleName() === 'tab';\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n viewRef.detectChanges();\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n if (getValue(\"viewContainerRef\", this) && !getValue(\"_viewContainerRef\", tempProp.elementRef.nativeElement) && !getValue(\"propName\", tempProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", getValue(\"viewContainerRef\", this), tempProp.elementRef.nativeElement);\n setValue(\"propName\", templateProperties[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|tab|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_loop_1","tagObject","instance","RegExp","_d","_e","tagObjects","compile","templateEle","helper","CSPTemplate","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","detectChanges","viewCollection","getValue","push","refRegex","ComplexBase","this","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","i","tempProp","indexOf","setValue","replace","templateProperties_1","propList","directivePropList","k","dirPropName","isInitChanges","ngOnChanges","changes","changedVal","currentValue","isUpdated","getProperties","isChanged","result","property","tempProps","props","d","propVal","item","ngAfterContentChecked","templateProperties_2","ngAfterViewChecked","ngAfterViewInit","ngOnDestroy","ArrayBase","propertyName","list","ngAfterContentInit","children","map","child","dirIndex","onlyProp","isSourceChanged","childrenDataSource","JSON","stringify","hasNewChildren","ComponentBase","isProtectedOnChange","isFormInit","saveChanges","key","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","dataBind","bind","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","undefined","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","ngtempRef","appendToComponent","window","includes","appendTo","tempOnDestroyThis","classList","contains","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","_loop_2","this_1","defineProperty","get","set","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine","nameSpace","object","split","fromObj","defaultValue","target","propertyDescriptor","setter","getter","enumerable","configurable"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-angular-base.umd.min.js","sources":["../src/util.js","../src/template.js","../src/complex-array-base.js","../src/component-base.js","../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n viewRef.markForCheck();\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', tempProp, this);\n }\n if (getValue(\"viewContainerRef\", this) && !getValue(\"_viewContainerRef\", tempProp.elementRef.nativeElement) && !getValue(\"propName\", tempProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", getValue(\"viewContainerRef\", this), tempProp.elementRef.nativeElement);\n setValue(\"propName\", templateProperties[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[k];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n var val = getValue(props[d], this);\n var propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n // tslint:disable-next-line\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabaccordionTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_loop_1","tagObject","instance","RegExp","_d","_e","tagObjects","compile","templateEle","helper","CSPTemplate","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","markForCheck","viewCollection","getValue","push","refRegex","ComplexBase","this","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","i","tempProp","indexOf","setValue","replace","templateProperties_1","propList","directivePropList","k","dirPropName","isInitChanges","ngOnChanges","changes","changedVal","currentValue","isUpdated","getProperties","isChanged","result","property","tempProps","props","d","propVal","item","ngAfterContentChecked","templateProperties_2","ngAfterViewChecked","ngAfterViewInit","ngOnDestroy","ArrayBase","propertyName","list","ngAfterContentInit","children","map","child","dirIndex","onlyProp","isSourceChanged","childrenDataSource","JSON","stringify","hasNewChildren","ComponentBase","isProtectedOnChange","isFormInit","saveChanges","key","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","dataBind","bind","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","undefined","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","ngtempRef","appendToComponent","window","includes","appendTo","tempOnDestroyThis","classList","contains","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","_loop_2","this_1","defineProperty","get","set","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","cdr","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine","nameSpace","object","split","fromObj","defaultValue","target","propertyDescriptor","setter","getter","enumerable","configurable"],"mappings":"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"}
@@ -50,12 +50,12 @@ function clearTemplate(_this, templateNames, index) {
50
50
  let regProperties = templateNames && templateNames.filter((val) => {
51
51
  return (/\./g.test(val) ? false : true);
52
52
  });
53
- let tabTemp = _this.getModuleName() === 'tab';
53
+ let tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());
54
54
  for (let registeredTemplate of (regProperties && regProperties || regTemplates)) {
55
55
  /* istanbul ignore next */
56
56
  if (index && index.length) {
57
57
  for (let e = 0; e < index.length; e++) {
58
- if (tabTemp) {
58
+ if (tabaccordionTemp) {
59
59
  for (let m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {
60
60
  let value = _this.registeredTemplate[registeredTemplate][m];
61
61
  if (value && value === index[e]) {
@@ -92,7 +92,7 @@ function clearTemplate(_this, templateNames, index) {
92
92
  }
93
93
  }
94
94
  }
95
- if (!tabTemp || !index) {
95
+ if (!tabaccordionTemp || !index) {
96
96
  delete _this.registeredTemplate[registeredTemplate];
97
97
  }
98
98
  }
@@ -611,7 +611,7 @@ class ComponentBase {
611
611
  }
612
612
  else {
613
613
  /* istanbul ignore next */
614
- if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|tab|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {
614
+ if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {
615
615
  tempAfterContentThis[tagObject.name] = tagObject.instance.list;
616
616
  }
617
617
  for (let list of tagObject.instance.list) {
@@ -743,6 +743,7 @@ class FormBase {
743
743
  }
744
744
  }
745
745
  }
746
+ this.cdr.markForCheck();
746
747
  }
747
748
  registerOnChange(registerFunction) {
748
749
  this.propagateChange = registerFunction;
@@ -809,6 +810,7 @@ class FormBase {
809
810
  // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.
810
811
  // To prevent change event, trigger change in component side based on `preventChange` value
811
812
  this.preventChange = this.isFormInit ? false : true;
813
+ this.cdr.markForCheck();
812
814
  if (value === null) {
813
815
  return;
814
816
  }
@@ -818,6 +820,7 @@ class FormBase {
818
820
  if (this.skipFromEvent !== true) {
819
821
  this.focus.emit(e);
820
822
  }
823
+ this.cdr.markForCheck();
821
824
  }
822
825
  ngOnBlur(e) {
823
826
  this.propagateTouch();
@@ -825,6 +828,7 @@ class FormBase {
825
828
  if (this.skipFromEvent !== true) {
826
829
  this.blur.emit(e);
827
830
  }
831
+ this.cdr.markForCheck();
828
832
  }
829
833
  }
830
834
  FormBase.isFormBase = true;
@@ -846,7 +850,7 @@ function compile(templateEle, helper) {
846
850
  /* istanbul ignore next */
847
851
  let conRef = contRef ? contRef : component.viewContainerRef;
848
852
  let viewRef = conRef.createEmbeddedView(templateEle, context);
849
- viewRef.detectChanges();
853
+ viewRef.markForCheck();
850
854
  /* istanbul ignore next */
851
855
  let viewCollection = (component && component.registeredTemplate) ?
852
856
  component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);