@syncfusion/ej2-angular-base 19.3.55 → 19.3.60

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 (52) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE/bug.md +60 -0
  2. package/.github/PULL_REQUEST_TEMPLATE/feature.md +37 -0
  3. package/CHANGELOG.md +80 -11
  4. package/dist/ej2-angular-base.umd.min.js +1 -10
  5. package/dist/ej2-angular-base.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-angular-base.es2015.js +122 -33
  7. package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
  8. package/dist/es6/ej2-angular-base.es5.js +130 -36
  9. package/dist/es6/ej2-angular-base.es5.js.map +1 -1
  10. package/dist/global/ej2-angular-base.min.js +1 -10
  11. package/dist/global/ej2-angular-base.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/package.json +71 -82
  14. package/schematics/generators/component-builder.js +14 -14
  15. package/schematics/generators/template/schema.json +1 -1
  16. package/schematics/ng-add/index.js +2 -2
  17. package/schematics/ng-add/schema.json +1 -1
  18. package/schematics/ng-add/theme.js +5 -4
  19. package/schematics/utils/get-project.js +3 -0
  20. package/schematics/utils/helpers/helpers.d.ts +1 -1
  21. package/schematics/utils/project-style-file.js +2 -2
  22. package/src/complex-array-base.js +14 -5
  23. package/src/component-base.js +76 -19
  24. package/src/form-base.d.ts +2 -1
  25. package/src/form-base.js +12 -3
  26. package/src/template.js +7 -2
  27. package/src/util.js +21 -7
  28. package/styles/bootstrap-dark.scss +1 -1
  29. package/styles/bootstrap.scss +1 -1
  30. package/styles/bootstrap4.scss +1 -1
  31. package/styles/bootstrap5-dark.scss +1 -1
  32. package/styles/bootstrap5.scss +1 -1
  33. package/styles/fabric-dark.scss +1 -1
  34. package/styles/fabric.scss +1 -1
  35. package/styles/fluent-dark.css +0 -0
  36. package/styles/fluent-dark.scss +1 -0
  37. package/styles/fluent.css +0 -0
  38. package/styles/fluent.scss +1 -0
  39. package/styles/highcontrast-light.scss +1 -1
  40. package/styles/highcontrast.scss +1 -1
  41. package/styles/material-dark.css +0 -1
  42. package/styles/material-dark.scss +1 -1
  43. package/styles/material.css +0 -1
  44. package/styles/material.scss +1 -1
  45. package/styles/material3-dark.css +54 -0
  46. package/styles/material3-dark.scss +1 -0
  47. package/styles/material3.css +110 -0
  48. package/styles/material3.scss +1 -0
  49. package/styles/tailwind-dark.css +0 -1
  50. package/styles/tailwind-dark.scss +1 -1
  51. package/styles/tailwind.css +0 -1
  52. package/styles/tailwind.scss +1 -1
@@ -0,0 +1,60 @@
1
+ ### Bug description
2
+
3
+ Clearly and concisely describe the problem or feature (this cannot be empty).
4
+
5
+ ### Root cause
6
+
7
+ Briefly describe the root cause and analysis of the problem.
8
+ If there is an internal discussion on the forum, provide the link.
9
+ ### Reason for not identifying earlier
10
+
11
+ Find how it was missed in our earlier testing and development by analysing the below checklist. This will help prevent similar mistakes in the future.
12
+
13
+ - [ ] Guidelines/documents are not followed
14
+
15
+ - Common guidelines / Core team guideline
16
+ - Specification document
17
+ - Requirement document
18
+
19
+ - [ ] Guidelines/documents are not given
20
+
21
+
22
+ - Common guidelines / Core team guideline
23
+ - Specification document
24
+ - Requirement document
25
+
26
+
27
+ ### Reason:
28
+ Mention any one or more reasons from the above points.
29
+
30
+ ### Action taken:
31
+ What action did you take to avoid this in future?
32
+
33
+ ### Related areas:
34
+ Is there any other related areas also to be addressed?
35
+
36
+
37
+ ### Is it a breaking issue?
38
+
39
+ If it is a breaking issue, provide the commit detail which caused this break.
40
+
41
+ ### Solution description
42
+
43
+ Describe your code changes in detail for reviewers.
44
+
45
+ ### Output screenshots
46
+
47
+ Post the output screenshots if an UI is affected or added due to this bug.
48
+ ### Areas affected and ensured
49
+
50
+ List the areas affected by your code changes.
51
+
52
+ ### Additional checklist
53
+ This may vary for different teams or products. Check with your scrum masters.
54
+
55
+ - Did you run the automation against your fix?
56
+ - Is there any API name change?
57
+ - Is there any existing behavior change of other features due to this code change?
58
+ - Does your new code introduce new warnings or binding errors?
59
+ - Does your code pass all FxCop and StyleCop rules?
60
+ - Did you record this case in the unit test or UI test?
@@ -0,0 +1,37 @@
1
+ ### Feature description
2
+
3
+ Clearly and concisely describe the problem or feature (this cannot be empty).
4
+
5
+ ### Analysis and design
6
+
7
+ If there is an external design, link to its project documentation area.
8
+ If there is an internal discussion on the forum, provide the link.
9
+ ### Solution description
10
+
11
+ Describe your code changes in detail for reviewers.
12
+
13
+ ### Output screenshots
14
+
15
+ Post the output screenshots if an UI is affected or added due to this feature.
16
+ ### Areas affected and ensured
17
+
18
+ List the areas are affected by your code changes.
19
+
20
+ ### Test cases
21
+
22
+ Provide the unit testing written file details to understand the use cases considered in this implementation.
23
+ If there is no TDD (if it’s not possible to follow), provide the UI automation script location and the Excel file that contains the use cases considered in this implementation.
24
+ Provide the test cases Excel file alone if the feature cannot be automated in any case.
25
+ Test bed sample location
26
+
27
+ Provide the test bed sample location where code reviewers can review the new feature’s behaviors. This depends on the CI process that your team follows. It can be from NPMCI, HockeyApp, staging site, local server, etc.
28
+
29
+ ### Additional checklist
30
+ This may vary for different teams or products. Check with your scrum masters.
31
+
32
+ - Did you run the automation against your fix?
33
+ - Is there any API name change?
34
+ - Is there any existing behavior change of other features due to this code change?
35
+ - Does your new code introduce new warnings or binding errors?
36
+ - Does your code pass all FxCop and StyleCop rules?
37
+ - Did you record this case in the unit test or UI test?
package/CHANGELOG.md CHANGED
@@ -2,45 +2,114 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## 23.1.43 (2023-10-31)
6
+
5
7
  ### Common
6
8
 
7
9
  #### Bug Fixes
8
10
 
9
- - `I347507` - Resolved `Button` component not render inside the `ng-template`.
11
+ - `#I507537`, `#I508879`, `#I505342` - Resolved `chart` loading delays to enhance overall performance.
10
12
 
11
- ## 19.3.53 (2021-11-12)
13
+ ## 23.1.38 (2023-09-26)
14
+
15
+ ### Common
16
+
17
+ #### Bug Fixes
18
+
19
+ - `#I488912` - Resolved the `ngModel` data binding not working properly in Form Base.
20
+
21
+ ## 23.1.36 (2023-09-15)
22
+
23
+ ### Common
24
+
25
+ #### Bug Fixes
26
+
27
+ - `#I486549` - Provided `clearTemplates` support for `Accordion` Component.
28
+ - `#F45098`, `#I497414` - Resolved the `Complex Directives` property changes not being applied properly.
29
+ - `#I496453` - Resolved the `Template` binding not working properly in Form Base.
30
+ - `#I473932` - Resolved the `Angular Form` states not working properly for the `OnPush` strategy.
31
+
32
+ ## 22.1.34 (2023-06-21)
12
33
 
13
34
  ### Common
14
35
 
15
36
  #### New Features
16
37
 
17
- - Provided `tagDirective` support for third level tag element.
38
+ - Provided the TypeScript 5 compatible support for the Angular components.
18
39
 
19
- ## 19.3.47 (2021-10-26)
40
+ ## 21.1.41 (2023-04-18)
20
41
 
21
42
  ### Common
22
43
 
23
44
  #### Bug Fixes
24
45
 
25
- - `I341989` - Resolved `ng-template` not rendering in angular 7 production mode.
46
+ - `#I454892` - The issue with the `ng-template` not working properly has been resolved.
47
+ - `#I444984` - Resolved the script error while rendering Rich text editor component in the `NgbModel`.
26
48
 
27
- ## 19.3.45 (2021-10-12)
49
+ ## 21.1.38 (2023-04-04)
28
50
 
29
51
  ### Common
30
52
 
31
53
  #### Bug Fixes
32
54
 
33
- - `I335868` - Resolved resetting Form component not working.
34
- - `F27111` - Resolved non `ng-template` component flickering issue.
35
- - `I342098` - Resolved form component not destroyed properly.
55
+ - `#I444984` - Resolved Form base components `Set` and `Reset` not working properly.
56
+ - `#F180294` - Improved the component rendering delay in the `ngAfterViewInit` hook.
36
57
 
37
- ## 19.3.44 (2021-10-05)
58
+ ## 20.4.40 (2022-12-28)
38
59
 
39
60
  ### Common
40
61
 
41
62
  #### Bug Fixes
42
63
 
43
- - `I342446` - Increased `peerDependencies` version from `11.1.1` to `12.2.8`.
64
+ - `#I426526`, `#I421906` - The issue with the delay rendering of controls in the `ngAfterViewInit` hook has been resolved.
65
+
66
+ ## 20.4.38 (2022-12-21)
67
+
68
+ ### Common
69
+
70
+ #### New Features
71
+
72
+ - Provided the Angular version 15 compatible support for the Angular components.
73
+ - The new `Rating` component has been added to Angular.
74
+ - The `AppBar`, `Floating Action Button (FAB)`, `Mention`, `Message` and `Speed Dial` components have been developed to meet industry standards and are now marked production-ready.
75
+
76
+ #### Breaking Changes
77
+
78
+ - If you are using Syncfusion's Angular components without first registering a license, a license dialog will appear after a certain limit of usage, preventing further interaction in the application. Please make sure to register a valid license in order to continue using the Syncfusion Angular components without interruption.
79
+
80
+ ## 20.3.47 (2022-09-29)
81
+
82
+ ### Common
83
+
84
+ #### New Features
85
+
86
+ - Provided the schematic ng add support for Syncfusion Angular IVY packages.
87
+
88
+ #### Bug Fixes
89
+
90
+ - `#I358566` - The issue with the `ng-template` not working in the Karma unit test has been resolved.
91
+ - `#I392021` - The issue with the "Gantt header template image is not shown in the stack blitz sample" has been resolved.
92
+
93
+ ## 20.2.36 (2022-06-30)
94
+
95
+ ### Common
96
+
97
+ #### Breaking Changes
98
+
99
+ - From this release, Syncfusion provided the Ivy-compatible support for the Angular packages. Ivy Angular packages support Angular versions 12 and above. While using the latest Angular packages in the Angular 11 and below version application, components will not work. To provide the latest features and fixes for Angular versions 11 and below, Syncfusion will maintain the Angular packages tagged with `ngcc`. To install Angular packages that are compatible with `ngcc` for the Angular versions 11 and below application, run the `npm install @syncfusion/ej2-angular-grids@ngcc` command.
100
+
101
+ #### New Features
102
+
103
+ - Syncfusion components are now compatible with Angular 14 version.
104
+ - Provided the Ivy-compatible support for the Angular packages. Ivy Angular packages support Angular versions 12 and above.
105
+ - Provided the TypeScript 4.7 compatible support for the Angular components.
106
+ - Provided the option to register the license key by using the `npx` command. Follow these steps to register the license using the `npx` command:
107
+
108
+ | The `npx` command |
109
+ |---|
110
+ | Install the Syncfusion packages from `npm`. |
111
+ | Add the license key either in the environment variable `SYNCFUSION_LICENSE` or in the `syncfusion-license.txt` text file. |
112
+ | Run the command `npx syncfusion-license activate` to automatically register the license. |
44
113
 
45
114
  ## 19.1.56 (2021-04-13)
46
115
 
@@ -1,11 +1,2 @@
1
- /*!
2
- * filename: ej2-angular-base.umd.min.js
3
- * version : 19.3.55
4
- * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
- * Use of this code is subject to the terms of our license.
6
- * A copy of the current license can be obtained at any time by e-mailing
7
- * licensing@syncfusion.com. Any infringement will be prosecuted under
8
- * applicable laws.
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,i){"use strict";function n(e,t){t.forEach(function(t){Object.getOwnPropertyNames(t.prototype).forEach(function(i){e.prototype.hasOwnProperty(i)&&!t.isFormBase||(e.prototype[i]=t.prototype[i])})})}function s(e,t,n){var s={};if(e&&e.length){for(var r=0,a=e;r<a.length;r++){var o=a[r];!0===n?(t.propCollection[o]=new i.EventEmitter(!1),t[o]=t.propCollection[o]):s[o]=new i.EventEmitter(!1)}!0!==n&&t.setProperties(s,!0)}}function r(e,i,n){var s=Object.keys(e.registeredTemplate);if(s.length)for(var r=i&&i.filter(function(e){return!/\./g.test(e)}),a=0,o=r&&r||s;a<o.length;a++){var l=o[a];if(n&&n.length)for(var h=0;h<n.length;h++)for(var p=0;p<e.registeredTemplate.template.length;p++){if(e.registeredTemplate.template[p].rootNodes[0]===n[h]){(g=e.registeredTemplate[l])[p].destroy()}}else if(e.registeredTemplate[l])for(var c=0,u=e.registeredTemplate[l];c<u.length;c++){var g;if(!(g=u[c]).destroyed){if(g._view){var f=g._view.renderer.parentNode(g.rootNodes[0]);if(!t.isNullOrUndefined(f))for(p=0;p<g.rootNodes.length;p++)f.appendChild(g.rootNodes[p])}g.destroy()}}delete e.registeredTemplate[l]}for(var d=function(e){e.instance&&e.instance.clearTemplate(i&&i.filter(function(t){return!!new RegExp(e.name).test(t)}))},v=0,m=e.tagObjects;v<m.length;v++){d(m[v])}}function a(e,i){if("string"==typeof e)return u(e,i);var n=e.elementRef.nativeElement._viewContainerRef,s=e.elementRef.nativeElement.propName;return function(i,r,a){var o={$implicit:i},l=n||r.viewContainerRef,h=l.createEmbeddedView(e,o);h.markForCheck();var p=r&&r.registeredTemplate?r.registeredTemplate:t.getValue("currentInstance.registeredTemplate",l);return a=a&&r.registeredTemplate?a:s,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],s=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),this);s&&this.tagObjects.push({instance:s,name:n})}for(var r=Object.keys(this),a=0;a<r.length;a++){var o=t.getValue(r[a],this);"object"==typeof 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)}for(var l=0,h=r=(r=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)&&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,i=Object.keys(e);t<i.length;t++){var n=i[t],s=e[n];this.propCollection[n]=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 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]),s=0;s<n.length;s++)if(!t.isNullOrUndefined(this.propCollection[n[s]])){var r=t.getValue(n[s],this),a=this.propCollection[this.property][0][n[s]];t.isNullOrUndefined(r)||this.propCollection[n[s]]===r||a===r||(t.setValue(n[s],r,this.propCollection[this.property][0]),t.setValue(n[s],r,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 s=n[i].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}(),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,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),n=JSON.stringify(this.list[r].propCollection.dataSource)!==JSON.stringify(s[r].propCollection.dataSource));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 s=i.srenderer?i.srenderer.createElement(e):t.createElement(e);return void 0===n?s:(s.innerHTML=n.innerHTML?n.innerHTML:"",void 0!==n.className&&(s.className=n.className),void 0!==n.id&&(s.id=n.id),void 0!==n.styles&&s.setAttribute("style",n.styles),void 0!==i.ngAttr&&s.setAttribute(i.ngAttr,""),void 0!==n.attrs&&t.attributes(s,n.attrs),s)};for(var n=0,s=i.tags;n<s.length;n++){var r=s[n],a={instance:t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),i),name:r};i.tagObjects.push(a)}for(var o=Object.keys(i),l=0,h=o=o.filter(function(e){return/Ref$/i.test(e)&&/\_/i.test(e)});l<h.length;l++){var p=h[l].replace("Ref",""),c={};t.setValue(p.replace("_","."),t.getValue(p,i),c),i.setProperties(c,!0)}},e.prototype.getAngularAttr=function(e){for(var t,i=e.attributes,n=i.length,s=0;s<n;s++)/_ngcontent/g.test(i[s].name)&&(t=i[s].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");for(var n=Object.keys(i),s=0,r=n=n.filter(function(e){return/Ref$/i.test(e)});s<r.length;s++){var a=r[s].replace("Ref","");t.setValue(a.replace("_","."),t.getValue(a+"Ref",i),i)}setTimeout(function(){"undefined"!=typeof window&&document.body.contains(i.element)&&(i.appendTo(i.element),i.ngEle.nativeElement.style.visibility="")})},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),t.ngBoundedEvents={},t.tagObjects={},t.ngEle=null)})},e.prototype.clearTemplate=function(e,t){r(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var i=e||this,n=0,s=i.tagObjects;n<s.length;n++){var r=s[n];if(!t.isUndefined(r.instance)&&(r.instance.isInitChanges||r.instance.hasChanges||r.instance.hasNewChildren))if(r.instance.isInitChanges){var a={},o=void 0;(O=t.getValue("instance.list",r))&&O.length&&(o=O[0].directivePropList);var l=!0;if(i.getModuleName&&"gantt"===i.getModuleName()&&(l=!1),o&&l&&-1===o.indexOf(r.instance.propertyName))for(var h=Object.keys(r.instance.list[0].propCollection),p=0;p<r.instance.list.length;p++){r.instance.list[p].propCollection[r.instance.propertyName]=[];for(var c={},u=0;u<h.length;u++){c[P=h[u]]=r.instance.list[p].propCollection[P]}for(var g=0;g<r.instance.list[p].tags.length;g++){var f=r.instance.list[p].tags[g],d=t.getValue("child"+f.substring(0,1).toUpperCase()+f.substring(1),r.instance.list[p]);if(d){var v=r.instance.list[p]["child"+f.substring(0,1).toUpperCase()+f.substring(1)];if(v)for(var m=0;m<v.list.length;m++){var y=v.list[0].tags[0];if(y){var C=t.getValue("child"+y.substring(0,1).toUpperCase()+y.substring(1),v.list[m]);C&&v.list[m].tagObjects.push({instance:C,name:y})}}r.instance.list[p].tagObjects.push({instance:d,name:f})}}r.instance.list[p].propCollection[r.instance.propertyName].push(c)}a[r.name]=r.instance.getProperties(),i.setProperties(a,r.instance.isInitChanges)}else{i[r.name].length===r.instance.list.length&&"diagram"!==i.getModuleName()||(i[r.name]=r.instance.list);for(var b=0,V=r.instance.list;b<V.length;b++){var O=V[b],E=r.instance.list.indexOf(O),T=t.getValue(r.name,i)[E],j=Object.keys(T);if(j=j.filter(function(e){return/Ref$/i.test(e)}),T.properties&&0!==Object.keys(T.properties).length&&/chart/.test(i.getModuleName()))for(var N=0,w=j;N<w.length;N++){var P;P=(P=w[N]).replace(/Ref/,""),T.properties[P]=T.properties[P]?T.properties[P]:T.propCollection[P]}t.isUndefined(T)||t.isUndefined(T.setProperties)||(/diagram|DashboardLayout/.test(i.getModuleName())?T.setProperties(O.getProperties(),!0):T.setProperties(O.getProperties())),O.isUpdated=!0}}}},e.prototype.registerEvents=function(e){s(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,s=function(e){t.getValue(e,r),Object.defineProperty(r,e,{get:function(){return t.getValue(e,n.properties)},set:function(t){return n.twoWaySetter(t,e)}}),t.setValue(e+"Change",new i.EventEmitter,r)},r=this,a=0,o=e;a<o.length;a++){s(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 s=t.getValue(e,this),r=this.isProtectedOnChange;this.isProtectedOnChange=!1,i&&(i.name=e),t.isUndefined(s)||s.next(i);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,i),this.isProtectedOnChange=r,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}},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),s=this.inputElement||this.element;(!s||n!==e||this.value!==e||void 0!==s.value&&""!==s.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},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}(),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=s,e.clearTemplate=r,e.setValue=function(e,t,i){for(var n=e.replace(/\[/g,".").replace(/\]/g,"").split("."),s=i||{},r=0;r<n.length;r++){var a=n[r];r+1===n.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(i,n){var s={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,s)}},Object.defineProperty(e,"__esModule",{value:!0})});
1
+ !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 r(e,t,i){var r={};if(e&&e.length){for(var s=0,a=e;s<a.length;s++){var o=a[s];!0===i?(t.propCollection[o]=new n.EventEmitter(!1),t[o]=t.propCollection[o]):r[o]=new n.EventEmitter(!1)}!0!==i&&t.setProperties(r,!0)}}function s(e,n,i){var r=Object.keys(e.registeredTemplate);if(r.length)for(var s=n&&n.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(i&&i.length)for(var p=0;p<i.length;p++)if(a)for(var c=0;c<e.registeredTemplate[h].length;c++){(u=e.registeredTemplate[h][c])&&u===i[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])===i[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&&i||delete e.registeredTemplate[h]}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 u(e,n);var i=e.elementRef.nativeElement._viewContainerRef,r=e.elementRef.nativeElement.propName;return function(n,s,a){var o={$implicit:n},l=i||s.viewContainerRef,h=l.createEmbeddedView(e,o);"EJS-MENTION"===t.getValue("currentInstance.element.nodeName",l)?h.detectChanges():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,n=this.tags;e<n.length;e++){var i=n[e],r=t.getValue("child"+i.substring(0,1).toUpperCase()+i.substring(1),this);r&&this.tagObjects.push({instance:r,name:i})}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,n=Object.keys(e);t<n.length;t++){var i=n[t],r=e[i];this.propCollection[i]=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 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]),r=0;r<i.length;r++)if(!t.isNullOrUndefined(this.propCollection[i[r]])){var s=t.getValue(i[r],this),a=this.propCollection[this.property][0][i[r]];t.isNullOrUndefined(s)||this.propCollection[i[r]]===s||a===s||(t.setValue(i[r],s,this.propCollection[this.property][0]),t.setValue(i[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),n=0,i=e=e.filter(function(e){return o.test(e)});n<i.length;n++){var r=i[n].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(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,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),"series"!==this.list[s].property&&(i=JSON.stringify(this.list[s].propCollection.dataSource)!==JSON.stringify(r[s].propCollection.dataSource))),i=this.list[s].hasChanges!==r[s].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}(),p=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 r=n.srenderer?n.srenderer.createElement(e):t.createElement(e);return void 0===i?r:(r.innerHTML=i.innerHTML?i.innerHTML:"",void 0!==i.className&&(r.className=i.className),void 0!==i.id&&(r.id=i.id),void 0!==i.styles&&r.setAttribute("style",i.styles),void 0!==n.ngAttr&&r.setAttribute(n.ngAttr,""),void 0!==i.attrs&&t.attributes(r,i.attrs),r)};for(var i=0,r=n.tags;i<r.length;i++){var s=r[i],a={instance:t.getValue("child"+s.substring(0,1).toUpperCase()+s.substring(1),n),name:s};n.tagObjects.push(a)}for(var o=Object.keys(n),l=0;l<o.length;l++){var h=t.getValue(o[l],n);"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,n),!n.viewContainerRef||t.getValue("_viewContainerRef",h.elementRef.nativeElement)||t.getValue("propName",h.elementRef.nativeElement)||(t.setValue("_viewContainerRef",n.viewContainerRef,h.elementRef.nativeElement),t.setValue("propName",o[l].replace("Ref",""),h.elementRef.nativeElement)))}for(var p=0,c=o=(o=Object.keys(n)).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,n),g),n.setProperties(g,!0)}},e.prototype.getAngularAttr=function(e){for(var t,n=e.attributes,i=n.length,r=0;r<i;r++)/_ngcontent/g.test(n[r].name)&&(t=n[r].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 r="DocumentEditor"===n.getModuleName(),s=0,a=i;s<a.length;s++){var o=a[s].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="")};r?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],r=t[i];if(r&&/object/.test(typeof r)&&0!==Object.keys(r).length)if(/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(i))for(var s=0,a=Object.keys(t[i]);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[i][o]=null)}else(r.parent||r.parentObj)&&(t[i]=null)}}))})},e.prototype.clearTemplate=function(e,t){s(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var n=e||this,i=0,r=n.tagObjects;i<r.length;i++){var s=r[i];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(n.getModuleName&&"gantt"===n.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 n=s.instance.list[p].tags[e],i=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),s.instance.list[p]);if(i){var r=s.instance.list[p]["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 r=e.list[0].tags[0];if(r){var s=t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),e.list[i]);s&&(e.list[i].tagObjects.push({instance:s,name:r}),n.push(s))}}if(0!==n.length)for(var o=0;o<n.length;o++)a(n[o])};a(r),s.instance.list[p].tagObjects.push({instance:i,name:n})}},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(),n.setProperties(a,s.instance.isInitChanges)}else{(n[s.name].length!==s.instance.list.length||/diagram|DashboardLayout/.test(n.getModuleName()))&&(n[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,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){r(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,r=function(e){t.getValue(e,s),Object.defineProperty(s,e,{get:function(){return t.getValue(e,i.properties)},set:function(t){return i.twoWaySetter(t,e)}}),t.setValue(e+"Change",new n.EventEmitter,s)},s=this,a=0,o=e;a<o.length;a++){r(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 r=t.getValue(e,this),s=this.isProtectedOnChange;this.isProtectedOnChange=!1,n&&(n.name=e),t.isUndefined(r)||r.next(n);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,n),this.isProtectedOnChange=s,i&&(this.preventChange=this.isPreventChange,i.call(this,n)),this.isPreventChange=!1},e}(),c=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}this.cdr.markForCheck()},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),r=this.inputElement||this.element;(!r||i!==e||this.value!==e||void 0!==r.value&&""!==r.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.getModuleName().includes("dropdown")?setTimeout(function(){t.appendTo(t.element)}):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,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=i,e.ComponentMixins=function(e){return function(t){i(t,e)}},e.registerEvents=r,e.clearTemplate=s,e.setValue=function(e,t,n){for(var i=e.replace(/\[/g,".").replace(/\]/g,"").split("."),r=n||{},s=0;s<i.length;s++){var a=i[s];s+1===i.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(n,i){var r={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,r)}},Object.defineProperty(e,"__esModule",{value:!0})});
11
2
  //# sourceMappingURL=ej2-angular-base.umd.min.js.map