@syncfusion/ej2-angular-base 25.2.4 → 26.1.35
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.
- package/.eslintrc.json +261 -0
- package/dist/ej2-angular-base.umd.min.js +2 -2
- package/dist/ej2-angular-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-angular-base.es2015.js +234 -214
- package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
- package/dist/es6/ej2-angular-base.es5.js +158 -138
- package/dist/es6/ej2-angular-base.es5.js.map +1 -1
- package/dist/global/ej2-angular-base.min.js +2 -2
- package/dist/global/ej2-angular-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +24 -9
- package/schematics/generators/component-builder.d.ts +3 -0
- package/schematics/generators/component-builder.js +23 -22
- package/schematics/generators/index.js +1 -0
- package/schematics/index.d.ts +0 -4
- package/schematics/index.js +21 -9
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +14 -12
- package/schematics/ng-add/theme.d.ts +3 -0
- package/schematics/ng-add/theme.js +10 -8
- package/schematics/utils/ast.d.ts +3 -2
- package/schematics/utils/ast.js +8 -8
- package/schematics/utils/get-project.d.ts +4 -2
- package/schematics/utils/get-project.js +3 -2
- package/schematics/utils/helpers/helpers.js +19 -18
- package/schematics/utils/package.js +1 -0
- package/schematics/utils/project-style-file.d.ts +5 -3
- package/schematics/utils/project-style-file.js +4 -3
- package/src/complex-array-base.d.ts +1 -0
- package/src/complex-array-base.js +31 -28
- package/src/component-base.d.ts +1 -0
- package/src/component-base.js +39 -53
- package/src/form-base.d.ts +3 -3
- package/src/form-base.js +0 -4
- package/src/template.d.ts +8 -1
- package/src/template.js +23 -5
- package/src/util.d.ts +26 -3
- package/src/util.js +51 -28
- package/styles/fluent2.css +1033 -0
- package/styles/fluent2.scss +1 -0
- package/styles/material3-dark.css +1 -1
- package/styles/material3.css +1 -1
- package/tslint.json +111 -0
- package/CHANGELOG.md +0 -702
|
@@ -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 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 if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) || /E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\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 if (this.list[i].property !== \"series\") {\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\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 var propObj = {};\n if (tagObject.instance.isInitChanges) {\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 var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout|chart/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\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 if (/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\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 if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\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","getValue","detectChanges","markForCheck","viewCollection","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","hasDiffLength","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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"}
|
|
1
|
+
{"version":3,"file":"ej2-angular-base.umd.min.js","sources":["../src/util.js","../src/complex-array-base.js","../src/component-base.js","../src/form-base.js","../src/template.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\nimport { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n *\n * @param {Function} derivedClass The derived class to which mixins are applied.\n * @param {Function[]} baseClass An array of base classes whose methods are applied as mixins.\n * @returns {void}\n */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!Object.prototype.hasOwnProperty.call(derivedClass.prototype, name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[\"\".concat(name)] = baseClass.prototype[\"\".concat(name)];\n }\n });\n });\n}\n/**\n * Decorator function to apply mixins to a derived class.\n *\n * @param {Function[]} baseClass - An array of mixin classes to be applied to the derived class.\n * @returns {ClassDecorator} The decorator function.\n */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * Registers events.\n *\n * @private\n * @param {string[]} eventList - The list of events to register.\n * @param {any} obj - The object on which to register the events.\n * @param {boolean} [direct] - Whether to register events directly on the object or not.\n * @returns {void}\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[\"\".concat(event_1)] = new EventEmitter(false);\n obj[\"\".concat(event_1)] = obj.propCollection[\"\".concat(event_1)];\n }\n else {\n ngEventsEmitter[\"\".concat(event_1)] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * Clears registered templates.\n *\n * @private\n * @param {any} _this - The context object.\n * @param {string[]} [templateNames] - Optional. An array of template names to clear.\n * @param {any[]} [index] - Optional. An array of indices specifying templates to clear.\n * @returns {void}\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[\"\".concat(registeredTemplate)].length; m++) {\n var value = _this.registeredTemplate[\"\".concat(registeredTemplate)][parseInt(m.toString(), 10)];\n if (value && value === index[\"\".concat(e)]) {\n value.destroy();\n _this.registeredTemplate[\"\".concat(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[parseInt(m.toString(), 10)].rootNodes[0];\n if (value === index[\"\".concat(e)]) {\n var rt = _this.registeredTemplate[\"\".concat(registeredTemplate)];\n rt[parseInt(m.toString(), 10)].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[\"\".concat(registeredTemplate)]) {\n for (var _b = 0, _c = _this.registeredTemplate[\"\".concat(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[parseInt(m.toString(), 10)]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[\"\".concat(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 var regExp = RegExp;\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 *\n * @param {string} nameSpace - String value to get the inner object.\n * @param {any} value - Value that you need to set.\n * @param {any} object - Object to get the inner object value.\n * @returns {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[parseInt(i.toString(), 10)];\n if (i + 1 === keys.length) {\n fromObj[\"\".concat(key)] = value === undefined ? {} : value;\n }\n else if (fromObj[\"\".concat(key)] === undefined) {\n fromObj[\"\".concat(key)] = {};\n }\n fromObj = fromObj[\"\".concat(key)];\n }\n return fromObj;\n}\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[parseInt(i.toString(), 10)], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', this)) {\n setValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + '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[parseInt(i.toString(), 10)].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[parseInt(k.toString(), 10)];\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[\"\".concat(propName)];\n this.propCollection[\"\".concat(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[parseInt(d.toString(), 10)]])) {\n var val = getValue(props[parseInt(d.toString(), 10)], this);\n var propVal = this.propCollection[this.property][0][props[parseInt(d.toString(), 10)]];\n if (!isNullOrUndefined(val) && this.propCollection[props[parseInt(d.toString(), 10)]] !== val\n && propVal !== val) {\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection[this.property][0]);\n setValue(props[parseInt(d.toString(), 10)], 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 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[parseInt(i.toString(), 10)].propCollection.dataSource) {\n if (this.list[parseInt(i.toString(), 10)].dataSource &&\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource\n !== this.list[parseInt(i.toString(), 10)].dataSource) {\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource = this.list[parseInt(i.toString(), 10)].dataSource;\n this.list[parseInt(i.toString(), 10)].hasChanges = true;\n }\n if (this.list[parseInt(i.toString(), 10)].property !== 'series') {\n isSourceChanged = (JSON.stringify(this.list[parseInt(i.toString(), 10)].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[parseInt(i.toString(), 10)].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[parseInt(i.toString(), 10)].hasChanges\n !== childrenDataSource[parseInt(i.toString(), 10)].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 var regExp = RegExp;\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[parseInt(i.toString(), 10)]) && getValue('property', this.list[parseInt(i.toString(), 10)]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[parseInt(i.toString(), 10)]).getProperties(), this.list[parseInt(i.toString(), 10)].propCollection);\n }\n this.list[parseInt(i.toString(), 10)].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","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\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 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[\"\".concat(key)] = oldValue;\n this.changedProperties[\"\".concat(key)] = newValue;\n this.finalUpdate();\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\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 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[parseInt(i.toString(), 10)], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[parseInt(i.toString(), 10)].indexOf('_') !== -1 && complexTemplates[parseInt(i.toString(), 10)].indexOf('Ref') === -1) {\n setValue(complexTemplates[parseInt(i.toString(), 10)] + '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[parseInt(i.toString(), 10)].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[parseInt(i.toString(), 10)].name)) {\n ngAr = attributes[parseInt(i.toString(), 10)].name;\n }\n }\n return ngAr;\n };\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\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 ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\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[\"\".concat(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[\"\".concat(key)]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[\"\".concat(propKey)];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[\"\".concat(key)][\"\".concat(propKey)] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[\"\".concat(key)] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\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 var propObj = {};\n if (tagObject.instance.isInitChanges) {\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[\"\".concat(h)].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[parseInt(k.toString(), 10)];\n obj[\"\".concat(complexPropName)] = tagObject.instance.list[\"\".concat(h)].propCollection[\"\".concat(complexPropName)];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[\"\".concat(h)].tags[parseInt(i.toString(), 10)];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[\"\".concat(h)]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[\"\".concat(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[parseInt(j.toString(), 10)]);\n if (innerchildTag) {\n innerchild.list[parseInt(j.toString(), 10)].tagObjects\n .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[parseInt(l.toString(), 10)]);\n }\n }\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[\"\".concat(h)].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[\"\".concat(h)].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[\"\".concat(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 var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\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)[\"\".concat(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[\"\".concat(complexPropName)] = !curChild.properties[\"\".concat(complexPropName)] ?\n curChild.propCollection[\"\".concat(complexPropName)] : curChild.properties[\"\".concat(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 if ((/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) || /chart/.test(tempAfterContentThis.getModuleName())) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\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[\"\".concat(eventName)]) {\n this.ngBoundedEvents[\"\".concat(eventName)] = new Map();\n }\n this.ngBoundedEvents[\"\".concat(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[\"\".concat(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 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 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 FormBase.prototype.ngAfterViewInit = function (isTempRef) {\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 if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\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","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n *\n * @param {AngularElementType} templateEle - The element representing the template.\n * @param {Object} [helper] - Optional helper object.\n * @returns {Function} A function that compiles the template.\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 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 if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) || /E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\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[\"\".concat(propName)] === 'undefined') {\n viewCollection[\"\".concat(propName)] = [];\n }\n viewCollection[\"\".concat(propName)].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n *\n * @param {Object} [defaultValue] - Default value for the property.\n * @returns {PropertyDecorator} The decorator function.\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}\n/**\n * Creates a setter function for a given property key.\n *\n * @param {string} key - The property key.\n * @returns {Function} The setter function.\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}\n/**\n * Returns a getter function for the specified key and default value.\n *\n * @param {string} key - The key for the property.\n * @param {Object} defaultValue - The default value for the property.\n * @returns {Function} The getter function.\n */\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\nsetTemplateEngine({ compile: compile });\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","call","isFormBase","concat","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","parseInt","toString","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","_loop_1","tagObject","instance","RegExp","refRegex","ComplexBase","ngOnInit","this","tags","tag","objInstance","getValue","substring","toUpperCase","push","templateProperties","i","tempProp","elementRef","indexOf","setValue","nativeElement","replace","templateProperties_1","propName","propList","directivePropList","k","dirPropName","hasChanges","isInitChanges","ngOnChanges","changes","changedVal","currentValue","isUpdated","getProperties","isChanged","result","property","propVal","tempProps","props","d","item","ngAfterContentChecked","templateProperties_2","ngAfterViewChecked","ngAfterViewInit","ngOnDestroy","dataSource","ArrayBase","ngAfterContentInit","list","children","map","child","dirIndex","propertyName","onlyProp","isSourceChanged","childrenDataSource","JSON","stringify","hasNewChildren","ComponentBase","saveChanges","key","newValue","oldValue","changeTime","isProtectedOnChange","oldProperties","changedProperties","finalUpdate","setTimeout","dataBind","bind","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","isFormInit","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","undefined","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","viewContainerRef","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","innerchildObj","updateChildTag_1","childObj","innerchild","innerLevelTag","j","innerchildTag","innerTag","l","hasDiffLength","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","_loop_2","defineProperty","get","set","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","localEventObj","next","charAt","slice","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","cdr","markForCheck","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","skipFromEvent","focus","blur","stringCompiler","getTemplateEngine","compile","templateEle","helper","contRef_1","pName_1","CSPTemplate","_viewContainerRef","data","component","conRef","viewRef","createEmbeddedView","$implicit","viewCollection","detectChanges","defaultValue","target","propertyDescriptor","enumerable","configurable","nameSpace","object","split","fromObj"],"mappings":"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"}
|