@syncfusion/ej2-angular-base 20.4.53 → 21.1.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-angular-base.min.js","sources":["../../src/util.js","../../src/template.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabTemp = _this.getModuleName() === 'tab';\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string') {\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 (getValue('currentInstance.element.nodeName', conRef) === 'EJS-MENTION') {\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 isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n 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 setTimeout(function () {\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 };\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 for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n if (tempOnDestroyThis[key] && /object/.test(typeof tempOnDestroyThis[key]) && Object.keys(tempOnDestroyThis[key]).length !== 0) {\n if (/properties|changedProperties|childChangedProperties/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propkey = _c[_b];\n if (tempOnDestroyThis[key][propkey] && /object/.test(typeof tempOnDestroyThis[key][propkey]) && Object.keys(tempOnDestroyThis[key][propkey]).length !== 0) {\n tempOnDestroyThis[key][propkey] = null;\n }\n }\n }\n else {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n for (var i = 0; i < tagObject.instance.list[h].tags.length; 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 if (innerchildObj) {\n for (var j = 0; j < innerchildObj.list.length; j++) {\n var innerTag = innerchildObj.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchildObj.list[j]);\n if (innerchildTag) {\n innerchildObj.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n }\n }\n }\n }\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|tab|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_1 = 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_1(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","compile","templateEle","helper","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","getValue","detectChanges","markForCheck","viewCollection","push","Template","defaultValue","target","propertyDescriptor","set","setter","get","getter","enumerable","configurable","defineProperty","this","saveChanges","dataBind","refRegex","ComplexBase","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","tempProp","indexOf","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","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","bind","clearUpdate","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","window","includes","appendTo","tempOnDestroyThis","classList","contains","propkey","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","j","innerTag","innerchildTag","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-angular-base.min.js","sources":["../../src/util.js","../../src/template.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[event_1] = new EventEmitter(false);\n obj[event_1] = obj.propCollection[event_1];\n }\n else {\n ngEventsEmitter[event_1] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabTemp = _this.getModuleName() === 'tab';\n for (var _i = 0, _a = (regProperties && regProperties || regTemplates); _i < _a.length; _i++) {\n var registeredTemplate = _a[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabTemp) {\n for (var m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n var value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n var rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (var _b = 0, _c = _this.registeredTemplate[registeredTemplate]; _b < _c.length; _b++) {\n var rt = _c[_b];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _d = 0, _e = _this.tagObjects; _d < _e.length; _d++) {\n var tagObject = _e[_d];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string') {\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 (getValue('currentInstance.element.nodeName', conRef) === 'EJS-MENTION') {\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 isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n return new RegExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar SVG_REG = /^svg|^path|^g/;\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n //tslint:disable-next-line\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue(\"_viewContainerRef\", compProp.elementRef.nativeElement) && !getValue(\"propName\", compProp.elementRef.nativeElement)) {\n setValue(\"_viewContainerRef\", tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue(\"propName\", complexTemplates[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n 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 setTimeout(function () {\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 };\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 for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n if (tempOnDestroyThis[key] && /object/.test(typeof tempOnDestroyThis[key]) && Object.keys(tempOnDestroyThis[key]).length !== 0) {\n if (/properties|changedProperties|childChangedProperties/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[key]); _b < _c.length; _b++) {\n var propkey = _c[_b];\n if (tempOnDestroyThis[key][propkey] && /object/.test(typeof tempOnDestroyThis[key][propkey]) && Object.keys(tempOnDestroyThis[key][propkey]).length !== 0) {\n tempOnDestroyThis[key][propkey] = null;\n }\n }\n }\n else {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n };\n //tslint:disable-next-line\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ;\n // tslint:disable-next-line:no-any\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n if (tagObject.instance.isInitChanges) {\n var propObj = {};\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[h].tags[i];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|tab|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _d = 0, complexTemplates_2 = complexTemplates; _d < complexTemplates_2.length; _d++) {\n var complexPropName = complexTemplates_2[_d];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[complexPropName];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n //tslint:disable-next-line\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n //tslint:disable-next-line\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n // tslint:disable-next-line:no-any\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n // tslint:disable-next-line:no-any\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n if (value === null) {\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n"],"names":["applyMixins","derivedClass","baseClass","forEach","Object","getOwnPropertyNames","prototype","name","hasOwnProperty","isFormBase","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabTemp","getModuleName","_a","e","m","value","destroy","splice","template","rootNodes","rt","_b","_c","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_d","_e","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","compile","templateEle","helper","stringCompiler","contRef_1","elementRef","nativeElement","_viewContainerRef","pName_1","propName","data","component","context","$implicit","conRef","viewContainerRef","viewRef","createEmbeddedView","getValue","detectChanges","markForCheck","viewCollection","push","Template","defaultValue","target","propertyDescriptor","set","setter","get","getter","enumerable","configurable","defineProperty","this","saveChanges","dataBind","refRegex","ComplexBase","hasChanges","dataSource","tags","ngOnInit","tag","objInstance","substring","toUpperCase","templateProperties","tempProp","indexOf","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","newValue","oldValue","oldProperties","changedProperties","finalUpdate","changeTime","setTimeout","bind","clearUpdate","clearTimeout","isTempRef","tempOnThis","ngBoundedEvents","isAngular","complexTemplate","ngAttr","getAngularAttr","element","createElement","tagName","prop","ele","srenderer","innerHTML","className","id","styles","setAttribute","attrs","attributes","complexTemplates","compProp","complexTemplates_1","ngAr","tempAfterViewThis","ngEle","outerHTML","style","visibility","window","includes","appendTo","tempOnDestroyThis","classList","contains","propkey","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","removeEventListener","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","call","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","registerOnChange","registerFunction","registerOnTouched","inputElement","tempFormAfterViewThis","ngOnFocus","ngOnBlur","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine","setTemplateEngine"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.4.53
3
+ * version : 21.1.37
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-angular-base@*",
3
- "_id": "@syncfusion/ej2-angular-base@20.4.52",
3
+ "_id": "@syncfusion/ej2-angular-base@21.1.35",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-oE6tVbofXwkrx+wix7U9R8prMybMZkCToRzp0HNkly7sgk/3FBQai+EdgstFZujS+KirEeOHSClxsHTWy10YwQ==",
5
+ "_integrity": "sha512-OHmWUyTNleg1jn6mLbH5yHBjLt5yQwKdHIqxNfomaCpvD1Fj6MHtCEmHdj2tXdDxO/fiNxUJhEPX9nrrvKRkHA==",
6
6
  "_location": "/@syncfusion/ej2-angular-base",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -18,26 +18,45 @@
18
18
  },
19
19
  "_requiredBy": [
20
20
  "/",
21
+ "/@syncfusion/ej2-angular-barcode-generator",
21
22
  "/@syncfusion/ej2-angular-buttons",
23
+ "/@syncfusion/ej2-angular-calendars",
22
24
  "/@syncfusion/ej2-angular-charts",
25
+ "/@syncfusion/ej2-angular-circulargauge",
23
26
  "/@syncfusion/ej2-angular-diagrams",
24
27
  "/@syncfusion/ej2-angular-documenteditor",
25
28
  "/@syncfusion/ej2-angular-dropdowns",
26
29
  "/@syncfusion/ej2-angular-filemanager",
27
30
  "/@syncfusion/ej2-angular-gantt",
28
31
  "/@syncfusion/ej2-angular-grids",
32
+ "/@syncfusion/ej2-angular-heatmap",
33
+ "/@syncfusion/ej2-angular-image-editor",
34
+ "/@syncfusion/ej2-angular-inplace-editor",
35
+ "/@syncfusion/ej2-angular-inputs",
36
+ "/@syncfusion/ej2-angular-kanban",
29
37
  "/@syncfusion/ej2-angular-layouts",
38
+ "/@syncfusion/ej2-angular-lineargauge",
39
+ "/@syncfusion/ej2-angular-lists",
40
+ "/@syncfusion/ej2-angular-maps",
30
41
  "/@syncfusion/ej2-angular-navigations",
42
+ "/@syncfusion/ej2-angular-notifications",
31
43
  "/@syncfusion/ej2-angular-pdfviewer",
44
+ "/@syncfusion/ej2-angular-pivotview",
32
45
  "/@syncfusion/ej2-angular-popups",
46
+ "/@syncfusion/ej2-angular-progressbar",
47
+ "/@syncfusion/ej2-angular-querybuilder",
48
+ "/@syncfusion/ej2-angular-ribbon",
33
49
  "/@syncfusion/ej2-angular-richtexteditor",
34
50
  "/@syncfusion/ej2-angular-schedule",
35
- "/@syncfusion/ej2-angular-spreadsheet"
51
+ "/@syncfusion/ej2-angular-splitbuttons",
52
+ "/@syncfusion/ej2-angular-spreadsheet",
53
+ "/@syncfusion/ej2-angular-treegrid",
54
+ "/@syncfusion/ej2-angular-treemap"
36
55
  ],
37
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-angular-base/-/ej2-angular-base-20.4.52.tgz",
38
- "_shasum": "55b2d04b4d5190f04da0315148539a0872e567cf",
56
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-angular-base/-/ej2-angular-base-21.1.35.tgz",
57
+ "_shasum": "30f5e3b69e85bdc8f8177e0ad590b0068a11535e",
39
58
  "_spec": "@syncfusion/ej2-angular-base@*",
40
- "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
59
+ "_where": "/jenkins/workspace/elease-automation_release_21.1.1/packages/included",
41
60
  "author": {
42
61
  "name": "Syncfusion Inc."
43
62
  },
@@ -46,8 +65,8 @@
46
65
  },
47
66
  "bundleDependencies": false,
48
67
  "dependencies": {
49
- "@syncfusion/ej2-base": "~20.4.51",
50
- "@syncfusion/ej2-icons": "~20.4.48",
68
+ "@syncfusion/ej2-base": "~21.1.37",
69
+ "@syncfusion/ej2-icons": "~21.1.37",
51
70
  "core-js": "^3.4.8",
52
71
  "reflect-metadata": "^0.1.9",
53
72
  "rxjs": "^6.5.4",
@@ -79,6 +98,6 @@
79
98
  "postinstall": "node ./postinstall.js"
80
99
  },
81
100
  "typings": "index.d.ts",
82
- "version": "20.4.53",
101
+ "version": "21.1.37",
83
102
  "sideEffects": true
84
103
  }
@@ -217,24 +217,40 @@ var ComponentBase = /** @class */ (function () {
217
217
  var complexPropName = compDirPropList[k];
218
218
  obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];
219
219
  }
220
- for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {
220
+ var _loop_1 = function (i) {
221
221
  var tag = tagObject.instance.list[h].tags[i];
222
222
  var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);
223
223
  if (childObj) {
224
224
  var innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];
225
- if (innerchildObj) {
226
- for (var j = 0; j < innerchildObj.list.length; j++) {
227
- var innerTag = innerchildObj.list[0].tags[0];
228
- if (innerTag) {
229
- var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchildObj.list[j]);
230
- if (innerchildTag) {
231
- innerchildObj.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });
225
+ // Update the inner child tag objects
226
+ var updateChildTag_1 = function (innerchild) {
227
+ var innerLevelTag = [];
228
+ if (innerchild) {
229
+ for (var j = 0; j < innerchild.list.length; j++) {
230
+ var innerTag = innerchild.list[0].tags[0];
231
+ if (innerTag) {
232
+ var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);
233
+ if (innerchildTag) {
234
+ innerchild.list[j].tagObjects.push({ instance: innerchildTag, name: innerTag });
235
+ innerLevelTag.push(innerchildTag);
236
+ }
232
237
  }
233
238
  }
234
239
  }
235
- }
240
+ // check for inner level tag
241
+ if (innerLevelTag.length !== 0) {
242
+ for (var l = 0; l < innerLevelTag.length; l++) {
243
+ updateChildTag_1(innerLevelTag[l]);
244
+ }
245
+ }
246
+ ;
247
+ };
248
+ updateChildTag_1(innerchildObj);
236
249
  tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });
237
250
  }
251
+ };
252
+ for (var i = 0; i < tagObject.instance.list[h].tags.length; i++) {
253
+ _loop_1(i);
238
254
  }
239
255
  tagObject.instance.list[h].propCollection[tagObject.instance.propertyName].push(obj);
240
256
  }
@@ -292,7 +308,7 @@ var ComponentBase = /** @class */ (function () {
292
308
  };
293
309
  ComponentBase.prototype.addTwoWay = function (propList) {
294
310
  var _this = this;
295
- var _loop_1 = function (prop) {
311
+ var _loop_2 = function (prop) {
296
312
  getValue(prop, this_1);
297
313
  Object.defineProperty(this_1, prop, {
298
314
  get: function () {
@@ -305,7 +321,7 @@ var ComponentBase = /** @class */ (function () {
305
321
  var this_1 = this;
306
322
  for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {
307
323
  var prop = propList_1[_i];
308
- _loop_1(prop);
324
+ _loop_2(prop);
309
325
  }
310
326
  };
311
327
  ComponentBase.prototype.addEventListener = function (eventName, handler) {