@syncfusion/ej2-angular-base 30.1.37 → 30.2.4

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":["/* 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 _a;\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((_a = _this.getModuleName) === null || _a === void 0 ? void 0 : _a.call(_this));\n for (var _i = 0, _b = (regProperties && regProperties || regTemplates); _i < _b.length; _i++) {\n var registeredTemplate = _b[_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 _c = 0, _d = _this.registeredTemplate[\"\".concat(registeredTemplate)]; _c < _d.length; _c++) {\n var rt = _d[_c];\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 _e = 0, _f = _this.tagObjects; _e < _f.length; _e++) {\n var tagObject = _f[_e];\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 { 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)) ||\n (/E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef)) &&\n getValue('currentInstance.headerTemplateRef', 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","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) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef && !tempAfterViewThis.getModuleName().includes('btn')) {\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 if (tempOnDestroyThis.ngOnFocus !== undefined && tempOnDestroyThis.ngOnBlur !== undefined) {\n var ele = tempOnDestroyThis.inputElement || tempOnDestroyThis.element;\n ele.removeEventListener('focus', tempOnDestroyThis.ngOnFocusBound);\n ele.removeEventListener('blur', tempOnDestroyThis.ngOnBlurBound);\n tempOnDestroyThis.ngOnFocusBound = null;\n tempOnDestroyThis.ngOnBlurBound = null;\n }\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 if (list.tags) {\n for (var _d = 0, _e = list.tags; _d < _e.length; _d++) {\n var tag = _e[_d];\n var innerChild = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), list);\n if (innerChild) {\n list.tagObjects.push({ instance: innerChild, name: tag });\n }\n }\n }\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 _f = 0, complexTemplates_2 = complexTemplates; _f < complexTemplates_2.length; _f++) {\n var complexPropName = complexTemplates_2[_f];\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 tempFormAfterViewThis.ngOnBlurBound = this.ngOnBlur.bind(this);\n tempFormAfterViewThis.ngOnFocusBound = this.ngOnFocus.bind(this);\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.ngOnFocusBound);\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlurBound);\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 this.preventChange = false;\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","call","isFormBase","concat","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","_a","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabaccordionTemp","getModuleName","_b","e","m","value","parseInt","toString","destroy","splice","template","rootNodes","rt","_c","_d","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_e","_f","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","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","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","ngtempRef","appendToComponent","window","appendTo","includes","tempOnDestroyThis","classList","contains","ngOnFocus","ngOnBlur","inputElement","removeEventListener","ngOnFocusBound","ngOnBlurBound","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","hasDiffLength","innerChild","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","cdr","registerOnChange","registerFunction","registerOnTouched","tempFormAfterViewThis","setDisabledState","disabled","enabled","writeValue","regExp","skipFromEvent","focus","blur","getTemplateEngine"],"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":["/* 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 _a;\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((_a = _this.getModuleName) === null || _a === void 0 ? void 0 : _a.call(_this));\n for (var _i = 0, _b = (regProperties && regProperties || regTemplates); _i < _b.length; _i++) {\n var registeredTemplate = _b[_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 _c = 0, _d = _this.registeredTemplate[\"\".concat(registeredTemplate)]; _c < _d.length; _c++) {\n var rt = _d[_c];\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 _e = 0, _f = _this.tagObjects; _e < _f.length; _e++) {\n var tagObject = _f[_e];\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 { 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)) ||\n (/E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef)) &&\n getValue('currentInstance.headerTemplateRef', 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","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) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef && !tempAfterViewThis.getModuleName().includes('btn')) {\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 if (tempOnDestroyThis.ngOnFocus !== undefined && tempOnDestroyThis.ngOnBlur !== undefined) {\n var ele = tempOnDestroyThis.inputElement || tempOnDestroyThis.element;\n ele.removeEventListener('focus', tempOnDestroyThis.ngOnFocusBound);\n ele.removeEventListener('blur', tempOnDestroyThis.ngOnBlurBound);\n tempOnDestroyThis.ngOnFocusBound = null;\n tempOnDestroyThis.ngOnBlurBound = null;\n }\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 if (list.tags) {\n for (var _d = 0, _e = list.tags; _d < _e.length; _d++) {\n var tag = _e[_d];\n var innerChild = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), list);\n if (innerChild) {\n list.tagObjects.push({ instance: innerChild, name: tag });\n }\n }\n }\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 _f = 0, complexTemplates_2 = complexTemplates; _f < complexTemplates_2.length; _f++) {\n var complexPropName = complexTemplates_2[_f];\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 tempFormAfterViewThis.ngOnBlurBound = this.ngOnBlur.bind(this);\n tempFormAfterViewThis.ngOnFocusBound = this.ngOnFocus.bind(this);\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.ngOnFocusBound);\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlurBound);\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 var isNullValue = this.angularValue == null;\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 if (isNullValue) {\n this.preventChange = false;\n }\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","call","isFormBase","concat","ComponentMixins","registerEvents","eventList","obj","direct","ngEventsEmitter","length","_i","eventList_1","event_1","propCollection","EventEmitter","setProperties","clearTemplate","_this","templateNames","index","_a","regTemplates","keys","registeredTemplate","regProperties","filter","val","test","tabaccordionTemp","getModuleName","_b","e","m","value","parseInt","toString","destroy","splice","template","rootNodes","rt","_c","_d","destroyed","_view","pNode","renderer","parentNode","isNullOrUndefined","appendChild","_e","_f","tagObjects","tagObject","instance","RegExp","setValue","nameSpace","object","replace","split","fromObj","i","key","undefined","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","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","ngtempRef","appendToComponent","window","appendTo","includes","tempOnDestroyThis","classList","contains","ngOnFocus","ngOnBlur","inputElement","removeEventListener","ngOnFocusBound","ngOnBlurBound","propKey","propValue","parent","parentObj","tempAfterContentThis","isUndefined","propObj","complexDirProps","skip","compDirPropList","h","complexPropName","childObj","innerchildObj","updateChildTag_1","innerchild","innerLevelTag","j","innerTag","innerchildTag","l","hasDiffLength","innerChild","curIndex","curChild","properties","complexTemplates_2","twoWaySetter","newVal","oldVal","emit","addTwoWay","this_1","propList_1","addEventListener","eventName","handler","eventObj","Map","subscribe","unsubscribe","trigger","eventArgs","success","prevDetection","next","localEventObj","charAt","slice","preventChange","isPreventChange","FormBase","propagateChange","_","propagateTouch","localChange","checked","objCheck","isObject","angularValue","duplicateValue","duplicateAngularValue","optionalValue","cdr","registerOnChange","registerFunction","registerOnTouched","tempFormAfterViewThis","setDisabledState","disabled","enabled","writeValue","regExp","isNullValue","skipFromEvent","focus","blur","getTemplateEngine"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 30.1.37
3
+ * version : 30.2.4
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@syncfusion/ej2-angular-base",
3
- "version": "30.1.37",
3
+ "version": "30.2.4",
4
4
  "description": "A common package of Essential JS 2 base Angular libraries, methods and class definitions",
5
5
  "author": "Syncfusion Inc.",
6
6
  "license": "SEE LICENSE IN license",
@@ -17,8 +17,8 @@
17
17
  "ng"
18
18
  ],
19
19
  "dependencies": {
20
- "@syncfusion/ej2-base": "~30.1.37",
21
- "@syncfusion/ej2-icons": "~30.1.37"
20
+ "@syncfusion/ej2-base": "~30.2.4",
21
+ "@syncfusion/ej2-icons": "~30.2.4"
22
22
  },
23
23
  "devDependencies": {},
24
24
  "repository": {
package/src/form-base.js CHANGED
@@ -106,6 +106,7 @@ var FormBase = /** @class */ (function () {
106
106
  }
107
107
  }
108
108
  }
109
+ var isNullValue = this.angularValue == null;
109
110
  this.angularValue = value;
110
111
  this.isUpdated = true;
111
112
  // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.
@@ -113,7 +114,9 @@ var FormBase = /** @class */ (function () {
113
114
  this.preventChange = this.isFormInit ? false : true;
114
115
  this.cdr.markForCheck();
115
116
  if (value === null) {
116
- this.preventChange = false;
117
+ if (isNullValue) {
118
+ this.preventChange = false;
119
+ }
117
120
  return;
118
121
  }
119
122
  };
@@ -1,55 +0,0 @@
1
- import { QueryList, SimpleChanges } from '@angular/core';
2
- /**
3
- * Complex Array Base module
4
- */
5
- export interface IChildChange {
6
- dirIndex: number;
7
- change: Object;
8
- }
9
- export declare class ComplexBase<T> {
10
- isUpdated: boolean;
11
- hasChanges?: boolean;
12
- dirIndex?: number;
13
- propCollection?: {
14
- [key: string]: Object;
15
- };
16
- dataSource?: {
17
- [key: string]: Object;
18
- };
19
- property?: string;
20
- tags?: string[];
21
- isInitChanges: boolean;
22
- private tagObjects?;
23
- private registeredTemplate;
24
- private componentType;
25
- directivePropList: any;
26
- ngOnInit(): void;
27
- protected registerEvents(eventList: string[]): void;
28
- ngOnChanges(changes: SimpleChanges): void;
29
- clearTemplate(templateNames: string[]): void;
30
- getProperties(): {
31
- [key: string]: Object;
32
- };
33
- isChanged(): boolean;
34
- ngAfterContentChecked(): void;
35
- ngAfterViewChecked(): void;
36
- ngAfterViewInit(): void;
37
- ngOnDestroy(): void;
38
- }
39
- export declare class ArrayBase<T> {
40
- isInitChanges: boolean;
41
- list: T[] & ComplexBase<T>[];
42
- children: QueryList<T>;
43
- hasChanges: boolean;
44
- private propertyName;
45
- hasNewChildren: boolean;
46
- constructor(propertyName: string);
47
- ngOnInit(): void;
48
- ngAfterContentInit(): void;
49
- getProperties(): Object[];
50
- isChanged(): boolean;
51
- clearTemplate(templateNames: string[]): void;
52
- ngAfterContentChecked(): void;
53
- ngAfterViewInit(): void;
54
- ngOnDestroy(): void;
55
- }